1# generated automatically by aclocal 1.12.2 -*- Autoconf -*-
2
3# Copyright (C) 1996-2012 Free Software Foundation, Inc.
4
5# This file is free software; the Free Software Foundation
6# gives unlimited permission to copy and/or distribute it,
7# with or without modifications, as long as this notice is preserved.
8
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12# PARTICULAR PURPOSE.
13
14m4_ifndef([AC_AUTOCONF_VERSION],
15  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
16m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
17[m4_warning([this file was generated for autoconf 2.69.
18You have another version of autoconf.  It may work, but is not guaranteed to.
19If you have problems, you may need to regenerate the build system entirely.
20To do so, use the procedure documented by the package, typically 'autoreconf'.])])
21
22# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
23#
24#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
25#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
26#                 Foundation, Inc.
27#   Written by Gordon Matzigkeit, 1996
28#
29# This file is free software; the Free Software Foundation gives
30# unlimited permission to copy and/or distribute it, with or without
31# modifications, as long as this notice is preserved.
32
33m4_define([_LT_COPYING], [dnl
34#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
35#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
36#                 Foundation, Inc.
37#   Written by Gordon Matzigkeit, 1996
38#
39#   This file is part of GNU Libtool.
40#
41# GNU Libtool is free software; you can redistribute it and/or
42# modify it under the terms of the GNU General Public License as
43# published by the Free Software Foundation; either version 2 of
44# the License, or (at your option) any later version.
45#
46# As a special exception to the GNU General Public License,
47# if you distribute this file as part of a program or library that
48# is built using GNU Libtool, you may include this file under the
49# same distribution terms that you use for the rest of that program.
50#
51# GNU Libtool is distributed in the hope that it will be useful,
52# but WITHOUT ANY WARRANTY; without even the implied warranty of
53# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
54# GNU General Public License for more details.
55#
56# You should have received a copy of the GNU General Public License
57# along with GNU Libtool; see the file COPYING.  If not, a copy
58# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
59# obtained by writing to the Free Software Foundation, Inc.,
60# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
61])
62
63# serial 57 LT_INIT
64
65
66# LT_PREREQ(VERSION)
67# ------------------
68# Complain and exit if this libtool version is less that VERSION.
69m4_defun([LT_PREREQ],
70[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
71       [m4_default([$3],
72		   [m4_fatal([Libtool version $1 or higher is required],
73		             63)])],
74       [$2])])
75
76
77# _LT_CHECK_BUILDDIR
78# ------------------
79# Complain if the absolute build directory name contains unusual characters
80m4_defun([_LT_CHECK_BUILDDIR],
81[case `pwd` in
82  *\ * | *\	*)
83    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
84esac
85])
86
87
88# LT_INIT([OPTIONS])
89# ------------------
90AC_DEFUN([LT_INIT],
91[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
92AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
93AC_BEFORE([$0], [LT_LANG])dnl
94AC_BEFORE([$0], [LT_OUTPUT])dnl
95AC_BEFORE([$0], [LTDL_INIT])dnl
96m4_require([_LT_CHECK_BUILDDIR])dnl
97
98dnl Autoconf doesn't catch unexpanded LT_ macros by default:
99m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
100m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
101dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
102dnl unless we require an AC_DEFUNed macro:
103AC_REQUIRE([LTOPTIONS_VERSION])dnl
104AC_REQUIRE([LTSUGAR_VERSION])dnl
105AC_REQUIRE([LTVERSION_VERSION])dnl
106AC_REQUIRE([LTOBSOLETE_VERSION])dnl
107m4_require([_LT_PROG_LTMAIN])dnl
108
109_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
110
111dnl Parse OPTIONS
112_LT_SET_OPTIONS([$0], [$1])
113
114# This can be used to rebuild libtool when needed
115LIBTOOL_DEPS="$ltmain"
116
117# Always use our own libtool.
118LIBTOOL='$(SHELL) $(top_builddir)/libtool'
119AC_SUBST(LIBTOOL)dnl
120
121_LT_SETUP
122
123# Only expand once:
124m4_define([LT_INIT])
125])# LT_INIT
126
127# Old names:
128AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
129AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
130dnl aclocal-1.4 backwards compatibility:
131dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
132dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
133
134
135# _LT_CC_BASENAME(CC)
136# -------------------
137# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
138m4_defun([_LT_CC_BASENAME],
139[for cc_temp in $1""; do
140  case $cc_temp in
141    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
142    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
143    \-*) ;;
144    *) break;;
145  esac
146done
147cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
148])
149
150
151# _LT_FILEUTILS_DEFAULTS
152# ----------------------
153# It is okay to use these file commands and assume they have been set
154# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
155m4_defun([_LT_FILEUTILS_DEFAULTS],
156[: ${CP="cp -f"}
157: ${MV="mv -f"}
158: ${RM="rm -f"}
159])# _LT_FILEUTILS_DEFAULTS
160
161
162# _LT_SETUP
163# ---------
164m4_defun([_LT_SETUP],
165[AC_REQUIRE([AC_CANONICAL_HOST])dnl
166AC_REQUIRE([AC_CANONICAL_BUILD])dnl
167AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
168AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
169
170_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
171dnl
172_LT_DECL([], [host_alias], [0], [The host system])dnl
173_LT_DECL([], [host], [0])dnl
174_LT_DECL([], [host_os], [0])dnl
175dnl
176_LT_DECL([], [build_alias], [0], [The build system])dnl
177_LT_DECL([], [build], [0])dnl
178_LT_DECL([], [build_os], [0])dnl
179dnl
180AC_REQUIRE([AC_PROG_CC])dnl
181AC_REQUIRE([LT_PATH_LD])dnl
182AC_REQUIRE([LT_PATH_NM])dnl
183dnl
184AC_REQUIRE([AC_PROG_LN_S])dnl
185test -z "$LN_S" && LN_S="ln -s"
186_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
187dnl
188AC_REQUIRE([LT_CMD_MAX_LEN])dnl
189_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
190_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
191dnl
192m4_require([_LT_FILEUTILS_DEFAULTS])dnl
193m4_require([_LT_CHECK_SHELL_FEATURES])dnl
194m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
195m4_require([_LT_CMD_RELOAD])dnl
196m4_require([_LT_CHECK_MAGIC_METHOD])dnl
197m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
198m4_require([_LT_CMD_OLD_ARCHIVE])dnl
199m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
200m4_require([_LT_WITH_SYSROOT])dnl
201
202_LT_CONFIG_LIBTOOL_INIT([
203# See if we are running on zsh, and set the options which allow our
204# commands through without removal of \ escapes INIT.
205if test -n "\${ZSH_VERSION+set}" ; then
206   setopt NO_GLOB_SUBST
207fi
208])
209if test -n "${ZSH_VERSION+set}" ; then
210   setopt NO_GLOB_SUBST
211fi
212
213_LT_CHECK_OBJDIR
214
215m4_require([_LT_TAG_COMPILER])dnl
216
217case $host_os in
218aix3*)
219  # AIX sometimes has problems with the GCC collect2 program.  For some
220  # reason, if we set the COLLECT_NAMES environment variable, the problems
221  # vanish in a puff of smoke.
222  if test "X${COLLECT_NAMES+set}" != Xset; then
223    COLLECT_NAMES=
224    export COLLECT_NAMES
225  fi
226  ;;
227esac
228
229# Global variables:
230ofile=libtool
231can_build_shared=yes
232
233# All known linkers require a `.a' archive for static linking (except MSVC,
234# which needs '.lib').
235libext=a
236
237with_gnu_ld="$lt_cv_prog_gnu_ld"
238
239old_CC="$CC"
240old_CFLAGS="$CFLAGS"
241
242# Set sane defaults for various variables
243test -z "$CC" && CC=cc
244test -z "$LTCC" && LTCC=$CC
245test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
246test -z "$LD" && LD=ld
247test -z "$ac_objext" && ac_objext=o
248
249_LT_CC_BASENAME([$compiler])
250
251# Only perform the check for file, if the check method requires it
252test -z "$MAGIC_CMD" && MAGIC_CMD=file
253case $deplibs_check_method in
254file_magic*)
255  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
256    _LT_PATH_MAGIC
257  fi
258  ;;
259esac
260
261# Use C for the default configuration in the libtool script
262LT_SUPPORTED_TAG([CC])
263_LT_LANG_C_CONFIG
264_LT_LANG_DEFAULT_CONFIG
265_LT_CONFIG_COMMANDS
266])# _LT_SETUP
267
268
269# _LT_PREPARE_SED_QUOTE_VARS
270# --------------------------
271# Define a few sed substitution that help us do robust quoting.
272m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
273[# Backslashify metacharacters that are still active within
274# double-quoted strings.
275sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
276
277# Same as above, but do not quote variable references.
278double_quote_subst='s/\([["`\\]]\)/\\\1/g'
279
280# Sed substitution to delay expansion of an escaped shell variable in a
281# double_quote_subst'ed string.
282delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
283
284# Sed substitution to delay expansion of an escaped single quote.
285delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
286
287# Sed substitution to avoid accidental globbing in evaled expressions
288no_glob_subst='s/\*/\\\*/g'
289])
290
291# _LT_PROG_LTMAIN
292# ---------------
293# Note that this code is called both from `configure', and `config.status'
294# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
295# `config.status' has no value for ac_aux_dir unless we are using Automake,
296# so we pass a copy along to make sure it has a sensible value anyway.
297m4_defun([_LT_PROG_LTMAIN],
298[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
299_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
300ltmain="$ac_aux_dir/ltmain.sh"
301])# _LT_PROG_LTMAIN
302
303
304
305# So that we can recreate a full libtool script including additional
306# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
307# in macros and then make a single call at the end using the `libtool'
308# label.
309
310
311# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
312# ----------------------------------------
313# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
314m4_define([_LT_CONFIG_LIBTOOL_INIT],
315[m4_ifval([$1],
316          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
317                     [$1
318])])])
319
320# Initialize.
321m4_define([_LT_OUTPUT_LIBTOOL_INIT])
322
323
324# _LT_CONFIG_LIBTOOL([COMMANDS])
325# ------------------------------
326# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
327m4_define([_LT_CONFIG_LIBTOOL],
328[m4_ifval([$1],
329          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
330                     [$1
331])])])
332
333# Initialize.
334m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
335
336
337# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
338# -----------------------------------------------------
339m4_defun([_LT_CONFIG_SAVE_COMMANDS],
340[_LT_CONFIG_LIBTOOL([$1])
341_LT_CONFIG_LIBTOOL_INIT([$2])
342])
343
344
345# _LT_FORMAT_COMMENT([COMMENT])
346# -----------------------------
347# Add leading comment marks to the start of each line, and a trailing
348# full-stop to the whole comment if one is not present already.
349m4_define([_LT_FORMAT_COMMENT],
350[m4_ifval([$1], [
351m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
352              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
353)])
354
355
356
357
358
359# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
360# -------------------------------------------------------------------
361# CONFIGNAME is the name given to the value in the libtool script.
362# VARNAME is the (base) name used in the configure script.
363# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
364# VARNAME.  Any other value will be used directly.
365m4_define([_LT_DECL],
366[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
367    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
368	[m4_ifval([$1], [$1], [$2])])
369    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
370    m4_ifval([$4],
371	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
372    lt_dict_add_subkey([lt_decl_dict], [$2],
373	[tagged?], [m4_ifval([$5], [yes], [no])])])
374])
375
376
377# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
378# --------------------------------------------------------
379m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
380
381
382# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
383# ------------------------------------------------
384m4_define([lt_decl_tag_varnames],
385[_lt_decl_filter([tagged?], [yes], $@)])
386
387
388# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
389# ---------------------------------------------------------
390m4_define([_lt_decl_filter],
391[m4_case([$#],
392  [0], [m4_fatal([$0: too few arguments: $#])],
393  [1], [m4_fatal([$0: too few arguments: $#: $1])],
394  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
395  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
396  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
397])
398
399
400# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
401# --------------------------------------------------
402m4_define([lt_decl_quote_varnames],
403[_lt_decl_filter([value], [1], $@)])
404
405
406# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
407# ---------------------------------------------------
408m4_define([lt_decl_dquote_varnames],
409[_lt_decl_filter([value], [2], $@)])
410
411
412# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
413# ---------------------------------------------------
414m4_define([lt_decl_varnames_tagged],
415[m4_assert([$# <= 2])dnl
416_$0(m4_quote(m4_default([$1], [[, ]])),
417    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
418    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
419m4_define([_lt_decl_varnames_tagged],
420[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
421
422
423# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
424# ------------------------------------------------
425m4_define([lt_decl_all_varnames],
426[_$0(m4_quote(m4_default([$1], [[, ]])),
427     m4_if([$2], [],
428	   m4_quote(lt_decl_varnames),
429	m4_quote(m4_shift($@))))[]dnl
430])
431m4_define([_lt_decl_all_varnames],
432[lt_join($@, lt_decl_varnames_tagged([$1],
433			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
434])
435
436
437# _LT_CONFIG_STATUS_DECLARE([VARNAME])
438# ------------------------------------
439# Quote a variable value, and forward it to `config.status' so that its
440# declaration there will have the same value as in `configure'.  VARNAME
441# must have a single quote delimited value for this to work.
442m4_define([_LT_CONFIG_STATUS_DECLARE],
443[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
444
445
446# _LT_CONFIG_STATUS_DECLARATIONS
447# ------------------------------
448# We delimit libtool config variables with single quotes, so when
449# we write them to config.status, we have to be sure to quote all
450# embedded single quotes properly.  In configure, this macro expands
451# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
452#
453#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
454m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
455[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
456    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
457
458
459# _LT_LIBTOOL_TAGS
460# ----------------
461# Output comment and list of tags supported by the script
462m4_defun([_LT_LIBTOOL_TAGS],
463[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
464available_tags="_LT_TAGS"dnl
465])
466
467
468# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
469# -----------------------------------
470# Extract the dictionary values for VARNAME (optionally with TAG) and
471# expand to a commented shell variable setting:
472#
473#    # Some comment about what VAR is for.
474#    visible_name=$lt_internal_name
475m4_define([_LT_LIBTOOL_DECLARE],
476[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
477					   [description])))[]dnl
478m4_pushdef([_libtool_name],
479    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
480m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
481    [0], [_libtool_name=[$]$1],
482    [1], [_libtool_name=$lt_[]$1],
483    [2], [_libtool_name=$lt_[]$1],
484    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
485m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
486])
487
488
489# _LT_LIBTOOL_CONFIG_VARS
490# -----------------------
491# Produce commented declarations of non-tagged libtool config variables
492# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
493# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
494# section) are produced by _LT_LIBTOOL_TAG_VARS.
495m4_defun([_LT_LIBTOOL_CONFIG_VARS],
496[m4_foreach([_lt_var],
497    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
498    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
499
500
501# _LT_LIBTOOL_TAG_VARS(TAG)
502# -------------------------
503m4_define([_LT_LIBTOOL_TAG_VARS],
504[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
505    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
506
507
508# _LT_TAGVAR(VARNAME, [TAGNAME])
509# ------------------------------
510m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
511
512
513# _LT_CONFIG_COMMANDS
514# -------------------
515# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
516# variables for single and double quote escaping we saved from calls
517# to _LT_DECL, we can put quote escaped variables declarations
518# into `config.status', and then the shell code to quote escape them in
519# for loops in `config.status'.  Finally, any additional code accumulated
520# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
521m4_defun([_LT_CONFIG_COMMANDS],
522[AC_PROVIDE_IFELSE([LT_OUTPUT],
523	dnl If the libtool generation code has been placed in $CONFIG_LT,
524	dnl instead of duplicating it all over again into config.status,
525	dnl then we will have config.status run $CONFIG_LT later, so it
526	dnl needs to know what name is stored there:
527        [AC_CONFIG_COMMANDS([libtool],
528            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
529    dnl If the libtool generation code is destined for config.status,
530    dnl expand the accumulated commands and init code now:
531    [AC_CONFIG_COMMANDS([libtool],
532        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
533])#_LT_CONFIG_COMMANDS
534
535
536# Initialize.
537m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
538[
539
540# The HP-UX ksh and POSIX shell print the target directory to stdout
541# if CDPATH is set.
542(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
543
544sed_quote_subst='$sed_quote_subst'
545double_quote_subst='$double_quote_subst'
546delay_variable_subst='$delay_variable_subst'
547_LT_CONFIG_STATUS_DECLARATIONS
548LTCC='$LTCC'
549LTCFLAGS='$LTCFLAGS'
550compiler='$compiler_DEFAULT'
551
552# A function that is used when there is no print builtin or printf.
553func_fallback_echo ()
554{
555  eval 'cat <<_LTECHO_EOF
556\$[]1
557_LTECHO_EOF'
558}
559
560# Quote evaled strings.
561for var in lt_decl_all_varnames([[ \
562]], lt_decl_quote_varnames); do
563    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
564    *[[\\\\\\\`\\"\\\$]]*)
565      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
566      ;;
567    *)
568      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
569      ;;
570    esac
571done
572
573# Double-quote double-evaled strings.
574for var in lt_decl_all_varnames([[ \
575]], lt_decl_dquote_varnames); do
576    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
577    *[[\\\\\\\`\\"\\\$]]*)
578      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
579      ;;
580    *)
581      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
582      ;;
583    esac
584done
585
586_LT_OUTPUT_LIBTOOL_INIT
587])
588
589# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
590# ------------------------------------
591# Generate a child script FILE with all initialization necessary to
592# reuse the environment learned by the parent script, and make the
593# file executable.  If COMMENT is supplied, it is inserted after the
594# `#!' sequence but before initialization text begins.  After this
595# macro, additional text can be appended to FILE to form the body of
596# the child script.  The macro ends with non-zero status if the
597# file could not be fully written (such as if the disk is full).
598m4_ifdef([AS_INIT_GENERATED],
599[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
600[m4_defun([_LT_GENERATED_FILE_INIT],
601[m4_require([AS_PREPARE])]dnl
602[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
603[lt_write_fail=0
604cat >$1 <<_ASEOF || lt_write_fail=1
605#! $SHELL
606# Generated by $as_me.
607$2
608SHELL=\${CONFIG_SHELL-$SHELL}
609export SHELL
610_ASEOF
611cat >>$1 <<\_ASEOF || lt_write_fail=1
612AS_SHELL_SANITIZE
613_AS_PREPARE
614exec AS_MESSAGE_FD>&1
615_ASEOF
616test $lt_write_fail = 0 && chmod +x $1[]dnl
617m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
618
619# LT_OUTPUT
620# ---------
621# This macro allows early generation of the libtool script (before
622# AC_OUTPUT is called), incase it is used in configure for compilation
623# tests.
624AC_DEFUN([LT_OUTPUT],
625[: ${CONFIG_LT=./config.lt}
626AC_MSG_NOTICE([creating $CONFIG_LT])
627_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
628[# Run this file to recreate a libtool stub with the current configuration.])
629
630cat >>"$CONFIG_LT" <<\_LTEOF
631lt_cl_silent=false
632exec AS_MESSAGE_LOG_FD>>config.log
633{
634  echo
635  AS_BOX([Running $as_me.])
636} >&AS_MESSAGE_LOG_FD
637
638lt_cl_help="\
639\`$as_me' creates a local libtool stub from the current configuration,
640for use in further configure time tests before the real libtool is
641generated.
642
643Usage: $[0] [[OPTIONS]]
644
645  -h, --help      print this help, then exit
646  -V, --version   print version number, then exit
647  -q, --quiet     do not print progress messages
648  -d, --debug     don't remove temporary files
649
650Report bugs to <bug-libtool@gnu.org>."
651
652lt_cl_version="\
653m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
654m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
655configured by $[0], generated by m4_PACKAGE_STRING.
656
657Copyright (C) 2011 Free Software Foundation, Inc.
658This config.lt script is free software; the Free Software Foundation
659gives unlimited permision to copy, distribute and modify it."
660
661while test $[#] != 0
662do
663  case $[1] in
664    --version | --v* | -V )
665      echo "$lt_cl_version"; exit 0 ;;
666    --help | --h* | -h )
667      echo "$lt_cl_help"; exit 0 ;;
668    --debug | --d* | -d )
669      debug=: ;;
670    --quiet | --q* | --silent | --s* | -q )
671      lt_cl_silent=: ;;
672
673    -*) AC_MSG_ERROR([unrecognized option: $[1]
674Try \`$[0] --help' for more information.]) ;;
675
676    *) AC_MSG_ERROR([unrecognized argument: $[1]
677Try \`$[0] --help' for more information.]) ;;
678  esac
679  shift
680done
681
682if $lt_cl_silent; then
683  exec AS_MESSAGE_FD>/dev/null
684fi
685_LTEOF
686
687cat >>"$CONFIG_LT" <<_LTEOF
688_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
689_LTEOF
690
691cat >>"$CONFIG_LT" <<\_LTEOF
692AC_MSG_NOTICE([creating $ofile])
693_LT_OUTPUT_LIBTOOL_COMMANDS
694AS_EXIT(0)
695_LTEOF
696chmod +x "$CONFIG_LT"
697
698# configure is writing to config.log, but config.lt does its own redirection,
699# appending to config.log, which fails on DOS, as config.log is still kept
700# open by configure.  Here we exec the FD to /dev/null, effectively closing
701# config.log, so it can be properly (re)opened and appended to by config.lt.
702lt_cl_success=:
703test "$silent" = yes &&
704  lt_config_lt_args="$lt_config_lt_args --quiet"
705exec AS_MESSAGE_LOG_FD>/dev/null
706$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
707exec AS_MESSAGE_LOG_FD>>config.log
708$lt_cl_success || AS_EXIT(1)
709])# LT_OUTPUT
710
711
712# _LT_CONFIG(TAG)
713# ---------------
714# If TAG is the built-in tag, create an initial libtool script with a
715# default configuration from the untagged config vars.  Otherwise add code
716# to config.status for appending the configuration named by TAG from the
717# matching tagged config vars.
718m4_defun([_LT_CONFIG],
719[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
720_LT_CONFIG_SAVE_COMMANDS([
721  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
722  m4_if(_LT_TAG, [C], [
723    # See if we are running on zsh, and set the options which allow our
724    # commands through without removal of \ escapes.
725    if test -n "${ZSH_VERSION+set}" ; then
726      setopt NO_GLOB_SUBST
727    fi
728
729    cfgfile="${ofile}T"
730    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
731    $RM "$cfgfile"
732
733    cat <<_LT_EOF >> "$cfgfile"
734#! $SHELL
735
736# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
737# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
738# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
739# NOTE: Changes made to this file will be lost: look at ltmain.sh.
740#
741_LT_COPYING
742_LT_LIBTOOL_TAGS
743
744# ### BEGIN LIBTOOL CONFIG
745_LT_LIBTOOL_CONFIG_VARS
746_LT_LIBTOOL_TAG_VARS
747# ### END LIBTOOL CONFIG
748
749_LT_EOF
750
751  case $host_os in
752  aix3*)
753    cat <<\_LT_EOF >> "$cfgfile"
754# AIX sometimes has problems with the GCC collect2 program.  For some
755# reason, if we set the COLLECT_NAMES environment variable, the problems
756# vanish in a puff of smoke.
757if test "X${COLLECT_NAMES+set}" != Xset; then
758  COLLECT_NAMES=
759  export COLLECT_NAMES
760fi
761_LT_EOF
762    ;;
763  esac
764
765  _LT_PROG_LTMAIN
766
767  # We use sed instead of cat because bash on DJGPP gets confused if
768  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
769  # text mode, it properly converts lines to CR/LF.  This bash problem
770  # is reportedly fixed, but why not run on old versions too?
771  sed '$q' "$ltmain" >> "$cfgfile" \
772     || (rm -f "$cfgfile"; exit 1)
773
774  _LT_PROG_REPLACE_SHELLFNS
775
776   mv -f "$cfgfile" "$ofile" ||
777    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
778  chmod +x "$ofile"
779],
780[cat <<_LT_EOF >> "$ofile"
781
782dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
783dnl in a comment (ie after a #).
784# ### BEGIN LIBTOOL TAG CONFIG: $1
785_LT_LIBTOOL_TAG_VARS(_LT_TAG)
786# ### END LIBTOOL TAG CONFIG: $1
787_LT_EOF
788])dnl /m4_if
789],
790[m4_if([$1], [], [
791    PACKAGE='$PACKAGE'
792    VERSION='$VERSION'
793    TIMESTAMP='$TIMESTAMP'
794    RM='$RM'
795    ofile='$ofile'], [])
796])dnl /_LT_CONFIG_SAVE_COMMANDS
797])# _LT_CONFIG
798
799
800# LT_SUPPORTED_TAG(TAG)
801# ---------------------
802# Trace this macro to discover what tags are supported by the libtool
803# --tag option, using:
804#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
805AC_DEFUN([LT_SUPPORTED_TAG], [])
806
807
808# C support is built-in for now
809m4_define([_LT_LANG_C_enabled], [])
810m4_define([_LT_TAGS], [])
811
812
813# LT_LANG(LANG)
814# -------------
815# Enable libtool support for the given language if not already enabled.
816AC_DEFUN([LT_LANG],
817[AC_BEFORE([$0], [LT_OUTPUT])dnl
818m4_case([$1],
819  [C],			[_LT_LANG(C)],
820  [C++],		[_LT_LANG(CXX)],
821  [Go],			[_LT_LANG(GO)],
822  [Java],		[_LT_LANG(GCJ)],
823  [Fortran 77],		[_LT_LANG(F77)],
824  [Fortran],		[_LT_LANG(FC)],
825  [Windows Resource],	[_LT_LANG(RC)],
826  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
827    [_LT_LANG($1)],
828    [m4_fatal([$0: unsupported language: "$1"])])])dnl
829])# LT_LANG
830
831
832# _LT_LANG(LANGNAME)
833# ------------------
834m4_defun([_LT_LANG],
835[m4_ifdef([_LT_LANG_]$1[_enabled], [],
836  [LT_SUPPORTED_TAG([$1])dnl
837  m4_append([_LT_TAGS], [$1 ])dnl
838  m4_define([_LT_LANG_]$1[_enabled], [])dnl
839  _LT_LANG_$1_CONFIG($1)])dnl
840])# _LT_LANG
841
842
843m4_ifndef([AC_PROG_GO], [
844# NOTE: This macro has been submitted for inclusion into   #
845#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
846#  a released version of Autoconf we should remove this    #
847#  macro and use it instead.                               #
848m4_defun([AC_PROG_GO],
849[AC_LANG_PUSH(Go)dnl
850AC_ARG_VAR([GOC],     [Go compiler command])dnl
851AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
852_AC_ARG_VAR_LDFLAGS()dnl
853AC_CHECK_TOOL(GOC, gccgo)
854if test -z "$GOC"; then
855  if test -n "$ac_tool_prefix"; then
856    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
857  fi
858fi
859if test -z "$GOC"; then
860  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
861fi
862])#m4_defun
863])#m4_ifndef
864
865
866# _LT_LANG_DEFAULT_CONFIG
867# -----------------------
868m4_defun([_LT_LANG_DEFAULT_CONFIG],
869[AC_PROVIDE_IFELSE([AC_PROG_CXX],
870  [LT_LANG(CXX)],
871  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
872
873AC_PROVIDE_IFELSE([AC_PROG_F77],
874  [LT_LANG(F77)],
875  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
876
877AC_PROVIDE_IFELSE([AC_PROG_FC],
878  [LT_LANG(FC)],
879  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
880
881dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
882dnl pulling things in needlessly.
883AC_PROVIDE_IFELSE([AC_PROG_GCJ],
884  [LT_LANG(GCJ)],
885  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
886    [LT_LANG(GCJ)],
887    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
888      [LT_LANG(GCJ)],
889      [m4_ifdef([AC_PROG_GCJ],
890	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
891       m4_ifdef([A][M_PROG_GCJ],
892	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
893       m4_ifdef([LT_PROG_GCJ],
894	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
895
896AC_PROVIDE_IFELSE([AC_PROG_GO],
897  [LT_LANG(GO)],
898  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
899
900AC_PROVIDE_IFELSE([LT_PROG_RC],
901  [LT_LANG(RC)],
902  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
903])# _LT_LANG_DEFAULT_CONFIG
904
905# Obsolete macros:
906AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
907AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
908AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
909AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
910AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
911dnl aclocal-1.4 backwards compatibility:
912dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
913dnl AC_DEFUN([AC_LIBTOOL_F77], [])
914dnl AC_DEFUN([AC_LIBTOOL_FC], [])
915dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
916dnl AC_DEFUN([AC_LIBTOOL_RC], [])
917
918
919# _LT_TAG_COMPILER
920# ----------------
921m4_defun([_LT_TAG_COMPILER],
922[AC_REQUIRE([AC_PROG_CC])dnl
923
924_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
925_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
926_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
927_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
928
929# If no C compiler was specified, use CC.
930LTCC=${LTCC-"$CC"}
931
932# If no C compiler flags were specified, use CFLAGS.
933LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
934
935# Allow CC to be a program name with arguments.
936compiler=$CC
937])# _LT_TAG_COMPILER
938
939
940# _LT_COMPILER_BOILERPLATE
941# ------------------------
942# Check for compiler boilerplate output or warnings with
943# the simple compiler test code.
944m4_defun([_LT_COMPILER_BOILERPLATE],
945[m4_require([_LT_DECL_SED])dnl
946ac_outfile=conftest.$ac_objext
947echo "$lt_simple_compile_test_code" >conftest.$ac_ext
948eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
949_lt_compiler_boilerplate=`cat conftest.err`
950$RM conftest*
951])# _LT_COMPILER_BOILERPLATE
952
953
954# _LT_LINKER_BOILERPLATE
955# ----------------------
956# Check for linker boilerplate output or warnings with
957# the simple link test code.
958m4_defun([_LT_LINKER_BOILERPLATE],
959[m4_require([_LT_DECL_SED])dnl
960ac_outfile=conftest.$ac_objext
961echo "$lt_simple_link_test_code" >conftest.$ac_ext
962eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
963_lt_linker_boilerplate=`cat conftest.err`
964$RM -r conftest*
965])# _LT_LINKER_BOILERPLATE
966
967# _LT_REQUIRED_DARWIN_CHECKS
968# -------------------------
969m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
970  case $host_os in
971    rhapsody* | darwin*)
972    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
973    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
974    AC_CHECK_TOOL([LIPO], [lipo], [:])
975    AC_CHECK_TOOL([OTOOL], [otool], [:])
976    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
977    _LT_DECL([], [DSYMUTIL], [1],
978      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
979    _LT_DECL([], [NMEDIT], [1],
980      [Tool to change global to local symbols on Mac OS X])
981    _LT_DECL([], [LIPO], [1],
982      [Tool to manipulate fat objects and archives on Mac OS X])
983    _LT_DECL([], [OTOOL], [1],
984      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
985    _LT_DECL([], [OTOOL64], [1],
986      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
987
988    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
989      [lt_cv_apple_cc_single_mod=no
990      if test -z "${LT_MULTI_MODULE}"; then
991	# By default we will add the -single_module flag. You can override
992	# by either setting the environment variable LT_MULTI_MODULE
993	# non-empty at configure time, or by adding -multi_module to the
994	# link flags.
995	rm -rf libconftest.dylib*
996	echo "int foo(void){return 1;}" > conftest.c
997	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
998-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
999	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1000	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
1001        _lt_result=$?
1002	# If there is a non-empty error log, and "single_module"
1003	# appears in it, assume the flag caused a linker warning
1004        if test -s conftest.err && $GREP single_module conftest.err; then
1005	  cat conftest.err >&AS_MESSAGE_LOG_FD
1006	# Otherwise, if the output was created with a 0 exit code from
1007	# the compiler, it worked.
1008	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
1009	  lt_cv_apple_cc_single_mod=yes
1010	else
1011	  cat conftest.err >&AS_MESSAGE_LOG_FD
1012	fi
1013	rm -rf libconftest.dylib*
1014	rm -f conftest.*
1015      fi])
1016
1017    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1018      [lt_cv_ld_exported_symbols_list],
1019      [lt_cv_ld_exported_symbols_list=no
1020      save_LDFLAGS=$LDFLAGS
1021      echo "_main" > conftest.sym
1022      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1023      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1024	[lt_cv_ld_exported_symbols_list=yes],
1025	[lt_cv_ld_exported_symbols_list=no])
1026	LDFLAGS="$save_LDFLAGS"
1027    ])
1028
1029    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1030      [lt_cv_ld_force_load=no
1031      cat > conftest.c << _LT_EOF
1032int forced_loaded() { return 2;}
1033_LT_EOF
1034      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1035      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1036      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1037      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1038      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1039      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1040      cat > conftest.c << _LT_EOF
1041int main() { return 0;}
1042_LT_EOF
1043      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1044      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1045      _lt_result=$?
1046      if test -s conftest.err && $GREP force_load conftest.err; then
1047	cat conftest.err >&AS_MESSAGE_LOG_FD
1048      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
1049	lt_cv_ld_force_load=yes
1050      else
1051	cat conftest.err >&AS_MESSAGE_LOG_FD
1052      fi
1053        rm -f conftest.err libconftest.a conftest conftest.c
1054        rm -rf conftest.dSYM
1055    ])
1056    case $host_os in
1057    rhapsody* | darwin1.[[012]])
1058      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
1059    darwin1.*)
1060      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1061    darwin*) # darwin 5.x on
1062      # if running on 10.5 or later, the deployment target defaults
1063      # to the OS version, if on x86, and 10.4, the deployment
1064      # target defaults to 10.4. Don't you love it?
1065      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1066	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1067	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1068	10.[[012]]*)
1069	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1070	10.*)
1071	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1072      esac
1073    ;;
1074  esac
1075    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
1076      _lt_dar_single_mod='$single_module'
1077    fi
1078    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
1079      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
1080    else
1081      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
1082    fi
1083    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
1084      _lt_dsymutil='~$DSYMUTIL $lib || :'
1085    else
1086      _lt_dsymutil=
1087    fi
1088    ;;
1089  esac
1090])
1091
1092
1093# _LT_DARWIN_LINKER_FEATURES([TAG])
1094# ---------------------------------
1095# Checks for linker and compiler features on darwin
1096m4_defun([_LT_DARWIN_LINKER_FEATURES],
1097[
1098  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1099  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1100  _LT_TAGVAR(hardcode_direct, $1)=no
1101  _LT_TAGVAR(hardcode_automatic, $1)=yes
1102  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1103  if test "$lt_cv_ld_force_load" = "yes"; then
1104    _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\"`'
1105    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
1106                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1107  else
1108    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1109  fi
1110  _LT_TAGVAR(link_all_deplibs, $1)=yes
1111  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1112  case $cc_basename in
1113     ifort*) _lt_dar_can_shared=yes ;;
1114     *) _lt_dar_can_shared=$GCC ;;
1115  esac
1116  if test "$_lt_dar_can_shared" = "yes"; then
1117    output_verbose_link_cmd=func_echo_all
1118    _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}"
1119    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1120    _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}"
1121    _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}"
1122    m4_if([$1], [CXX],
1123[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1124      _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}"
1125      _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}"
1126    fi
1127],[])
1128  else
1129  _LT_TAGVAR(ld_shlibs, $1)=no
1130  fi
1131])
1132
1133# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1134# ----------------------------------
1135# Links a minimal program and checks the executable
1136# for the system default hardcoded library path. In most cases,
1137# this is /usr/lib:/lib, but when the MPI compilers are used
1138# the location of the communication and MPI libs are included too.
1139# If we don't find anything, use the default library path according
1140# to the aix ld manual.
1141# Store the results from the different compilers for each TAGNAME.
1142# Allow to override them for all tags through lt_cv_aix_libpath.
1143m4_defun([_LT_SYS_MODULE_PATH_AIX],
1144[m4_require([_LT_DECL_SED])dnl
1145if test "${lt_cv_aix_libpath+set}" = set; then
1146  aix_libpath=$lt_cv_aix_libpath
1147else
1148  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1149  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1150  lt_aix_libpath_sed='[
1151      /Import File Strings/,/^$/ {
1152	  /^0/ {
1153	      s/^0  *\([^ ]*\) *$/\1/
1154	      p
1155	  }
1156      }]'
1157  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1158  # Check for a 64-bit object if we didn't find anything.
1159  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1160    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1161  fi],[])
1162  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1163    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
1164  fi
1165  ])
1166  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1167fi
1168])# _LT_SYS_MODULE_PATH_AIX
1169
1170
1171# _LT_SHELL_INIT(ARG)
1172# -------------------
1173m4_define([_LT_SHELL_INIT],
1174[m4_divert_text([M4SH-INIT], [$1
1175])])# _LT_SHELL_INIT
1176
1177
1178
1179# _LT_PROG_ECHO_BACKSLASH
1180# -----------------------
1181# Find how we can fake an echo command that does not interpret backslash.
1182# In particular, with Autoconf 2.60 or later we add some code to the start
1183# of the generated configure script which will find a shell with a builtin
1184# printf (which we can use as an echo command).
1185m4_defun([_LT_PROG_ECHO_BACKSLASH],
1186[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1187ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1188ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1189
1190AC_MSG_CHECKING([how to print strings])
1191# Test print first, because it will be a builtin if present.
1192if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1193   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1194  ECHO='print -r --'
1195elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1196  ECHO='printf %s\n'
1197else
1198  # Use this function as a fallback that always works.
1199  func_fallback_echo ()
1200  {
1201    eval 'cat <<_LTECHO_EOF
1202$[]1
1203_LTECHO_EOF'
1204  }
1205  ECHO='func_fallback_echo'
1206fi
1207
1208# func_echo_all arg...
1209# Invoke $ECHO with all args, space-separated.
1210func_echo_all ()
1211{
1212    $ECHO "$*" 
1213}
1214
1215case "$ECHO" in
1216  printf*) AC_MSG_RESULT([printf]) ;;
1217  print*) AC_MSG_RESULT([print -r]) ;;
1218  *) AC_MSG_RESULT([cat]) ;;
1219esac
1220
1221m4_ifdef([_AS_DETECT_SUGGESTED],
1222[_AS_DETECT_SUGGESTED([
1223  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1224    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1225    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1226    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1227    PATH=/empty FPATH=/empty; export PATH FPATH
1228    test "X`printf %s $ECHO`" = "X$ECHO" \
1229      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1230
1231_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1232_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1233])# _LT_PROG_ECHO_BACKSLASH
1234
1235
1236# _LT_WITH_SYSROOT
1237# ----------------
1238AC_DEFUN([_LT_WITH_SYSROOT],
1239[AC_MSG_CHECKING([for sysroot])
1240AC_ARG_WITH([sysroot],
1241[  --with-sysroot[=DIR] Search for dependent libraries within DIR
1242                        (or the compiler's sysroot if not specified).],
1243[], [with_sysroot=no])
1244
1245dnl lt_sysroot will always be passed unquoted.  We quote it here
1246dnl in case the user passed a directory name.
1247lt_sysroot=
1248case ${with_sysroot} in #(
1249 yes)
1250   if test "$GCC" = yes; then
1251     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1252   fi
1253   ;; #(
1254 /*)
1255   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
1256   ;; #(
1257 no|'')
1258   ;; #(
1259 *)
1260   AC_MSG_RESULT([${with_sysroot}])
1261   AC_MSG_ERROR([The sysroot must be an absolute path.])
1262   ;;
1263esac
1264
1265 AC_MSG_RESULT([${lt_sysroot:-no}])
1266_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1267[dependent libraries, and in which our libraries should be installed.])])
1268
1269# _LT_ENABLE_LOCK
1270# ---------------
1271m4_defun([_LT_ENABLE_LOCK],
1272[AC_ARG_ENABLE([libtool-lock],
1273  [AS_HELP_STRING([--disable-libtool-lock],
1274    [avoid locking (might break parallel builds)])])
1275test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1276
1277# Some flags need to be propagated to the compiler or linker for good
1278# libtool support.
1279case $host in
1280ia64-*-hpux*)
1281  # Find out which ABI we are using.
1282  echo 'int i;' > conftest.$ac_ext
1283  if AC_TRY_EVAL(ac_compile); then
1284    case `/usr/bin/file conftest.$ac_objext` in
1285      *ELF-32*)
1286	HPUX_IA64_MODE="32"
1287	;;
1288      *ELF-64*)
1289	HPUX_IA64_MODE="64"
1290	;;
1291    esac
1292  fi
1293  rm -rf conftest*
1294  ;;
1295*-*-irix6*)
1296  # Find out which ABI we are using.
1297  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1298  if AC_TRY_EVAL(ac_compile); then
1299    if test "$lt_cv_prog_gnu_ld" = yes; then
1300      case `/usr/bin/file conftest.$ac_objext` in
1301	*32-bit*)
1302	  LD="${LD-ld} -melf32bsmip"
1303	  ;;
1304	*N32*)
1305	  LD="${LD-ld} -melf32bmipn32"
1306	  ;;
1307	*64-bit*)
1308	  LD="${LD-ld} -melf64bmip"
1309	;;
1310      esac
1311    else
1312      case `/usr/bin/file conftest.$ac_objext` in
1313	*32-bit*)
1314	  LD="${LD-ld} -32"
1315	  ;;
1316	*N32*)
1317	  LD="${LD-ld} -n32"
1318	  ;;
1319	*64-bit*)
1320	  LD="${LD-ld} -64"
1321	  ;;
1322      esac
1323    fi
1324  fi
1325  rm -rf conftest*
1326  ;;
1327
1328x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1329s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1330  # Find out which ABI we are using.
1331  echo 'int i;' > conftest.$ac_ext
1332  if AC_TRY_EVAL(ac_compile); then
1333    case `/usr/bin/file conftest.o` in
1334      *32-bit*)
1335	case $host in
1336	  x86_64-*kfreebsd*-gnu)
1337	    LD="${LD-ld} -m elf_i386_fbsd"
1338	    ;;
1339	  x86_64-*linux*)
1340	    LD="${LD-ld} -m elf_i386"
1341	    ;;
1342	  ppc64-*linux*|powerpc64-*linux*)
1343	    LD="${LD-ld} -m elf32ppclinux"
1344	    ;;
1345	  s390x-*linux*)
1346	    LD="${LD-ld} -m elf_s390"
1347	    ;;
1348	  sparc64-*linux*)
1349	    LD="${LD-ld} -m elf32_sparc"
1350	    ;;
1351	esac
1352	;;
1353      *64-bit*)
1354	case $host in
1355	  x86_64-*kfreebsd*-gnu)
1356	    LD="${LD-ld} -m elf_x86_64_fbsd"
1357	    ;;
1358	  x86_64-*linux*)
1359	    LD="${LD-ld} -m elf_x86_64"
1360	    ;;
1361	  ppc*-*linux*|powerpc*-*linux*)
1362	    LD="${LD-ld} -m elf64ppc"
1363	    ;;
1364	  s390*-*linux*|s390*-*tpf*)
1365	    LD="${LD-ld} -m elf64_s390"
1366	    ;;
1367	  sparc*-*linux*)
1368	    LD="${LD-ld} -m elf64_sparc"
1369	    ;;
1370	esac
1371	;;
1372    esac
1373  fi
1374  rm -rf conftest*
1375  ;;
1376
1377*-*-sco3.2v5*)
1378  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1379  SAVE_CFLAGS="$CFLAGS"
1380  CFLAGS="$CFLAGS -belf"
1381  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1382    [AC_LANG_PUSH(C)
1383     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1384     AC_LANG_POP])
1385  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1386    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1387    CFLAGS="$SAVE_CFLAGS"
1388  fi
1389  ;;
1390*-*solaris*)
1391  # Find out which ABI we are using.
1392  echo 'int i;' > conftest.$ac_ext
1393  if AC_TRY_EVAL(ac_compile); then
1394    case `/usr/bin/file conftest.o` in
1395    *64-bit*)
1396      case $lt_cv_prog_gnu_ld in
1397      yes*)
1398        case $host in
1399        i?86-*-solaris*)
1400          LD="${LD-ld} -m elf_x86_64"
1401          ;;
1402        sparc*-*-solaris*)
1403          LD="${LD-ld} -m elf64_sparc"
1404          ;;
1405        esac
1406        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
1407        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1408          LD="${LD-ld}_sol2"
1409        fi
1410        ;;
1411      *)
1412	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1413	  LD="${LD-ld} -64"
1414	fi
1415	;;
1416      esac
1417      ;;
1418    esac
1419  fi
1420  rm -rf conftest*
1421  ;;
1422esac
1423
1424need_locks="$enable_libtool_lock"
1425])# _LT_ENABLE_LOCK
1426
1427
1428# _LT_PROG_AR
1429# -----------
1430m4_defun([_LT_PROG_AR],
1431[AC_CHECK_TOOLS(AR, [ar], false)
1432: ${AR=ar}
1433: ${AR_FLAGS=cru}
1434_LT_DECL([], [AR], [1], [The archiver])
1435_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
1436
1437AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1438  [lt_cv_ar_at_file=no
1439   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1440     [echo conftest.$ac_objext > conftest.lst
1441      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1442      AC_TRY_EVAL([lt_ar_try])
1443      if test "$ac_status" -eq 0; then
1444	# Ensure the archiver fails upon bogus file names.
1445	rm -f conftest.$ac_objext libconftest.a
1446	AC_TRY_EVAL([lt_ar_try])
1447	if test "$ac_status" -ne 0; then
1448          lt_cv_ar_at_file=@
1449        fi
1450      fi
1451      rm -f conftest.* libconftest.a
1452     ])
1453  ])
1454
1455if test "x$lt_cv_ar_at_file" = xno; then
1456  archiver_list_spec=
1457else
1458  archiver_list_spec=$lt_cv_ar_at_file
1459fi
1460_LT_DECL([], [archiver_list_spec], [1],
1461  [How to feed a file listing to the archiver])
1462])# _LT_PROG_AR
1463
1464
1465# _LT_CMD_OLD_ARCHIVE
1466# -------------------
1467m4_defun([_LT_CMD_OLD_ARCHIVE],
1468[_LT_PROG_AR
1469
1470AC_CHECK_TOOL(STRIP, strip, :)
1471test -z "$STRIP" && STRIP=:
1472_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1473
1474AC_CHECK_TOOL(RANLIB, ranlib, :)
1475test -z "$RANLIB" && RANLIB=:
1476_LT_DECL([], [RANLIB], [1],
1477    [Commands used to install an old-style archive])
1478
1479# Determine commands to create old-style static archives.
1480old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1481old_postinstall_cmds='chmod 644 $oldlib'
1482old_postuninstall_cmds=
1483
1484if test -n "$RANLIB"; then
1485  case $host_os in
1486  openbsd*)
1487    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
1488    ;;
1489  *)
1490    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1491    ;;
1492  esac
1493  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1494fi
1495
1496case $host_os in
1497  darwin*)
1498    lock_old_archive_extraction=yes ;;
1499  *)
1500    lock_old_archive_extraction=no ;;
1501esac
1502_LT_DECL([], [old_postinstall_cmds], [2])
1503_LT_DECL([], [old_postuninstall_cmds], [2])
1504_LT_TAGDECL([], [old_archive_cmds], [2],
1505    [Commands used to build an old-style archive])
1506_LT_DECL([], [lock_old_archive_extraction], [0],
1507    [Whether to use a lock for old archive extraction])
1508])# _LT_CMD_OLD_ARCHIVE
1509
1510
1511# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1512#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1513# ----------------------------------------------------------------
1514# Check whether the given compiler option works
1515AC_DEFUN([_LT_COMPILER_OPTION],
1516[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1517m4_require([_LT_DECL_SED])dnl
1518AC_CACHE_CHECK([$1], [$2],
1519  [$2=no
1520   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1521   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1522   lt_compiler_flag="$3"
1523   # Insert the option either (1) after the last *FLAGS variable, or
1524   # (2) before a word containing "conftest.", or (3) at the end.
1525   # Note that $ac_compile itself does not contain backslashes and begins
1526   # with a dollar sign (not a hyphen), so the echo should work correctly.
1527   # The option is referenced via a variable to avoid confusing sed.
1528   lt_compile=`echo "$ac_compile" | $SED \
1529   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1530   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1531   -e 's:$: $lt_compiler_flag:'`
1532   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1533   (eval "$lt_compile" 2>conftest.err)
1534   ac_status=$?
1535   cat conftest.err >&AS_MESSAGE_LOG_FD
1536   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1537   if (exit $ac_status) && test -s "$ac_outfile"; then
1538     # The compiler can only warn and ignore the option if not recognized
1539     # So say no if there are warnings other than the usual output.
1540     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1541     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1542     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1543       $2=yes
1544     fi
1545   fi
1546   $RM conftest*
1547])
1548
1549if test x"[$]$2" = xyes; then
1550    m4_if([$5], , :, [$5])
1551else
1552    m4_if([$6], , :, [$6])
1553fi
1554])# _LT_COMPILER_OPTION
1555
1556# Old name:
1557AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1558dnl aclocal-1.4 backwards compatibility:
1559dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1560
1561
1562# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1563#                  [ACTION-SUCCESS], [ACTION-FAILURE])
1564# ----------------------------------------------------
1565# Check whether the given linker option works
1566AC_DEFUN([_LT_LINKER_OPTION],
1567[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1568m4_require([_LT_DECL_SED])dnl
1569AC_CACHE_CHECK([$1], [$2],
1570  [$2=no
1571   save_LDFLAGS="$LDFLAGS"
1572   LDFLAGS="$LDFLAGS $3"
1573   echo "$lt_simple_link_test_code" > conftest.$ac_ext
1574   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1575     # The linker can only warn and ignore the option if not recognized
1576     # So say no if there are warnings
1577     if test -s conftest.err; then
1578       # Append any errors to the config.log.
1579       cat conftest.err 1>&AS_MESSAGE_LOG_FD
1580       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1581       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1582       if diff conftest.exp conftest.er2 >/dev/null; then
1583         $2=yes
1584       fi
1585     else
1586       $2=yes
1587     fi
1588   fi
1589   $RM -r conftest*
1590   LDFLAGS="$save_LDFLAGS"
1591])
1592
1593if test x"[$]$2" = xyes; then
1594    m4_if([$4], , :, [$4])
1595else
1596    m4_if([$5], , :, [$5])
1597fi
1598])# _LT_LINKER_OPTION
1599
1600# Old name:
1601AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1602dnl aclocal-1.4 backwards compatibility:
1603dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1604
1605
1606# LT_CMD_MAX_LEN
1607#---------------
1608AC_DEFUN([LT_CMD_MAX_LEN],
1609[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1610# find the maximum length of command line arguments
1611AC_MSG_CHECKING([the maximum length of command line arguments])
1612AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1613  i=0
1614  teststring="ABCD"
1615
1616  case $build_os in
1617  msdosdjgpp*)
1618    # On DJGPP, this test can blow up pretty badly due to problems in libc
1619    # (any single argument exceeding 2000 bytes causes a buffer overrun
1620    # during glob expansion).  Even if it were fixed, the result of this
1621    # check would be larger than it should be.
1622    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
1623    ;;
1624
1625  gnu*)
1626    # Under GNU Hurd, this test is not required because there is
1627    # no limit to the length of command line arguments.
1628    # Libtool will interpret -1 as no limit whatsoever
1629    lt_cv_sys_max_cmd_len=-1;
1630    ;;
1631
1632  cygwin* | mingw* | cegcc*)
1633    # On Win9x/ME, this test blows up -- it succeeds, but takes
1634    # about 5 minutes as the teststring grows exponentially.
1635    # Worse, since 9x/ME are not pre-emptively multitasking,
1636    # you end up with a "frozen" computer, even though with patience
1637    # the test eventually succeeds (with a max line length of 256k).
1638    # Instead, let's just punt: use the minimum linelength reported by
1639    # all of the supported platforms: 8192 (on NT/2K/XP).
1640    lt_cv_sys_max_cmd_len=8192;
1641    ;;
1642
1643  mint*)
1644    # On MiNT this can take a long time and run out of memory.
1645    lt_cv_sys_max_cmd_len=8192;
1646    ;;
1647
1648  amigaos*)
1649    # On AmigaOS with pdksh, this test takes hours, literally.
1650    # So we just punt and use a minimum line length of 8192.
1651    lt_cv_sys_max_cmd_len=8192;
1652    ;;
1653
1654  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1655    # This has been around since 386BSD, at least.  Likely further.
1656    if test -x /sbin/sysctl; then
1657      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1658    elif test -x /usr/sbin/sysctl; then
1659      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1660    else
1661      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
1662    fi
1663    # And add a safety zone
1664    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1665    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1666    ;;
1667
1668  interix*)
1669    # We know the value 262144 and hardcode it with a safety zone (like BSD)
1670    lt_cv_sys_max_cmd_len=196608
1671    ;;
1672
1673  os2*)
1674    # The test takes a long time on OS/2.
1675    lt_cv_sys_max_cmd_len=8192
1676    ;;
1677
1678  osf*)
1679    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1680    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1681    # nice to cause kernel panics so lets avoid the loop below.
1682    # First set a reasonable default.
1683    lt_cv_sys_max_cmd_len=16384
1684    #
1685    if test -x /sbin/sysconfig; then
1686      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1687        *1*) lt_cv_sys_max_cmd_len=-1 ;;
1688      esac
1689    fi
1690    ;;
1691  sco3.2v5*)
1692    lt_cv_sys_max_cmd_len=102400
1693    ;;
1694  sysv5* | sco5v6* | sysv4.2uw2*)
1695    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1696    if test -n "$kargmax"; then
1697      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
1698    else
1699      lt_cv_sys_max_cmd_len=32768
1700    fi
1701    ;;
1702  *)
1703    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1704    if test -n "$lt_cv_sys_max_cmd_len"; then
1705      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1706      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1707    else
1708      # Make teststring a little bigger before we do anything with it.
1709      # a 1K string should be a reasonable start.
1710      for i in 1 2 3 4 5 6 7 8 ; do
1711        teststring=$teststring$teststring
1712      done
1713      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1714      # If test is not a shell built-in, we'll probably end up computing a
1715      # maximum length that is only half of the actual maximum length, but
1716      # we can't tell.
1717      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
1718	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1719	      test $i != 17 # 1/2 MB should be enough
1720      do
1721        i=`expr $i + 1`
1722        teststring=$teststring$teststring
1723      done
1724      # Only check the string length outside the loop.
1725      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1726      teststring=
1727      # Add a significant safety factor because C++ compilers can tack on
1728      # massive amounts of additional arguments before passing them to the
1729      # linker.  It appears as though 1/2 is a usable value.
1730      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1731    fi
1732    ;;
1733  esac
1734])
1735if test -n $lt_cv_sys_max_cmd_len ; then
1736  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1737else
1738  AC_MSG_RESULT(none)
1739fi
1740max_cmd_len=$lt_cv_sys_max_cmd_len
1741_LT_DECL([], [max_cmd_len], [0],
1742    [What is the maximum length of a command?])
1743])# LT_CMD_MAX_LEN
1744
1745# Old name:
1746AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1747dnl aclocal-1.4 backwards compatibility:
1748dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1749
1750
1751# _LT_HEADER_DLFCN
1752# ----------------
1753m4_defun([_LT_HEADER_DLFCN],
1754[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1755])# _LT_HEADER_DLFCN
1756
1757
1758# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1759#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1760# ----------------------------------------------------------------
1761m4_defun([_LT_TRY_DLOPEN_SELF],
1762[m4_require([_LT_HEADER_DLFCN])dnl
1763if test "$cross_compiling" = yes; then :
1764  [$4]
1765else
1766  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1767  lt_status=$lt_dlunknown
1768  cat > conftest.$ac_ext <<_LT_EOF
1769[#line $LINENO "configure"
1770#include "confdefs.h"
1771
1772#if HAVE_DLFCN_H
1773#include <dlfcn.h>
1774#endif
1775
1776#include <stdio.h>
1777
1778#ifdef RTLD_GLOBAL
1779#  define LT_DLGLOBAL		RTLD_GLOBAL
1780#else
1781#  ifdef DL_GLOBAL
1782#    define LT_DLGLOBAL		DL_GLOBAL
1783#  else
1784#    define LT_DLGLOBAL		0
1785#  endif
1786#endif
1787
1788/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1789   find out it does not work in some platform. */
1790#ifndef LT_DLLAZY_OR_NOW
1791#  ifdef RTLD_LAZY
1792#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
1793#  else
1794#    ifdef DL_LAZY
1795#      define LT_DLLAZY_OR_NOW		DL_LAZY
1796#    else
1797#      ifdef RTLD_NOW
1798#        define LT_DLLAZY_OR_NOW	RTLD_NOW
1799#      else
1800#        ifdef DL_NOW
1801#          define LT_DLLAZY_OR_NOW	DL_NOW
1802#        else
1803#          define LT_DLLAZY_OR_NOW	0
1804#        endif
1805#      endif
1806#    endif
1807#  endif
1808#endif
1809
1810/* When -fvisbility=hidden is used, assume the code has been annotated
1811   correspondingly for the symbols needed.  */
1812#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1813int fnord () __attribute__((visibility("default")));
1814#endif
1815
1816int fnord () { return 42; }
1817int main ()
1818{
1819  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1820  int status = $lt_dlunknown;
1821
1822  if (self)
1823    {
1824      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
1825      else
1826        {
1827	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
1828          else puts (dlerror ());
1829	}
1830      /* dlclose (self); */
1831    }
1832  else
1833    puts (dlerror ());
1834
1835  return status;
1836}]
1837_LT_EOF
1838  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1839    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1840    lt_status=$?
1841    case x$lt_status in
1842      x$lt_dlno_uscore) $1 ;;
1843      x$lt_dlneed_uscore) $2 ;;
1844      x$lt_dlunknown|x*) $3 ;;
1845    esac
1846  else :
1847    # compilation failed
1848    $3
1849  fi
1850fi
1851rm -fr conftest*
1852])# _LT_TRY_DLOPEN_SELF
1853
1854
1855# LT_SYS_DLOPEN_SELF
1856# ------------------
1857AC_DEFUN([LT_SYS_DLOPEN_SELF],
1858[m4_require([_LT_HEADER_DLFCN])dnl
1859if test "x$enable_dlopen" != xyes; then
1860  enable_dlopen=unknown
1861  enable_dlopen_self=unknown
1862  enable_dlopen_self_static=unknown
1863else
1864  lt_cv_dlopen=no
1865  lt_cv_dlopen_libs=
1866
1867  case $host_os in
1868  beos*)
1869    lt_cv_dlopen="load_add_on"
1870    lt_cv_dlopen_libs=
1871    lt_cv_dlopen_self=yes
1872    ;;
1873
1874  mingw* | pw32* | cegcc*)
1875    lt_cv_dlopen="LoadLibrary"
1876    lt_cv_dlopen_libs=
1877    ;;
1878
1879  cygwin*)
1880    lt_cv_dlopen="dlopen"
1881    lt_cv_dlopen_libs=
1882    ;;
1883
1884  darwin*)
1885  # if libdl is installed we need to link against it
1886    AC_CHECK_LIB([dl], [dlopen],
1887		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1888    lt_cv_dlopen="dyld"
1889    lt_cv_dlopen_libs=
1890    lt_cv_dlopen_self=yes
1891    ])
1892    ;;
1893
1894  *)
1895    AC_CHECK_FUNC([shl_load],
1896	  [lt_cv_dlopen="shl_load"],
1897      [AC_CHECK_LIB([dld], [shl_load],
1898	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1899	[AC_CHECK_FUNC([dlopen],
1900	      [lt_cv_dlopen="dlopen"],
1901	  [AC_CHECK_LIB([dl], [dlopen],
1902		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1903	    [AC_CHECK_LIB([svld], [dlopen],
1904		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1905	      [AC_CHECK_LIB([dld], [dld_link],
1906		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1907	      ])
1908	    ])
1909	  ])
1910	])
1911      ])
1912    ;;
1913  esac
1914
1915  if test "x$lt_cv_dlopen" != xno; then
1916    enable_dlopen=yes
1917  else
1918    enable_dlopen=no
1919  fi
1920
1921  case $lt_cv_dlopen in
1922  dlopen)
1923    save_CPPFLAGS="$CPPFLAGS"
1924    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1925
1926    save_LDFLAGS="$LDFLAGS"
1927    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1928
1929    save_LIBS="$LIBS"
1930    LIBS="$lt_cv_dlopen_libs $LIBS"
1931
1932    AC_CACHE_CHECK([whether a program can dlopen itself],
1933	  lt_cv_dlopen_self, [dnl
1934	  _LT_TRY_DLOPEN_SELF(
1935	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1936	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1937    ])
1938
1939    if test "x$lt_cv_dlopen_self" = xyes; then
1940      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1941      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1942	  lt_cv_dlopen_self_static, [dnl
1943	  _LT_TRY_DLOPEN_SELF(
1944	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1945	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
1946      ])
1947    fi
1948
1949    CPPFLAGS="$save_CPPFLAGS"
1950    LDFLAGS="$save_LDFLAGS"
1951    LIBS="$save_LIBS"
1952    ;;
1953  esac
1954
1955  case $lt_cv_dlopen_self in
1956  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1957  *) enable_dlopen_self=unknown ;;
1958  esac
1959
1960  case $lt_cv_dlopen_self_static in
1961  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1962  *) enable_dlopen_self_static=unknown ;;
1963  esac
1964fi
1965_LT_DECL([dlopen_support], [enable_dlopen], [0],
1966	 [Whether dlopen is supported])
1967_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1968	 [Whether dlopen of programs is supported])
1969_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1970	 [Whether dlopen of statically linked programs is supported])
1971])# LT_SYS_DLOPEN_SELF
1972
1973# Old name:
1974AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1975dnl aclocal-1.4 backwards compatibility:
1976dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
1977
1978
1979# _LT_COMPILER_C_O([TAGNAME])
1980# ---------------------------
1981# Check to see if options -c and -o are simultaneously supported by compiler.
1982# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1983m4_defun([_LT_COMPILER_C_O],
1984[m4_require([_LT_DECL_SED])dnl
1985m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1986m4_require([_LT_TAG_COMPILER])dnl
1987AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1988  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1989  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1990   $RM -r conftest 2>/dev/null
1991   mkdir conftest
1992   cd conftest
1993   mkdir out
1994   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1995
1996   lt_compiler_flag="-o out/conftest2.$ac_objext"
1997   # Insert the option either (1) after the last *FLAGS variable, or
1998   # (2) before a word containing "conftest.", or (3) at the end.
1999   # Note that $ac_compile itself does not contain backslashes and begins
2000   # with a dollar sign (not a hyphen), so the echo should work correctly.
2001   lt_compile=`echo "$ac_compile" | $SED \
2002   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2003   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2004   -e 's:$: $lt_compiler_flag:'`
2005   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2006   (eval "$lt_compile" 2>out/conftest.err)
2007   ac_status=$?
2008   cat out/conftest.err >&AS_MESSAGE_LOG_FD
2009   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2010   if (exit $ac_status) && test -s out/conftest2.$ac_objext
2011   then
2012     # The compiler can only warn and ignore the option if not recognized
2013     # So say no if there are warnings
2014     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2015     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2016     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2017       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2018     fi
2019   fi
2020   chmod u+w . 2>&AS_MESSAGE_LOG_FD
2021   $RM conftest*
2022   # SGI C++ compiler will create directory out/ii_files/ for
2023   # template instantiation
2024   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2025   $RM out/* && rmdir out
2026   cd ..
2027   $RM -r conftest
2028   $RM conftest*
2029])
2030_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2031	[Does compiler simultaneously support -c and -o options?])
2032])# _LT_COMPILER_C_O
2033
2034
2035# _LT_COMPILER_FILE_LOCKS([TAGNAME])
2036# ----------------------------------
2037# Check to see if we can do hard links to lock some files if needed
2038m4_defun([_LT_COMPILER_FILE_LOCKS],
2039[m4_require([_LT_ENABLE_LOCK])dnl
2040m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2041_LT_COMPILER_C_O([$1])
2042
2043hard_links="nottested"
2044if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
2045  # do not overwrite the value of need_locks provided by the user
2046  AC_MSG_CHECKING([if we can lock with hard links])
2047  hard_links=yes
2048  $RM conftest*
2049  ln conftest.a conftest.b 2>/dev/null && hard_links=no
2050  touch conftest.a
2051  ln conftest.a conftest.b 2>&5 || hard_links=no
2052  ln conftest.a conftest.b 2>/dev/null && hard_links=no
2053  AC_MSG_RESULT([$hard_links])
2054  if test "$hard_links" = no; then
2055    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
2056    need_locks=warn
2057  fi
2058else
2059  need_locks=no
2060fi
2061_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2062])# _LT_COMPILER_FILE_LOCKS
2063
2064
2065# _LT_CHECK_OBJDIR
2066# ----------------
2067m4_defun([_LT_CHECK_OBJDIR],
2068[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2069[rm -f .libs 2>/dev/null
2070mkdir .libs 2>/dev/null
2071if test -d .libs; then
2072  lt_cv_objdir=.libs
2073else
2074  # MS-DOS does not allow filenames that begin with a dot.
2075  lt_cv_objdir=_libs
2076fi
2077rmdir .libs 2>/dev/null])
2078objdir=$lt_cv_objdir
2079_LT_DECL([], [objdir], [0],
2080         [The name of the directory that contains temporary libtool files])dnl
2081m4_pattern_allow([LT_OBJDIR])dnl
2082AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
2083  [Define to the sub-directory in which libtool stores uninstalled libraries.])
2084])# _LT_CHECK_OBJDIR
2085
2086
2087# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2088# --------------------------------------
2089# Check hardcoding attributes.
2090m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2091[AC_MSG_CHECKING([how to hardcode library paths into programs])
2092_LT_TAGVAR(hardcode_action, $1)=
2093if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2094   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2095   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
2096
2097  # We can hardcode non-existent directories.
2098  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
2099     # If the only mechanism to avoid hardcoding is shlibpath_var, we
2100     # have to relink, otherwise we might link with an installed library
2101     # when we should be linking with a yet-to-be-installed one
2102     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2103     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
2104    # Linking always hardcodes the temporary library directory.
2105    _LT_TAGVAR(hardcode_action, $1)=relink
2106  else
2107    # We can link without hardcoding, and we can hardcode nonexisting dirs.
2108    _LT_TAGVAR(hardcode_action, $1)=immediate
2109  fi
2110else
2111  # We cannot hardcode anything, or else we can only hardcode existing
2112  # directories.
2113  _LT_TAGVAR(hardcode_action, $1)=unsupported
2114fi
2115AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2116
2117if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2118   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
2119  # Fast installation is not supported
2120  enable_fast_install=no
2121elif test "$shlibpath_overrides_runpath" = yes ||
2122     test "$enable_shared" = no; then
2123  # Fast installation is not necessary
2124  enable_fast_install=needless
2125fi
2126_LT_TAGDECL([], [hardcode_action], [0],
2127    [How to hardcode a shared library path into an executable])
2128])# _LT_LINKER_HARDCODE_LIBPATH
2129
2130
2131# _LT_CMD_STRIPLIB
2132# ----------------
2133m4_defun([_LT_CMD_STRIPLIB],
2134[m4_require([_LT_DECL_EGREP])
2135striplib=
2136old_striplib=
2137AC_MSG_CHECKING([whether stripping libraries is possible])
2138if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2139  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2140  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2141  AC_MSG_RESULT([yes])
2142else
2143# FIXME - insert some real tests, host_os isn't really good enough
2144  case $host_os in
2145  darwin*)
2146    if test -n "$STRIP" ; then
2147      striplib="$STRIP -x"
2148      old_striplib="$STRIP -S"
2149      AC_MSG_RESULT([yes])
2150    else
2151      AC_MSG_RESULT([no])
2152    fi
2153    ;;
2154  *)
2155    AC_MSG_RESULT([no])
2156    ;;
2157  esac
2158fi
2159_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2160_LT_DECL([], [striplib], [1])
2161])# _LT_CMD_STRIPLIB
2162
2163
2164# _LT_SYS_DYNAMIC_LINKER([TAG])
2165# -----------------------------
2166# PORTME Fill in your ld.so characteristics
2167m4_defun([_LT_SYS_DYNAMIC_LINKER],
2168[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2169m4_require([_LT_DECL_EGREP])dnl
2170m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2171m4_require([_LT_DECL_OBJDUMP])dnl
2172m4_require([_LT_DECL_SED])dnl
2173m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2174AC_MSG_CHECKING([dynamic linker characteristics])
2175m4_if([$1],
2176	[], [
2177if test "$GCC" = yes; then
2178  case $host_os in
2179    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2180    *) lt_awk_arg="/^libraries:/" ;;
2181  esac
2182  case $host_os in
2183    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
2184    *) lt_sed_strip_eq="s,=/,/,g" ;;
2185  esac
2186  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2187  case $lt_search_path_spec in
2188  *\;*)
2189    # if the path contains ";" then we assume it to be the separator
2190    # otherwise default to the standard path separator (i.e. ":") - it is
2191    # assumed that no part of a normal pathname contains ";" but that should
2192    # okay in the real world where ";" in dirpaths is itself problematic.
2193    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2194    ;;
2195  *)
2196    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2197    ;;
2198  esac
2199  # Ok, now we have the path, separated by spaces, we can step through it
2200  # and add multilib dir if necessary.
2201  lt_tmp_lt_search_path_spec=
2202  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2203  for lt_sys_path in $lt_search_path_spec; do
2204    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2205      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2206    else
2207      test -d "$lt_sys_path" && \
2208	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2209    fi
2210  done
2211  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2212BEGIN {RS=" "; FS="/|\n";} {
2213  lt_foo="";
2214  lt_count=0;
2215  for (lt_i = NF; lt_i > 0; lt_i--) {
2216    if ($lt_i != "" && $lt_i != ".") {
2217      if ($lt_i == "..") {
2218        lt_count++;
2219      } else {
2220        if (lt_count == 0) {
2221          lt_foo="/" $lt_i lt_foo;
2222        } else {
2223          lt_count--;
2224        }
2225      }
2226    }
2227  }
2228  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2229  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2230}'`
2231  # AWK program above erroneously prepends '/' to C:/dos/paths
2232  # for these hosts.
2233  case $host_os in
2234    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2235      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
2236  esac
2237  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2238else
2239  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2240fi])
2241library_names_spec=
2242libname_spec='lib$name'
2243soname_spec=
2244shrext_cmds=".so"
2245postinstall_cmds=
2246postuninstall_cmds=
2247finish_cmds=
2248finish_eval=
2249shlibpath_var=
2250shlibpath_overrides_runpath=unknown
2251version_type=none
2252dynamic_linker="$host_os ld.so"
2253sys_lib_dlsearch_path_spec="/lib /usr/lib"
2254need_lib_prefix=unknown
2255hardcode_into_libs=no
2256
2257# when you set need_version to no, make sure it does not cause -set_version
2258# flags to be left without arguments
2259need_version=unknown
2260
2261case $host_os in
2262aix3*)
2263  version_type=linux # correct to gnu/linux during the next big refactor
2264  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2265  shlibpath_var=LIBPATH
2266
2267  # AIX 3 has no versioning support, so we append a major version to the name.
2268  soname_spec='${libname}${release}${shared_ext}$major'
2269  ;;
2270
2271aix[[4-9]]*)
2272  version_type=linux # correct to gnu/linux during the next big refactor
2273  need_lib_prefix=no
2274  need_version=no
2275  hardcode_into_libs=yes
2276  if test "$host_cpu" = ia64; then
2277    # AIX 5 supports IA64
2278    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2279    shlibpath_var=LD_LIBRARY_PATH
2280  else
2281    # With GCC up to 2.95.x, collect2 would create an import file
2282    # for dependence libraries.  The import file would start with
2283    # the line `#! .'.  This would cause the generated library to
2284    # depend on `.', always an invalid library.  This was fixed in
2285    # development snapshots of GCC prior to 3.0.
2286    case $host_os in
2287      aix4 | aix4.[[01]] | aix4.[[01]].*)
2288      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2289	   echo ' yes '
2290	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2291	:
2292      else
2293	can_build_shared=no
2294      fi
2295      ;;
2296    esac
2297    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2298    # soname into executable. Probably we can add versioning support to
2299    # collect2, so additional links can be useful in future.
2300    if test "$aix_use_runtimelinking" = yes; then
2301      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2302      # instead of lib<name>.a to let people know that these are not
2303      # typical AIX shared libraries.
2304      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2305    else
2306      # We preserve .a as extension for shared libraries through AIX4.2
2307      # and later when we are not doing run time linking.
2308      library_names_spec='${libname}${release}.a $libname.a'
2309      soname_spec='${libname}${release}${shared_ext}$major'
2310    fi
2311    shlibpath_var=LIBPATH
2312  fi
2313  ;;
2314
2315amigaos*)
2316  case $host_cpu in
2317  powerpc)
2318    # Since July 2007 AmigaOS4 officially supports .so libraries.
2319    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2320    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2321    ;;
2322  m68k)
2323    library_names_spec='$libname.ixlibrary $libname.a'
2324    # Create ${libname}_ixlibrary.a entries in /sys/libs.
2325    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'
2326    ;;
2327  esac
2328  ;;
2329
2330beos*)
2331  library_names_spec='${libname}${shared_ext}'
2332  dynamic_linker="$host_os ld.so"
2333  shlibpath_var=LIBRARY_PATH
2334  ;;
2335
2336bsdi[[45]]*)
2337  version_type=linux # correct to gnu/linux during the next big refactor
2338  need_version=no
2339  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2340  soname_spec='${libname}${release}${shared_ext}$major'
2341  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2342  shlibpath_var=LD_LIBRARY_PATH
2343  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2344  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2345  # the default ld.so.conf also contains /usr/contrib/lib and
2346  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2347  # libtool to hard-code these into programs
2348  ;;
2349
2350cygwin* | mingw* | pw32* | cegcc*)
2351  version_type=windows
2352  shrext_cmds=".dll"
2353  need_version=no
2354  need_lib_prefix=no
2355
2356  case $GCC,$cc_basename in
2357  yes,*)
2358    # gcc
2359    library_names_spec='$libname.dll.a'
2360    # DLL is installed to $(libdir)/../bin by postinstall_cmds
2361    postinstall_cmds='base_file=`basename \${file}`~
2362      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2363      dldir=$destdir/`dirname \$dlpath`~
2364      test -d \$dldir || mkdir -p \$dldir~
2365      $install_prog $dir/$dlname \$dldir/$dlname~
2366      chmod a+x \$dldir/$dlname~
2367      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2368        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2369      fi'
2370    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2371      dlpath=$dir/\$dldll~
2372       $RM \$dlpath'
2373    shlibpath_overrides_runpath=yes
2374
2375    case $host_os in
2376    cygwin*)
2377      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2378      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2379m4_if([$1], [],[
2380      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2381      ;;
2382    mingw* | cegcc*)
2383      # MinGW DLLs use traditional 'lib' prefix
2384      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2385      ;;
2386    pw32*)
2387      # pw32 DLLs use 'pw' prefix rather than 'lib'
2388      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2389      ;;
2390    esac
2391    dynamic_linker='Win32 ld.exe'
2392    ;;
2393
2394  *,cl*)
2395    # Native MSVC
2396    libname_spec='$name'
2397    soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2398    library_names_spec='${libname}.dll.lib'
2399
2400    case $build_os in
2401    mingw*)
2402      sys_lib_search_path_spec=
2403      lt_save_ifs=$IFS
2404      IFS=';'
2405      for lt_path in $LIB
2406      do
2407        IFS=$lt_save_ifs
2408        # Let DOS variable expansion print the short 8.3 style file name.
2409        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2410        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2411      done
2412      IFS=$lt_save_ifs
2413      # Convert to MSYS style.
2414      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2415      ;;
2416    cygwin*)
2417      # Convert to unix form, then to dos form, then back to unix form
2418      # but this time dos style (no spaces!) so that the unix form looks
2419      # like /cygdrive/c/PROGRA~1:/cygdr...
2420      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2421      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2422      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2423      ;;
2424    *)
2425      sys_lib_search_path_spec="$LIB"
2426      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2427        # It is most probably a Windows format PATH.
2428        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2429      else
2430        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2431      fi
2432      # FIXME: find the short name or the path components, as spaces are
2433      # common. (e.g. "Program Files" -> "PROGRA~1")
2434      ;;
2435    esac
2436
2437    # DLL is installed to $(libdir)/../bin by postinstall_cmds
2438    postinstall_cmds='base_file=`basename \${file}`~
2439      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2440      dldir=$destdir/`dirname \$dlpath`~
2441      test -d \$dldir || mkdir -p \$dldir~
2442      $install_prog $dir/$dlname \$dldir/$dlname'
2443    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2444      dlpath=$dir/\$dldll~
2445       $RM \$dlpath'
2446    shlibpath_overrides_runpath=yes
2447    dynamic_linker='Win32 link.exe'
2448    ;;
2449
2450  *)
2451    # Assume MSVC wrapper
2452    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2453    dynamic_linker='Win32 ld.exe'
2454    ;;
2455  esac
2456  # FIXME: first we should search . and the directory the executable is in
2457  shlibpath_var=PATH
2458  ;;
2459
2460darwin* | rhapsody*)
2461  dynamic_linker="$host_os dyld"
2462  version_type=darwin
2463  need_lib_prefix=no
2464  need_version=no
2465  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2466  soname_spec='${libname}${release}${major}$shared_ext'
2467  shlibpath_overrides_runpath=yes
2468  shlibpath_var=DYLD_LIBRARY_PATH
2469  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2470m4_if([$1], [],[
2471  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2472  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2473  ;;
2474
2475dgux*)
2476  version_type=linux # correct to gnu/linux during the next big refactor
2477  need_lib_prefix=no
2478  need_version=no
2479  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2480  soname_spec='${libname}${release}${shared_ext}$major'
2481  shlibpath_var=LD_LIBRARY_PATH
2482  ;;
2483
2484freebsd* | dragonfly*)
2485  # DragonFly does not have aout.  When/if they implement a new
2486  # versioning mechanism, adjust this.
2487  if test -x /usr/bin/objformat; then
2488    objformat=`/usr/bin/objformat`
2489  else
2490    case $host_os in
2491    freebsd[[23]].*) objformat=aout ;;
2492    *) objformat=elf ;;
2493    esac
2494  fi
2495  version_type=freebsd-$objformat
2496  case $version_type in
2497    freebsd-elf*)
2498      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2499      need_version=no
2500      need_lib_prefix=no
2501      ;;
2502    freebsd-*)
2503      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2504      need_version=yes
2505      ;;
2506  esac
2507  shlibpath_var=LD_LIBRARY_PATH
2508  case $host_os in
2509  freebsd2.*)
2510    shlibpath_overrides_runpath=yes
2511    ;;
2512  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2513    shlibpath_overrides_runpath=yes
2514    hardcode_into_libs=yes
2515    ;;
2516  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2517  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2518    shlibpath_overrides_runpath=no
2519    hardcode_into_libs=yes
2520    ;;
2521  *) # from 4.6 on, and DragonFly
2522    shlibpath_overrides_runpath=yes
2523    hardcode_into_libs=yes
2524    ;;
2525  esac
2526  ;;
2527
2528gnu*)
2529  version_type=linux # correct to gnu/linux during the next big refactor
2530  need_lib_prefix=no
2531  need_version=no
2532  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2533  soname_spec='${libname}${release}${shared_ext}$major'
2534  shlibpath_var=LD_LIBRARY_PATH
2535  shlibpath_overrides_runpath=no
2536  hardcode_into_libs=yes
2537  ;;
2538
2539haiku*)
2540  version_type=linux # correct to gnu/linux during the next big refactor
2541  need_lib_prefix=no
2542  need_version=no
2543  dynamic_linker="$host_os runtime_loader"
2544  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2545  soname_spec='${libname}${release}${shared_ext}$major'
2546  shlibpath_var=LIBRARY_PATH
2547  shlibpath_overrides_runpath=yes
2548  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2549  hardcode_into_libs=yes
2550  ;;
2551
2552hpux9* | hpux10* | hpux11*)
2553  # Give a soname corresponding to the major version so that dld.sl refuses to
2554  # link against other versions.
2555  version_type=sunos
2556  need_lib_prefix=no
2557  need_version=no
2558  case $host_cpu in
2559  ia64*)
2560    shrext_cmds='.so'
2561    hardcode_into_libs=yes
2562    dynamic_linker="$host_os dld.so"
2563    shlibpath_var=LD_LIBRARY_PATH
2564    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2565    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2566    soname_spec='${libname}${release}${shared_ext}$major'
2567    if test "X$HPUX_IA64_MODE" = X32; then
2568      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2569    else
2570      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2571    fi
2572    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2573    ;;
2574  hppa*64*)
2575    shrext_cmds='.sl'
2576    hardcode_into_libs=yes
2577    dynamic_linker="$host_os dld.sl"
2578    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2579    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2580    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2581    soname_spec='${libname}${release}${shared_ext}$major'
2582    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2583    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2584    ;;
2585  *)
2586    shrext_cmds='.sl'
2587    dynamic_linker="$host_os dld.sl"
2588    shlibpath_var=SHLIB_PATH
2589    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2590    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2591    soname_spec='${libname}${release}${shared_ext}$major'
2592    ;;
2593  esac
2594  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2595  postinstall_cmds='chmod 555 $lib'
2596  # or fails outright, so override atomically:
2597  install_override_mode=555
2598  ;;
2599
2600interix[[3-9]]*)
2601  version_type=linux # correct to gnu/linux during the next big refactor
2602  need_lib_prefix=no
2603  need_version=no
2604  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2605  soname_spec='${libname}${release}${shared_ext}$major'
2606  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2607  shlibpath_var=LD_LIBRARY_PATH
2608  shlibpath_overrides_runpath=no
2609  hardcode_into_libs=yes
2610  ;;
2611
2612irix5* | irix6* | nonstopux*)
2613  case $host_os in
2614    nonstopux*) version_type=nonstopux ;;
2615    *)
2616	if test "$lt_cv_prog_gnu_ld" = yes; then
2617		version_type=linux # correct to gnu/linux during the next big refactor
2618	else
2619		version_type=irix
2620	fi ;;
2621  esac
2622  need_lib_prefix=no
2623  need_version=no
2624  soname_spec='${libname}${release}${shared_ext}$major'
2625  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2626  case $host_os in
2627  irix5* | nonstopux*)
2628    libsuff= shlibsuff=
2629    ;;
2630  *)
2631    case $LD in # libtool.m4 will add one of these switches to LD
2632    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2633      libsuff= shlibsuff= libmagic=32-bit;;
2634    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2635      libsuff=32 shlibsuff=N32 libmagic=N32;;
2636    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2637      libsuff=64 shlibsuff=64 libmagic=64-bit;;
2638    *) libsuff= shlibsuff= libmagic=never-match;;
2639    esac
2640    ;;
2641  esac
2642  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2643  shlibpath_overrides_runpath=no
2644  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2645  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2646  hardcode_into_libs=yes
2647  ;;
2648
2649# No shared lib support for Linux oldld, aout, or coff.
2650linux*oldld* | linux*aout* | linux*coff*)
2651  dynamic_linker=no
2652  ;;
2653
2654# This must be glibc/ELF.
2655linux* | k*bsd*-gnu | kopensolaris*-gnu)
2656  version_type=linux # correct to gnu/linux during the next big refactor
2657  need_lib_prefix=no
2658  need_version=no
2659  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2660  soname_spec='${libname}${release}${shared_ext}$major'
2661  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2662  shlibpath_var=LD_LIBRARY_PATH
2663  shlibpath_overrides_runpath=no
2664
2665  # Some binutils ld are patched to set DT_RUNPATH
2666  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2667    [lt_cv_shlibpath_overrides_runpath=no
2668    save_LDFLAGS=$LDFLAGS
2669    save_libdir=$libdir
2670    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2671	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2672    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2673      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2674	 [lt_cv_shlibpath_overrides_runpath=yes])])
2675    LDFLAGS=$save_LDFLAGS
2676    libdir=$save_libdir
2677    ])
2678  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2679
2680  # This implies no fast_install, which is unacceptable.
2681  # Some rework will be needed to allow for fast_install
2682  # before this can be enabled.
2683  hardcode_into_libs=yes
2684
2685  # Add ABI-specific directories to the system library path.
2686  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
2687
2688  # Append ld.so.conf contents to the search path
2689  if test -f /etc/ld.so.conf; then
2690    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' ' '`
2691    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
2692
2693  fi
2694
2695  # We used to test for /lib/ld.so.1 and disable shared libraries on
2696  # powerpc, because MkLinux only supported shared libraries with the
2697  # GNU dynamic linker.  Since this was broken with cross compilers,
2698  # most powerpc-linux boxes support dynamic linking these days and
2699  # people can always --disable-shared, the test was removed, and we
2700  # assume the GNU/Linux dynamic linker is in use.
2701  dynamic_linker='GNU/Linux ld.so'
2702  ;;
2703
2704netbsd*)
2705  version_type=sunos
2706  need_lib_prefix=no
2707  need_version=no
2708  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2709    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2710    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2711    dynamic_linker='NetBSD (a.out) ld.so'
2712  else
2713    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2714    soname_spec='${libname}${release}${shared_ext}$major'
2715    dynamic_linker='NetBSD ld.elf_so'
2716  fi
2717  shlibpath_var=LD_LIBRARY_PATH
2718  shlibpath_overrides_runpath=yes
2719  hardcode_into_libs=yes
2720  ;;
2721
2722newsos6)
2723  version_type=linux # correct to gnu/linux during the next big refactor
2724  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2725  shlibpath_var=LD_LIBRARY_PATH
2726  shlibpath_overrides_runpath=yes
2727  ;;
2728
2729*nto* | *qnx*)
2730  version_type=qnx
2731  need_lib_prefix=no
2732  need_version=no
2733  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2734  soname_spec='${libname}${release}${shared_ext}$major'
2735  shlibpath_var=LD_LIBRARY_PATH
2736  shlibpath_overrides_runpath=no
2737  hardcode_into_libs=yes
2738  dynamic_linker='ldqnx.so'
2739  ;;
2740
2741openbsd*)
2742  version_type=sunos
2743  sys_lib_dlsearch_path_spec="/usr/lib"
2744  need_lib_prefix=no
2745  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2746  case $host_os in
2747    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
2748    *)				need_version=no  ;;
2749  esac
2750  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2751  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2752  shlibpath_var=LD_LIBRARY_PATH
2753  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2754    case $host_os in
2755      openbsd2.[[89]] | openbsd2.[[89]].*)
2756	shlibpath_overrides_runpath=no
2757	;;
2758      *)
2759	shlibpath_overrides_runpath=yes
2760	;;
2761      esac
2762  else
2763    shlibpath_overrides_runpath=yes
2764  fi
2765  ;;
2766
2767os2*)
2768  libname_spec='$name'
2769  shrext_cmds=".dll"
2770  need_lib_prefix=no
2771  library_names_spec='$libname${shared_ext} $libname.a'
2772  dynamic_linker='OS/2 ld.exe'
2773  shlibpath_var=LIBPATH
2774  ;;
2775
2776osf3* | osf4* | osf5*)
2777  version_type=osf
2778  need_lib_prefix=no
2779  need_version=no
2780  soname_spec='${libname}${release}${shared_ext}$major'
2781  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2782  shlibpath_var=LD_LIBRARY_PATH
2783  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2784  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2785  ;;
2786
2787rdos*)
2788  dynamic_linker=no
2789  ;;
2790
2791solaris*)
2792  version_type=linux # correct to gnu/linux during the next big refactor
2793  need_lib_prefix=no
2794  need_version=no
2795  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2796  soname_spec='${libname}${release}${shared_ext}$major'
2797  shlibpath_var=LD_LIBRARY_PATH
2798  shlibpath_overrides_runpath=yes
2799  hardcode_into_libs=yes
2800  # ldd complains unless libraries are executable
2801  postinstall_cmds='chmod +x $lib'
2802  ;;
2803
2804sunos4*)
2805  version_type=sunos
2806  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2807  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2808  shlibpath_var=LD_LIBRARY_PATH
2809  shlibpath_overrides_runpath=yes
2810  if test "$with_gnu_ld" = yes; then
2811    need_lib_prefix=no
2812  fi
2813  need_version=yes
2814  ;;
2815
2816sysv4 | sysv4.3*)
2817  version_type=linux # correct to gnu/linux during the next big refactor
2818  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2819  soname_spec='${libname}${release}${shared_ext}$major'
2820  shlibpath_var=LD_LIBRARY_PATH
2821  case $host_vendor in
2822    sni)
2823      shlibpath_overrides_runpath=no
2824      need_lib_prefix=no
2825      runpath_var=LD_RUN_PATH
2826      ;;
2827    siemens)
2828      need_lib_prefix=no
2829      ;;
2830    motorola)
2831      need_lib_prefix=no
2832      need_version=no
2833      shlibpath_overrides_runpath=no
2834      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2835      ;;
2836  esac
2837  ;;
2838
2839sysv4*MP*)
2840  if test -d /usr/nec ;then
2841    version_type=linux # correct to gnu/linux during the next big refactor
2842    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2843    soname_spec='$libname${shared_ext}.$major'
2844    shlibpath_var=LD_LIBRARY_PATH
2845  fi
2846  ;;
2847
2848sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2849  version_type=freebsd-elf
2850  need_lib_prefix=no
2851  need_version=no
2852  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2853  soname_spec='${libname}${release}${shared_ext}$major'
2854  shlibpath_var=LD_LIBRARY_PATH
2855  shlibpath_overrides_runpath=yes
2856  hardcode_into_libs=yes
2857  if test "$with_gnu_ld" = yes; then
2858    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2859  else
2860    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2861    case $host_os in
2862      sco3.2v5*)
2863        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2864	;;
2865    esac
2866  fi
2867  sys_lib_dlsearch_path_spec='/usr/lib'
2868  ;;
2869
2870tpf*)
2871  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
2872  version_type=linux # correct to gnu/linux during the next big refactor
2873  need_lib_prefix=no
2874  need_version=no
2875  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2876  shlibpath_var=LD_LIBRARY_PATH
2877  shlibpath_overrides_runpath=no
2878  hardcode_into_libs=yes
2879  ;;
2880
2881uts4*)
2882  version_type=linux # correct to gnu/linux during the next big refactor
2883  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2884  soname_spec='${libname}${release}${shared_ext}$major'
2885  shlibpath_var=LD_LIBRARY_PATH
2886  ;;
2887
2888*)
2889  dynamic_linker=no
2890  ;;
2891esac
2892AC_MSG_RESULT([$dynamic_linker])
2893test "$dynamic_linker" = no && can_build_shared=no
2894
2895variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2896if test "$GCC" = yes; then
2897  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2898fi
2899
2900if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2901  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2902fi
2903if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2904  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2905fi
2906
2907_LT_DECL([], [variables_saved_for_relink], [1],
2908    [Variables whose values should be saved in libtool wrapper scripts and
2909    restored at link time])
2910_LT_DECL([], [need_lib_prefix], [0],
2911    [Do we need the "lib" prefix for modules?])
2912_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2913_LT_DECL([], [version_type], [0], [Library versioning type])
2914_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
2915_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2916_LT_DECL([], [shlibpath_overrides_runpath], [0],
2917    [Is shlibpath searched before the hard-coded library search path?])
2918_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2919_LT_DECL([], [library_names_spec], [1],
2920    [[List of archive names.  First name is the real one, the rest are links.
2921    The last name is the one that the linker finds with -lNAME]])
2922_LT_DECL([], [soname_spec], [1],
2923    [[The coded name of the library, if different from the real name]])
2924_LT_DECL([], [install_override_mode], [1],
2925    [Permission mode override for installation of shared libraries])
2926_LT_DECL([], [postinstall_cmds], [2],
2927    [Command to use after installation of a shared archive])
2928_LT_DECL([], [postuninstall_cmds], [2],
2929    [Command to use after uninstallation of a shared archive])
2930_LT_DECL([], [finish_cmds], [2],
2931    [Commands used to finish a libtool library installation in a directory])
2932_LT_DECL([], [finish_eval], [1],
2933    [[As "finish_cmds", except a single script fragment to be evaled but
2934    not shown]])
2935_LT_DECL([], [hardcode_into_libs], [0],
2936    [Whether we should hardcode library paths into libraries])
2937_LT_DECL([], [sys_lib_search_path_spec], [2],
2938    [Compile-time system search path for libraries])
2939_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2940    [Run-time system search path for libraries])
2941])# _LT_SYS_DYNAMIC_LINKER
2942
2943
2944# _LT_PATH_TOOL_PREFIX(TOOL)
2945# --------------------------
2946# find a file program which can recognize shared library
2947AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2948[m4_require([_LT_DECL_EGREP])dnl
2949AC_MSG_CHECKING([for $1])
2950AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2951[case $MAGIC_CMD in
2952[[\\/*] |  ?:[\\/]*])
2953  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2954  ;;
2955*)
2956  lt_save_MAGIC_CMD="$MAGIC_CMD"
2957  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2958dnl $ac_dummy forces splitting on constant user-supplied paths.
2959dnl POSIX.2 word splitting is done only on the output of word expansions,
2960dnl not every word.  This closes a longstanding sh security hole.
2961  ac_dummy="m4_if([$2], , $PATH, [$2])"
2962  for ac_dir in $ac_dummy; do
2963    IFS="$lt_save_ifs"
2964    test -z "$ac_dir" && ac_dir=.
2965    if test -f $ac_dir/$1; then
2966      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2967      if test -n "$file_magic_test_file"; then
2968	case $deplibs_check_method in
2969	"file_magic "*)
2970	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2971	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2972	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2973	    $EGREP "$file_magic_regex" > /dev/null; then
2974	    :
2975	  else
2976	    cat <<_LT_EOF 1>&2
2977
2978*** Warning: the command libtool uses to detect shared libraries,
2979*** $file_magic_cmd, produces output that libtool cannot recognize.
2980*** The result is that libtool may fail to recognize shared libraries
2981*** as such.  This will affect the creation of libtool libraries that
2982*** depend on shared libraries, but programs linked with such libtool
2983*** libraries will work regardless of this problem.  Nevertheless, you
2984*** may want to report the problem to your system manager and/or to
2985*** bug-libtool@gnu.org
2986
2987_LT_EOF
2988	  fi ;;
2989	esac
2990      fi
2991      break
2992    fi
2993  done
2994  IFS="$lt_save_ifs"
2995  MAGIC_CMD="$lt_save_MAGIC_CMD"
2996  ;;
2997esac])
2998MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2999if test -n "$MAGIC_CMD"; then
3000  AC_MSG_RESULT($MAGIC_CMD)
3001else
3002  AC_MSG_RESULT(no)
3003fi
3004_LT_DECL([], [MAGIC_CMD], [0],
3005	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3006])# _LT_PATH_TOOL_PREFIX
3007
3008# Old name:
3009AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3010dnl aclocal-1.4 backwards compatibility:
3011dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3012
3013
3014# _LT_PATH_MAGIC
3015# --------------
3016# find a file program which can recognize a shared library
3017m4_defun([_LT_PATH_MAGIC],
3018[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3019if test -z "$lt_cv_path_MAGIC_CMD"; then
3020  if test -n "$ac_tool_prefix"; then
3021    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3022  else
3023    MAGIC_CMD=:
3024  fi
3025fi
3026])# _LT_PATH_MAGIC
3027
3028
3029# LT_PATH_LD
3030# ----------
3031# find the pathname to the GNU or non-GNU linker
3032AC_DEFUN([LT_PATH_LD],
3033[AC_REQUIRE([AC_PROG_CC])dnl
3034AC_REQUIRE([AC_CANONICAL_HOST])dnl
3035AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3036m4_require([_LT_DECL_SED])dnl
3037m4_require([_LT_DECL_EGREP])dnl
3038m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3039
3040AC_ARG_WITH([gnu-ld],
3041    [AS_HELP_STRING([--with-gnu-ld],
3042	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
3043    [test "$withval" = no || with_gnu_ld=yes],
3044    [with_gnu_ld=no])dnl
3045
3046ac_prog=ld
3047if test "$GCC" = yes; then
3048  # Check if gcc -print-prog-name=ld gives a path.
3049  AC_MSG_CHECKING([for ld used by $CC])
3050  case $host in
3051  *-*-mingw*)
3052    # gcc leaves a trailing carriage return which upsets mingw
3053    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3054  *)
3055    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3056  esac
3057  case $ac_prog in
3058    # Accept absolute paths.
3059    [[\\/]]* | ?:[[\\/]]*)
3060      re_direlt='/[[^/]][[^/]]*/\.\./'
3061      # Canonicalize the pathname of ld
3062      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3063      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3064	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3065      done
3066      test -z "$LD" && LD="$ac_prog"
3067      ;;
3068  "")
3069    # If it fails, then pretend we aren't using GCC.
3070    ac_prog=ld
3071    ;;
3072  *)
3073    # If it is relative, then search for the first ld in PATH.
3074    with_gnu_ld=unknown
3075    ;;
3076  esac
3077elif test "$with_gnu_ld" = yes; then
3078  AC_MSG_CHECKING([for GNU ld])
3079else
3080  AC_MSG_CHECKING([for non-GNU ld])
3081fi
3082AC_CACHE_VAL(lt_cv_path_LD,
3083[if test -z "$LD"; then
3084  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3085  for ac_dir in $PATH; do
3086    IFS="$lt_save_ifs"
3087    test -z "$ac_dir" && ac_dir=.
3088    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3089      lt_cv_path_LD="$ac_dir/$ac_prog"
3090      # Check to see if the program is GNU ld.  I'd rather use --version,
3091      # but apparently some variants of GNU ld only accept -v.
3092      # Break only if it was the GNU/non-GNU ld that we prefer.
3093      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3094      *GNU* | *'with BFD'*)
3095	test "$with_gnu_ld" != no && break
3096	;;
3097      *)
3098	test "$with_gnu_ld" != yes && break
3099	;;
3100      esac
3101    fi
3102  done
3103  IFS="$lt_save_ifs"
3104else
3105  lt_cv_path_LD="$LD" # Let the user override the test with a path.
3106fi])
3107LD="$lt_cv_path_LD"
3108if test -n "$LD"; then
3109  AC_MSG_RESULT($LD)
3110else
3111  AC_MSG_RESULT(no)
3112fi
3113test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3114_LT_PATH_LD_GNU
3115AC_SUBST([LD])
3116
3117_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3118])# LT_PATH_LD
3119
3120# Old names:
3121AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3122AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3123dnl aclocal-1.4 backwards compatibility:
3124dnl AC_DEFUN([AM_PROG_LD], [])
3125dnl AC_DEFUN([AC_PROG_LD], [])
3126
3127
3128# _LT_PATH_LD_GNU
3129#- --------------
3130m4_defun([_LT_PATH_LD_GNU],
3131[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3132[# I'd rather use --version here, but apparently some GNU lds only accept -v.
3133case `$LD -v 2>&1 </dev/null` in
3134*GNU* | *'with BFD'*)
3135  lt_cv_prog_gnu_ld=yes
3136  ;;
3137*)
3138  lt_cv_prog_gnu_ld=no
3139  ;;
3140esac])
3141with_gnu_ld=$lt_cv_prog_gnu_ld
3142])# _LT_PATH_LD_GNU
3143
3144
3145# _LT_CMD_RELOAD
3146# --------------
3147# find reload flag for linker
3148#   -- PORTME Some linkers may need a different reload flag.
3149m4_defun([_LT_CMD_RELOAD],
3150[AC_CACHE_CHECK([for $LD option to reload object files],
3151  lt_cv_ld_reload_flag,
3152  [lt_cv_ld_reload_flag='-r'])
3153reload_flag=$lt_cv_ld_reload_flag
3154case $reload_flag in
3155"" | " "*) ;;
3156*) reload_flag=" $reload_flag" ;;
3157esac
3158reload_cmds='$LD$reload_flag -o $output$reload_objs'
3159case $host_os in
3160  cygwin* | mingw* | pw32* | cegcc*)
3161    if test "$GCC" != yes; then
3162      reload_cmds=false
3163    fi
3164    ;;
3165  darwin*)
3166    if test "$GCC" = yes; then
3167      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
3168    else
3169      reload_cmds='$LD$reload_flag -o $output$reload_objs'
3170    fi
3171    ;;
3172esac
3173_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3174_LT_TAGDECL([], [reload_cmds], [2])dnl
3175])# _LT_CMD_RELOAD
3176
3177
3178# _LT_CHECK_MAGIC_METHOD
3179# ----------------------
3180# how to check for library dependencies
3181#  -- PORTME fill in with the dynamic library characteristics
3182m4_defun([_LT_CHECK_MAGIC_METHOD],
3183[m4_require([_LT_DECL_EGREP])
3184m4_require([_LT_DECL_OBJDUMP])
3185AC_CACHE_CHECK([how to recognize dependent libraries],
3186lt_cv_deplibs_check_method,
3187[lt_cv_file_magic_cmd='$MAGIC_CMD'
3188lt_cv_file_magic_test_file=
3189lt_cv_deplibs_check_method='unknown'
3190# Need to set the preceding variable on all platforms that support
3191# interlibrary dependencies.
3192# 'none' -- dependencies not supported.
3193# `unknown' -- same as none, but documents that we really don't know.
3194# 'pass_all' -- all dependencies passed with no checks.
3195# 'test_compile' -- check by making test program.
3196# 'file_magic [[regex]]' -- check by looking for files in library path
3197# which responds to the $file_magic_cmd with a given extended regex.
3198# If you have `file' or equivalent on your system and you're not sure
3199# whether `pass_all' will *always* work, you probably want this one.
3200
3201case $host_os in
3202aix[[4-9]]*)
3203  lt_cv_deplibs_check_method=pass_all
3204  ;;
3205
3206beos*)
3207  lt_cv_deplibs_check_method=pass_all
3208  ;;
3209
3210bsdi[[45]]*)
3211  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3212  lt_cv_file_magic_cmd='/usr/bin/file -L'
3213  lt_cv_file_magic_test_file=/shlib/libc.so
3214  ;;
3215
3216cygwin*)
3217  # func_win32_libid is a shell function defined in ltmain.sh
3218  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3219  lt_cv_file_magic_cmd='func_win32_libid'
3220  ;;
3221
3222mingw* | pw32*)
3223  # Base MSYS/MinGW do not provide the 'file' command needed by
3224  # func_win32_libid shell function, so use a weaker test based on 'objdump',
3225  # unless we find 'file', for example because we are cross-compiling.
3226  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
3227  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
3228    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3229    lt_cv_file_magic_cmd='func_win32_libid'
3230  else
3231    # Keep this pattern in sync with the one in func_win32_libid.
3232    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3233    lt_cv_file_magic_cmd='$OBJDUMP -f'
3234  fi
3235  ;;
3236
3237cegcc*)
3238  # use the weaker test based on 'objdump'. See mingw*.
3239  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3240  lt_cv_file_magic_cmd='$OBJDUMP -f'
3241  ;;
3242
3243darwin* | rhapsody*)
3244  lt_cv_deplibs_check_method=pass_all
3245  ;;
3246
3247freebsd* | dragonfly*)
3248  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3249    case $host_cpu in
3250    i*86 )
3251      # Not sure whether the presence of OpenBSD here was a mistake.
3252      # Let's accept both of them until this is cleared up.
3253      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3254      lt_cv_file_magic_cmd=/usr/bin/file
3255      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3256      ;;
3257    esac
3258  else
3259    lt_cv_deplibs_check_method=pass_all
3260  fi
3261  ;;
3262
3263gnu*)
3264  lt_cv_deplibs_check_method=pass_all
3265  ;;
3266
3267haiku*)
3268  lt_cv_deplibs_check_method=pass_all
3269  ;;
3270
3271hpux10.20* | hpux11*)
3272  lt_cv_file_magic_cmd=/usr/bin/file
3273  case $host_cpu in
3274  ia64*)
3275    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3276    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3277    ;;
3278  hppa*64*)
3279    [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]']
3280    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3281    ;;
3282  *)
3283    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
3284    lt_cv_file_magic_test_file=/usr/lib/libc.sl
3285    ;;
3286  esac
3287  ;;
3288
3289interix[[3-9]]*)
3290  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3291  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3292  ;;
3293
3294irix5* | irix6* | nonstopux*)
3295  case $LD in
3296  *-32|*"-32 ") libmagic=32-bit;;
3297  *-n32|*"-n32 ") libmagic=N32;;
3298  *-64|*"-64 ") libmagic=64-bit;;
3299  *) libmagic=never-match;;
3300  esac
3301  lt_cv_deplibs_check_method=pass_all
3302  ;;
3303
3304# This must be glibc/ELF.
3305linux* | k*bsd*-gnu | kopensolaris*-gnu)
3306  lt_cv_deplibs_check_method=pass_all
3307  ;;
3308
3309netbsd*)
3310  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3311    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3312  else
3313    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3314  fi
3315  ;;
3316
3317newos6*)
3318  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3319  lt_cv_file_magic_cmd=/usr/bin/file
3320  lt_cv_file_magic_test_file=/usr/lib/libnls.so
3321  ;;
3322
3323*nto* | *qnx*)
3324  lt_cv_deplibs_check_method=pass_all
3325  ;;
3326
3327openbsd*)
3328  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3329    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3330  else
3331    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3332  fi
3333  ;;
3334
3335osf3* | osf4* | osf5*)
3336  lt_cv_deplibs_check_method=pass_all
3337  ;;
3338
3339rdos*)
3340  lt_cv_deplibs_check_method=pass_all
3341  ;;
3342
3343solaris*)
3344  lt_cv_deplibs_check_method=pass_all
3345  ;;
3346
3347sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3348  lt_cv_deplibs_check_method=pass_all
3349  ;;
3350
3351sysv4 | sysv4.3*)
3352  case $host_vendor in
3353  motorola)
3354    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]]'
3355    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3356    ;;
3357  ncr)
3358    lt_cv_deplibs_check_method=pass_all
3359    ;;
3360  sequent)
3361    lt_cv_file_magic_cmd='/bin/file'
3362    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3363    ;;
3364  sni)
3365    lt_cv_file_magic_cmd='/bin/file'
3366    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3367    lt_cv_file_magic_test_file=/lib/libc.so
3368    ;;
3369  siemens)
3370    lt_cv_deplibs_check_method=pass_all
3371    ;;
3372  pc)
3373    lt_cv_deplibs_check_method=pass_all
3374    ;;
3375  esac
3376  ;;
3377
3378tpf*)
3379  lt_cv_deplibs_check_method=pass_all
3380  ;;
3381esac
3382])
3383
3384file_magic_glob=
3385want_nocaseglob=no
3386if test "$build" = "$host"; then
3387  case $host_os in
3388  mingw* | pw32*)
3389    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3390      want_nocaseglob=yes
3391    else
3392      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3393    fi
3394    ;;
3395  esac
3396fi
3397
3398file_magic_cmd=$lt_cv_file_magic_cmd
3399deplibs_check_method=$lt_cv_deplibs_check_method
3400test -z "$deplibs_check_method" && deplibs_check_method=unknown
3401
3402_LT_DECL([], [deplibs_check_method], [1],
3403    [Method to check whether dependent libraries are shared objects])
3404_LT_DECL([], [file_magic_cmd], [1],
3405    [Command to use when deplibs_check_method = "file_magic"])
3406_LT_DECL([], [file_magic_glob], [1],
3407    [How to find potential files when deplibs_check_method = "file_magic"])
3408_LT_DECL([], [want_nocaseglob], [1],
3409    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3410])# _LT_CHECK_MAGIC_METHOD
3411
3412
3413# LT_PATH_NM
3414# ----------
3415# find the pathname to a BSD- or MS-compatible name lister
3416AC_DEFUN([LT_PATH_NM],
3417[AC_REQUIRE([AC_PROG_CC])dnl
3418AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3419[if test -n "$NM"; then
3420  # Let the user override the test.
3421  lt_cv_path_NM="$NM"
3422else
3423  lt_nm_to_check="${ac_tool_prefix}nm"
3424  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3425    lt_nm_to_check="$lt_nm_to_check nm"
3426  fi
3427  for lt_tmp_nm in $lt_nm_to_check; do
3428    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3429    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3430      IFS="$lt_save_ifs"
3431      test -z "$ac_dir" && ac_dir=.
3432      tmp_nm="$ac_dir/$lt_tmp_nm"
3433      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3434	# Check to see if the nm accepts a BSD-compat flag.
3435	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
3436	#   nm: unknown option "B" ignored
3437	# Tru64's nm complains that /dev/null is an invalid object file
3438	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3439	*/dev/null* | *'Invalid file or object type'*)
3440	  lt_cv_path_NM="$tmp_nm -B"
3441	  break
3442	  ;;
3443	*)
3444	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3445	  */dev/null*)
3446	    lt_cv_path_NM="$tmp_nm -p"
3447	    break
3448	    ;;
3449	  *)
3450	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3451	    continue # so that we can try to find one that supports BSD flags
3452	    ;;
3453	  esac
3454	  ;;
3455	esac
3456      fi
3457    done
3458    IFS="$lt_save_ifs"
3459  done
3460  : ${lt_cv_path_NM=no}
3461fi])
3462if test "$lt_cv_path_NM" != "no"; then
3463  NM="$lt_cv_path_NM"
3464else
3465  # Didn't find any BSD compatible name lister, look for dumpbin.
3466  if test -n "$DUMPBIN"; then :
3467    # Let the user override the test.
3468  else
3469    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3470    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
3471    *COFF*)
3472      DUMPBIN="$DUMPBIN -symbols"
3473      ;;
3474    *)
3475      DUMPBIN=:
3476      ;;
3477    esac
3478  fi
3479  AC_SUBST([DUMPBIN])
3480  if test "$DUMPBIN" != ":"; then
3481    NM="$DUMPBIN"
3482  fi
3483fi
3484test -z "$NM" && NM=nm
3485AC_SUBST([NM])
3486_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3487
3488AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3489  [lt_cv_nm_interface="BSD nm"
3490  echo "int some_variable = 0;" > conftest.$ac_ext
3491  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3492  (eval "$ac_compile" 2>conftest.err)
3493  cat conftest.err >&AS_MESSAGE_LOG_FD
3494  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3495  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3496  cat conftest.err >&AS_MESSAGE_LOG_FD
3497  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3498  cat conftest.out >&AS_MESSAGE_LOG_FD
3499  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3500    lt_cv_nm_interface="MS dumpbin"
3501  fi
3502  rm -f conftest*])
3503])# LT_PATH_NM
3504
3505# Old names:
3506AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3507AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3508dnl aclocal-1.4 backwards compatibility:
3509dnl AC_DEFUN([AM_PROG_NM], [])
3510dnl AC_DEFUN([AC_PROG_NM], [])
3511
3512# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3513# --------------------------------
3514# how to determine the name of the shared library
3515# associated with a specific link library.
3516#  -- PORTME fill in with the dynamic library characteristics
3517m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3518[m4_require([_LT_DECL_EGREP])
3519m4_require([_LT_DECL_OBJDUMP])
3520m4_require([_LT_DECL_DLLTOOL])
3521AC_CACHE_CHECK([how to associate runtime and link libraries],
3522lt_cv_sharedlib_from_linklib_cmd,
3523[lt_cv_sharedlib_from_linklib_cmd='unknown'
3524
3525case $host_os in
3526cygwin* | mingw* | pw32* | cegcc*)
3527  # two different shell functions defined in ltmain.sh
3528  # decide which to use based on capabilities of $DLLTOOL
3529  case `$DLLTOOL --help 2>&1` in
3530  *--identify-strict*)
3531    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3532    ;;
3533  *)
3534    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3535    ;;
3536  esac
3537  ;;
3538*)
3539  # fallback: assume linklib IS sharedlib
3540  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
3541  ;;
3542esac
3543])
3544sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3545test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3546
3547_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3548    [Command to associate shared and link libraries])
3549])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3550
3551
3552# _LT_PATH_MANIFEST_TOOL
3553# ----------------------
3554# locate the manifest tool
3555m4_defun([_LT_PATH_MANIFEST_TOOL],
3556[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3557test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3558AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3559  [lt_cv_path_mainfest_tool=no
3560  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3561  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3562  cat conftest.err >&AS_MESSAGE_LOG_FD
3563  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3564    lt_cv_path_mainfest_tool=yes
3565  fi
3566  rm -f conftest*])
3567if test "x$lt_cv_path_mainfest_tool" != xyes; then
3568  MANIFEST_TOOL=:
3569fi
3570_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3571])# _LT_PATH_MANIFEST_TOOL
3572
3573
3574# LT_LIB_M
3575# --------
3576# check for math library
3577AC_DEFUN([LT_LIB_M],
3578[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3579LIBM=
3580case $host in
3581*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
3582  # These system don't have libm, or don't need it
3583  ;;
3584*-ncr-sysv4.3*)
3585  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3586  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3587  ;;
3588*)
3589  AC_CHECK_LIB(m, cos, LIBM="-lm")
3590  ;;
3591esac
3592AC_SUBST([LIBM])
3593])# LT_LIB_M
3594
3595# Old name:
3596AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3597dnl aclocal-1.4 backwards compatibility:
3598dnl AC_DEFUN([AC_CHECK_LIBM], [])
3599
3600
3601# _LT_COMPILER_NO_RTTI([TAGNAME])
3602# -------------------------------
3603m4_defun([_LT_COMPILER_NO_RTTI],
3604[m4_require([_LT_TAG_COMPILER])dnl
3605
3606_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3607
3608if test "$GCC" = yes; then
3609  case $cc_basename in
3610  nvcc*)
3611    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3612  *)
3613    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3614  esac
3615
3616  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3617    lt_cv_prog_compiler_rtti_exceptions,
3618    [-fno-rtti -fno-exceptions], [],
3619    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3620fi
3621_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3622	[Compiler flag to turn off builtin functions])
3623])# _LT_COMPILER_NO_RTTI
3624
3625
3626# _LT_CMD_GLOBAL_SYMBOLS
3627# ----------------------
3628m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3629[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3630AC_REQUIRE([AC_PROG_CC])dnl
3631AC_REQUIRE([AC_PROG_AWK])dnl
3632AC_REQUIRE([LT_PATH_NM])dnl
3633AC_REQUIRE([LT_PATH_LD])dnl
3634m4_require([_LT_DECL_SED])dnl
3635m4_require([_LT_DECL_EGREP])dnl
3636m4_require([_LT_TAG_COMPILER])dnl
3637
3638# Check for command to grab the raw symbol name followed by C symbol from nm.
3639AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3640AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3641[
3642# These are sane defaults that work on at least a few old systems.
3643# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
3644
3645# Character class describing NM global symbol codes.
3646symcode='[[BCDEGRST]]'
3647
3648# Regexp to match symbols that can be accessed directly from C.
3649sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3650
3651# Define system-specific variables.
3652case $host_os in
3653aix*)
3654  symcode='[[BCDT]]'
3655  ;;
3656cygwin* | mingw* | pw32* | cegcc*)
3657  symcode='[[ABCDGISTW]]'
3658  ;;
3659hpux*)
3660  if test "$host_cpu" = ia64; then
3661    symcode='[[ABCDEGRST]]'
3662  fi
3663  ;;
3664irix* | nonstopux*)
3665  symcode='[[BCDEGRST]]'
3666  ;;
3667osf*)
3668  symcode='[[BCDEGQRST]]'
3669  ;;
3670solaris*)
3671  symcode='[[BDRT]]'
3672  ;;
3673sco3.2v5*)
3674  symcode='[[DT]]'
3675  ;;
3676sysv4.2uw2*)
3677  symcode='[[DT]]'
3678  ;;
3679sysv5* | sco5v6* | unixware* | OpenUNIX*)
3680  symcode='[[ABDT]]'
3681  ;;
3682sysv4)
3683  symcode='[[DFNSTU]]'
3684  ;;
3685esac
3686
3687# If we're using GNU nm, then use its standard symbol codes.
3688case `$NM -V 2>&1` in
3689*GNU* | *'with BFD'*)
3690  symcode='[[ABCDGIRSTW]]' ;;
3691esac
3692
3693# Transform an extracted symbol line into a proper C declaration.
3694# Some systems (esp. on ia64) link data and code symbols differently,
3695# so use this general approach.
3696lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3697
3698# Transform an extracted symbol line into symbol name and symbol address
3699lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
3700lt_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'"
3701
3702# Handle CRLF in mingw tool chain
3703opt_cr=
3704case $build_os in
3705mingw*)
3706  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3707  ;;
3708esac
3709
3710# Try without a prefix underscore, then with it.
3711for ac_symprfx in "" "_"; do
3712
3713  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3714  symxfrm="\\1 $ac_symprfx\\2 \\2"
3715
3716  # Write the raw and C identifiers.
3717  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3718    # Fake it for dumpbin and say T for any non-static function
3719    # and D for any global variable.
3720    # Also find C++ and __fastcall symbols from MSVC++,
3721    # which start with @ or ?.
3722    lt_cv_sys_global_symbol_pipe="$AWK ['"\
3723"     {last_section=section; section=\$ 3};"\
3724"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
3725"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3726"     \$ 0!~/External *\|/{next};"\
3727"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3728"     {if(hide[section]) next};"\
3729"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3730"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3731"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
3732"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3733"     ' prfx=^$ac_symprfx]"
3734  else
3735    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3736  fi
3737  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
3738
3739  # Check to see that the pipe works correctly.
3740  pipe_works=no
3741
3742  rm -f conftest*
3743  cat > conftest.$ac_ext <<_LT_EOF
3744#ifdef __cplusplus
3745extern "C" {
3746#endif
3747char nm_test_var;
3748void nm_test_func(void);
3749void nm_test_func(void){}
3750#ifdef __cplusplus
3751}
3752#endif
3753int main(){nm_test_var='a';nm_test_func();return(0);}
3754_LT_EOF
3755
3756  if AC_TRY_EVAL(ac_compile); then
3757    # Now try to grab the symbols.
3758    nlist=conftest.nm
3759    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
3760      # Try sorting and uniquifying the output.
3761      if sort "$nlist" | uniq > "$nlist"T; then
3762	mv -f "$nlist"T "$nlist"
3763      else
3764	rm -f "$nlist"T
3765      fi
3766
3767      # Make sure that we snagged all the symbols we need.
3768      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3769	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3770	  cat <<_LT_EOF > conftest.$ac_ext
3771/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
3772#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
3773/* DATA imports from DLLs on WIN32 con't be const, because runtime
3774   relocations are performed -- see ld's documentation on pseudo-relocs.  */
3775# define LT@&t@_DLSYM_CONST
3776#elif defined(__osf__)
3777/* This system does not cope well with relocations in const data.  */
3778# define LT@&t@_DLSYM_CONST
3779#else
3780# define LT@&t@_DLSYM_CONST const
3781#endif
3782
3783#ifdef __cplusplus
3784extern "C" {
3785#endif
3786
3787_LT_EOF
3788	  # Now generate the symbol file.
3789	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
3790
3791	  cat <<_LT_EOF >> conftest.$ac_ext
3792
3793/* The mapping between symbol names and symbols.  */
3794LT@&t@_DLSYM_CONST struct {
3795  const char *name;
3796  void       *address;
3797}
3798lt__PROGRAM__LTX_preloaded_symbols[[]] =
3799{
3800  { "@PROGRAM@", (void *) 0 },
3801_LT_EOF
3802	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3803	  cat <<\_LT_EOF >> conftest.$ac_ext
3804  {0, (void *) 0}
3805};
3806
3807/* This works around a problem in FreeBSD linker */
3808#ifdef FREEBSD_WORKAROUND
3809static const void *lt_preloaded_setup() {
3810  return lt__PROGRAM__LTX_preloaded_symbols;
3811}
3812#endif
3813
3814#ifdef __cplusplus
3815}
3816#endif
3817_LT_EOF
3818	  # Now try linking the two files.
3819	  mv conftest.$ac_objext conftstm.$ac_objext
3820	  lt_globsym_save_LIBS=$LIBS
3821	  lt_globsym_save_CFLAGS=$CFLAGS
3822	  LIBS="conftstm.$ac_objext"
3823	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3824	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3825	    pipe_works=yes
3826	  fi
3827	  LIBS=$lt_globsym_save_LIBS
3828	  CFLAGS=$lt_globsym_save_CFLAGS
3829	else
3830	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3831	fi
3832      else
3833	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3834      fi
3835    else
3836      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3837    fi
3838  else
3839    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3840    cat conftest.$ac_ext >&5
3841  fi
3842  rm -rf conftest* conftst*
3843
3844  # Do not use the global_symbol_pipe unless it works.
3845  if test "$pipe_works" = yes; then
3846    break
3847  else
3848    lt_cv_sys_global_symbol_pipe=
3849  fi
3850done
3851])
3852if test -z "$lt_cv_sys_global_symbol_pipe"; then
3853  lt_cv_sys_global_symbol_to_cdecl=
3854fi
3855if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3856  AC_MSG_RESULT(failed)
3857else
3858  AC_MSG_RESULT(ok)
3859fi
3860
3861# Response file support.
3862if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3863  nm_file_list_spec='@'
3864elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
3865  nm_file_list_spec='@'
3866fi
3867
3868_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3869    [Take the output of nm and produce a listing of raw symbols and C names])
3870_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3871    [Transform the output of nm in a proper C declaration])
3872_LT_DECL([global_symbol_to_c_name_address],
3873    [lt_cv_sys_global_symbol_to_c_name_address], [1],
3874    [Transform the output of nm in a C name address pair])
3875_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3876    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3877    [Transform the output of nm in a C name address pair when lib prefix is needed])
3878_LT_DECL([], [nm_file_list_spec], [1],
3879    [Specify filename containing input files for $NM])
3880]) # _LT_CMD_GLOBAL_SYMBOLS
3881
3882
3883# _LT_COMPILER_PIC([TAGNAME])
3884# ---------------------------
3885m4_defun([_LT_COMPILER_PIC],
3886[m4_require([_LT_TAG_COMPILER])dnl
3887_LT_TAGVAR(lt_prog_compiler_wl, $1)=
3888_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3889_LT_TAGVAR(lt_prog_compiler_static, $1)=
3890
3891m4_if([$1], [CXX], [
3892  # C++ specific cases for pic, static, wl, etc.
3893  if test "$GXX" = yes; then
3894    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3895    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3896
3897    case $host_os in
3898    aix*)
3899      # All AIX code is PIC.
3900      if test "$host_cpu" = ia64; then
3901	# AIX 5 now supports IA64 processor
3902	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3903      fi
3904      ;;
3905
3906    amigaos*)
3907      case $host_cpu in
3908      powerpc)
3909            # see comment about AmigaOS4 .so support
3910            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3911        ;;
3912      m68k)
3913            # FIXME: we need at least 68020 code to build shared libraries, but
3914            # adding the `-m68020' flag to GCC prevents building anything better,
3915            # like `-m68040'.
3916            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3917        ;;
3918      esac
3919      ;;
3920
3921    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3922      # PIC is the default for these OSes.
3923      ;;
3924    mingw* | cygwin* | os2* | pw32* | cegcc*)
3925      # This hack is so that the source file can tell whether it is being
3926      # built for inclusion in a dll (and should export symbols for example).
3927      # Although the cygwin gcc ignores -fPIC, still need this for old-style
3928      # (--disable-auto-import) libraries
3929      m4_if([$1], [GCJ], [],
3930	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3931      ;;
3932    darwin* | rhapsody*)
3933      # PIC is the default on this platform
3934      # Common symbols not allowed in MH_DYLIB files
3935      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3936      ;;
3937    *djgpp*)
3938      # DJGPP does not support shared libraries at all
3939      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3940      ;;
3941    haiku*)
3942      # PIC is the default for Haiku.
3943      # The "-static" flag exists, but is broken.
3944      _LT_TAGVAR(lt_prog_compiler_static, $1)=
3945      ;;
3946    interix[[3-9]]*)
3947      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3948      # Instead, we relocate shared libraries at runtime.
3949      ;;
3950    sysv4*MP*)
3951      if test -d /usr/nec; then
3952	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3953      fi
3954      ;;
3955    hpux*)
3956      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3957      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
3958      # sets the default TLS model and affects inlining.
3959      case $host_cpu in
3960      hppa*64*)
3961	;;
3962      *)
3963	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3964	;;
3965      esac
3966      ;;
3967    *qnx* | *nto*)
3968      # QNX uses GNU C++, but need to define -shared option too, otherwise
3969      # it will coredump.
3970      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3971      ;;
3972    *)
3973      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3974      ;;
3975    esac
3976  else
3977    case $host_os in
3978      aix[[4-9]]*)
3979	# All AIX code is PIC.
3980	if test "$host_cpu" = ia64; then
3981	  # AIX 5 now supports IA64 processor
3982	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3983	else
3984	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3985	fi
3986	;;
3987      chorus*)
3988	case $cc_basename in
3989	cxch68*)
3990	  # Green Hills C++ Compiler
3991	  # _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"
3992	  ;;
3993	esac
3994	;;
3995      mingw* | cygwin* | os2* | pw32* | cegcc*)
3996	# This hack is so that the source file can tell whether it is being
3997	# built for inclusion in a dll (and should export symbols for example).
3998	m4_if([$1], [GCJ], [],
3999	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4000	;;
4001      dgux*)
4002	case $cc_basename in
4003	  ec++*)
4004	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4005	    ;;
4006	  ghcx*)
4007	    # Green Hills C++ Compiler
4008	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4009	    ;;
4010	  *)
4011	    ;;
4012	esac
4013	;;
4014      freebsd* | dragonfly*)
4015	# FreeBSD uses GNU C++
4016	;;
4017      hpux9* | hpux10* | hpux11*)
4018	case $cc_basename in
4019	  CC*)
4020	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4021	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4022	    if test "$host_cpu" != ia64; then
4023	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4024	    fi
4025	    ;;
4026	  aCC*)
4027	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4028	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4029	    case $host_cpu in
4030	    hppa*64*|ia64*)
4031	      # +Z the default
4032	      ;;
4033	    *)
4034	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4035	      ;;
4036	    esac
4037	    ;;
4038	  *)
4039	    ;;
4040	esac
4041	;;
4042      interix*)
4043	# This is c89, which is MS Visual C++ (no shared libs)
4044	# Anyone wants to do a port?
4045	;;
4046      irix5* | irix6* | nonstopux*)
4047	case $cc_basename in
4048	  CC*)
4049	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4050	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4051	    # CC pic flag -KPIC is the default.
4052	    ;;
4053	  *)
4054	    ;;
4055	esac
4056	;;
4057      linux* | k*bsd*-gnu | kopensolaris*-gnu)
4058	case $cc_basename in
4059	  KCC*)
4060	    # KAI C++ Compiler
4061	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4062	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4063	    ;;
4064	  ecpc* )
4065	    # old Intel C++ for x86_64 which still supported -KPIC.
4066	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4067	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4068	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4069	    ;;
4070	  icpc* )
4071	    # Intel C++, used to be incompatible with GCC.
4072	    # ICC 10 doesn't accept -KPIC any more.
4073	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4074	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4075	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4076	    ;;
4077	  pgCC* | pgcpp*)
4078	    # Portland Group C++ compiler
4079	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4080	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4081	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4082	    ;;
4083	  cxx*)
4084	    # Compaq C++
4085	    # Make sure the PIC flag is empty.  It appears that all Alpha
4086	    # Linux and Compaq Tru64 Unix objects are PIC.
4087	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4088	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4089	    ;;
4090	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4091	    # IBM XL 8.0, 9.0 on PPC and BlueGene
4092	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4093	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4094	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4095	    ;;
4096	  *)
4097	    case `$CC -V 2>&1 | sed 5q` in
4098	    *Sun\ C*)
4099	      # Sun C++ 5.9
4100	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4101	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4102	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4103	      ;;
4104	    esac
4105	    ;;
4106	esac
4107	;;
4108      lynxos*)
4109	;;
4110      m88k*)
4111	;;
4112      mvs*)
4113	case $cc_basename in
4114	  cxx*)
4115	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4116	    ;;
4117	  *)
4118	    ;;
4119	esac
4120	;;
4121      netbsd*)
4122	;;
4123      *qnx* | *nto*)
4124        # QNX uses GNU C++, but need to define -shared option too, otherwise
4125        # it will coredump.
4126        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4127        ;;
4128      osf3* | osf4* | osf5*)
4129	case $cc_basename in
4130	  KCC*)
4131	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4132	    ;;
4133	  RCC*)
4134	    # Rational C++ 2.4.1
4135	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4136	    ;;
4137	  cxx*)
4138	    # Digital/Compaq C++
4139	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4140	    # Make sure the PIC flag is empty.  It appears that all Alpha
4141	    # Linux and Compaq Tru64 Unix objects are PIC.
4142	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4143	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4144	    ;;
4145	  *)
4146	    ;;
4147	esac
4148	;;
4149      psos*)
4150	;;
4151      solaris*)
4152	case $cc_basename in
4153	  CC* | sunCC*)
4154	    # Sun C++ 4.2, 5.x and Centerline C++
4155	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4156	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4157	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4158	    ;;
4159	  gcx*)
4160	    # Green Hills C++ Compiler
4161	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4162	    ;;
4163	  *)
4164	    ;;
4165	esac
4166	;;
4167      sunos4*)
4168	case $cc_basename in
4169	  CC*)
4170	    # Sun C++ 4.x
4171	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4172	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4173	    ;;
4174	  lcc*)
4175	    # Lucid
4176	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4177	    ;;
4178	  *)
4179	    ;;
4180	esac
4181	;;
4182      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4183	case $cc_basename in
4184	  CC*)
4185	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4186	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4187	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4188	    ;;
4189	esac
4190	;;
4191      tandem*)
4192	case $cc_basename in
4193	  NCC*)
4194	    # NonStop-UX NCC 3.20
4195	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4196	    ;;
4197	  *)
4198	    ;;
4199	esac
4200	;;
4201      vxworks*)
4202	;;
4203      *)
4204	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4205	;;
4206    esac
4207  fi
4208],
4209[
4210  if test "$GCC" = yes; then
4211    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4212    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4213
4214    case $host_os in
4215      aix*)
4216      # All AIX code is PIC.
4217      if test "$host_cpu" = ia64; then
4218	# AIX 5 now supports IA64 processor
4219	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4220      fi
4221      ;;
4222
4223    amigaos*)
4224      case $host_cpu in
4225      powerpc)
4226            # see comment about AmigaOS4 .so support
4227            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4228        ;;
4229      m68k)
4230            # FIXME: we need at least 68020 code to build shared libraries, but
4231            # adding the `-m68020' flag to GCC prevents building anything better,
4232            # like `-m68040'.
4233            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4234        ;;
4235      esac
4236      ;;
4237
4238    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4239      # PIC is the default for these OSes.
4240      ;;
4241
4242    mingw* | cygwin* | pw32* | os2* | cegcc*)
4243      # This hack is so that the source file can tell whether it is being
4244      # built for inclusion in a dll (and should export symbols for example).
4245      # Although the cygwin gcc ignores -fPIC, still need this for old-style
4246      # (--disable-auto-import) libraries
4247      m4_if([$1], [GCJ], [],
4248	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4249      ;;
4250
4251    darwin* | rhapsody*)
4252      # PIC is the default on this platform
4253      # Common symbols not allowed in MH_DYLIB files
4254      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4255      ;;
4256
4257    haiku*)
4258      # PIC is the default for Haiku.
4259      # The "-static" flag exists, but is broken.
4260      _LT_TAGVAR(lt_prog_compiler_static, $1)=
4261      ;;
4262
4263    hpux*)
4264      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4265      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
4266      # sets the default TLS model and affects inlining.
4267      case $host_cpu in
4268      hppa*64*)
4269	# +Z the default
4270	;;
4271      *)
4272	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4273	;;
4274      esac
4275      ;;
4276
4277    interix[[3-9]]*)
4278      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4279      # Instead, we relocate shared libraries at runtime.
4280      ;;
4281
4282    msdosdjgpp*)
4283      # Just because we use GCC doesn't mean we suddenly get shared libraries
4284      # on systems that don't support them.
4285      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4286      enable_shared=no
4287      ;;
4288
4289    *nto* | *qnx*)
4290      # QNX uses GNU C++, but need to define -shared option too, otherwise
4291      # it will coredump.
4292      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4293      ;;
4294
4295    sysv4*MP*)
4296      if test -d /usr/nec; then
4297	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4298      fi
4299      ;;
4300
4301    *)
4302      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4303      ;;
4304    esac
4305
4306    case $cc_basename in
4307    nvcc*) # Cuda Compiler Driver 2.2
4308      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4309      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4310        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
4311      fi
4312      ;;
4313    esac
4314  else
4315    # PORTME Check for flag to pass linker flags through the system compiler.
4316    case $host_os in
4317    aix*)
4318      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4319      if test "$host_cpu" = ia64; then
4320	# AIX 5 now supports IA64 processor
4321	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4322      else
4323	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4324      fi
4325      ;;
4326
4327    mingw* | cygwin* | pw32* | os2* | cegcc*)
4328      # This hack is so that the source file can tell whether it is being
4329      # built for inclusion in a dll (and should export symbols for example).
4330      m4_if([$1], [GCJ], [],
4331	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4332      ;;
4333
4334    hpux9* | hpux10* | hpux11*)
4335      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4336      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4337      # not for PA HP-UX.
4338      case $host_cpu in
4339      hppa*64*|ia64*)
4340	# +Z the default
4341	;;
4342      *)
4343	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4344	;;
4345      esac
4346      # Is there a better lt_prog_compiler_static that works with the bundled CC?
4347      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4348      ;;
4349
4350    irix5* | irix6* | nonstopux*)
4351      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4352      # PIC (with -KPIC) is the default.
4353      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4354      ;;
4355
4356    linux* | k*bsd*-gnu | kopensolaris*-gnu)
4357      case $cc_basename in
4358      # old Intel for x86_64 which still supported -KPIC.
4359      ecc*)
4360	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4361	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4362	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4363        ;;
4364      # icc used to be incompatible with GCC.
4365      # ICC 10 doesn't accept -KPIC any more.
4366      icc* | ifort*)
4367	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4368	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4369	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4370        ;;
4371      # Lahey Fortran 8.1.
4372      lf95*)
4373	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4374	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4375	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4376	;;
4377      nagfor*)
4378	# NAG Fortran compiler
4379	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4380	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4381	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4382	;;
4383      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4384        # Portland Group compilers (*not* the Pentium gcc compiler,
4385	# which looks to be a dead project)
4386	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4387	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4388	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4389        ;;
4390      ccc*)
4391        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4392        # All Alpha code is PIC.
4393        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4394        ;;
4395      xl* | bgxl* | bgf* | mpixl*)
4396	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4397	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4398	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4399	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4400	;;
4401      *)
4402	case `$CC -V 2>&1 | sed 5q` in
4403	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4404	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
4405	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4406	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4407	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4408	  ;;
4409	*Sun\ F* | *Sun*Fortran*)
4410	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4411	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4412	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4413	  ;;
4414	*Sun\ C*)
4415	  # Sun C 5.9
4416	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4417	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4418	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4419	  ;;
4420        *Intel*\ [[CF]]*Compiler*)
4421	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4422	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4423	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4424	  ;;
4425	*Portland\ Group*)
4426	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4427	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4428	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4429	  ;;
4430	esac
4431	;;
4432      esac
4433      ;;
4434
4435    newsos6)
4436      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4437      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4438      ;;
4439
4440    *nto* | *qnx*)
4441      # QNX uses GNU C++, but need to define -shared option too, otherwise
4442      # it will coredump.
4443      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4444      ;;
4445
4446    osf3* | osf4* | osf5*)
4447      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4448      # All OSF/1 code is PIC.
4449      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4450      ;;
4451
4452    rdos*)
4453      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4454      ;;
4455
4456    solaris*)
4457      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4458      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4459      case $cc_basename in
4460      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4461	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4462      *)
4463	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4464      esac
4465      ;;
4466
4467    sunos4*)
4468      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4469      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4470      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4471      ;;
4472
4473    sysv4 | sysv4.2uw2* | sysv4.3*)
4474      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4475      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4476      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4477      ;;
4478
4479    sysv4*MP*)
4480      if test -d /usr/nec ;then
4481	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4482	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4483      fi
4484      ;;
4485
4486    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4487      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4488      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4489      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4490      ;;
4491
4492    unicos*)
4493      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4494      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4495      ;;
4496
4497    uts4*)
4498      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4499      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4500      ;;
4501
4502    *)
4503      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4504      ;;
4505    esac
4506  fi
4507])
4508case $host_os in
4509  # For platforms which do not support PIC, -DPIC is meaningless:
4510  *djgpp*)
4511    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4512    ;;
4513  *)
4514    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4515    ;;
4516esac
4517
4518AC_CACHE_CHECK([for $compiler option to produce PIC],
4519  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4520  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4521_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
4522
4523#
4524# Check to make sure the PIC flag actually works.
4525#
4526if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4527  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4528    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4529    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4530    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4531     "" | " "*) ;;
4532     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4533     esac],
4534    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4535     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4536fi
4537_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4538	[Additional compiler flags for building library objects])
4539
4540_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4541	[How to pass a linker flag through the compiler])
4542#
4543# Check to make sure the static flag actually works.
4544#
4545wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4546_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4547  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4548  $lt_tmp_static_flag,
4549  [],
4550  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4551_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4552	[Compiler flag to prevent dynamic linking])
4553])# _LT_COMPILER_PIC
4554
4555
4556# _LT_LINKER_SHLIBS([TAGNAME])
4557# ----------------------------
4558# See if the linker supports building shared libraries.
4559m4_defun([_LT_LINKER_SHLIBS],
4560[AC_REQUIRE([LT_PATH_LD])dnl
4561AC_REQUIRE([LT_PATH_NM])dnl
4562m4_require([_LT_PATH_MANIFEST_TOOL])dnl
4563m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4564m4_require([_LT_DECL_EGREP])dnl
4565m4_require([_LT_DECL_SED])dnl
4566m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4567m4_require([_LT_TAG_COMPILER])dnl
4568AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4569m4_if([$1], [CXX], [
4570  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4571  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4572  case $host_os in
4573  aix[[4-9]]*)
4574    # If we're using GNU nm, then we don't want the "-C" option.
4575    # -C means demangle to AIX nm, but means don't demangle with GNU nm
4576    # Also, AIX nm treats weak defined symbols like other global defined
4577    # symbols, whereas GNU nm marks them as "W".
4578    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4579      _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'
4580    else
4581      _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'
4582    fi
4583    ;;
4584  pw32*)
4585    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4586    ;;
4587  cygwin* | mingw* | cegcc*)
4588    case $cc_basename in
4589    cl*)
4590      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
4591      ;;
4592    *)
4593      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4594      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4595      ;;
4596    esac
4597    ;;
4598  *)
4599    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4600    ;;
4601  esac
4602], [
4603  runpath_var=
4604  _LT_TAGVAR(allow_undefined_flag, $1)=
4605  _LT_TAGVAR(always_export_symbols, $1)=no
4606  _LT_TAGVAR(archive_cmds, $1)=
4607  _LT_TAGVAR(archive_expsym_cmds, $1)=
4608  _LT_TAGVAR(compiler_needs_object, $1)=no
4609  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4610  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4611  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4612  _LT_TAGVAR(hardcode_automatic, $1)=no
4613  _LT_TAGVAR(hardcode_direct, $1)=no
4614  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4615  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4616  _LT_TAGVAR(hardcode_libdir_separator, $1)=
4617  _LT_TAGVAR(hardcode_minus_L, $1)=no
4618  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4619  _LT_TAGVAR(inherit_rpath, $1)=no
4620  _LT_TAGVAR(link_all_deplibs, $1)=unknown
4621  _LT_TAGVAR(module_cmds, $1)=
4622  _LT_TAGVAR(module_expsym_cmds, $1)=
4623  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4624  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4625  _LT_TAGVAR(thread_safe_flag_spec, $1)=
4626  _LT_TAGVAR(whole_archive_flag_spec, $1)=
4627  # include_expsyms should be a list of space-separated symbols to be *always*
4628  # included in the symbol list
4629  _LT_TAGVAR(include_expsyms, $1)=
4630  # exclude_expsyms can be an extended regexp of symbols to exclude
4631  # it will be wrapped by ` (' and `)$', so one must not match beginning or
4632  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4633  # as well as any symbol that contains `d'.
4634  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4635  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4636  # platforms (ab)use it in PIC code, but their linkers get confused if
4637  # the symbol is explicitly referenced.  Since portable code cannot
4638  # rely on this symbol name, it's probably fine to never include it in
4639  # preloaded symbol tables.
4640  # Exclude shared library initialization/finalization symbols.
4641dnl Note also adjust exclude_expsyms for C++ above.
4642  extract_expsyms_cmds=
4643
4644  case $host_os in
4645  cygwin* | mingw* | pw32* | cegcc*)
4646    # FIXME: the MSVC++ port hasn't been tested in a loooong time
4647    # When not using gcc, we currently assume that we are using
4648    # Microsoft Visual C++.
4649    if test "$GCC" != yes; then
4650      with_gnu_ld=no
4651    fi
4652    ;;
4653  interix*)
4654    # we just hope/assume this is gcc and not c89 (= MSVC++)
4655    with_gnu_ld=yes
4656    ;;
4657  openbsd*)
4658    with_gnu_ld=no
4659    ;;
4660  esac
4661
4662  _LT_TAGVAR(ld_shlibs, $1)=yes
4663
4664  # On some targets, GNU ld is compatible enough with the native linker
4665  # that we're better off using the native interface for both.
4666  lt_use_gnu_ld_interface=no
4667  if test "$with_gnu_ld" = yes; then
4668    case $host_os in
4669      aix*)
4670	# The AIX port of GNU ld has always aspired to compatibility
4671	# with the native linker.  However, as the warning in the GNU ld
4672	# block says, versions before 2.19.5* couldn't really create working
4673	# shared libraries, regardless of the interface used.
4674	case `$LD -v 2>&1` in
4675	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
4676	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
4677	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
4678	  *)
4679	    lt_use_gnu_ld_interface=yes
4680	    ;;
4681	esac
4682	;;
4683      *)
4684	lt_use_gnu_ld_interface=yes
4685	;;
4686    esac
4687  fi
4688
4689  if test "$lt_use_gnu_ld_interface" = yes; then
4690    # If archive_cmds runs LD, not CC, wlarc should be empty
4691    wlarc='${wl}'
4692
4693    # Set some defaults for GNU ld with shared library support. These
4694    # are reset later if shared libraries are not supported. Putting them
4695    # here allows them to be overridden if necessary.
4696    runpath_var=LD_RUN_PATH
4697    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4698    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4699    # ancient GNU ld didn't support --whole-archive et. al.
4700    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4701      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4702    else
4703      _LT_TAGVAR(whole_archive_flag_spec, $1)=
4704    fi
4705    supports_anon_versioning=no
4706    case `$LD -v 2>&1` in
4707      *GNU\ gold*) supports_anon_versioning=yes ;;
4708      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4709      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4710      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4711      *\ 2.11.*) ;; # other 2.11 versions
4712      *) supports_anon_versioning=yes ;;
4713    esac
4714
4715    # See if GNU ld supports shared libraries.
4716    case $host_os in
4717    aix[[3-9]]*)
4718      # On AIX/PPC, the GNU linker is very broken
4719      if test "$host_cpu" != ia64; then
4720	_LT_TAGVAR(ld_shlibs, $1)=no
4721	cat <<_LT_EOF 1>&2
4722
4723*** Warning: the GNU linker, at least up to release 2.19, is reported
4724*** to be unable to reliably create shared libraries on AIX.
4725*** Therefore, libtool is disabling shared libraries support.  If you
4726*** really care for shared libraries, you may want to install binutils
4727*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
4728*** You will then need to restart the configuration process.
4729
4730_LT_EOF
4731      fi
4732      ;;
4733
4734    amigaos*)
4735      case $host_cpu in
4736      powerpc)
4737            # see comment about AmigaOS4 .so support
4738            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4739            _LT_TAGVAR(archive_expsym_cmds, $1)=''
4740        ;;
4741      m68k)
4742            _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)'
4743            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4744            _LT_TAGVAR(hardcode_minus_L, $1)=yes
4745        ;;
4746      esac
4747      ;;
4748
4749    beos*)
4750      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4751	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4752	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4753	# support --undefined.  This deserves some investigation.  FIXME
4754	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4755      else
4756	_LT_TAGVAR(ld_shlibs, $1)=no
4757      fi
4758      ;;
4759
4760    cygwin* | mingw* | pw32* | cegcc*)
4761      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4762      # as there is no search path for DLLs.
4763      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4764      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
4765      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4766      _LT_TAGVAR(always_export_symbols, $1)=no
4767      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4768      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4769      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4770
4771      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4772        _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'
4773	# If the export-symbols file already is a .def file (1st line
4774	# is EXPORTS), use it as is; otherwise, prepend...
4775	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4776	  cp $export_symbols $output_objdir/$soname.def;
4777	else
4778	  echo EXPORTS > $output_objdir/$soname.def;
4779	  cat $export_symbols >> $output_objdir/$soname.def;
4780	fi~
4781	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4782      else
4783	_LT_TAGVAR(ld_shlibs, $1)=no
4784      fi
4785      ;;
4786
4787    haiku*)
4788      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4789      _LT_TAGVAR(link_all_deplibs, $1)=yes
4790      ;;
4791
4792    interix[[3-9]]*)
4793      _LT_TAGVAR(hardcode_direct, $1)=no
4794      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4795      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4796      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4797      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4798      # Instead, shared libraries are loaded at an image base (0x10000000 by
4799      # default) and relocated if they conflict, which is a slow very memory
4800      # consuming and fragmenting process.  To avoid this, we pick a random,
4801      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4802      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
4803      _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'
4804      _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'
4805      ;;
4806
4807    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
4808      tmp_diet=no
4809      if test "$host_os" = linux-dietlibc; then
4810	case $cc_basename in
4811	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
4812	esac
4813      fi
4814      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4815	 && test "$tmp_diet" = no
4816      then
4817	tmp_addflag=' $pic_flag'
4818	tmp_sharedflag='-shared'
4819	case $cc_basename,$host_cpu in
4820        pgcc*)				# Portland Group C compiler
4821	  _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'
4822	  tmp_addflag=' $pic_flag'
4823	  ;;
4824	pgf77* | pgf90* | pgf95* | pgfortran*)
4825					# Portland Group f77 and f90 compilers
4826	  _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'
4827	  tmp_addflag=' $pic_flag -Mnomain' ;;
4828	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
4829	  tmp_addflag=' -i_dynamic' ;;
4830	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
4831	  tmp_addflag=' -i_dynamic -nofor_main' ;;
4832	ifc* | ifort*)			# Intel Fortran compiler
4833	  tmp_addflag=' -nofor_main' ;;
4834	lf95*)				# Lahey Fortran 8.1
4835	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
4836	  tmp_sharedflag='--shared' ;;
4837	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
4838	  tmp_sharedflag='-qmkshrobj'
4839	  tmp_addflag= ;;
4840	nvcc*)	# Cuda Compiler Driver 2.2
4841	  _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'
4842	  _LT_TAGVAR(compiler_needs_object, $1)=yes
4843	  ;;
4844	esac
4845	case `$CC -V 2>&1 | sed 5q` in
4846	*Sun\ C*)			# Sun C 5.9
4847	  _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'
4848	  _LT_TAGVAR(compiler_needs_object, $1)=yes
4849	  tmp_sharedflag='-G' ;;
4850	*Sun\ F*)			# Sun Fortran 8.3
4851	  tmp_sharedflag='-G' ;;
4852	esac
4853	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4854
4855        if test "x$supports_anon_versioning" = xyes; then
4856          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4857	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4858	    echo "local: *; };" >> $output_objdir/$libname.ver~
4859	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4860        fi
4861
4862	case $cc_basename in
4863	xlf* | bgf* | bgxlf* | mpixlf*)
4864	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4865	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4866	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4867	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
4868	  if test "x$supports_anon_versioning" = xyes; then
4869	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4870	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4871	      echo "local: *; };" >> $output_objdir/$libname.ver~
4872	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4873	  fi
4874	  ;;
4875	esac
4876      else
4877        _LT_TAGVAR(ld_shlibs, $1)=no
4878      fi
4879      ;;
4880
4881    netbsd*)
4882      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4883	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4884	wlarc=
4885      else
4886	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4887	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4888      fi
4889      ;;
4890
4891    solaris*)
4892      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4893	_LT_TAGVAR(ld_shlibs, $1)=no
4894	cat <<_LT_EOF 1>&2
4895
4896*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4897*** create shared libraries on Solaris systems.  Therefore, libtool
4898*** is disabling shared libraries support.  We urge you to upgrade GNU
4899*** binutils to release 2.9.1 or newer.  Another option is to modify
4900*** your PATH or compiler configuration so that the native linker is
4901*** used, and then restart.
4902
4903_LT_EOF
4904      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4905	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4906	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4907      else
4908	_LT_TAGVAR(ld_shlibs, $1)=no
4909      fi
4910      ;;
4911
4912    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4913      case `$LD -v 2>&1` in
4914        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4915	_LT_TAGVAR(ld_shlibs, $1)=no
4916	cat <<_LT_EOF 1>&2
4917
4918*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4919*** reliably create shared libraries on SCO systems.  Therefore, libtool
4920*** is disabling shared libraries support.  We urge you to upgrade GNU
4921*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
4922*** your PATH or compiler configuration so that the native linker is
4923*** used, and then restart.
4924
4925_LT_EOF
4926	;;
4927	*)
4928	  # For security reasons, it is highly recommended that you always
4929	  # use absolute paths for naming shared libraries, and exclude the
4930	  # DT_RUNPATH tag from executables and libraries.  But doing so
4931	  # requires that you compile everything twice, which is a pain.
4932	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4933	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4934	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4935	    _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'
4936	  else
4937	    _LT_TAGVAR(ld_shlibs, $1)=no
4938	  fi
4939	;;
4940      esac
4941      ;;
4942
4943    sunos4*)
4944      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4945      wlarc=
4946      _LT_TAGVAR(hardcode_direct, $1)=yes
4947      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4948      ;;
4949
4950    *)
4951      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4952	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4953	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4954      else
4955	_LT_TAGVAR(ld_shlibs, $1)=no
4956      fi
4957      ;;
4958    esac
4959
4960    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
4961      runpath_var=
4962      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4963      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4964      _LT_TAGVAR(whole_archive_flag_spec, $1)=
4965    fi
4966  else
4967    # PORTME fill in a description of your system's linker (not GNU ld)
4968    case $host_os in
4969    aix3*)
4970      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4971      _LT_TAGVAR(always_export_symbols, $1)=yes
4972      _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'
4973      # Note: this linker hardcodes the directories in LIBPATH if there
4974      # are no directories specified by -L.
4975      _LT_TAGVAR(hardcode_minus_L, $1)=yes
4976      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
4977	# Neither direct hardcoding nor static linking is supported with a
4978	# broken collect2.
4979	_LT_TAGVAR(hardcode_direct, $1)=unsupported
4980      fi
4981      ;;
4982
4983    aix[[4-9]]*)
4984      if test "$host_cpu" = ia64; then
4985	# On IA64, the linker does run time linking by default, so we don't
4986	# have to do anything special.
4987	aix_use_runtimelinking=no
4988	exp_sym_flag='-Bexport'
4989	no_entry_flag=""
4990      else
4991	# If we're using GNU nm, then we don't want the "-C" option.
4992	# -C means demangle to AIX nm, but means don't demangle with GNU nm
4993	# Also, AIX nm treats weak defined symbols like other global
4994	# defined symbols, whereas GNU nm marks them as "W".
4995	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4996	  _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'
4997	else
4998	  _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'
4999	fi
5000	aix_use_runtimelinking=no
5001
5002	# Test if we are trying to use run time linking or normal
5003	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
5004	# need to do runtime linking.
5005	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5006	  for ld_flag in $LDFLAGS; do
5007	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
5008	    aix_use_runtimelinking=yes
5009	    break
5010	  fi
5011	  done
5012	  ;;
5013	esac
5014
5015	exp_sym_flag='-bexport'
5016	no_entry_flag='-bnoentry'
5017      fi
5018
5019      # When large executables or shared objects are built, AIX ld can
5020      # have problems creating the table of contents.  If linking a library
5021      # or program results in "error TOC overflow" add -mminimal-toc to
5022      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
5023      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5024
5025      _LT_TAGVAR(archive_cmds, $1)=''
5026      _LT_TAGVAR(hardcode_direct, $1)=yes
5027      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5028      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5029      _LT_TAGVAR(link_all_deplibs, $1)=yes
5030      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5031
5032      if test "$GCC" = yes; then
5033	case $host_os in aix4.[[012]]|aix4.[[012]].*)
5034	# We only want to do this on AIX 4.2 and lower, the check
5035	# below for broken collect2 doesn't work under 4.3+
5036	  collect2name=`${CC} -print-prog-name=collect2`
5037	  if test -f "$collect2name" &&
5038	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5039	  then
5040	  # We have reworked collect2
5041	  :
5042	  else
5043	  # We have old collect2
5044	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
5045	  # It fails to find uninstalled libraries when the uninstalled
5046	  # path is not listed in the libpath.  Setting hardcode_minus_L
5047	  # to unsupported forces relinking
5048	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
5049	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5050	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
5051	  fi
5052	  ;;
5053	esac
5054	shared_flag='-shared'
5055	if test "$aix_use_runtimelinking" = yes; then
5056	  shared_flag="$shared_flag "'${wl}-G'
5057	fi
5058      else
5059	# not using gcc
5060	if test "$host_cpu" = ia64; then
5061	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5062	# chokes on -Wl,-G. The following line is correct:
5063	  shared_flag='-G'
5064	else
5065	  if test "$aix_use_runtimelinking" = yes; then
5066	    shared_flag='${wl}-G'
5067	  else
5068	    shared_flag='${wl}-bM:SRE'
5069	  fi
5070	fi
5071      fi
5072
5073      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
5074      # It seems that -bexpall does not export symbols beginning with
5075      # underscore (_), so it is better to generate a list of symbols to export.
5076      _LT_TAGVAR(always_export_symbols, $1)=yes
5077      if test "$aix_use_runtimelinking" = yes; then
5078	# Warning - without using the other runtime loading flags (-brtl),
5079	# -berok will link without error, but may produce a broken library.
5080	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5081        # Determine the default libpath from the value encoded in an
5082        # empty executable.
5083        _LT_SYS_MODULE_PATH_AIX([$1])
5084        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5085        _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"
5086      else
5087	if test "$host_cpu" = ia64; then
5088	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5089	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5090	  _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"
5091	else
5092	 # Determine the default libpath from the value encoded in an
5093	 # empty executable.
5094	 _LT_SYS_MODULE_PATH_AIX([$1])
5095	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5096	  # Warning - without using the other run time loading flags,
5097	  # -berok will link without error, but may produce a broken library.
5098	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5099	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5100	  if test "$with_gnu_ld" = yes; then
5101	    # We only use this code for GNU lds that support --whole-archive.
5102	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5103	  else
5104	    # Exported symbols can be pulled into shared objects from archives
5105	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5106	  fi
5107	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5108	  # This is similar to how AIX traditionally builds its shared libraries.
5109	  _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'
5110	fi
5111      fi
5112      ;;
5113
5114    amigaos*)
5115      case $host_cpu in
5116      powerpc)
5117            # see comment about AmigaOS4 .so support
5118            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5119            _LT_TAGVAR(archive_expsym_cmds, $1)=''
5120        ;;
5121      m68k)
5122            _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)'
5123            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5124            _LT_TAGVAR(hardcode_minus_L, $1)=yes
5125        ;;
5126      esac
5127      ;;
5128
5129    bsdi[[45]]*)
5130      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5131      ;;
5132
5133    cygwin* | mingw* | pw32* | cegcc*)
5134      # When not using gcc, we currently assume that we are using
5135      # Microsoft Visual C++.
5136      # hardcode_libdir_flag_spec is actually meaningless, as there is
5137      # no search path for DLLs.
5138      case $cc_basename in
5139      cl*)
5140	# Native MSVC
5141	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5142	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5143	_LT_TAGVAR(always_export_symbols, $1)=yes
5144	_LT_TAGVAR(file_list_spec, $1)='@'
5145	# Tell ltmain to make .lib files, not .a files.
5146	libext=lib
5147	# Tell ltmain to make .dll files, not .so files.
5148	shrext_cmds=".dll"
5149	# FIXME: Setting linknames here is a bad hack.
5150	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
5151	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5152	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
5153	  else
5154	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
5155	  fi~
5156	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
5157	  linknames='
5158	# The linker will not automatically build a static lib if we build a DLL.
5159	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5160	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5161	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5162	_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'
5163	# Don't use ranlib
5164	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5165	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5166	  lt_tool_outputfile="@TOOL_OUTPUT@"~
5167	  case $lt_outputfile in
5168	    *.exe|*.EXE) ;;
5169	    *)
5170	      lt_outputfile="$lt_outputfile.exe"
5171	      lt_tool_outputfile="$lt_tool_outputfile.exe"
5172	      ;;
5173	  esac~
5174	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
5175	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5176	    $RM "$lt_outputfile.manifest";
5177	  fi'
5178	;;
5179      *)
5180	# Assume MSVC wrapper
5181	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5182	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5183	# Tell ltmain to make .lib files, not .a files.
5184	libext=lib
5185	# Tell ltmain to make .dll files, not .so files.
5186	shrext_cmds=".dll"
5187	# FIXME: Setting linknames here is a bad hack.
5188	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5189	# The linker will automatically build a .lib file if we build a DLL.
5190	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5191	# FIXME: Should let the user specify the lib program.
5192	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5193	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5194	;;
5195      esac
5196      ;;
5197
5198    darwin* | rhapsody*)
5199      _LT_DARWIN_LINKER_FEATURES($1)
5200      ;;
5201
5202    dgux*)
5203      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5204      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5205      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5206      ;;
5207
5208    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5209    # support.  Future versions do this automatically, but an explicit c++rt0.o
5210    # does not break anything, and helps significantly (at the cost of a little
5211    # extra space).
5212    freebsd2.2*)
5213      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5214      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5215      _LT_TAGVAR(hardcode_direct, $1)=yes
5216      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5217      ;;
5218
5219    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5220    freebsd2.*)
5221      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5222      _LT_TAGVAR(hardcode_direct, $1)=yes
5223      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5224      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5225      ;;
5226
5227    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5228    freebsd* | dragonfly*)
5229      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5230      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5231      _LT_TAGVAR(hardcode_direct, $1)=yes
5232      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5233      ;;
5234
5235    hpux9*)
5236      if test "$GCC" = yes; then
5237	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5238      else
5239	_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'
5240      fi
5241      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5242      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5243      _LT_TAGVAR(hardcode_direct, $1)=yes
5244
5245      # hardcode_minus_L: Not really in the search PATH,
5246      # but as the default location of the library.
5247      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5248      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5249      ;;
5250
5251    hpux10*)
5252      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
5253	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5254      else
5255	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5256      fi
5257      if test "$with_gnu_ld" = no; then
5258	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5259	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
5260	_LT_TAGVAR(hardcode_direct, $1)=yes
5261	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5262	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5263	# hardcode_minus_L: Not really in the search PATH,
5264	# but as the default location of the library.
5265	_LT_TAGVAR(hardcode_minus_L, $1)=yes
5266      fi
5267      ;;
5268
5269    hpux11*)
5270      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
5271	case $host_cpu in
5272	hppa*64*)
5273	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5274	  ;;
5275	ia64*)
5276	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5277	  ;;
5278	*)
5279	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5280	  ;;
5281	esac
5282      else
5283	case $host_cpu in
5284	hppa*64*)
5285	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5286	  ;;
5287	ia64*)
5288	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5289	  ;;
5290	*)
5291	m4_if($1, [], [
5292	  # Older versions of the 11.00 compiler do not understand -b yet
5293	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5294	  _LT_LINKER_OPTION([if $CC understands -b],
5295	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5296	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
5297	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5298	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
5299	  ;;
5300	esac
5301      fi
5302      if test "$with_gnu_ld" = no; then
5303	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5304	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
5305
5306	case $host_cpu in
5307	hppa*64*|ia64*)
5308	  _LT_TAGVAR(hardcode_direct, $1)=no
5309	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5310	  ;;
5311	*)
5312	  _LT_TAGVAR(hardcode_direct, $1)=yes
5313	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5314	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5315
5316	  # hardcode_minus_L: Not really in the search PATH,
5317	  # but as the default location of the library.
5318	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
5319	  ;;
5320	esac
5321      fi
5322      ;;
5323
5324    irix5* | irix6* | nonstopux*)
5325      if test "$GCC" = yes; then
5326	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5327	# Try to use the -exported_symbol ld option, if it does not
5328	# work, assume that -exports_file does not work either and
5329	# implicitly export all symbols.
5330	# This should be the same for all languages, so no per-tag cache variable.
5331	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5332	  [lt_cv_irix_exported_symbol],
5333	  [save_LDFLAGS="$LDFLAGS"
5334	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
5335	   AC_LINK_IFELSE(
5336	     [AC_LANG_SOURCE(
5337	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5338			      [C++], [[int foo (void) { return 0; }]],
5339			      [Fortran 77], [[
5340      subroutine foo
5341      end]],
5342			      [Fortran], [[
5343      subroutine foo
5344      end]])])],
5345	      [lt_cv_irix_exported_symbol=yes],
5346	      [lt_cv_irix_exported_symbol=no])
5347           LDFLAGS="$save_LDFLAGS"])
5348	if test "$lt_cv_irix_exported_symbol" = yes; then
5349          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
5350	fi
5351      else
5352	_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'
5353	_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'
5354      fi
5355      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5356      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5357      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5358      _LT_TAGVAR(inherit_rpath, $1)=yes
5359      _LT_TAGVAR(link_all_deplibs, $1)=yes
5360      ;;
5361
5362    netbsd*)
5363      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5364	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
5365      else
5366	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
5367      fi
5368      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5369      _LT_TAGVAR(hardcode_direct, $1)=yes
5370      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5371      ;;
5372
5373    newsos6)
5374      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5375      _LT_TAGVAR(hardcode_direct, $1)=yes
5376      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5377      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5378      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5379      ;;
5380
5381    *nto* | *qnx*)
5382      ;;
5383
5384    openbsd*)
5385      if test -f /usr/libexec/ld.so; then
5386	_LT_TAGVAR(hardcode_direct, $1)=yes
5387	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5388	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5389	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
5390	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5391	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
5392	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5393	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5394	else
5395	  case $host_os in
5396	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
5397	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5398	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5399	     ;;
5400	   *)
5401	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5402	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5403	     ;;
5404	  esac
5405	fi
5406      else
5407	_LT_TAGVAR(ld_shlibs, $1)=no
5408      fi
5409      ;;
5410
5411    os2*)
5412      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5413      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5414      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5415      _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'
5416      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
5417      ;;
5418
5419    osf3*)
5420      if test "$GCC" = yes; then
5421	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5422	_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'
5423      else
5424	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5425	_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'
5426      fi
5427      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5428      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5429      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5430      ;;
5431
5432    osf4* | osf5*)	# as osf3* with the addition of -msym flag
5433      if test "$GCC" = yes; then
5434	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5435	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5436	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5437      else
5438	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5439	_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'
5440	_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~
5441	$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'
5442
5443	# Both c and cxx compiler support -rpath directly
5444	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5445      fi
5446      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5447      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5448      ;;
5449
5450    solaris*)
5451      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
5452      if test "$GCC" = yes; then
5453	wlarc='${wl}'
5454	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5455	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5456	  $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5457      else
5458	case `$CC -V 2>&1` in
5459	*"Compilers 5.0"*)
5460	  wlarc=''
5461	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
5462	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5463	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5464	  ;;
5465	*)
5466	  wlarc='${wl}'
5467	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5468	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5469	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5470	  ;;
5471	esac
5472      fi
5473      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5474      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5475      case $host_os in
5476      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
5477      *)
5478	# The compiler driver will combine and reorder linker options,
5479	# but understands `-z linker_flag'.  GCC discards it without `$wl',
5480	# but is careful enough not to reorder.
5481	# Supported since Solaris 2.6 (maybe 2.5.1?)
5482	if test "$GCC" = yes; then
5483	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
5484	else
5485	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5486	fi
5487	;;
5488      esac
5489      _LT_TAGVAR(link_all_deplibs, $1)=yes
5490      ;;
5491
5492    sunos4*)
5493      if test "x$host_vendor" = xsequent; then
5494	# Use $CC to link under sequent, because it throws in some extra .o
5495	# files that make .init and .fini sections work.
5496	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5497      else
5498	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5499      fi
5500      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5501      _LT_TAGVAR(hardcode_direct, $1)=yes
5502      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5503      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5504      ;;
5505
5506    sysv4)
5507      case $host_vendor in
5508	sni)
5509	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5510	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5511	;;
5512	siemens)
5513	  ## LD is ld it makes a PLAMLIB
5514	  ## CC just makes a GrossModule.
5515	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5516	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5517	  _LT_TAGVAR(hardcode_direct, $1)=no
5518        ;;
5519	motorola)
5520	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5521	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5522	;;
5523      esac
5524      runpath_var='LD_RUN_PATH'
5525      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5526      ;;
5527
5528    sysv4.3*)
5529      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5530      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5531      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5532      ;;
5533
5534    sysv4*MP*)
5535      if test -d /usr/nec; then
5536	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5537	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5538	runpath_var=LD_RUN_PATH
5539	hardcode_runpath_var=yes
5540	_LT_TAGVAR(ld_shlibs, $1)=yes
5541      fi
5542      ;;
5543
5544    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5545      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5546      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5547      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5548      runpath_var='LD_RUN_PATH'
5549
5550      if test "$GCC" = yes; then
5551	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5552	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5553      else
5554	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5555	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5556      fi
5557      ;;
5558
5559    sysv5* | sco3.2v5* | sco5v6*)
5560      # Note: We can NOT use -z defs as we might desire, because we do not
5561      # link with -lc, and that would cause any symbols used from libc to
5562      # always be unresolved, which means just about no library would
5563      # ever link correctly.  If we're not using GNU ld we use -z text
5564      # though, which does catch some bad symbols but isn't as heavy-handed
5565      # as -z defs.
5566      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5567      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5568      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5569      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5570      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5571      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5572      _LT_TAGVAR(link_all_deplibs, $1)=yes
5573      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
5574      runpath_var='LD_RUN_PATH'
5575
5576      if test "$GCC" = yes; then
5577	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5578	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5579      else
5580	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5581	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5582      fi
5583      ;;
5584
5585    uts4*)
5586      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5587      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5588      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5589      ;;
5590
5591    *)
5592      _LT_TAGVAR(ld_shlibs, $1)=no
5593      ;;
5594    esac
5595
5596    if test x$host_vendor = xsni; then
5597      case $host in
5598      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5599	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5600	;;
5601      esac
5602    fi
5603  fi
5604])
5605AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5606test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5607
5608_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5609
5610_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5611_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5612_LT_DECL([], [extract_expsyms_cmds], [2],
5613    [The commands to extract the exported symbol list from a shared archive])
5614
5615#
5616# Do we need to explicitly link libc?
5617#
5618case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
5619x|xyes)
5620  # Assume -lc should be added
5621  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5622
5623  if test "$enable_shared" = yes && test "$GCC" = yes; then
5624    case $_LT_TAGVAR(archive_cmds, $1) in
5625    *'~'*)
5626      # FIXME: we may have to deal with multi-command sequences.
5627      ;;
5628    '$CC '*)
5629      # Test whether the compiler implicitly links with -lc since on some
5630      # systems, -lgcc has to come before -lc. If gcc already passes -lc
5631      # to ld, don't add -lc before -lgcc.
5632      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
5633	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
5634	[$RM conftest*
5635	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5636
5637	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5638	  soname=conftest
5639	  lib=conftest
5640	  libobjs=conftest.$ac_objext
5641	  deplibs=
5642	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5643	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5644	  compiler_flags=-v
5645	  linker_flags=-v
5646	  verstring=
5647	  output_objdir=.
5648	  libname=conftest
5649	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5650	  _LT_TAGVAR(allow_undefined_flag, $1)=
5651	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5652	  then
5653	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5654	  else
5655	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5656	  fi
5657	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5658	else
5659	  cat conftest.err 1>&5
5660	fi
5661	$RM conftest*
5662	])
5663      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
5664      ;;
5665    esac
5666  fi
5667  ;;
5668esac
5669
5670_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5671    [Whether or not to add -lc for building shared libraries])
5672_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5673    [enable_shared_with_static_runtimes], [0],
5674    [Whether or not to disallow shared libs when runtime libs are static])
5675_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5676    [Compiler flag to allow reflexive dlopens])
5677_LT_TAGDECL([], [whole_archive_flag_spec], [1],
5678    [Compiler flag to generate shared objects directly from archives])
5679_LT_TAGDECL([], [compiler_needs_object], [1],
5680    [Whether the compiler copes with passing no objects directly])
5681_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5682    [Create an old-style archive from a shared archive])
5683_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5684    [Create a temporary old-style archive to link instead of a shared archive])
5685_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5686_LT_TAGDECL([], [archive_expsym_cmds], [2])
5687_LT_TAGDECL([], [module_cmds], [2],
5688    [Commands used to build a loadable module if different from building
5689    a shared archive.])
5690_LT_TAGDECL([], [module_expsym_cmds], [2])
5691_LT_TAGDECL([], [with_gnu_ld], [1],
5692    [Whether we are building with GNU ld or not])
5693_LT_TAGDECL([], [allow_undefined_flag], [1],
5694    [Flag that allows shared libraries with undefined symbols to be built])
5695_LT_TAGDECL([], [no_undefined_flag], [1],
5696    [Flag that enforces no undefined symbols])
5697_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5698    [Flag to hardcode $libdir into a binary during linking.
5699    This must work even if $libdir does not exist])
5700_LT_TAGDECL([], [hardcode_libdir_separator], [1],
5701    [Whether we need a single "-rpath" flag with a separated argument])
5702_LT_TAGDECL([], [hardcode_direct], [0],
5703    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5704    DIR into the resulting binary])
5705_LT_TAGDECL([], [hardcode_direct_absolute], [0],
5706    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5707    DIR into the resulting binary and the resulting library dependency is
5708    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5709    library is relocated])
5710_LT_TAGDECL([], [hardcode_minus_L], [0],
5711    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5712    into the resulting binary])
5713_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5714    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5715    into the resulting binary])
5716_LT_TAGDECL([], [hardcode_automatic], [0],
5717    [Set to "yes" if building a shared library automatically hardcodes DIR
5718    into the library and all subsequent libraries and executables linked
5719    against it])
5720_LT_TAGDECL([], [inherit_rpath], [0],
5721    [Set to yes if linker adds runtime paths of dependent libraries
5722    to runtime path list])
5723_LT_TAGDECL([], [link_all_deplibs], [0],
5724    [Whether libtool must link a program against all its dependency libraries])
5725_LT_TAGDECL([], [always_export_symbols], [0],
5726    [Set to "yes" if exported symbols are required])
5727_LT_TAGDECL([], [export_symbols_cmds], [2],
5728    [The commands to list exported symbols])
5729_LT_TAGDECL([], [exclude_expsyms], [1],
5730    [Symbols that should not be listed in the preloaded symbols])
5731_LT_TAGDECL([], [include_expsyms], [1],
5732    [Symbols that must always be exported])
5733_LT_TAGDECL([], [prelink_cmds], [2],
5734    [Commands necessary for linking programs (against libraries) with templates])
5735_LT_TAGDECL([], [postlink_cmds], [2],
5736    [Commands necessary for finishing linking programs])
5737_LT_TAGDECL([], [file_list_spec], [1],
5738    [Specify filename containing input files])
5739dnl FIXME: Not yet implemented
5740dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5741dnl    [Compiler flag to generate thread safe objects])
5742])# _LT_LINKER_SHLIBS
5743
5744
5745# _LT_LANG_C_CONFIG([TAG])
5746# ------------------------
5747# Ensure that the configuration variables for a C compiler are suitably
5748# defined.  These variables are subsequently used by _LT_CONFIG to write
5749# the compiler configuration to `libtool'.
5750m4_defun([_LT_LANG_C_CONFIG],
5751[m4_require([_LT_DECL_EGREP])dnl
5752lt_save_CC="$CC"
5753AC_LANG_PUSH(C)
5754
5755# Source file extension for C test sources.
5756ac_ext=c
5757
5758# Object file extension for compiled C test sources.
5759objext=o
5760_LT_TAGVAR(objext, $1)=$objext
5761
5762# Code to be used in simple compile tests
5763lt_simple_compile_test_code="int some_variable = 0;"
5764
5765# Code to be used in simple link tests
5766lt_simple_link_test_code='int main(){return(0);}'
5767
5768_LT_TAG_COMPILER
5769# Save the default compiler, since it gets overwritten when the other
5770# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5771compiler_DEFAULT=$CC
5772
5773# save warnings/boilerplate of simple test code
5774_LT_COMPILER_BOILERPLATE
5775_LT_LINKER_BOILERPLATE
5776
5777if test -n "$compiler"; then
5778  _LT_COMPILER_NO_RTTI($1)
5779  _LT_COMPILER_PIC($1)
5780  _LT_COMPILER_C_O($1)
5781  _LT_COMPILER_FILE_LOCKS($1)
5782  _LT_LINKER_SHLIBS($1)
5783  _LT_SYS_DYNAMIC_LINKER($1)
5784  _LT_LINKER_HARDCODE_LIBPATH($1)
5785  LT_SYS_DLOPEN_SELF
5786  _LT_CMD_STRIPLIB
5787
5788  # Report which library types will actually be built
5789  AC_MSG_CHECKING([if libtool supports shared libraries])
5790  AC_MSG_RESULT([$can_build_shared])
5791
5792  AC_MSG_CHECKING([whether to build shared libraries])
5793  test "$can_build_shared" = "no" && enable_shared=no
5794
5795  # On AIX, shared libraries and static libraries use the same namespace, and
5796  # are all built from PIC.
5797  case $host_os in
5798  aix3*)
5799    test "$enable_shared" = yes && enable_static=no
5800    if test -n "$RANLIB"; then
5801      archive_cmds="$archive_cmds~\$RANLIB \$lib"
5802      postinstall_cmds='$RANLIB $lib'
5803    fi
5804    ;;
5805
5806  aix[[4-9]]*)
5807    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5808      test "$enable_shared" = yes && enable_static=no
5809    fi
5810    ;;
5811  esac
5812  AC_MSG_RESULT([$enable_shared])
5813
5814  AC_MSG_CHECKING([whether to build static libraries])
5815  # Make sure either enable_shared or enable_static is yes.
5816  test "$enable_shared" = yes || enable_static=yes
5817  AC_MSG_RESULT([$enable_static])
5818
5819  _LT_CONFIG($1)
5820fi
5821AC_LANG_POP
5822CC="$lt_save_CC"
5823])# _LT_LANG_C_CONFIG
5824
5825
5826# _LT_LANG_CXX_CONFIG([TAG])
5827# --------------------------
5828# Ensure that the configuration variables for a C++ compiler are suitably
5829# defined.  These variables are subsequently used by _LT_CONFIG to write
5830# the compiler configuration to `libtool'.
5831m4_defun([_LT_LANG_CXX_CONFIG],
5832[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5833m4_require([_LT_DECL_EGREP])dnl
5834m4_require([_LT_PATH_MANIFEST_TOOL])dnl
5835if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5836    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5837    (test "X$CXX" != "Xg++"))) ; then
5838  AC_PROG_CXXCPP
5839else
5840  _lt_caught_CXX_error=yes
5841fi
5842
5843AC_LANG_PUSH(C++)
5844_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5845_LT_TAGVAR(allow_undefined_flag, $1)=
5846_LT_TAGVAR(always_export_symbols, $1)=no
5847_LT_TAGVAR(archive_expsym_cmds, $1)=
5848_LT_TAGVAR(compiler_needs_object, $1)=no
5849_LT_TAGVAR(export_dynamic_flag_spec, $1)=
5850_LT_TAGVAR(hardcode_direct, $1)=no
5851_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5852_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5853_LT_TAGVAR(hardcode_libdir_separator, $1)=
5854_LT_TAGVAR(hardcode_minus_L, $1)=no
5855_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5856_LT_TAGVAR(hardcode_automatic, $1)=no
5857_LT_TAGVAR(inherit_rpath, $1)=no
5858_LT_TAGVAR(module_cmds, $1)=
5859_LT_TAGVAR(module_expsym_cmds, $1)=
5860_LT_TAGVAR(link_all_deplibs, $1)=unknown
5861_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5862_LT_TAGVAR(reload_flag, $1)=$reload_flag
5863_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
5864_LT_TAGVAR(no_undefined_flag, $1)=
5865_LT_TAGVAR(whole_archive_flag_spec, $1)=
5866_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5867
5868# Source file extension for C++ test sources.
5869ac_ext=cpp
5870
5871# Object file extension for compiled C++ test sources.
5872objext=o
5873_LT_TAGVAR(objext, $1)=$objext
5874
5875# No sense in running all these tests if we already determined that
5876# the CXX compiler isn't working.  Some variables (like enable_shared)
5877# are currently assumed to apply to all compilers on this platform,
5878# and will be corrupted by setting them based on a non-working compiler.
5879if test "$_lt_caught_CXX_error" != yes; then
5880  # Code to be used in simple compile tests
5881  lt_simple_compile_test_code="int some_variable = 0;"
5882
5883  # Code to be used in simple link tests
5884  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5885
5886  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5887  _LT_TAG_COMPILER
5888
5889  # save warnings/boilerplate of simple test code
5890  _LT_COMPILER_BOILERPLATE
5891  _LT_LINKER_BOILERPLATE
5892
5893  # Allow CC to be a program name with arguments.
5894  lt_save_CC=$CC
5895  lt_save_CFLAGS=$CFLAGS
5896  lt_save_LD=$LD
5897  lt_save_GCC=$GCC
5898  GCC=$GXX
5899  lt_save_with_gnu_ld=$with_gnu_ld
5900  lt_save_path_LD=$lt_cv_path_LD
5901  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5902    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5903  else
5904    $as_unset lt_cv_prog_gnu_ld
5905  fi
5906  if test -n "${lt_cv_path_LDCXX+set}"; then
5907    lt_cv_path_LD=$lt_cv_path_LDCXX
5908  else
5909    $as_unset lt_cv_path_LD
5910  fi
5911  test -z "${LDCXX+set}" || LD=$LDCXX
5912  CC=${CXX-"c++"}
5913  CFLAGS=$CXXFLAGS
5914  compiler=$CC
5915  _LT_TAGVAR(compiler, $1)=$CC
5916  _LT_CC_BASENAME([$compiler])
5917
5918  if test -n "$compiler"; then
5919    # We don't want -fno-exception when compiling C++ code, so set the
5920    # no_builtin_flag separately
5921    if test "$GXX" = yes; then
5922      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5923    else
5924      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5925    fi
5926
5927    if test "$GXX" = yes; then
5928      # Set up default GNU C++ configuration
5929
5930      LT_PATH_LD
5931
5932      # Check if GNU C++ uses GNU ld as the underlying linker, since the
5933      # archiving commands below assume that GNU ld is being used.
5934      if test "$with_gnu_ld" = yes; then
5935        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5936        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5937
5938        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5939        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5940
5941        # If archive_cmds runs LD, not CC, wlarc should be empty
5942        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5943        #     investigate it a little bit more. (MM)
5944        wlarc='${wl}'
5945
5946        # ancient GNU ld didn't support --whole-archive et. al.
5947        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5948	  $GREP 'no-whole-archive' > /dev/null; then
5949          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5950        else
5951          _LT_TAGVAR(whole_archive_flag_spec, $1)=
5952        fi
5953      else
5954        with_gnu_ld=no
5955        wlarc=
5956
5957        # A generic and very simple default shared library creation
5958        # command for GNU C++ for the case where it uses the native
5959        # linker, instead of GNU ld.  If possible, this setting should
5960        # overridden to take advantage of the native linker features on
5961        # the platform it is being used on.
5962        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5963      fi
5964
5965      # Commands to make compiler produce verbose output that lists
5966      # what "hidden" libraries, object files and flags are used when
5967      # linking a shared library.
5968      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
5969
5970    else
5971      GXX=no
5972      with_gnu_ld=no
5973      wlarc=
5974    fi
5975
5976    # PORTME: fill in a description of your system's C++ link characteristics
5977    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5978    _LT_TAGVAR(ld_shlibs, $1)=yes
5979    case $host_os in
5980      aix3*)
5981        # FIXME: insert proper C++ library support
5982        _LT_TAGVAR(ld_shlibs, $1)=no
5983        ;;
5984      aix[[4-9]]*)
5985        if test "$host_cpu" = ia64; then
5986          # On IA64, the linker does run time linking by default, so we don't
5987          # have to do anything special.
5988          aix_use_runtimelinking=no
5989          exp_sym_flag='-Bexport'
5990          no_entry_flag=""
5991        else
5992          aix_use_runtimelinking=no
5993
5994          # Test if we are trying to use run time linking or normal
5995          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5996          # need to do runtime linking.
5997          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5998	    for ld_flag in $LDFLAGS; do
5999	      case $ld_flag in
6000	      *-brtl*)
6001	        aix_use_runtimelinking=yes
6002	        break
6003	        ;;
6004	      esac
6005	    done
6006	    ;;
6007          esac
6008
6009          exp_sym_flag='-bexport'
6010          no_entry_flag='-bnoentry'
6011        fi
6012
6013        # When large executables or shared objects are built, AIX ld can
6014        # have problems creating the table of contents.  If linking a library
6015        # or program results in "error TOC overflow" add -mminimal-toc to
6016        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
6017        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6018
6019        _LT_TAGVAR(archive_cmds, $1)=''
6020        _LT_TAGVAR(hardcode_direct, $1)=yes
6021        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6022        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6023        _LT_TAGVAR(link_all_deplibs, $1)=yes
6024        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
6025
6026        if test "$GXX" = yes; then
6027          case $host_os in aix4.[[012]]|aix4.[[012]].*)
6028          # We only want to do this on AIX 4.2 and lower, the check
6029          # below for broken collect2 doesn't work under 4.3+
6030	  collect2name=`${CC} -print-prog-name=collect2`
6031	  if test -f "$collect2name" &&
6032	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6033	  then
6034	    # We have reworked collect2
6035	    :
6036	  else
6037	    # We have old collect2
6038	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
6039	    # It fails to find uninstalled libraries when the uninstalled
6040	    # path is not listed in the libpath.  Setting hardcode_minus_L
6041	    # to unsupported forces relinking
6042	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
6043	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6044	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
6045	  fi
6046          esac
6047          shared_flag='-shared'
6048	  if test "$aix_use_runtimelinking" = yes; then
6049	    shared_flag="$shared_flag "'${wl}-G'
6050	  fi
6051        else
6052          # not using gcc
6053          if test "$host_cpu" = ia64; then
6054	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6055	  # chokes on -Wl,-G. The following line is correct:
6056	  shared_flag='-G'
6057          else
6058	    if test "$aix_use_runtimelinking" = yes; then
6059	      shared_flag='${wl}-G'
6060	    else
6061	      shared_flag='${wl}-bM:SRE'
6062	    fi
6063          fi
6064        fi
6065
6066        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
6067        # It seems that -bexpall does not export symbols beginning with
6068        # underscore (_), so it is better to generate a list of symbols to
6069	# export.
6070        _LT_TAGVAR(always_export_symbols, $1)=yes
6071        if test "$aix_use_runtimelinking" = yes; then
6072          # Warning - without using the other runtime loading flags (-brtl),
6073          # -berok will link without error, but may produce a broken library.
6074          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
6075          # Determine the default libpath from the value encoded in an empty
6076          # executable.
6077          _LT_SYS_MODULE_PATH_AIX([$1])
6078          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6079
6080          _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"
6081        else
6082          if test "$host_cpu" = ia64; then
6083	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
6084	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6085	    _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"
6086          else
6087	    # Determine the default libpath from the value encoded in an
6088	    # empty executable.
6089	    _LT_SYS_MODULE_PATH_AIX([$1])
6090	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6091	    # Warning - without using the other run time loading flags,
6092	    # -berok will link without error, but may produce a broken library.
6093	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
6094	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
6095	    if test "$with_gnu_ld" = yes; then
6096	      # We only use this code for GNU lds that support --whole-archive.
6097	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6098	    else
6099	      # Exported symbols can be pulled into shared objects from archives
6100	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6101	    fi
6102	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6103	    # This is similar to how AIX traditionally builds its shared
6104	    # libraries.
6105	    _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'
6106          fi
6107        fi
6108        ;;
6109
6110      beos*)
6111	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6112	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6113	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
6114	  # support --undefined.  This deserves some investigation.  FIXME
6115	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6116	else
6117	  _LT_TAGVAR(ld_shlibs, $1)=no
6118	fi
6119	;;
6120
6121      chorus*)
6122        case $cc_basename in
6123          *)
6124	  # FIXME: insert proper C++ library support
6125	  _LT_TAGVAR(ld_shlibs, $1)=no
6126	  ;;
6127        esac
6128        ;;
6129
6130      cygwin* | mingw* | pw32* | cegcc*)
6131	case $GXX,$cc_basename in
6132	,cl* | no,cl*)
6133	  # Native MSVC
6134	  # hardcode_libdir_flag_spec is actually meaningless, as there is
6135	  # no search path for DLLs.
6136	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6137	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6138	  _LT_TAGVAR(always_export_symbols, $1)=yes
6139	  _LT_TAGVAR(file_list_spec, $1)='@'
6140	  # Tell ltmain to make .lib files, not .a files.
6141	  libext=lib
6142	  # Tell ltmain to make .dll files, not .so files.
6143	  shrext_cmds=".dll"
6144	  # FIXME: Setting linknames here is a bad hack.
6145	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
6146	  _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6147	      $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
6148	    else
6149	      $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
6150	    fi~
6151	    $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
6152	    linknames='
6153	  # The linker will not automatically build a static lib if we build a DLL.
6154	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6155	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6156	  # Don't use ranlib
6157	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6158	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6159	    lt_tool_outputfile="@TOOL_OUTPUT@"~
6160	    case $lt_outputfile in
6161	      *.exe|*.EXE) ;;
6162	      *)
6163		lt_outputfile="$lt_outputfile.exe"
6164		lt_tool_outputfile="$lt_tool_outputfile.exe"
6165		;;
6166	    esac~
6167	    func_to_tool_file "$lt_outputfile"~
6168	    if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
6169	      $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6170	      $RM "$lt_outputfile.manifest";
6171	    fi'
6172	  ;;
6173	*)
6174	  # g++
6175	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6176	  # as there is no search path for DLLs.
6177	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6178	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
6179	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6180	  _LT_TAGVAR(always_export_symbols, $1)=no
6181	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6182
6183	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6184	    _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'
6185	    # If the export-symbols file already is a .def file (1st line
6186	    # is EXPORTS), use it as is; otherwise, prepend...
6187	    _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6188	      cp $export_symbols $output_objdir/$soname.def;
6189	    else
6190	      echo EXPORTS > $output_objdir/$soname.def;
6191	      cat $export_symbols >> $output_objdir/$soname.def;
6192	    fi~
6193	    $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'
6194	  else
6195	    _LT_TAGVAR(ld_shlibs, $1)=no
6196	  fi
6197	  ;;
6198	esac
6199	;;
6200      darwin* | rhapsody*)
6201        _LT_DARWIN_LINKER_FEATURES($1)
6202	;;
6203
6204      dgux*)
6205        case $cc_basename in
6206          ec++*)
6207	    # FIXME: insert proper C++ library support
6208	    _LT_TAGVAR(ld_shlibs, $1)=no
6209	    ;;
6210          ghcx*)
6211	    # Green Hills C++ Compiler
6212	    # FIXME: insert proper C++ library support
6213	    _LT_TAGVAR(ld_shlibs, $1)=no
6214	    ;;
6215          *)
6216	    # FIXME: insert proper C++ library support
6217	    _LT_TAGVAR(ld_shlibs, $1)=no
6218	    ;;
6219        esac
6220        ;;
6221
6222      freebsd2.*)
6223        # C++ shared libraries reported to be fairly broken before
6224	# switch to ELF
6225        _LT_TAGVAR(ld_shlibs, $1)=no
6226        ;;
6227
6228      freebsd-elf*)
6229        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6230        ;;
6231
6232      freebsd* | dragonfly*)
6233        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6234        # conventions
6235        _LT_TAGVAR(ld_shlibs, $1)=yes
6236        ;;
6237
6238      gnu*)
6239        ;;
6240
6241      haiku*)
6242        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6243        _LT_TAGVAR(link_all_deplibs, $1)=yes
6244        ;;
6245
6246      hpux9*)
6247        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6248        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6249        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6250        _LT_TAGVAR(hardcode_direct, $1)=yes
6251        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6252				             # but as the default
6253				             # location of the library.
6254
6255        case $cc_basename in
6256          CC*)
6257            # FIXME: insert proper C++ library support
6258            _LT_TAGVAR(ld_shlibs, $1)=no
6259            ;;
6260          aCC*)
6261            _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'
6262            # Commands to make compiler produce verbose output that lists
6263            # what "hidden" libraries, object files and flags are used when
6264            # linking a shared library.
6265            #
6266            # There doesn't appear to be a way to prevent this compiler from
6267            # explicitly linking system object files so we need to strip them
6268            # from the output so that they don't get included in the library
6269            # dependencies.
6270            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"'
6271            ;;
6272          *)
6273            if test "$GXX" = yes; then
6274              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6275            else
6276              # FIXME: insert proper C++ library support
6277              _LT_TAGVAR(ld_shlibs, $1)=no
6278            fi
6279            ;;
6280        esac
6281        ;;
6282
6283      hpux10*|hpux11*)
6284        if test $with_gnu_ld = no; then
6285	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6286	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6287
6288          case $host_cpu in
6289            hppa*64*|ia64*)
6290              ;;
6291            *)
6292	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6293              ;;
6294          esac
6295        fi
6296        case $host_cpu in
6297          hppa*64*|ia64*)
6298            _LT_TAGVAR(hardcode_direct, $1)=no
6299            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6300            ;;
6301          *)
6302            _LT_TAGVAR(hardcode_direct, $1)=yes
6303            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6304            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6305					         # but as the default
6306					         # location of the library.
6307            ;;
6308        esac
6309
6310        case $cc_basename in
6311          CC*)
6312	    # FIXME: insert proper C++ library support
6313	    _LT_TAGVAR(ld_shlibs, $1)=no
6314	    ;;
6315          aCC*)
6316	    case $host_cpu in
6317	      hppa*64*)
6318	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6319	        ;;
6320	      ia64*)
6321	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6322	        ;;
6323	      *)
6324	        _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'
6325	        ;;
6326	    esac
6327	    # Commands to make compiler produce verbose output that lists
6328	    # what "hidden" libraries, object files and flags are used when
6329	    # linking a shared library.
6330	    #
6331	    # There doesn't appear to be a way to prevent this compiler from
6332	    # explicitly linking system object files so we need to strip them
6333	    # from the output so that they don't get included in the library
6334	    # dependencies.
6335	    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"'
6336	    ;;
6337          *)
6338	    if test "$GXX" = yes; then
6339	      if test $with_gnu_ld = no; then
6340	        case $host_cpu in
6341	          hppa*64*)
6342	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6343	            ;;
6344	          ia64*)
6345	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6346	            ;;
6347	          *)
6348	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6349	            ;;
6350	        esac
6351	      fi
6352	    else
6353	      # FIXME: insert proper C++ library support
6354	      _LT_TAGVAR(ld_shlibs, $1)=no
6355	    fi
6356	    ;;
6357        esac
6358        ;;
6359
6360      interix[[3-9]]*)
6361	_LT_TAGVAR(hardcode_direct, $1)=no
6362	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6363	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6364	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6365	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6366	# Instead, shared libraries are loaded at an image base (0x10000000 by
6367	# default) and relocated if they conflict, which is a slow very memory
6368	# consuming and fragmenting process.  To avoid this, we pick a random,
6369	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6370	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
6371	_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'
6372	_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'
6373	;;
6374      irix5* | irix6*)
6375        case $cc_basename in
6376          CC*)
6377	    # SGI C++
6378	    _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'
6379
6380	    # Archives containing C++ object files must be created using
6381	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
6382	    # necessary to make sure instantiated templates are included
6383	    # in the archive.
6384	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6385	    ;;
6386          *)
6387	    if test "$GXX" = yes; then
6388	      if test "$with_gnu_ld" = no; then
6389	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6390	      else
6391	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
6392	      fi
6393	    fi
6394	    _LT_TAGVAR(link_all_deplibs, $1)=yes
6395	    ;;
6396        esac
6397        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6398        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6399        _LT_TAGVAR(inherit_rpath, $1)=yes
6400        ;;
6401
6402      linux* | k*bsd*-gnu | kopensolaris*-gnu)
6403        case $cc_basename in
6404          KCC*)
6405	    # Kuck and Associates, Inc. (KAI) C++ Compiler
6406
6407	    # KCC will only create a shared library if the output file
6408	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
6409	    # to its proper name (with version) after linking.
6410	    _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'
6411	    _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'
6412	    # Commands to make compiler produce verbose output that lists
6413	    # what "hidden" libraries, object files and flags are used when
6414	    # linking a shared library.
6415	    #
6416	    # There doesn't appear to be a way to prevent this compiler from
6417	    # explicitly linking system object files so we need to strip them
6418	    # from the output so that they don't get included in the library
6419	    # dependencies.
6420	    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"'
6421
6422	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6423	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6424
6425	    # Archives containing C++ object files must be created using
6426	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6427	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6428	    ;;
6429	  icpc* | ecpc* )
6430	    # Intel C++
6431	    with_gnu_ld=yes
6432	    # version 8.0 and above of icpc choke on multiply defined symbols
6433	    # if we add $predep_objects and $postdep_objects, however 7.1 and
6434	    # earlier do not add the objects themselves.
6435	    case `$CC -V 2>&1` in
6436	      *"Version 7."*)
6437	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6438		_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'
6439		;;
6440	      *)  # Version 8.0 or newer
6441	        tmp_idyn=
6442	        case $host_cpu in
6443		  ia64*) tmp_idyn=' -i_dynamic';;
6444		esac
6445	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6446		_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'
6447		;;
6448	    esac
6449	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6450	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6451	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6452	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6453	    ;;
6454          pgCC* | pgcpp*)
6455            # Portland Group C++ compiler
6456	    case `$CC -V` in
6457	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
6458	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
6459		rm -rf $tpldir~
6460		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
6461		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
6462	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
6463		rm -rf $tpldir~
6464		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
6465		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
6466		$RANLIB $oldlib'
6467	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
6468		rm -rf $tpldir~
6469		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6470		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6471	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
6472		rm -rf $tpldir~
6473		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6474		$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'
6475	      ;;
6476	    *) # Version 6 and above use weak symbols
6477	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6478	      _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'
6479	      ;;
6480	    esac
6481
6482	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
6483	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6484	    _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'
6485            ;;
6486	  cxx*)
6487	    # Compaq C++
6488	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6489	    _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'
6490
6491	    runpath_var=LD_RUN_PATH
6492	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6493	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6494
6495	    # Commands to make compiler produce verbose output that lists
6496	    # what "hidden" libraries, object files and flags are used when
6497	    # linking a shared library.
6498	    #
6499	    # There doesn't appear to be a way to prevent this compiler from
6500	    # explicitly linking system object files so we need to strip them
6501	    # from the output so that they don't get included in the library
6502	    # dependencies.
6503	    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'
6504	    ;;
6505	  xl* | mpixl* | bgxl*)
6506	    # IBM XL 8.0 on PPC, with GNU ld
6507	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6508	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6509	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6510	    if test "x$supports_anon_versioning" = xyes; then
6511	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
6512		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
6513		echo "local: *; };" >> $output_objdir/$libname.ver~
6514		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
6515	    fi
6516	    ;;
6517	  *)
6518	    case `$CC -V 2>&1 | sed 5q` in
6519	    *Sun\ C*)
6520	      # Sun C++ 5.9
6521	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6522	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6523	      _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'
6524	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6525	      _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'
6526	      _LT_TAGVAR(compiler_needs_object, $1)=yes
6527
6528	      # Not sure whether something based on
6529	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
6530	      # would be better.
6531	      output_verbose_link_cmd='func_echo_all'
6532
6533	      # Archives containing C++ object files must be created using
6534	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
6535	      # necessary to make sure instantiated templates are included
6536	      # in the archive.
6537	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6538	      ;;
6539	    esac
6540	    ;;
6541	esac
6542	;;
6543
6544      lynxos*)
6545        # FIXME: insert proper C++ library support
6546	_LT_TAGVAR(ld_shlibs, $1)=no
6547	;;
6548
6549      m88k*)
6550        # FIXME: insert proper C++ library support
6551        _LT_TAGVAR(ld_shlibs, $1)=no
6552	;;
6553
6554      mvs*)
6555        case $cc_basename in
6556          cxx*)
6557	    # FIXME: insert proper C++ library support
6558	    _LT_TAGVAR(ld_shlibs, $1)=no
6559	    ;;
6560	  *)
6561	    # FIXME: insert proper C++ library support
6562	    _LT_TAGVAR(ld_shlibs, $1)=no
6563	    ;;
6564	esac
6565	;;
6566
6567      netbsd*)
6568        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6569	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6570	  wlarc=
6571	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6572	  _LT_TAGVAR(hardcode_direct, $1)=yes
6573	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6574	fi
6575	# Workaround some broken pre-1.5 toolchains
6576	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6577	;;
6578
6579      *nto* | *qnx*)
6580        _LT_TAGVAR(ld_shlibs, $1)=yes
6581	;;
6582
6583      openbsd2*)
6584        # C++ shared libraries are fairly broken
6585	_LT_TAGVAR(ld_shlibs, $1)=no
6586	;;
6587
6588      openbsd*)
6589	if test -f /usr/libexec/ld.so; then
6590	  _LT_TAGVAR(hardcode_direct, $1)=yes
6591	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6592	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6593	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6594	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6595	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6596	    _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'
6597	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6598	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6599	  fi
6600	  output_verbose_link_cmd=func_echo_all
6601	else
6602	  _LT_TAGVAR(ld_shlibs, $1)=no
6603	fi
6604	;;
6605
6606      osf3* | osf4* | osf5*)
6607        case $cc_basename in
6608          KCC*)
6609	    # Kuck and Associates, Inc. (KAI) C++ Compiler
6610
6611	    # KCC will only create a shared library if the output file
6612	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
6613	    # to its proper name (with version) after linking.
6614	    _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'
6615
6616	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6617	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6618
6619	    # Archives containing C++ object files must be created using
6620	    # the KAI C++ compiler.
6621	    case $host in
6622	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6623	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6624	    esac
6625	    ;;
6626          RCC*)
6627	    # Rational C++ 2.4.1
6628	    # FIXME: insert proper C++ library support
6629	    _LT_TAGVAR(ld_shlibs, $1)=no
6630	    ;;
6631          cxx*)
6632	    case $host in
6633	      osf3*)
6634	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6635	        _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'
6636	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6637		;;
6638	      *)
6639	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6640	        _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'
6641	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6642	          echo "-hidden">> $lib.exp~
6643	          $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~
6644	          $RM $lib.exp'
6645	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6646		;;
6647	    esac
6648
6649	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6650
6651	    # Commands to make compiler produce verbose output that lists
6652	    # what "hidden" libraries, object files and flags are used when
6653	    # linking a shared library.
6654	    #
6655	    # There doesn't appear to be a way to prevent this compiler from
6656	    # explicitly linking system object files so we need to strip them
6657	    # from the output so that they don't get included in the library
6658	    # dependencies.
6659	    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"'
6660	    ;;
6661	  *)
6662	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6663	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6664	      case $host in
6665	        osf3*)
6666	          _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'
6667		  ;;
6668	        *)
6669	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6670		  ;;
6671	      esac
6672
6673	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6674	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6675
6676	      # Commands to make compiler produce verbose output that lists
6677	      # what "hidden" libraries, object files and flags are used when
6678	      # linking a shared library.
6679	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6680
6681	    else
6682	      # FIXME: insert proper C++ library support
6683	      _LT_TAGVAR(ld_shlibs, $1)=no
6684	    fi
6685	    ;;
6686        esac
6687        ;;
6688
6689      psos*)
6690        # FIXME: insert proper C++ library support
6691        _LT_TAGVAR(ld_shlibs, $1)=no
6692        ;;
6693
6694      sunos4*)
6695        case $cc_basename in
6696          CC*)
6697	    # Sun C++ 4.x
6698	    # FIXME: insert proper C++ library support
6699	    _LT_TAGVAR(ld_shlibs, $1)=no
6700	    ;;
6701          lcc*)
6702	    # Lucid
6703	    # FIXME: insert proper C++ library support
6704	    _LT_TAGVAR(ld_shlibs, $1)=no
6705	    ;;
6706          *)
6707	    # FIXME: insert proper C++ library support
6708	    _LT_TAGVAR(ld_shlibs, $1)=no
6709	    ;;
6710        esac
6711        ;;
6712
6713      solaris*)
6714        case $cc_basename in
6715          CC* | sunCC*)
6716	    # Sun C++ 4.2, 5.x and Centerline C++
6717            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6718	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6719	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6720	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6721	      $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'
6722
6723	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6724	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6725	    case $host_os in
6726	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6727	      *)
6728		# The compiler driver will combine and reorder linker options,
6729		# but understands `-z linker_flag'.
6730	        # Supported since Solaris 2.6 (maybe 2.5.1?)
6731		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6732	        ;;
6733	    esac
6734	    _LT_TAGVAR(link_all_deplibs, $1)=yes
6735
6736	    output_verbose_link_cmd='func_echo_all'
6737
6738	    # Archives containing C++ object files must be created using
6739	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
6740	    # necessary to make sure instantiated templates are included
6741	    # in the archive.
6742	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6743	    ;;
6744          gcx*)
6745	    # Green Hills C++ Compiler
6746	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6747
6748	    # The C++ compiler must be used to create the archive.
6749	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6750	    ;;
6751          *)
6752	    # GNU C++ compiler with Solaris linker
6753	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6754	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6755	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6756	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6757	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6758		  $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6759
6760	        # Commands to make compiler produce verbose output that lists
6761	        # what "hidden" libraries, object files and flags are used when
6762	        # linking a shared library.
6763	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6764	      else
6765	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
6766	        # platform.
6767	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6768	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6769		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6770
6771	        # Commands to make compiler produce verbose output that lists
6772	        # what "hidden" libraries, object files and flags are used when
6773	        # linking a shared library.
6774	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6775	      fi
6776
6777	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6778	      case $host_os in
6779		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6780		*)
6781		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6782		  ;;
6783	      esac
6784	    fi
6785	    ;;
6786        esac
6787        ;;
6788
6789    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6790      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6791      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6792      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6793      runpath_var='LD_RUN_PATH'
6794
6795      case $cc_basename in
6796        CC*)
6797	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6798	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6799	  ;;
6800	*)
6801	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6802	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6803	  ;;
6804      esac
6805      ;;
6806
6807      sysv5* | sco3.2v5* | sco5v6*)
6808	# Note: We can NOT use -z defs as we might desire, because we do not
6809	# link with -lc, and that would cause any symbols used from libc to
6810	# always be unresolved, which means just about no library would
6811	# ever link correctly.  If we're not using GNU ld we use -z text
6812	# though, which does catch some bad symbols but isn't as heavy-handed
6813	# as -z defs.
6814	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6815	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6816	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6817	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6818	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6819	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6820	_LT_TAGVAR(link_all_deplibs, $1)=yes
6821	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6822	runpath_var='LD_RUN_PATH'
6823
6824	case $cc_basename in
6825          CC*)
6826	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6827	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6828	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
6829	      '"$_LT_TAGVAR(old_archive_cmds, $1)"
6830	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
6831	      '"$_LT_TAGVAR(reload_cmds, $1)"
6832	    ;;
6833	  *)
6834	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6835	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6836	    ;;
6837	esac
6838      ;;
6839
6840      tandem*)
6841        case $cc_basename in
6842          NCC*)
6843	    # NonStop-UX NCC 3.20
6844	    # FIXME: insert proper C++ library support
6845	    _LT_TAGVAR(ld_shlibs, $1)=no
6846	    ;;
6847          *)
6848	    # FIXME: insert proper C++ library support
6849	    _LT_TAGVAR(ld_shlibs, $1)=no
6850	    ;;
6851        esac
6852        ;;
6853
6854      vxworks*)
6855        # FIXME: insert proper C++ library support
6856        _LT_TAGVAR(ld_shlibs, $1)=no
6857        ;;
6858
6859      *)
6860        # FIXME: insert proper C++ library support
6861        _LT_TAGVAR(ld_shlibs, $1)=no
6862        ;;
6863    esac
6864
6865    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6866    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6867
6868    _LT_TAGVAR(GCC, $1)="$GXX"
6869    _LT_TAGVAR(LD, $1)="$LD"
6870
6871    ## CAVEAT EMPTOR:
6872    ## There is no encapsulation within the following macros, do not change
6873    ## the running order or otherwise move them around unless you know exactly
6874    ## what you are doing...
6875    _LT_SYS_HIDDEN_LIBDEPS($1)
6876    _LT_COMPILER_PIC($1)
6877    _LT_COMPILER_C_O($1)
6878    _LT_COMPILER_FILE_LOCKS($1)
6879    _LT_LINKER_SHLIBS($1)
6880    _LT_SYS_DYNAMIC_LINKER($1)
6881    _LT_LINKER_HARDCODE_LIBPATH($1)
6882
6883    _LT_CONFIG($1)
6884  fi # test -n "$compiler"
6885
6886  CC=$lt_save_CC
6887  CFLAGS=$lt_save_CFLAGS
6888  LDCXX=$LD
6889  LD=$lt_save_LD
6890  GCC=$lt_save_GCC
6891  with_gnu_ld=$lt_save_with_gnu_ld
6892  lt_cv_path_LDCXX=$lt_cv_path_LD
6893  lt_cv_path_LD=$lt_save_path_LD
6894  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6895  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6896fi # test "$_lt_caught_CXX_error" != yes
6897
6898AC_LANG_POP
6899])# _LT_LANG_CXX_CONFIG
6900
6901
6902# _LT_FUNC_STRIPNAME_CNF
6903# ----------------------
6904# func_stripname_cnf prefix suffix name
6905# strip PREFIX and SUFFIX off of NAME.
6906# PREFIX and SUFFIX must not contain globbing or regex special
6907# characters, hashes, percent signs, but SUFFIX may contain a leading
6908# dot (in which case that matches only a dot).
6909#
6910# This function is identical to the (non-XSI) version of func_stripname,
6911# except this one can be used by m4 code that may be executed by configure,
6912# rather than the libtool script.
6913m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
6914AC_REQUIRE([_LT_DECL_SED])
6915AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
6916func_stripname_cnf ()
6917{
6918  case ${2} in
6919  .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
6920  *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
6921  esac
6922} # func_stripname_cnf
6923])# _LT_FUNC_STRIPNAME_CNF
6924
6925# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
6926# ---------------------------------
6927# Figure out "hidden" library dependencies from verbose
6928# compiler output when linking a shared library.
6929# Parse the compiler output and extract the necessary
6930# objects, libraries and library flags.
6931m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6932[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6933AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
6934# Dependencies to place before and after the object being linked:
6935_LT_TAGVAR(predep_objects, $1)=
6936_LT_TAGVAR(postdep_objects, $1)=
6937_LT_TAGVAR(predeps, $1)=
6938_LT_TAGVAR(postdeps, $1)=
6939_LT_TAGVAR(compiler_lib_search_path, $1)=
6940
6941dnl we can't use the lt_simple_compile_test_code here,
6942dnl because it contains code intended for an executable,
6943dnl not a library.  It's possible we should let each
6944dnl tag define a new lt_????_link_test_code variable,
6945dnl but it's only used here...
6946m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6947int a;
6948void foo (void) { a = 0; }
6949_LT_EOF
6950], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6951class Foo
6952{
6953public:
6954  Foo (void) { a = 0; }
6955private:
6956  int a;
6957};
6958_LT_EOF
6959], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6960      subroutine foo
6961      implicit none
6962      integer*4 a
6963      a=0
6964      return
6965      end
6966_LT_EOF
6967], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6968      subroutine foo
6969      implicit none
6970      integer a
6971      a=0
6972      return
6973      end
6974_LT_EOF
6975], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
6976public class foo {
6977  private int a;
6978  public void bar (void) {
6979    a = 0;
6980  }
6981};
6982_LT_EOF
6983], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
6984package foo
6985func foo() {
6986}
6987_LT_EOF
6988])
6989
6990_lt_libdeps_save_CFLAGS=$CFLAGS
6991case "$CC $CFLAGS " in #(
6992*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
6993*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
6994*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
6995esac
6996
6997dnl Parse the compiler output and extract the necessary
6998dnl objects, libraries and library flags.
6999if AC_TRY_EVAL(ac_compile); then
7000  # Parse the compiler output and extract the necessary
7001  # objects, libraries and library flags.
7002
7003  # Sentinel used to keep track of whether or not we are before
7004  # the conftest object file.
7005  pre_test_object_deps_done=no
7006
7007  for p in `eval "$output_verbose_link_cmd"`; do
7008    case ${prev}${p} in
7009
7010    -L* | -R* | -l*)
7011       # Some compilers place space between "-{L,R}" and the path.
7012       # Remove the space.
7013       if test $p = "-L" ||
7014          test $p = "-R"; then
7015	 prev=$p
7016	 continue
7017       fi
7018
7019       # Expand the sysroot to ease extracting the directories later.
7020       if test -z "$prev"; then
7021         case $p in
7022         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
7023         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
7024         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
7025         esac
7026       fi
7027       case $p in
7028       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
7029       esac
7030       if test "$pre_test_object_deps_done" = no; then
7031	 case ${prev} in
7032	 -L | -R)
7033	   # Internal compiler library paths should come after those
7034	   # provided the user.  The postdeps already come after the
7035	   # user supplied libs so there is no need to process them.
7036	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7037	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
7038	   else
7039	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
7040	   fi
7041	   ;;
7042	 # The "-l" case would never come before the object being
7043	 # linked, so don't bother handling this case.
7044	 esac
7045       else
7046	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7047	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
7048	 else
7049	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
7050	 fi
7051       fi
7052       prev=
7053       ;;
7054
7055    *.lto.$objext) ;; # Ignore GCC LTO objects
7056    *.$objext)
7057       # This assumes that the test object file only shows up
7058       # once in the compiler output.
7059       if test "$p" = "conftest.$objext"; then
7060	 pre_test_object_deps_done=yes
7061	 continue
7062       fi
7063
7064       if test "$pre_test_object_deps_done" = no; then
7065	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7066	   _LT_TAGVAR(predep_objects, $1)="$p"
7067	 else
7068	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7069	 fi
7070       else
7071	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7072	   _LT_TAGVAR(postdep_objects, $1)="$p"
7073	 else
7074	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7075	 fi
7076       fi
7077       ;;
7078
7079    *) ;; # Ignore the rest.
7080
7081    esac
7082  done
7083
7084  # Clean up.
7085  rm -f a.out a.exe
7086else
7087  echo "libtool.m4: error: problem compiling $1 test program"
7088fi
7089
7090$RM -f confest.$objext
7091CFLAGS=$_lt_libdeps_save_CFLAGS
7092
7093# PORTME: override above test on systems where it is broken
7094m4_if([$1], [CXX],
7095[case $host_os in
7096interix[[3-9]]*)
7097  # Interix 3.5 installs completely hosed .la files for C++, so rather than
7098  # hack all around it, let's just trust "g++" to DTRT.
7099  _LT_TAGVAR(predep_objects,$1)=
7100  _LT_TAGVAR(postdep_objects,$1)=
7101  _LT_TAGVAR(postdeps,$1)=
7102  ;;
7103
7104linux*)
7105  case `$CC -V 2>&1 | sed 5q` in
7106  *Sun\ C*)
7107    # Sun C++ 5.9
7108
7109    # The more standards-conforming stlport4 library is
7110    # incompatible with the Cstd library. Avoid specifying
7111    # it if it's in CXXFLAGS. Ignore libCrun as
7112    # -library=stlport4 depends on it.
7113    case " $CXX $CXXFLAGS " in
7114    *" -library=stlport4 "*)
7115      solaris_use_stlport4=yes
7116      ;;
7117    esac
7118
7119    if test "$solaris_use_stlport4" != yes; then
7120      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7121    fi
7122    ;;
7123  esac
7124  ;;
7125
7126solaris*)
7127  case $cc_basename in
7128  CC* | sunCC*)
7129    # The more standards-conforming stlport4 library is
7130    # incompatible with the Cstd library. Avoid specifying
7131    # it if it's in CXXFLAGS. Ignore libCrun as
7132    # -library=stlport4 depends on it.
7133    case " $CXX $CXXFLAGS " in
7134    *" -library=stlport4 "*)
7135      solaris_use_stlport4=yes
7136      ;;
7137    esac
7138
7139    # Adding this requires a known-good setup of shared libraries for
7140    # Sun compiler versions before 5.6, else PIC objects from an old
7141    # archive will be linked into the output, leading to subtle bugs.
7142    if test "$solaris_use_stlport4" != yes; then
7143      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7144    fi
7145    ;;
7146  esac
7147  ;;
7148esac
7149])
7150
7151case " $_LT_TAGVAR(postdeps, $1) " in
7152*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7153esac
7154 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7155if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7156 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
7157fi
7158_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7159    [The directories searched by this compiler when creating a shared library])
7160_LT_TAGDECL([], [predep_objects], [1],
7161    [Dependencies to place before and after the objects being linked to
7162    create a shared library])
7163_LT_TAGDECL([], [postdep_objects], [1])
7164_LT_TAGDECL([], [predeps], [1])
7165_LT_TAGDECL([], [postdeps], [1])
7166_LT_TAGDECL([], [compiler_lib_search_path], [1],
7167    [The library search path used internally by the compiler when linking
7168    a shared library])
7169])# _LT_SYS_HIDDEN_LIBDEPS
7170
7171
7172# _LT_LANG_F77_CONFIG([TAG])
7173# --------------------------
7174# Ensure that the configuration variables for a Fortran 77 compiler are
7175# suitably defined.  These variables are subsequently used by _LT_CONFIG
7176# to write the compiler configuration to `libtool'.
7177m4_defun([_LT_LANG_F77_CONFIG],
7178[AC_LANG_PUSH(Fortran 77)
7179if test -z "$F77" || test "X$F77" = "Xno"; then
7180  _lt_disable_F77=yes
7181fi
7182
7183_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7184_LT_TAGVAR(allow_undefined_flag, $1)=
7185_LT_TAGVAR(always_export_symbols, $1)=no
7186_LT_TAGVAR(archive_expsym_cmds, $1)=
7187_LT_TAGVAR(export_dynamic_flag_spec, $1)=
7188_LT_TAGVAR(hardcode_direct, $1)=no
7189_LT_TAGVAR(hardcode_direct_absolute, $1)=no
7190_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7191_LT_TAGVAR(hardcode_libdir_separator, $1)=
7192_LT_TAGVAR(hardcode_minus_L, $1)=no
7193_LT_TAGVAR(hardcode_automatic, $1)=no
7194_LT_TAGVAR(inherit_rpath, $1)=no
7195_LT_TAGVAR(module_cmds, $1)=
7196_LT_TAGVAR(module_expsym_cmds, $1)=
7197_LT_TAGVAR(link_all_deplibs, $1)=unknown
7198_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7199_LT_TAGVAR(reload_flag, $1)=$reload_flag
7200_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7201_LT_TAGVAR(no_undefined_flag, $1)=
7202_LT_TAGVAR(whole_archive_flag_spec, $1)=
7203_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7204
7205# Source file extension for f77 test sources.
7206ac_ext=f
7207
7208# Object file extension for compiled f77 test sources.
7209objext=o
7210_LT_TAGVAR(objext, $1)=$objext
7211
7212# No sense in running all these tests if we already determined that
7213# the F77 compiler isn't working.  Some variables (like enable_shared)
7214# are currently assumed to apply to all compilers on this platform,
7215# and will be corrupted by setting them based on a non-working compiler.
7216if test "$_lt_disable_F77" != yes; then
7217  # Code to be used in simple compile tests
7218  lt_simple_compile_test_code="\
7219      subroutine t
7220      return
7221      end
7222"
7223
7224  # Code to be used in simple link tests
7225  lt_simple_link_test_code="\
7226      program t
7227      end
7228"
7229
7230  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7231  _LT_TAG_COMPILER
7232
7233  # save warnings/boilerplate of simple test code
7234  _LT_COMPILER_BOILERPLATE
7235  _LT_LINKER_BOILERPLATE
7236
7237  # Allow CC to be a program name with arguments.
7238  lt_save_CC="$CC"
7239  lt_save_GCC=$GCC
7240  lt_save_CFLAGS=$CFLAGS
7241  CC=${F77-"f77"}
7242  CFLAGS=$FFLAGS
7243  compiler=$CC
7244  _LT_TAGVAR(compiler, $1)=$CC
7245  _LT_CC_BASENAME([$compiler])
7246  GCC=$G77
7247  if test -n "$compiler"; then
7248    AC_MSG_CHECKING([if libtool supports shared libraries])
7249    AC_MSG_RESULT([$can_build_shared])
7250
7251    AC_MSG_CHECKING([whether to build shared libraries])
7252    test "$can_build_shared" = "no" && enable_shared=no
7253
7254    # On AIX, shared libraries and static libraries use the same namespace, and
7255    # are all built from PIC.
7256    case $host_os in
7257      aix3*)
7258        test "$enable_shared" = yes && enable_static=no
7259        if test -n "$RANLIB"; then
7260          archive_cmds="$archive_cmds~\$RANLIB \$lib"
7261          postinstall_cmds='$RANLIB $lib'
7262        fi
7263        ;;
7264      aix[[4-9]]*)
7265	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7266	  test "$enable_shared" = yes && enable_static=no
7267	fi
7268        ;;
7269    esac
7270    AC_MSG_RESULT([$enable_shared])
7271
7272    AC_MSG_CHECKING([whether to build static libraries])
7273    # Make sure either enable_shared or enable_static is yes.
7274    test "$enable_shared" = yes || enable_static=yes
7275    AC_MSG_RESULT([$enable_static])
7276
7277    _LT_TAGVAR(GCC, $1)="$G77"
7278    _LT_TAGVAR(LD, $1)="$LD"
7279
7280    ## CAVEAT EMPTOR:
7281    ## There is no encapsulation within the following macros, do not change
7282    ## the running order or otherwise move them around unless you know exactly
7283    ## what you are doing...
7284    _LT_COMPILER_PIC($1)
7285    _LT_COMPILER_C_O($1)
7286    _LT_COMPILER_FILE_LOCKS($1)
7287    _LT_LINKER_SHLIBS($1)
7288    _LT_SYS_DYNAMIC_LINKER($1)
7289    _LT_LINKER_HARDCODE_LIBPATH($1)
7290
7291    _LT_CONFIG($1)
7292  fi # test -n "$compiler"
7293
7294  GCC=$lt_save_GCC
7295  CC="$lt_save_CC"
7296  CFLAGS="$lt_save_CFLAGS"
7297fi # test "$_lt_disable_F77" != yes
7298
7299AC_LANG_POP
7300])# _LT_LANG_F77_CONFIG
7301
7302
7303# _LT_LANG_FC_CONFIG([TAG])
7304# -------------------------
7305# Ensure that the configuration variables for a Fortran compiler are
7306# suitably defined.  These variables are subsequently used by _LT_CONFIG
7307# to write the compiler configuration to `libtool'.
7308m4_defun([_LT_LANG_FC_CONFIG],
7309[AC_LANG_PUSH(Fortran)
7310
7311if test -z "$FC" || test "X$FC" = "Xno"; then
7312  _lt_disable_FC=yes
7313fi
7314
7315_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7316_LT_TAGVAR(allow_undefined_flag, $1)=
7317_LT_TAGVAR(always_export_symbols, $1)=no
7318_LT_TAGVAR(archive_expsym_cmds, $1)=
7319_LT_TAGVAR(export_dynamic_flag_spec, $1)=
7320_LT_TAGVAR(hardcode_direct, $1)=no
7321_LT_TAGVAR(hardcode_direct_absolute, $1)=no
7322_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7323_LT_TAGVAR(hardcode_libdir_separator, $1)=
7324_LT_TAGVAR(hardcode_minus_L, $1)=no
7325_LT_TAGVAR(hardcode_automatic, $1)=no
7326_LT_TAGVAR(inherit_rpath, $1)=no
7327_LT_TAGVAR(module_cmds, $1)=
7328_LT_TAGVAR(module_expsym_cmds, $1)=
7329_LT_TAGVAR(link_all_deplibs, $1)=unknown
7330_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7331_LT_TAGVAR(reload_flag, $1)=$reload_flag
7332_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7333_LT_TAGVAR(no_undefined_flag, $1)=
7334_LT_TAGVAR(whole_archive_flag_spec, $1)=
7335_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7336
7337# Source file extension for fc test sources.
7338ac_ext=${ac_fc_srcext-f}
7339
7340# Object file extension for compiled fc test sources.
7341objext=o
7342_LT_TAGVAR(objext, $1)=$objext
7343
7344# No sense in running all these tests if we already determined that
7345# the FC compiler isn't working.  Some variables (like enable_shared)
7346# are currently assumed to apply to all compilers on this platform,
7347# and will be corrupted by setting them based on a non-working compiler.
7348if test "$_lt_disable_FC" != yes; then
7349  # Code to be used in simple compile tests
7350  lt_simple_compile_test_code="\
7351      subroutine t
7352      return
7353      end
7354"
7355
7356  # Code to be used in simple link tests
7357  lt_simple_link_test_code="\
7358      program t
7359      end
7360"
7361
7362  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7363  _LT_TAG_COMPILER
7364
7365  # save warnings/boilerplate of simple test code
7366  _LT_COMPILER_BOILERPLATE
7367  _LT_LINKER_BOILERPLATE
7368
7369  # Allow CC to be a program name with arguments.
7370  lt_save_CC="$CC"
7371  lt_save_GCC=$GCC
7372  lt_save_CFLAGS=$CFLAGS
7373  CC=${FC-"f95"}
7374  CFLAGS=$FCFLAGS
7375  compiler=$CC
7376  GCC=$ac_cv_fc_compiler_gnu
7377
7378  _LT_TAGVAR(compiler, $1)=$CC
7379  _LT_CC_BASENAME([$compiler])
7380
7381  if test -n "$compiler"; then
7382    AC_MSG_CHECKING([if libtool supports shared libraries])
7383    AC_MSG_RESULT([$can_build_shared])
7384
7385    AC_MSG_CHECKING([whether to build shared libraries])
7386    test "$can_build_shared" = "no" && enable_shared=no
7387
7388    # On AIX, shared libraries and static libraries use the same namespace, and
7389    # are all built from PIC.
7390    case $host_os in
7391      aix3*)
7392        test "$enable_shared" = yes && enable_static=no
7393        if test -n "$RANLIB"; then
7394          archive_cmds="$archive_cmds~\$RANLIB \$lib"
7395          postinstall_cmds='$RANLIB $lib'
7396        fi
7397        ;;
7398      aix[[4-9]]*)
7399	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7400	  test "$enable_shared" = yes && enable_static=no
7401	fi
7402        ;;
7403    esac
7404    AC_MSG_RESULT([$enable_shared])
7405
7406    AC_MSG_CHECKING([whether to build static libraries])
7407    # Make sure either enable_shared or enable_static is yes.
7408    test "$enable_shared" = yes || enable_static=yes
7409    AC_MSG_RESULT([$enable_static])
7410
7411    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
7412    _LT_TAGVAR(LD, $1)="$LD"
7413
7414    ## CAVEAT EMPTOR:
7415    ## There is no encapsulation within the following macros, do not change
7416    ## the running order or otherwise move them around unless you know exactly
7417    ## what you are doing...
7418    _LT_SYS_HIDDEN_LIBDEPS($1)
7419    _LT_COMPILER_PIC($1)
7420    _LT_COMPILER_C_O($1)
7421    _LT_COMPILER_FILE_LOCKS($1)
7422    _LT_LINKER_SHLIBS($1)
7423    _LT_SYS_DYNAMIC_LINKER($1)
7424    _LT_LINKER_HARDCODE_LIBPATH($1)
7425
7426    _LT_CONFIG($1)
7427  fi # test -n "$compiler"
7428
7429  GCC=$lt_save_GCC
7430  CC=$lt_save_CC
7431  CFLAGS=$lt_save_CFLAGS
7432fi # test "$_lt_disable_FC" != yes
7433
7434AC_LANG_POP
7435])# _LT_LANG_FC_CONFIG
7436
7437
7438# _LT_LANG_GCJ_CONFIG([TAG])
7439# --------------------------
7440# Ensure that the configuration variables for the GNU Java Compiler compiler
7441# are suitably defined.  These variables are subsequently used by _LT_CONFIG
7442# to write the compiler configuration to `libtool'.
7443m4_defun([_LT_LANG_GCJ_CONFIG],
7444[AC_REQUIRE([LT_PROG_GCJ])dnl
7445AC_LANG_SAVE
7446
7447# Source file extension for Java test sources.
7448ac_ext=java
7449
7450# Object file extension for compiled Java test sources.
7451objext=o
7452_LT_TAGVAR(objext, $1)=$objext
7453
7454# Code to be used in simple compile tests
7455lt_simple_compile_test_code="class foo {}"
7456
7457# Code to be used in simple link tests
7458lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7459
7460# ltmain only uses $CC for tagged configurations so make sure $CC is set.
7461_LT_TAG_COMPILER
7462
7463# save warnings/boilerplate of simple test code
7464_LT_COMPILER_BOILERPLATE
7465_LT_LINKER_BOILERPLATE
7466
7467# Allow CC to be a program name with arguments.
7468lt_save_CC=$CC
7469lt_save_CFLAGS=$CFLAGS
7470lt_save_GCC=$GCC
7471GCC=yes
7472CC=${GCJ-"gcj"}
7473CFLAGS=$GCJFLAGS
7474compiler=$CC
7475_LT_TAGVAR(compiler, $1)=$CC
7476_LT_TAGVAR(LD, $1)="$LD"
7477_LT_CC_BASENAME([$compiler])
7478
7479# GCJ did not exist at the time GCC didn't implicitly link libc in.
7480_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7481
7482_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7483_LT_TAGVAR(reload_flag, $1)=$reload_flag
7484_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7485
7486if test -n "$compiler"; then
7487  _LT_COMPILER_NO_RTTI($1)
7488  _LT_COMPILER_PIC($1)
7489  _LT_COMPILER_C_O($1)
7490  _LT_COMPILER_FILE_LOCKS($1)
7491  _LT_LINKER_SHLIBS($1)
7492  _LT_LINKER_HARDCODE_LIBPATH($1)
7493
7494  _LT_CONFIG($1)
7495fi
7496
7497AC_LANG_RESTORE
7498
7499GCC=$lt_save_GCC
7500CC=$lt_save_CC
7501CFLAGS=$lt_save_CFLAGS
7502])# _LT_LANG_GCJ_CONFIG
7503
7504
7505# _LT_LANG_GO_CONFIG([TAG])
7506# --------------------------
7507# Ensure that the configuration variables for the GNU Go compiler
7508# are suitably defined.  These variables are subsequently used by _LT_CONFIG
7509# to write the compiler configuration to `libtool'.
7510m4_defun([_LT_LANG_GO_CONFIG],
7511[AC_REQUIRE([LT_PROG_GO])dnl
7512AC_LANG_SAVE
7513
7514# Source file extension for Go test sources.
7515ac_ext=go
7516
7517# Object file extension for compiled Go test sources.
7518objext=o
7519_LT_TAGVAR(objext, $1)=$objext
7520
7521# Code to be used in simple compile tests
7522lt_simple_compile_test_code="package main; func main() { }"
7523
7524# Code to be used in simple link tests
7525lt_simple_link_test_code='package main; func main() { }'
7526
7527# ltmain only uses $CC for tagged configurations so make sure $CC is set.
7528_LT_TAG_COMPILER
7529
7530# save warnings/boilerplate of simple test code
7531_LT_COMPILER_BOILERPLATE
7532_LT_LINKER_BOILERPLATE
7533
7534# Allow CC to be a program name with arguments.
7535lt_save_CC=$CC
7536lt_save_CFLAGS=$CFLAGS
7537lt_save_GCC=$GCC
7538GCC=yes
7539CC=${GOC-"gccgo"}
7540CFLAGS=$GOFLAGS
7541compiler=$CC
7542_LT_TAGVAR(compiler, $1)=$CC
7543_LT_TAGVAR(LD, $1)="$LD"
7544_LT_CC_BASENAME([$compiler])
7545
7546# Go did not exist at the time GCC didn't implicitly link libc in.
7547_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7548
7549_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7550_LT_TAGVAR(reload_flag, $1)=$reload_flag
7551_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7552
7553if test -n "$compiler"; then
7554  _LT_COMPILER_NO_RTTI($1)
7555  _LT_COMPILER_PIC($1)
7556  _LT_COMPILER_C_O($1)
7557  _LT_COMPILER_FILE_LOCKS($1)
7558  _LT_LINKER_SHLIBS($1)
7559  _LT_LINKER_HARDCODE_LIBPATH($1)
7560
7561  _LT_CONFIG($1)
7562fi
7563
7564AC_LANG_RESTORE
7565
7566GCC=$lt_save_GCC
7567CC=$lt_save_CC
7568CFLAGS=$lt_save_CFLAGS
7569])# _LT_LANG_GO_CONFIG
7570
7571
7572# _LT_LANG_RC_CONFIG([TAG])
7573# -------------------------
7574# Ensure that the configuration variables for the Windows resource compiler
7575# are suitably defined.  These variables are subsequently used by _LT_CONFIG
7576# to write the compiler configuration to `libtool'.
7577m4_defun([_LT_LANG_RC_CONFIG],
7578[AC_REQUIRE([LT_PROG_RC])dnl
7579AC_LANG_SAVE
7580
7581# Source file extension for RC test sources.
7582ac_ext=rc
7583
7584# Object file extension for compiled RC test sources.
7585objext=o
7586_LT_TAGVAR(objext, $1)=$objext
7587
7588# Code to be used in simple compile tests
7589lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
7590
7591# Code to be used in simple link tests
7592lt_simple_link_test_code="$lt_simple_compile_test_code"
7593
7594# ltmain only uses $CC for tagged configurations so make sure $CC is set.
7595_LT_TAG_COMPILER
7596
7597# save warnings/boilerplate of simple test code
7598_LT_COMPILER_BOILERPLATE
7599_LT_LINKER_BOILERPLATE
7600
7601# Allow CC to be a program name with arguments.
7602lt_save_CC="$CC"
7603lt_save_CFLAGS=$CFLAGS
7604lt_save_GCC=$GCC
7605GCC=
7606CC=${RC-"windres"}
7607CFLAGS=
7608compiler=$CC
7609_LT_TAGVAR(compiler, $1)=$CC
7610_LT_CC_BASENAME([$compiler])
7611_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
7612
7613if test -n "$compiler"; then
7614  :
7615  _LT_CONFIG($1)
7616fi
7617
7618GCC=$lt_save_GCC
7619AC_LANG_RESTORE
7620CC=$lt_save_CC
7621CFLAGS=$lt_save_CFLAGS
7622])# _LT_LANG_RC_CONFIG
7623
7624
7625# LT_PROG_GCJ
7626# -----------
7627AC_DEFUN([LT_PROG_GCJ],
7628[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
7629  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
7630    [AC_CHECK_TOOL(GCJ, gcj,)
7631      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
7632      AC_SUBST(GCJFLAGS)])])[]dnl
7633])
7634
7635# Old name:
7636AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
7637dnl aclocal-1.4 backwards compatibility:
7638dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
7639
7640
7641# LT_PROG_GO
7642# ----------
7643AC_DEFUN([LT_PROG_GO],
7644[AC_CHECK_TOOL(GOC, gccgo,)
7645])
7646
7647
7648# LT_PROG_RC
7649# ----------
7650AC_DEFUN([LT_PROG_RC],
7651[AC_CHECK_TOOL(RC, windres,)
7652])
7653
7654# Old name:
7655AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
7656dnl aclocal-1.4 backwards compatibility:
7657dnl AC_DEFUN([LT_AC_PROG_RC], [])
7658
7659
7660# _LT_DECL_EGREP
7661# --------------
7662# If we don't have a new enough Autoconf to choose the best grep
7663# available, choose the one first in the user's PATH.
7664m4_defun([_LT_DECL_EGREP],
7665[AC_REQUIRE([AC_PROG_EGREP])dnl
7666AC_REQUIRE([AC_PROG_FGREP])dnl
7667test -z "$GREP" && GREP=grep
7668_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7669_LT_DECL([], [EGREP], [1], [An ERE matcher])
7670_LT_DECL([], [FGREP], [1], [A literal string matcher])
7671dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7672AC_SUBST([GREP])
7673])
7674
7675
7676# _LT_DECL_OBJDUMP
7677# --------------
7678# If we don't have a new enough Autoconf to choose the best objdump
7679# available, choose the one first in the user's PATH.
7680m4_defun([_LT_DECL_OBJDUMP],
7681[AC_CHECK_TOOL(OBJDUMP, objdump, false)
7682test -z "$OBJDUMP" && OBJDUMP=objdump
7683_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7684AC_SUBST([OBJDUMP])
7685])
7686
7687# _LT_DECL_DLLTOOL
7688# ----------------
7689# Ensure DLLTOOL variable is set.
7690m4_defun([_LT_DECL_DLLTOOL],
7691[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7692test -z "$DLLTOOL" && DLLTOOL=dlltool
7693_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
7694AC_SUBST([DLLTOOL])
7695])
7696
7697# _LT_DECL_SED
7698# ------------
7699# Check for a fully-functional sed program, that truncates
7700# as few characters as possible.  Prefer GNU sed if found.
7701m4_defun([_LT_DECL_SED],
7702[AC_PROG_SED
7703test -z "$SED" && SED=sed
7704Xsed="$SED -e 1s/^X//"
7705_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7706_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7707    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7708])# _LT_DECL_SED
7709
7710m4_ifndef([AC_PROG_SED], [
7711# NOTE: This macro has been submitted for inclusion into   #
7712#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
7713#  a released version of Autoconf we should remove this    #
7714#  macro and use it instead.                               #
7715
7716m4_defun([AC_PROG_SED],
7717[AC_MSG_CHECKING([for a sed that does not truncate output])
7718AC_CACHE_VAL(lt_cv_path_SED,
7719[# Loop through the user's path and test for sed and gsed.
7720# Then use that list of sed's as ones to test for truncation.
7721as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7722for as_dir in $PATH
7723do
7724  IFS=$as_save_IFS
7725  test -z "$as_dir" && as_dir=.
7726  for lt_ac_prog in sed gsed; do
7727    for ac_exec_ext in '' $ac_executable_extensions; do
7728      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7729        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7730      fi
7731    done
7732  done
7733done
7734IFS=$as_save_IFS
7735lt_ac_max=0
7736lt_ac_count=0
7737# Add /usr/xpg4/bin/sed as it is typically found on Solaris
7738# along with /bin/sed that truncates output.
7739for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7740  test ! -f $lt_ac_sed && continue
7741  cat /dev/null > conftest.in
7742  lt_ac_count=0
7743  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7744  # Check for GNU sed and select it if it is found.
7745  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7746    lt_cv_path_SED=$lt_ac_sed
7747    break
7748  fi
7749  while true; do
7750    cat conftest.in conftest.in >conftest.tmp
7751    mv conftest.tmp conftest.in
7752    cp conftest.in conftest.nl
7753    echo >>conftest.nl
7754    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7755    cmp -s conftest.out conftest.nl || break
7756    # 10000 chars as input seems more than enough
7757    test $lt_ac_count -gt 10 && break
7758    lt_ac_count=`expr $lt_ac_count + 1`
7759    if test $lt_ac_count -gt $lt_ac_max; then
7760      lt_ac_max=$lt_ac_count
7761      lt_cv_path_SED=$lt_ac_sed
7762    fi
7763  done
7764done
7765])
7766SED=$lt_cv_path_SED
7767AC_SUBST([SED])
7768AC_MSG_RESULT([$SED])
7769])#AC_PROG_SED
7770])#m4_ifndef
7771
7772# Old name:
7773AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7774dnl aclocal-1.4 backwards compatibility:
7775dnl AC_DEFUN([LT_AC_PROG_SED], [])
7776
7777
7778# _LT_CHECK_SHELL_FEATURES
7779# ------------------------
7780# Find out whether the shell is Bourne or XSI compatible,
7781# or has some other useful features.
7782m4_defun([_LT_CHECK_SHELL_FEATURES],
7783[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7784# Try some XSI features
7785xsi_shell=no
7786( _lt_dummy="a/b/c"
7787  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
7788      = c,a/b,b/c, \
7789    && eval 'test $(( 1 + 1 )) -eq 2 \
7790    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7791  && xsi_shell=yes
7792AC_MSG_RESULT([$xsi_shell])
7793_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7794
7795AC_MSG_CHECKING([whether the shell understands "+="])
7796lt_shell_append=no
7797( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7798    >/dev/null 2>&1 \
7799  && lt_shell_append=yes
7800AC_MSG_RESULT([$lt_shell_append])
7801_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7802
7803if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7804  lt_unset=unset
7805else
7806  lt_unset=false
7807fi
7808_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7809
7810# test EBCDIC or ASCII
7811case `echo X|tr X '\101'` in
7812 A) # ASCII based system
7813    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7814  lt_SP2NL='tr \040 \012'
7815  lt_NL2SP='tr \015\012 \040\040'
7816  ;;
7817 *) # EBCDIC based system
7818  lt_SP2NL='tr \100 \n'
7819  lt_NL2SP='tr \r\n \100\100'
7820  ;;
7821esac
7822_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7823_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7824])# _LT_CHECK_SHELL_FEATURES
7825
7826
7827# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
7828# ------------------------------------------------------
7829# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
7830# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
7831m4_defun([_LT_PROG_FUNCTION_REPLACE],
7832[dnl {
7833sed -e '/^$1 ()$/,/^} # $1 /c\
7834$1 ()\
7835{\
7836m4_bpatsubsts([$2], [$], [\\], [^\([	 ]\)], [\\\1])
7837} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
7838  && mv -f "$cfgfile.tmp" "$cfgfile" \
7839    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7840test 0 -eq $? || _lt_function_replace_fail=:
7841])
7842
7843
7844# _LT_PROG_REPLACE_SHELLFNS
7845# -------------------------
7846# Replace existing portable implementations of several shell functions with
7847# equivalent extended shell implementations where those features are available..
7848m4_defun([_LT_PROG_REPLACE_SHELLFNS],
7849[if test x"$xsi_shell" = xyes; then
7850  _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
7851    case ${1} in
7852      */*) func_dirname_result="${1%/*}${2}" ;;
7853      *  ) func_dirname_result="${3}" ;;
7854    esac])
7855
7856  _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
7857    func_basename_result="${1##*/}"])
7858
7859  _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
7860    case ${1} in
7861      */*) func_dirname_result="${1%/*}${2}" ;;
7862      *  ) func_dirname_result="${3}" ;;
7863    esac
7864    func_basename_result="${1##*/}"])
7865
7866  _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
7867    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7868    # positional parameters, so assign one to ordinary parameter first.
7869    func_stripname_result=${3}
7870    func_stripname_result=${func_stripname_result#"${1}"}
7871    func_stripname_result=${func_stripname_result%"${2}"}])
7872
7873  _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
7874    func_split_long_opt_name=${1%%=*}
7875    func_split_long_opt_arg=${1#*=}])
7876
7877  _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
7878    func_split_short_opt_arg=${1#??}
7879    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
7880
7881  _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
7882    case ${1} in
7883      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7884      *)    func_lo2o_result=${1} ;;
7885    esac])
7886
7887  _LT_PROG_FUNCTION_REPLACE([func_xform], [    func_xform_result=${1%.*}.lo])
7888
7889  _LT_PROG_FUNCTION_REPLACE([func_arith], [    func_arith_result=$(( $[*] ))])
7890
7891  _LT_PROG_FUNCTION_REPLACE([func_len], [    func_len_result=${#1}])
7892fi
7893
7894if test x"$lt_shell_append" = xyes; then
7895  _LT_PROG_FUNCTION_REPLACE([func_append], [    eval "${1}+=\\${2}"])
7896
7897  _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
7898    func_quote_for_eval "${2}"
7899dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
7900    eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
7901
7902  # Save a `func_append' function call where possible by direct use of '+='
7903  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
7904    && mv -f "$cfgfile.tmp" "$cfgfile" \
7905      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7906  test 0 -eq $? || _lt_function_replace_fail=:
7907else
7908  # Save a `func_append' function call even when '+=' is not available
7909  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
7910    && mv -f "$cfgfile.tmp" "$cfgfile" \
7911      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7912  test 0 -eq $? || _lt_function_replace_fail=:
7913fi
7914
7915if test x"$_lt_function_replace_fail" = x":"; then
7916  AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
7917fi
7918])
7919
7920# _LT_PATH_CONVERSION_FUNCTIONS
7921# -----------------------------
7922# Determine which file name conversion functions should be used by
7923# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
7924# for certain cross-compile configurations and native mingw.
7925m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
7926[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7927AC_REQUIRE([AC_CANONICAL_BUILD])dnl
7928AC_MSG_CHECKING([how to convert $build file names to $host format])
7929AC_CACHE_VAL(lt_cv_to_host_file_cmd,
7930[case $host in
7931  *-*-mingw* )
7932    case $build in
7933      *-*-mingw* ) # actually msys
7934        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
7935        ;;
7936      *-*-cygwin* )
7937        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
7938        ;;
7939      * ) # otherwise, assume *nix
7940        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
7941        ;;
7942    esac
7943    ;;
7944  *-*-cygwin* )
7945    case $build in
7946      *-*-mingw* ) # actually msys
7947        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
7948        ;;
7949      *-*-cygwin* )
7950        lt_cv_to_host_file_cmd=func_convert_file_noop
7951        ;;
7952      * ) # otherwise, assume *nix
7953        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
7954        ;;
7955    esac
7956    ;;
7957  * ) # unhandled hosts (and "normal" native builds)
7958    lt_cv_to_host_file_cmd=func_convert_file_noop
7959    ;;
7960esac
7961])
7962to_host_file_cmd=$lt_cv_to_host_file_cmd
7963AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
7964_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
7965         [0], [convert $build file names to $host format])dnl
7966
7967AC_MSG_CHECKING([how to convert $build file names to toolchain format])
7968AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
7969[#assume ordinary cross tools, or native build.
7970lt_cv_to_tool_file_cmd=func_convert_file_noop
7971case $host in
7972  *-*-mingw* )
7973    case $build in
7974      *-*-mingw* ) # actually msys
7975        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
7976        ;;
7977    esac
7978    ;;
7979esac
7980])
7981to_tool_file_cmd=$lt_cv_to_tool_file_cmd
7982AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
7983_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
7984         [0], [convert $build files to toolchain format])dnl
7985])# _LT_PATH_CONVERSION_FUNCTIONS
7986
7987# Helper functions for option handling.                    -*- Autoconf -*-
7988#
7989#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
7990#   Inc.
7991#   Written by Gary V. Vaughan, 2004
7992#
7993# This file is free software; the Free Software Foundation gives
7994# unlimited permission to copy and/or distribute it, with or without
7995# modifications, as long as this notice is preserved.
7996
7997# serial 7 ltoptions.m4
7998
7999# This is to help aclocal find these macros, as it can't see m4_define.
8000AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
8001
8002
8003# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
8004# ------------------------------------------
8005m4_define([_LT_MANGLE_OPTION],
8006[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
8007
8008
8009# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
8010# ---------------------------------------
8011# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
8012# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
8013# saved as a flag.
8014m4_define([_LT_SET_OPTION],
8015[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
8016m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
8017        _LT_MANGLE_DEFUN([$1], [$2]),
8018    [m4_warning([Unknown $1 option `$2'])])[]dnl
8019])
8020
8021
8022# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
8023# ------------------------------------------------------------
8024# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
8025m4_define([_LT_IF_OPTION],
8026[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
8027
8028
8029# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
8030# -------------------------------------------------------
8031# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
8032# are set.
8033m4_define([_LT_UNLESS_OPTIONS],
8034[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
8035	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
8036		      [m4_define([$0_found])])])[]dnl
8037m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
8038])[]dnl
8039])
8040
8041
8042# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
8043# ----------------------------------------
8044# OPTION-LIST is a space-separated list of Libtool options associated
8045# with MACRO-NAME.  If any OPTION has a matching handler declared with
8046# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
8047# the unknown option and exit.
8048m4_defun([_LT_SET_OPTIONS],
8049[# Set options
8050m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
8051    [_LT_SET_OPTION([$1], _LT_Option)])
8052
8053m4_if([$1],[LT_INIT],[
8054  dnl
8055  dnl Simply set some default values (i.e off) if boolean options were not
8056  dnl specified:
8057  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
8058  ])
8059  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
8060  ])
8061  dnl
8062  dnl If no reference was made to various pairs of opposing options, then
8063  dnl we run the default mode handler for the pair.  For example, if neither
8064  dnl `shared' nor `disable-shared' was passed, we enable building of shared
8065  dnl archives by default:
8066  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
8067  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
8068  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
8069  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
8070  		   [_LT_ENABLE_FAST_INSTALL])
8071  ])
8072])# _LT_SET_OPTIONS
8073
8074
8075
8076# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
8077# -----------------------------------------
8078m4_define([_LT_MANGLE_DEFUN],
8079[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
8080
8081
8082# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
8083# -----------------------------------------------
8084m4_define([LT_OPTION_DEFINE],
8085[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
8086])# LT_OPTION_DEFINE
8087
8088
8089# dlopen
8090# ------
8091LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
8092])
8093
8094AU_DEFUN([AC_LIBTOOL_DLOPEN],
8095[_LT_SET_OPTION([LT_INIT], [dlopen])
8096AC_DIAGNOSE([obsolete],
8097[$0: Remove this warning and the call to _LT_SET_OPTION when you
8098put the `dlopen' option into LT_INIT's first parameter.])
8099])
8100
8101dnl aclocal-1.4 backwards compatibility:
8102dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
8103
8104
8105# win32-dll
8106# ---------
8107# Declare package support for building win32 dll's.
8108LT_OPTION_DEFINE([LT_INIT], [win32-dll],
8109[enable_win32_dll=yes
8110
8111case $host in
8112*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
8113  AC_CHECK_TOOL(AS, as, false)
8114  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8115  AC_CHECK_TOOL(OBJDUMP, objdump, false)
8116  ;;
8117esac
8118
8119test -z "$AS" && AS=as
8120_LT_DECL([], [AS],      [1], [Assembler program])dnl
8121
8122test -z "$DLLTOOL" && DLLTOOL=dlltool
8123_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
8124
8125test -z "$OBJDUMP" && OBJDUMP=objdump
8126_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
8127])# win32-dll
8128
8129AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
8130[AC_REQUIRE([AC_CANONICAL_HOST])dnl
8131_LT_SET_OPTION([LT_INIT], [win32-dll])
8132AC_DIAGNOSE([obsolete],
8133[$0: Remove this warning and the call to _LT_SET_OPTION when you
8134put the `win32-dll' option into LT_INIT's first parameter.])
8135])
8136
8137dnl aclocal-1.4 backwards compatibility:
8138dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
8139
8140
8141# _LT_ENABLE_SHARED([DEFAULT])
8142# ----------------------------
8143# implement the --enable-shared flag, and supports the `shared' and
8144# `disable-shared' LT_INIT options.
8145# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
8146m4_define([_LT_ENABLE_SHARED],
8147[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
8148AC_ARG_ENABLE([shared],
8149    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
8150	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
8151    [p=${PACKAGE-default}
8152    case $enableval in
8153    yes) enable_shared=yes ;;
8154    no) enable_shared=no ;;
8155    *)
8156      enable_shared=no
8157      # Look at the argument we got.  We use all the common list separators.
8158      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8159      for pkg in $enableval; do
8160	IFS="$lt_save_ifs"
8161	if test "X$pkg" = "X$p"; then
8162	  enable_shared=yes
8163	fi
8164      done
8165      IFS="$lt_save_ifs"
8166      ;;
8167    esac],
8168    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
8169
8170    _LT_DECL([build_libtool_libs], [enable_shared], [0],
8171	[Whether or not to build shared libraries])
8172])# _LT_ENABLE_SHARED
8173
8174LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
8175LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
8176
8177# Old names:
8178AC_DEFUN([AC_ENABLE_SHARED],
8179[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
8180])
8181
8182AC_DEFUN([AC_DISABLE_SHARED],
8183[_LT_SET_OPTION([LT_INIT], [disable-shared])
8184])
8185
8186AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
8187AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
8188
8189dnl aclocal-1.4 backwards compatibility:
8190dnl AC_DEFUN([AM_ENABLE_SHARED], [])
8191dnl AC_DEFUN([AM_DISABLE_SHARED], [])
8192
8193
8194
8195# _LT_ENABLE_STATIC([DEFAULT])
8196# ----------------------------
8197# implement the --enable-static flag, and support the `static' and
8198# `disable-static' LT_INIT options.
8199# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
8200m4_define([_LT_ENABLE_STATIC],
8201[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
8202AC_ARG_ENABLE([static],
8203    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
8204	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
8205    [p=${PACKAGE-default}
8206    case $enableval in
8207    yes) enable_static=yes ;;
8208    no) enable_static=no ;;
8209    *)
8210     enable_static=no
8211      # Look at the argument we got.  We use all the common list separators.
8212      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8213      for pkg in $enableval; do
8214	IFS="$lt_save_ifs"
8215	if test "X$pkg" = "X$p"; then
8216	  enable_static=yes
8217	fi
8218      done
8219      IFS="$lt_save_ifs"
8220      ;;
8221    esac],
8222    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
8223
8224    _LT_DECL([build_old_libs], [enable_static], [0],
8225	[Whether or not to build static libraries])
8226])# _LT_ENABLE_STATIC
8227
8228LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
8229LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
8230
8231# Old names:
8232AC_DEFUN([AC_ENABLE_STATIC],
8233[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
8234])
8235
8236AC_DEFUN([AC_DISABLE_STATIC],
8237[_LT_SET_OPTION([LT_INIT], [disable-static])
8238])
8239
8240AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
8241AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
8242
8243dnl aclocal-1.4 backwards compatibility:
8244dnl AC_DEFUN([AM_ENABLE_STATIC], [])
8245dnl AC_DEFUN([AM_DISABLE_STATIC], [])
8246
8247
8248
8249# _LT_ENABLE_FAST_INSTALL([DEFAULT])
8250# ----------------------------------
8251# implement the --enable-fast-install flag, and support the `fast-install'
8252# and `disable-fast-install' LT_INIT options.
8253# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
8254m4_define([_LT_ENABLE_FAST_INSTALL],
8255[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
8256AC_ARG_ENABLE([fast-install],
8257    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
8258    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
8259    [p=${PACKAGE-default}
8260    case $enableval in
8261    yes) enable_fast_install=yes ;;
8262    no) enable_fast_install=no ;;
8263    *)
8264      enable_fast_install=no
8265      # Look at the argument we got.  We use all the common list separators.
8266      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8267      for pkg in $enableval; do
8268	IFS="$lt_save_ifs"
8269	if test "X$pkg" = "X$p"; then
8270	  enable_fast_install=yes
8271	fi
8272      done
8273      IFS="$lt_save_ifs"
8274      ;;
8275    esac],
8276    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
8277
8278_LT_DECL([fast_install], [enable_fast_install], [0],
8279	 [Whether or not to optimize for fast installation])dnl
8280])# _LT_ENABLE_FAST_INSTALL
8281
8282LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
8283LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
8284
8285# Old names:
8286AU_DEFUN([AC_ENABLE_FAST_INSTALL],
8287[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
8288AC_DIAGNOSE([obsolete],
8289[$0: Remove this warning and the call to _LT_SET_OPTION when you put
8290the `fast-install' option into LT_INIT's first parameter.])
8291])
8292
8293AU_DEFUN([AC_DISABLE_FAST_INSTALL],
8294[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
8295AC_DIAGNOSE([obsolete],
8296[$0: Remove this warning and the call to _LT_SET_OPTION when you put
8297the `disable-fast-install' option into LT_INIT's first parameter.])
8298])
8299
8300dnl aclocal-1.4 backwards compatibility:
8301dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
8302dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
8303
8304
8305# _LT_WITH_PIC([MODE])
8306# --------------------
8307# implement the --with-pic flag, and support the `pic-only' and `no-pic'
8308# LT_INIT options.
8309# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
8310m4_define([_LT_WITH_PIC],
8311[AC_ARG_WITH([pic],
8312    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
8313	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
8314    [lt_p=${PACKAGE-default}
8315    case $withval in
8316    yes|no) pic_mode=$withval ;;
8317    *)
8318      pic_mode=default
8319      # Look at the argument we got.  We use all the common list separators.
8320      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8321      for lt_pkg in $withval; do
8322	IFS="$lt_save_ifs"
8323	if test "X$lt_pkg" = "X$lt_p"; then
8324	  pic_mode=yes
8325	fi
8326      done
8327      IFS="$lt_save_ifs"
8328      ;;
8329    esac],
8330    [pic_mode=default])
8331
8332test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
8333
8334_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
8335])# _LT_WITH_PIC
8336
8337LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
8338LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
8339
8340# Old name:
8341AU_DEFUN([AC_LIBTOOL_PICMODE],
8342[_LT_SET_OPTION([LT_INIT], [pic-only])
8343AC_DIAGNOSE([obsolete],
8344[$0: Remove this warning and the call to _LT_SET_OPTION when you
8345put the `pic-only' option into LT_INIT's first parameter.])
8346])
8347
8348dnl aclocal-1.4 backwards compatibility:
8349dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
8350
8351
8352m4_define([_LTDL_MODE], [])
8353LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
8354		 [m4_define([_LTDL_MODE], [nonrecursive])])
8355LT_OPTION_DEFINE([LTDL_INIT], [recursive],
8356		 [m4_define([_LTDL_MODE], [recursive])])
8357LT_OPTION_DEFINE([LTDL_INIT], [subproject],
8358		 [m4_define([_LTDL_MODE], [subproject])])
8359
8360m4_define([_LTDL_TYPE], [])
8361LT_OPTION_DEFINE([LTDL_INIT], [installable],
8362		 [m4_define([_LTDL_TYPE], [installable])])
8363LT_OPTION_DEFINE([LTDL_INIT], [convenience],
8364		 [m4_define([_LTDL_TYPE], [convenience])])
8365
8366# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
8367#
8368# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
8369# Written by Gary V. Vaughan, 2004
8370#
8371# This file is free software; the Free Software Foundation gives
8372# unlimited permission to copy and/or distribute it, with or without
8373# modifications, as long as this notice is preserved.
8374
8375# serial 6 ltsugar.m4
8376
8377# This is to help aclocal find these macros, as it can't see m4_define.
8378AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
8379
8380
8381# lt_join(SEP, ARG1, [ARG2...])
8382# -----------------------------
8383# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
8384# associated separator.
8385# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
8386# versions in m4sugar had bugs.
8387m4_define([lt_join],
8388[m4_if([$#], [1], [],
8389       [$#], [2], [[$2]],
8390       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
8391m4_define([_lt_join],
8392[m4_if([$#$2], [2], [],
8393       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
8394
8395
8396# lt_car(LIST)
8397# lt_cdr(LIST)
8398# ------------
8399# Manipulate m4 lists.
8400# These macros are necessary as long as will still need to support
8401# Autoconf-2.59 which quotes differently.
8402m4_define([lt_car], [[$1]])
8403m4_define([lt_cdr],
8404[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
8405       [$#], 1, [],
8406       [m4_dquote(m4_shift($@))])])
8407m4_define([lt_unquote], $1)
8408
8409
8410# lt_append(MACRO-NAME, STRING, [SEPARATOR])
8411# ------------------------------------------
8412# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
8413# Note that neither SEPARATOR nor STRING are expanded; they are appended
8414# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
8415# No SEPARATOR is output if MACRO-NAME was previously undefined (different
8416# than defined and empty).
8417#
8418# This macro is needed until we can rely on Autoconf 2.62, since earlier
8419# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
8420m4_define([lt_append],
8421[m4_define([$1],
8422	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
8423
8424
8425
8426# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
8427# ----------------------------------------------------------
8428# Produce a SEP delimited list of all paired combinations of elements of
8429# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
8430# has the form PREFIXmINFIXSUFFIXn.
8431# Needed until we can rely on m4_combine added in Autoconf 2.62.
8432m4_define([lt_combine],
8433[m4_if(m4_eval([$# > 3]), [1],
8434       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
8435[[m4_foreach([_Lt_prefix], [$2],
8436	     [m4_foreach([_Lt_suffix],
8437		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
8438	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
8439
8440
8441# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
8442# -----------------------------------------------------------------------
8443# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
8444# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
8445m4_define([lt_if_append_uniq],
8446[m4_ifdef([$1],
8447	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
8448		 [lt_append([$1], [$2], [$3])$4],
8449		 [$5])],
8450	  [lt_append([$1], [$2], [$3])$4])])
8451
8452
8453# lt_dict_add(DICT, KEY, VALUE)
8454# -----------------------------
8455m4_define([lt_dict_add],
8456[m4_define([$1($2)], [$3])])
8457
8458
8459# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
8460# --------------------------------------------
8461m4_define([lt_dict_add_subkey],
8462[m4_define([$1($2:$3)], [$4])])
8463
8464
8465# lt_dict_fetch(DICT, KEY, [SUBKEY])
8466# ----------------------------------
8467m4_define([lt_dict_fetch],
8468[m4_ifval([$3],
8469	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
8470    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
8471
8472
8473# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
8474# -----------------------------------------------------------------
8475m4_define([lt_if_dict_fetch],
8476[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
8477	[$5],
8478    [$6])])
8479
8480
8481# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
8482# --------------------------------------------------------------
8483m4_define([lt_dict_filter],
8484[m4_if([$5], [], [],
8485  [lt_join(m4_quote(m4_default([$4], [[, ]])),
8486           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
8487		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
8488])
8489
8490# ltversion.m4 -- version numbers			-*- Autoconf -*-
8491#
8492#   Copyright (C) 2004 Free Software Foundation, Inc.
8493#   Written by Scott James Remnant, 2004
8494#
8495# This file is free software; the Free Software Foundation gives
8496# unlimited permission to copy and/or distribute it, with or without
8497# modifications, as long as this notice is preserved.
8498
8499# @configure_input@
8500
8501# serial 3337 ltversion.m4
8502# This file is part of GNU Libtool
8503
8504m4_define([LT_PACKAGE_VERSION], [2.4.2])
8505m4_define([LT_PACKAGE_REVISION], [1.3337])
8506
8507AC_DEFUN([LTVERSION_VERSION],
8508[macro_version='2.4.2'
8509macro_revision='1.3337'
8510_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
8511_LT_DECL(, macro_revision, 0)
8512])
8513
8514# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
8515#
8516#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
8517#   Written by Scott James Remnant, 2004.
8518#
8519# This file is free software; the Free Software Foundation gives
8520# unlimited permission to copy and/or distribute it, with or without
8521# modifications, as long as this notice is preserved.
8522
8523# serial 5 lt~obsolete.m4
8524
8525# These exist entirely to fool aclocal when bootstrapping libtool.
8526#
8527# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
8528# which have later been changed to m4_define as they aren't part of the
8529# exported API, or moved to Autoconf or Automake where they belong.
8530#
8531# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
8532# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
8533# using a macro with the same name in our local m4/libtool.m4 it'll
8534# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
8535# and doesn't know about Autoconf macros at all.)
8536#
8537# So we provide this file, which has a silly filename so it's always
8538# included after everything else.  This provides aclocal with the
8539# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
8540# because those macros already exist, or will be overwritten later.
8541# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
8542#
8543# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
8544# Yes, that means every name once taken will need to remain here until
8545# we give up compatibility with versions before 1.7, at which point
8546# we need to keep only those names which we still refer to.
8547
8548# This is to help aclocal find these macros, as it can't see m4_define.
8549AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
8550
8551m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
8552m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
8553m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
8554m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
8555m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
8556m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
8557m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
8558m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
8559m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
8560m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
8561m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
8562m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
8563m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
8564m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
8565m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
8566m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
8567m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
8568m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
8569m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
8570m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
8571m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
8572m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
8573m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
8574m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
8575m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
8576m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
8577m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
8578m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
8579m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
8580m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
8581m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
8582m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
8583m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
8584m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
8585m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
8586m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
8587m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
8588m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
8589m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
8590m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
8591m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
8592m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
8593m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
8594m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
8595m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
8596m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
8597m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
8598m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
8599m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
8600m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
8601m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
8602m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
8603m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
8604m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
8605m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
8606m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
8607m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
8608m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
8609m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
8610m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
8611m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
8612
8613# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
8614# serial 1 (pkg-config-0.24)
8615# 
8616# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
8617#
8618# This program is free software; you can redistribute it and/or modify
8619# it under the terms of the GNU General Public License as published by
8620# the Free Software Foundation; either version 2 of the License, or
8621# (at your option) any later version.
8622#
8623# This program is distributed in the hope that it will be useful, but
8624# WITHOUT ANY WARRANTY; without even the implied warranty of
8625# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
8626# General Public License for more details.
8627#
8628# You should have received a copy of the GNU General Public License
8629# along with this program; if not, write to the Free Software
8630# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
8631#
8632# As a special exception to the GNU General Public License, if you
8633# distribute this file as part of a program that contains a
8634# configuration script generated by Autoconf, you may include it under
8635# the same distribution terms that you use for the rest of that program.
8636
8637# PKG_PROG_PKG_CONFIG([MIN-VERSION])
8638# ----------------------------------
8639AC_DEFUN([PKG_PROG_PKG_CONFIG],
8640[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
8641m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
8642m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
8643AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
8644AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
8645AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
8646
8647if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
8648	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
8649fi
8650if test -n "$PKG_CONFIG"; then
8651	_pkg_min_version=m4_default([$1], [0.9.0])
8652	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
8653	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
8654		AC_MSG_RESULT([yes])
8655	else
8656		AC_MSG_RESULT([no])
8657		PKG_CONFIG=""
8658	fi
8659fi[]dnl
8660])# PKG_PROG_PKG_CONFIG
8661
8662# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
8663#
8664# Check to see whether a particular set of modules exists.  Similar
8665# to PKG_CHECK_MODULES(), but does not set variables or print errors.
8666#
8667# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
8668# only at the first occurence in configure.ac, so if the first place
8669# it's called might be skipped (such as if it is within an "if", you
8670# have to call PKG_CHECK_EXISTS manually
8671# --------------------------------------------------------------
8672AC_DEFUN([PKG_CHECK_EXISTS],
8673[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
8674if test -n "$PKG_CONFIG" && \
8675    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
8676  m4_default([$2], [:])
8677m4_ifvaln([$3], [else
8678  $3])dnl
8679fi])
8680
8681# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
8682# ---------------------------------------------
8683m4_define([_PKG_CONFIG],
8684[if test -n "$$1"; then
8685    pkg_cv_[]$1="$$1"
8686 elif test -n "$PKG_CONFIG"; then
8687    PKG_CHECK_EXISTS([$3],
8688                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
8689		      test "x$?" != "x0" && pkg_failed=yes ],
8690		     [pkg_failed=yes])
8691 else
8692    pkg_failed=untried
8693fi[]dnl
8694])# _PKG_CONFIG
8695
8696# _PKG_SHORT_ERRORS_SUPPORTED
8697# -----------------------------
8698AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
8699[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
8700if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
8701        _pkg_short_errors_supported=yes
8702else
8703        _pkg_short_errors_supported=no
8704fi[]dnl
8705])# _PKG_SHORT_ERRORS_SUPPORTED
8706
8707
8708# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
8709# [ACTION-IF-NOT-FOUND])
8710#
8711#
8712# Note that if there is a possibility the first call to
8713# PKG_CHECK_MODULES might not happen, you should be sure to include an
8714# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
8715#
8716#
8717# --------------------------------------------------------------
8718AC_DEFUN([PKG_CHECK_MODULES],
8719[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
8720AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
8721AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
8722
8723pkg_failed=no
8724AC_MSG_CHECKING([for $1])
8725
8726_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
8727_PKG_CONFIG([$1][_LIBS], [libs], [$2])
8728
8729m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
8730and $1[]_LIBS to avoid the need to call pkg-config.
8731See the pkg-config man page for more details.])
8732
8733if test $pkg_failed = yes; then
8734   	AC_MSG_RESULT([no])
8735        _PKG_SHORT_ERRORS_SUPPORTED
8736        if test $_pkg_short_errors_supported = yes; then
8737	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
8738        else 
8739	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
8740        fi
8741	# Put the nasty error message in config.log where it belongs
8742	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
8743
8744	m4_default([$4], [AC_MSG_ERROR(
8745[Package requirements ($2) were not met:
8746
8747$$1_PKG_ERRORS
8748
8749Consider adjusting the PKG_CONFIG_PATH environment variable if you
8750installed software in a non-standard prefix.
8751
8752_PKG_TEXT])[]dnl
8753        ])
8754elif test $pkg_failed = untried; then
8755     	AC_MSG_RESULT([no])
8756	m4_default([$4], [AC_MSG_FAILURE(
8757[The pkg-config script could not be found or is too old.  Make sure it
8758is in your PATH or set the PKG_CONFIG environment variable to the full
8759path to pkg-config.
8760
8761_PKG_TEXT
8762
8763To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
8764        ])
8765else
8766	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
8767	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
8768        AC_MSG_RESULT([yes])
8769	$3
8770fi[]dnl
8771])# PKG_CHECK_MODULES
8772
8773
8774# PKG_INSTALLDIR(DIRECTORY)
8775# -------------------------
8776# Substitutes the variable pkgconfigdir as the location where a module
8777# should install pkg-config .pc files. By default the directory is
8778# $libdir/pkgconfig, but the default can be changed by passing
8779# DIRECTORY. The user can override through the --with-pkgconfigdir
8780# parameter.
8781AC_DEFUN([PKG_INSTALLDIR],
8782[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
8783m4_pushdef([pkg_description],
8784    [pkg-config installation directory @<:@]pkg_default[@:>@])
8785AC_ARG_WITH([pkgconfigdir],
8786    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
8787    [with_pkgconfigdir=]pkg_default)
8788AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
8789m4_popdef([pkg_default])
8790m4_popdef([pkg_description])
8791]) dnl PKG_INSTALLDIR
8792
8793
8794# PKG_NOARCH_INSTALLDIR(DIRECTORY)
8795# -------------------------
8796# Substitutes the variable noarch_pkgconfigdir as the location where a
8797# module should install arch-independent pkg-config .pc files. By
8798# default the directory is $datadir/pkgconfig, but the default can be
8799# changed by passing DIRECTORY. The user can override through the
8800# --with-noarch-pkgconfigdir parameter.
8801AC_DEFUN([PKG_NOARCH_INSTALLDIR],
8802[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
8803m4_pushdef([pkg_description],
8804    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
8805AC_ARG_WITH([noarch-pkgconfigdir],
8806    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
8807    [with_noarch_pkgconfigdir=]pkg_default)
8808AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
8809m4_popdef([pkg_default])
8810m4_popdef([pkg_description])
8811]) dnl PKG_NOARCH_INSTALLDIR
8812
8813dnl xorg-macros.m4.  Generated from xorg-macros.m4.in xorgversion.m4 by configure.
8814dnl
8815dnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
8816dnl 
8817dnl Permission is hereby granted, free of charge, to any person obtaining a
8818dnl copy of this software and associated documentation files (the "Software"),
8819dnl to deal in the Software without restriction, including without limitation
8820dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
8821dnl and/or sell copies of the Software, and to permit persons to whom the
8822dnl Software is furnished to do so, subject to the following conditions:
8823dnl
8824dnl The above copyright notice and this permission notice (including the next
8825dnl paragraph) shall be included in all copies or substantial portions of the
8826dnl Software.
8827dnl
8828dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8829dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
8830dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
8831dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
8832dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
8833dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
8834dnl DEALINGS IN THE SOFTWARE.
8835
8836# XORG_MACROS_VERSION(required-version)
8837# -------------------------------------
8838# Minimum version: 1.1.0
8839#
8840# If you're using a macro added in Version 1.1 or newer, include this in
8841# your configure.ac with the minimum required version, such as:
8842# XORG_MACROS_VERSION(1.1)
8843#
8844# To ensure that this macro is defined, also add:
8845# m4_ifndef([XORG_MACROS_VERSION],
8846#     [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
8847#
8848#
8849# See the "minimum version" comment for each macro you use to see what 
8850# version you require.
8851m4_defun([XORG_MACROS_VERSION],[
8852m4_define([vers_have], [1.17])
8853m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
8854m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
8855m4_if(m4_cmp(maj_have, maj_needed), 0,,
8856    [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
8857m4_if(m4_version_compare(vers_have, [$1]), -1,
8858    [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
8859m4_undefine([vers_have])
8860m4_undefine([maj_have])
8861m4_undefine([maj_needed])
8862]) # XORG_MACROS_VERSION
8863
8864# XORG_PROG_RAWCPP()
8865# ------------------
8866# Minimum version: 1.0.0
8867#
8868# Find cpp program and necessary flags for use in pre-processing text files
8869# such as man pages and config files
8870AC_DEFUN([XORG_PROG_RAWCPP],[
8871AC_REQUIRE([AC_PROG_CPP])
8872AC_PATH_PROGS(RAWCPP, [cpp], [${CPP}], 
8873   [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
8874
8875# Check for flag to avoid builtin definitions - assumes unix is predefined,
8876# which is not the best choice for supporting other OS'es, but covers most
8877# of the ones we need for now.
8878AC_MSG_CHECKING([if $RAWCPP requires -undef])
8879AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp redefine unix ?]])])
8880if test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
8881	AC_MSG_RESULT([no])
8882else
8883	if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
8884		RAWCPPFLAGS=-undef
8885		AC_MSG_RESULT([yes])
8886	# under Cygwin unix is still defined even with -undef
8887	elif test `${RAWCPP} -undef -ansi < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
8888		RAWCPPFLAGS="-undef -ansi"
8889		AC_MSG_RESULT([yes, with -ansi])
8890	else
8891		AC_MSG_ERROR([${RAWCPP} defines unix with or without -undef.  I don't know what to do.])
8892	fi
8893fi
8894rm -f conftest.$ac_ext
8895
8896AC_MSG_CHECKING([if $RAWCPP requires -traditional])
8897AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp preserve   "whitespace"?]])])
8898if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
8899	AC_MSG_RESULT([no])
8900else
8901	if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
8902		RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
8903		AC_MSG_RESULT([yes])
8904	else
8905		AC_MSG_ERROR([${RAWCPP} does not preserve whitespace with or without -traditional.  I don't know what to do.])
8906	fi
8907fi
8908rm -f conftest.$ac_ext
8909AC_SUBST(RAWCPPFLAGS)
8910]) # XORG_PROG_RAWCPP
8911
8912# XORG_MANPAGE_SECTIONS()
8913# -----------------------
8914# Minimum version: 1.0.0
8915#
8916# Determine which sections man pages go in for the different man page types
8917# on this OS - replaces *ManSuffix settings in old Imake *.cf per-os files.
8918# Not sure if there's any better way than just hardcoding by OS name.
8919# Override default settings by setting environment variables
8920# Added MAN_SUBSTS in version 1.8
8921# Added AC_PROG_SED in version 1.8
8922
8923AC_DEFUN([XORG_MANPAGE_SECTIONS],[
8924AC_REQUIRE([AC_CANONICAL_HOST])
8925AC_REQUIRE([AC_PROG_SED])
8926
8927if test x$APP_MAN_SUFFIX = x    ; then
8928    APP_MAN_SUFFIX=1
8929fi
8930if test x$APP_MAN_DIR = x    ; then
8931    APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)'
8932fi
8933
8934if test x$LIB_MAN_SUFFIX = x    ; then
8935    LIB_MAN_SUFFIX=3
8936fi
8937if test x$LIB_MAN_DIR = x    ; then
8938    LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)'
8939fi
8940
8941if test x$FILE_MAN_SUFFIX = x    ; then
8942    case $host_os in
8943	solaris*)	FILE_MAN_SUFFIX=4  ;;
8944	*)		FILE_MAN_SUFFIX=5  ;;
8945    esac
8946fi
8947if test x$FILE_MAN_DIR = x    ; then
8948    FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)'
8949fi
8950
8951if test x$MISC_MAN_SUFFIX = x    ; then
8952    case $host_os in
8953	solaris*)	MISC_MAN_SUFFIX=5  ;;
8954	*)		MISC_MAN_SUFFIX=7  ;;
8955    esac
8956fi
8957if test x$MISC_MAN_DIR = x    ; then
8958    MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)'
8959fi
8960
8961if test x$DRIVER_MAN_SUFFIX = x    ; then
8962    case $host_os in
8963	solaris*)	DRIVER_MAN_SUFFIX=7  ;;
8964	*)		DRIVER_MAN_SUFFIX=4  ;;
8965    esac
8966fi
8967if test x$DRIVER_MAN_DIR = x    ; then
8968    DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)'
8969fi
8970
8971if test x$ADMIN_MAN_SUFFIX = x    ; then
8972    case $host_os in
8973	solaris*)	ADMIN_MAN_SUFFIX=1m ;;
8974	*)		ADMIN_MAN_SUFFIX=8  ;;
8975    esac
8976fi
8977if test x$ADMIN_MAN_DIR = x    ; then
8978    ADMIN_MAN_DIR='$(mandir)/man$(ADMIN_MAN_SUFFIX)'
8979fi
8980
8981
8982AC_SUBST([APP_MAN_SUFFIX])
8983AC_SUBST([LIB_MAN_SUFFIX])
8984AC_SUBST([FILE_MAN_SUFFIX])
8985AC_SUBST([MISC_MAN_SUFFIX])
8986AC_SUBST([DRIVER_MAN_SUFFIX])
8987AC_SUBST([ADMIN_MAN_SUFFIX])
8988AC_SUBST([APP_MAN_DIR])
8989AC_SUBST([LIB_MAN_DIR])
8990AC_SUBST([FILE_MAN_DIR])
8991AC_SUBST([MISC_MAN_DIR])
8992AC_SUBST([DRIVER_MAN_DIR])
8993AC_SUBST([ADMIN_MAN_DIR])
8994
8995XORG_MAN_PAGE="X Version 11"
8996AC_SUBST([XORG_MAN_PAGE])
8997MAN_SUBSTS="\
8998	-e 's|__vendorversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
8999	-e 's|__xorgversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
9000	-e 's|__xservername__|Xorg|g' \
9001	-e 's|__xconfigfile__|xorg.conf|g' \
9002	-e 's|__projectroot__|\$(prefix)|g' \
9003	-e 's|__apploaddir__|\$(appdefaultdir)|g' \
9004	-e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \
9005	-e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \
9006	-e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \
9007	-e 's|__libmansuffix__|\$(LIB_MAN_SUFFIX)|g' \
9008	-e 's|__miscmansuffix__|\$(MISC_MAN_SUFFIX)|g' \
9009	-e 's|__filemansuffix__|\$(FILE_MAN_SUFFIX)|g'"
9010AC_SUBST([MAN_SUBSTS])
9011
9012]) # XORG_MANPAGE_SECTIONS
9013
9014# XORG_CHECK_SGML_DOCTOOLS([MIN-VERSION])
9015# ------------------------
9016# Minimum version: 1.7.0
9017#
9018# Defines the variable XORG_SGML_PATH containing the location of X11/defs.ent
9019# provided by xorg-sgml-doctools, if installed.
9020AC_DEFUN([XORG_CHECK_SGML_DOCTOOLS],[
9021AC_MSG_CHECKING([for X.Org SGML entities m4_ifval([$1],[>= $1])])
9022XORG_SGML_PATH=
9023PKG_CHECK_EXISTS([xorg-sgml-doctools m4_ifval([$1],[>= $1])],
9024    [XORG_SGML_PATH=`$PKG_CONFIG --variable=sgmlrootdir xorg-sgml-doctools`],
9025    [m4_ifval([$1],[:],
9026        [if test x"$cross_compiling" != x"yes" ; then
9027            AC_CHECK_FILE([$prefix/share/sgml/X11/defs.ent],
9028                          [XORG_SGML_PATH=$prefix/share/sgml])
9029         fi])
9030    ])
9031
9032# Define variables STYLESHEET_SRCDIR and XSL_STYLESHEET containing
9033# the path and the name of the doc stylesheet
9034if test "x$XORG_SGML_PATH" != "x" ; then
9035   AC_MSG_RESULT([$XORG_SGML_PATH])
9036   STYLESHEET_SRCDIR=$XORG_SGML_PATH/X11
9037   XSL_STYLESHEET=$STYLESHEET_SRCDIR/xorg.xsl
9038else
9039   AC_MSG_RESULT([no])
9040fi
9041
9042AC_SUBST(XORG_SGML_PATH)
9043AC_SUBST(STYLESHEET_SRCDIR)
9044AC_SUBST(XSL_STYLESHEET)
9045AM_CONDITIONAL([HAVE_STYLESHEETS], [test "x$XSL_STYLESHEET" != "x"])
9046]) # XORG_CHECK_SGML_DOCTOOLS
9047
9048# XORG_CHECK_LINUXDOC
9049# -------------------
9050# Minimum version: 1.0.0
9051#
9052# Defines the variable MAKE_TEXT if the necessary tools and
9053# files are found. $(MAKE_TEXT) blah.sgml will then produce blah.txt.
9054# Whether or not the necessary tools and files are found can be checked
9055# with the AM_CONDITIONAL "BUILD_LINUXDOC"
9056AC_DEFUN([XORG_CHECK_LINUXDOC],[
9057AC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
9058AC_REQUIRE([XORG_WITH_PS2PDF])
9059
9060AC_PATH_PROG(LINUXDOC, linuxdoc)
9061
9062AC_MSG_CHECKING([whether to build documentation])
9063
9064if test x$XORG_SGML_PATH != x && test x$LINUXDOC != x ; then
9065   BUILDDOC=yes
9066else
9067   BUILDDOC=no
9068fi
9069
9070AM_CONDITIONAL(BUILD_LINUXDOC, [test x$BUILDDOC = xyes])
9071
9072AC_MSG_RESULT([$BUILDDOC])
9073
9074AC_MSG_CHECKING([whether to build pdf documentation])
9075
9076if test x$have_ps2pdf != xno && test x$BUILD_PDFDOC != xno; then
9077   BUILDPDFDOC=yes
9078else
9079   BUILDPDFDOC=no
9080fi
9081
9082AM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
9083
9084AC_MSG_RESULT([$BUILDPDFDOC])
9085
9086MAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH GROFF_NO_SGR=y $LINUXDOC -B txt -f"
9087MAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B latex --papersize=letter --output=ps"
9088MAKE_PDF="$PS2PDF"
9089MAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC  -B html --split=0"
9090
9091AC_SUBST(MAKE_TEXT)
9092AC_SUBST(MAKE_PS)
9093AC_SUBST(MAKE_PDF)
9094AC_SUBST(MAKE_HTML)
9095]) # XORG_CHECK_LINUXDOC
9096
9097# XORG_CHECK_DOCBOOK
9098# -------------------
9099# Minimum version: 1.0.0
9100#
9101# Checks for the ability to build output formats from SGML DocBook source.
9102# For XXX in {TXT, PDF, PS, HTML}, the AM_CONDITIONAL "BUILD_XXXDOC"
9103# indicates whether the necessary tools and files are found and, if set,
9104# $(MAKE_XXX) blah.sgml will produce blah.xxx.
9105AC_DEFUN([XORG_CHECK_DOCBOOK],[
9106AC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
9107
9108BUILDTXTDOC=no
9109BUILDPDFDOC=no
9110BUILDPSDOC=no
9111BUILDHTMLDOC=no
9112
9113AC_PATH_PROG(DOCBOOKPS, docbook2ps)
9114AC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
9115AC_PATH_PROG(DOCBOOKHTML, docbook2html)
9116AC_PATH_PROG(DOCBOOKTXT, docbook2txt)
9117
9118AC_MSG_CHECKING([whether to build text documentation])
9119if test x$XORG_SGML_PATH != x && test x$DOCBOOKTXT != x &&
9120   test x$BUILD_TXTDOC != xno; then
9121	BUILDTXTDOC=yes
9122fi
9123AM_CONDITIONAL(BUILD_TXTDOC, [test x$BUILDTXTDOC = xyes])
9124AC_MSG_RESULT([$BUILDTXTDOC])
9125
9126AC_MSG_CHECKING([whether to build PDF documentation])
9127if test x$XORG_SGML_PATH != x && test x$DOCBOOKPDF != x &&
9128   test x$BUILD_PDFDOC != xno; then
9129	BUILDPDFDOC=yes
9130fi
9131AM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
9132AC_MSG_RESULT([$BUILDPDFDOC])
9133
9134AC_MSG_CHECKING([whether to build PostScript documentation])
9135if test x$XORG_SGML_PATH != x && test x$DOCBOOKPS != x &&
9136   test x$BUILD_PSDOC != xno; then
9137	BUILDPSDOC=yes
9138fi
9139AM_CONDITIONAL(BUILD_PSDOC, [test x$BUILDPSDOC = xyes])
9140AC_MSG_RESULT([$BUILDPSDOC])
9141
9142AC_MSG_CHECKING([whether to build HTML documentation])
9143if test x$XORG_SGML_PATH != x && test x$DOCBOOKHTML != x &&
9144   test x$BUILD_HTMLDOC != xno; then
9145	BUILDHTMLDOC=yes
9146fi
9147AM_CONDITIONAL(BUILD_HTMLDOC, [test x$BUILDHTMLDOC = xyes])
9148AC_MSG_RESULT([$BUILDHTMLDOC])
9149
9150MAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKTXT"
9151MAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPS"
9152MAKE_PDF="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPDF"
9153MAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKHTML"
9154
9155AC_SUBST(MAKE_TEXT)
9156AC_SUBST(MAKE_PS)
9157AC_SUBST(MAKE_PDF)
9158AC_SUBST(MAKE_HTML)
9159]) # XORG_CHECK_DOCBOOK
9160
9161# XORG_WITH_XMLTO([MIN-VERSION], [DEFAULT])
9162# ----------------
9163# Minimum version: 1.5.0
9164# Minimum version for optional DEFAULT argument: 1.11.0
9165#
9166# Documentation tools are not always available on all platforms and sometimes
9167# not at the appropriate level. This macro enables a module to test for the
9168# presence of the tool and obtain it's path in separate variables. Coupled with
9169# the --with-xmlto option, it allows maximum flexibilty in making decisions
9170# as whether or not to use the xmlto package. When DEFAULT is not specified,
9171# --with-xmlto assumes 'auto'.
9172#
9173# Interface to module:
9174# HAVE_XMLTO: 	used in makefiles to conditionally generate documentation
9175# XMLTO:	returns the path of the xmlto program found
9176#		returns the path set by the user in the environment
9177# --with-xmlto:	'yes' user instructs the module to use xmlto
9178#		'no' user instructs the module not to use xmlto
9179#
9180# Added in version 1.10.0
9181# HAVE_XMLTO_TEXT: used in makefiles to conditionally generate text documentation
9182#                  xmlto for text output requires either lynx, links, or w3m browsers
9183#
9184# If the user sets the value of XMLTO, AC_PATH_PROG skips testing the path.
9185#
9186AC_DEFUN([XORG_WITH_XMLTO],[
9187AC_ARG_VAR([XMLTO], [Path to xmlto command])
9188m4_define([_defopt], m4_default([$2], [auto]))
9189AC_ARG_WITH(xmlto,
9190	AS_HELP_STRING([--with-xmlto],
9191	   [Use xmlto to regenerate documentation (default: ]_defopt[)]),
9192	   [use_xmlto=$withval], [use_xmlto=]_defopt)
9193m4_undefine([_defopt])
9194
9195if test "x$use_xmlto" = x"auto"; then
9196   AC_PATH_PROG([XMLTO], [xmlto])
9197   if test "x$XMLTO" = "x"; then
9198        AC_MSG_WARN([xmlto not found - documentation targets will be skipped])
9199	have_xmlto=no
9200   else
9201        have_xmlto=yes
9202   fi
9203elif test "x$use_xmlto" = x"yes" ; then
9204   AC_PATH_PROG([XMLTO], [xmlto])
9205   if test "x$XMLTO" = "x"; then
9206        AC_MSG_ERROR([--with-xmlto=yes specified but xmlto not found in PATH])
9207   fi
9208   have_xmlto=yes
9209elif test "x$use_xmlto" = x"no" ; then
9210   if test "x$XMLTO" != "x"; then
9211      AC_MSG_WARN([ignoring XMLTO environment variable since --with-xmlto=no was specified])
9212   fi
9213   have_xmlto=no
9214else
9215   AC_MSG_ERROR([--with-xmlto expects 'yes' or 'no'])
9216fi
9217
9218# Test for a minimum version of xmlto, if provided.
9219m4_ifval([$1],
9220[if test "$have_xmlto" = yes; then
9221    # scrape the xmlto version
9222    AC_MSG_CHECKING([the xmlto version])
9223    xmlto_version=`$XMLTO --version 2>/dev/null | cut -d' ' -f3`
9224    AC_MSG_RESULT([$xmlto_version])
9225    AS_VERSION_COMPARE([$xmlto_version], [$1],
9226        [if test "x$use_xmlto" = xauto; then
9227            AC_MSG_WARN([xmlto version $xmlto_version found, but $1 needed])
9228            have_xmlto=no
9229        else
9230            AC_MSG_ERROR([xmlto version $xmlto_version found, but $1 needed])
9231        fi])
9232fi])
9233
9234# Test for the ability of xmlto to generate a text target
9235have_xmlto_text=no
9236cat > conftest.xml << "EOF"
9237EOF
9238AS_IF([test "$have_xmlto" = yes],
9239      [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
9240             [have_xmlto_text=yes],
9241             [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])
9242rm -f conftest.xml
9243AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
9244AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
9245]) # XORG_WITH_XMLTO
9246
9247# XORG_WITH_XSLTPROC([MIN-VERSION], [DEFAULT])
9248# --------------------------------------------
9249# Minimum version: 1.12.0
9250# Minimum version for optional DEFAULT argument: 1.12.0
9251#
9252# XSLT (Extensible Stylesheet Language Transformations) is a declarative,
9253# XML-based language used for the transformation of XML documents.
9254# The xsltproc command line tool is for applying XSLT stylesheets to XML documents.
9255# It is used under the cover by xmlto to generate html files from DocBook/XML.
9256# The XSLT processor is often used as a standalone tool for transformations.
9257# It should not be assumed that this tool is used only to work with documnetation.
9258# When DEFAULT is not specified, --with-xsltproc assumes 'auto'.
9259#
9260# Interface to module:
9261# HAVE_XSLTPROC: used in makefiles to conditionally generate documentation
9262# XSLTPROC:	 returns the path of the xsltproc program found
9263#		 returns the path set by the user in the environment
9264# --with-xsltproc: 'yes' user instructs the module to use xsltproc
9265#		  'no' user instructs the module not to use xsltproc
9266# have_xsltproc: returns yes if xsltproc found in PATH or no
9267#
9268# If the user sets the value of XSLTPROC, AC_PATH_PROG skips testing the path.
9269#
9270AC_DEFUN([XORG_WITH_XSLTPROC],[
9271AC_ARG_VAR([XSLTPROC], [Path to xsltproc command])
9272# Preserves the interface, should it be implemented later
9273m4_ifval([$1], [m4_warn([syntax], [Checking for xsltproc MIN-VERSION is not implemented])])
9274m4_define([_defopt], m4_default([$2], [auto]))
9275AC_ARG_WITH(xsltproc,
9276	AS_HELP_STRING([--with-xsltproc],
9277	   [Use xsltproc for the transformation of XML documents (default: ]_defopt[)]),
9278	   [use_xsltproc=$withval], [use_xsltproc=]_defopt)
9279m4_undefine([_defopt])
9280
9281if test "x$use_xsltproc" = x"auto"; then
9282   AC_PATH_PROG([XSLTPROC], [xsltproc])
9283   if test "x$XSLTPROC" = "x"; then
9284        AC_MSG_WARN([xsltproc not found - cannot transform XML documents])
9285	have_xsltproc=no
9286   else
9287        have_xsltproc=yes
9288   fi
9289elif test "x$use_xsltproc" = x"yes" ; then
9290   AC_PATH_PROG([XSLTPROC], [xsltproc])
9291   if test "x$XSLTPROC" = "x"; then
9292        AC_MSG_ERROR([--with-xsltproc=yes specified but xsltproc not found in PATH])
9293   fi
9294   have_xsltproc=yes
9295elif test "x$use_xsltproc" = x"no" ; then
9296   if test "x$XSLTPROC" != "x"; then
9297      AC_MSG_WARN([ignoring XSLTPROC environment variable since --with-xsltproc=no was specified])
9298   fi
9299   have_xsltproc=no
9300else
9301   AC_MSG_ERROR([--with-xsltproc expects 'yes' or 'no'])
9302fi
9303
9304AM_CONDITIONAL([HAVE_XSLTPROC], [test "$have_xsltproc" = yes])
9305]) # XORG_WITH_XSLTPROC
9306
9307# XORG_WITH_PERL([MIN-VERSION], [DEFAULT])
9308# ----------------------------------------
9309# Minimum version: 1.15.0
9310#
9311# PERL (Practical Extraction and Report Language) is a language optimized for
9312# scanning arbitrary text files, extracting information from those text files,
9313# and printing reports based on that information.
9314#
9315# When DEFAULT is not specified, --with-perl assumes 'auto'.
9316#
9317# Interface to module:
9318# HAVE_PERL: used in makefiles to conditionally scan text files
9319# PERL:	     returns the path of the perl program found
9320#	     returns the path set by the user in the environment
9321# --with-perl: 'yes' user instructs the module to use perl
9322#	       'no' user instructs the module not to use perl
9323# have_perl: returns yes if perl found in PATH or no
9324#
9325# If the user sets the value of PERL, AC_PATH_PROG skips testing the path.
9326#
9327AC_DEFUN([XORG_WITH_PERL],[
9328AC_ARG_VAR([PERL], [Path to perl command])
9329# Preserves the interface, should it be implemented later
9330m4_ifval([$1], [m4_warn([syntax], [Checking for perl MIN-VERSION is not implemented])])
9331m4_define([_defopt], m4_default([$2], [auto]))
9332AC_ARG_WITH(perl,
9333	AS_HELP_STRING([--with-perl],
9334	   [Use perl for extracting information from files (default: ]_defopt[)]),
9335	   [use_perl=$withval], [use_perl=]_defopt)
9336m4_undefine([_defopt])
9337
9338if test "x$use_perl" = x"auto"; then
9339   AC_PATH_PROG([PERL], [perl])
9340   if test "x$PERL" = "x"; then
9341        AC_MSG_WARN([perl not found - cannot extract information and report])
9342	have_perl=no
9343   else
9344        have_perl=yes
9345   fi
9346elif test "x$use_perl" = x"yes" ; then
9347   AC_PATH_PROG([PERL], [perl])
9348   if test "x$PERL" = "x"; then
9349        AC_MSG_ERROR([--with-perl=yes specified but perl not found in PATH])
9350   fi
9351   have_perl=yes
9352elif test "x$use_perl" = x"no" ; then
9353   if test "x$PERL" != "x"; then
9354      AC_MSG_WARN([ignoring PERL environment variable since --with-perl=no was specified])
9355   fi
9356   have_perl=no
9357else
9358   AC_MSG_ERROR([--with-perl expects 'yes' or 'no'])
9359fi
9360
9361AM_CONDITIONAL([HAVE_PERL], [test "$have_perl" = yes])
9362]) # XORG_WITH_PERL
9363
9364# XORG_WITH_ASCIIDOC([MIN-VERSION], [DEFAULT])
9365# ----------------
9366# Minimum version: 1.5.0
9367# Minimum version for optional DEFAULT argument: 1.11.0
9368#
9369# Documentation tools are not always available on all platforms and sometimes
9370# not at the appropriate level. This macro enables a module to test for the
9371# presence of the tool and obtain it's path in separate variables. Coupled with
9372# the --with-asciidoc option, it allows maximum flexibilty in making decisions
9373# as whether or not to use the asciidoc package. When DEFAULT is not specified,
9374# --with-asciidoc assumes 'auto'.
9375#
9376# Interface to module:
9377# HAVE_ASCIIDOC: used in makefiles to conditionally generate documentation
9378# ASCIIDOC:	 returns the path of the asciidoc program found
9379#		 returns the path set by the user in the environment
9380# --with-asciidoc: 'yes' user instructs the module to use asciidoc
9381#		  'no' user instructs the module not to use asciidoc
9382#
9383# If the user sets the value of ASCIIDOC, AC_PATH_PROG skips testing the path.
9384#
9385AC_DEFUN([XORG_WITH_ASCIIDOC],[
9386AC_ARG_VAR([ASCIIDOC], [Path to asciidoc command])
9387m4_define([_defopt], m4_default([$2], [auto]))
9388AC_ARG_WITH(asciidoc,
9389	AS_HELP_STRING([--with-asciidoc],
9390	   [Use asciidoc to regenerate documentation (default: ]_defopt[)]),
9391	   [use_asciidoc=$withval], [use_asciidoc=]_defopt)
9392m4_undefine([_defopt])
9393
9394if test "x$use_asciidoc" = x"auto"; then
9395   AC_PATH_PROG([ASCIIDOC], [asciidoc])
9396   if test "x$ASCIIDOC" = "x"; then
9397        AC_MSG_WARN([asciidoc not found - documentation targets will be skipped])
9398	have_asciidoc=no
9399   else
9400        have_asciidoc=yes
9401   fi
9402elif test "x$use_asciidoc" = x"yes" ; then
9403   AC_PATH_PROG([ASCIIDOC], [asciidoc])
9404   if test "x$ASCIIDOC" = "x"; then
9405        AC_MSG_ERROR([--with-asciidoc=yes specified but asciidoc not found in PATH])
9406   fi
9407   have_asciidoc=yes
9408elif test "x$use_asciidoc" = x"no" ; then
9409   if test "x$ASCIIDOC" != "x"; then
9410      AC_MSG_WARN([ignoring ASCIIDOC environment variable since --with-asciidoc=no was specified])
9411   fi
9412   have_asciidoc=no
9413else
9414   AC_MSG_ERROR([--with-asciidoc expects 'yes' or 'no'])
9415fi
9416m4_ifval([$1],
9417[if test "$have_asciidoc" = yes; then
9418    # scrape the asciidoc version
9419    AC_MSG_CHECKING([the asciidoc version])
9420    asciidoc_version=`$ASCIIDOC --version 2>/dev/null | cut -d' ' -f2`
9421    AC_MSG_RESULT([$asciidoc_version])
9422    AS_VERSION_COMPARE([$asciidoc_version], [$1],
9423        [if test "x$use_asciidoc" = xauto; then
9424            AC_MSG_WARN([asciidoc version $asciidoc_version found, but $1 needed])
9425            have_asciidoc=no
9426        else
9427            AC_MSG_ERROR([asciidoc version $asciidoc_version found, but $1 needed])
9428        fi])
9429fi])
9430AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
9431]) # XORG_WITH_ASCIIDOC
9432
9433# XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT])
9434# --------------------------------
9435# Minimum version: 1.5.0
9436# Minimum version for optional DEFAULT argument: 1.11.0
9437#
9438# Documentation tools are not always available on all platforms and sometimes
9439# not at the appropriate level. This macro enables a module to test for the
9440# presence of the tool and obtain it's path in separate variables. Coupled with
9441# the --with-doxygen option, it allows maximum flexibilty in making decisions
9442# as whether or not to use the doxygen package. When DEFAULT is not specified,
9443# --with-doxygen assumes 'auto'.
9444#
9445# Interface to module:
9446# HAVE_DOXYGEN: used in makefiles to conditionally generate documentation
9447# DOXYGEN:	 returns the path of the doxygen program found
9448#		 returns the path set by the user in the environment
9449# --with-doxygen: 'yes' user instructs the module to use doxygen
9450#		  'no' user instructs the module not to use doxygen
9451#
9452# If the user sets the value of DOXYGEN, AC_PATH_PROG skips testing the path.
9453#
9454AC_DEFUN([XORG_WITH_DOXYGEN],[
9455AC_ARG_VAR([DOXYGEN], [Path to doxygen command])
9456m4_define([_defopt], m4_default([$2], [auto]))
9457AC_ARG_WITH(doxygen,
9458	AS_HELP_STRING([--with-doxygen],
9459	   [Use doxygen to regenerate documentation (default: ]_defopt[)]),
9460	   [use_doxygen=$withval], [use_doxygen=]_defopt)
9461m4_undefine([_defopt])
9462
9463if test "x$use_doxygen" = x"auto"; then
9464   AC_PATH_PROG([DOXYGEN], [doxygen])
9465   if test "x$DOXYGEN" = "x"; then
9466        AC_MSG_WARN([doxygen not found - documentation targets will be skipped])
9467	have_doxygen=no
9468   else
9469        have_doxygen=yes
9470   fi
9471elif test "x$use_doxygen" = x"yes" ; then
9472   AC_PATH_PROG([DOXYGEN], [doxygen])
9473   if test "x$DOXYGEN" = "x"; then
9474        AC_MSG_ERROR([--with-doxygen=yes specified but doxygen not found in PATH])
9475   fi
9476   have_doxygen=yes
9477elif test "x$use_doxygen" = x"no" ; then
9478   if test "x$DOXYGEN" != "x"; then
9479      AC_MSG_WARN([ignoring DOXYGEN environment variable since --with-doxygen=no was specified])
9480   fi
9481   have_doxygen=no
9482else
9483   AC_MSG_ERROR([--with-doxygen expects 'yes' or 'no'])
9484fi
9485m4_ifval([$1],
9486[if test "$have_doxygen" = yes; then
9487    # scrape the doxygen version
9488    AC_MSG_CHECKING([the doxygen version])
9489    doxygen_version=`$DOXYGEN --version 2>/dev/null`
9490    AC_MSG_RESULT([$doxygen_version])
9491    AS_VERSION_COMPARE([$doxygen_version], [$1],
9492        [if test "x$use_doxygen" = xauto; then
9493            AC_MSG_WARN([doxygen version $doxygen_version found, but $1 needed])
9494            have_doxygen=no
9495        else
9496            AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed])
9497        fi])
9498fi])
9499AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
9500]) # XORG_WITH_DOXYGEN
9501
9502# XORG_WITH_GROFF([DEFAULT])
9503# ----------------
9504# Minimum version: 1.6.0
9505# Minimum version for optional DEFAULT argument: 1.11.0
9506#
9507# Documentation tools are not always available on all platforms and sometimes
9508# not at the appropriate level. This macro enables a module to test for the
9509# presence of the tool and obtain it's path in separate variables. Coupled with
9510# the --with-groff option, it allows maximum flexibilty in making decisions
9511# as whether or not to use the groff package. When DEFAULT is not specified,
9512# --with-groff assumes 'auto'.
9513#
9514# Interface to module:
9515# HAVE_GROFF:	 used in makefiles to conditionally generate documentation
9516# HAVE_GROFF_MM: the memorandum macros (-mm) package
9517# HAVE_GROFF_MS: the -ms macros package
9518# GROFF:	 returns the path of the groff program found
9519#		 returns the path set by the user in the environment
9520# --with-groff:	 'yes' user instructs the module to use groff
9521#		 'no' user instructs the module not to use groff
9522#
9523# Added in version 1.9.0:
9524# HAVE_GROFF_HTML: groff has dependencies to output HTML format:
9525#		   pnmcut pnmcrop pnmtopng pnmtops from the netpbm package.
9526#		   psselect from the psutils package.
9527#		   the ghostcript package. Refer to the grohtml man pages
9528#
9529# If the user sets the value of GROFF, AC_PATH_PROG skips testing the path.
9530#
9531# OS and distros often splits groff in a basic and full package, the former
9532# having the groff program and the later having devices, fonts and macros
9533# Checking for the groff executable is not enough.
9534#
9535# If macros are missing, we cannot assume that groff is useless, so we don't
9536# unset HAVE_GROFF or GROFF env variables.
9537# HAVE_GROFF_?? can never be true while HAVE_GROFF is false.
9538#
9539AC_DEFUN([XORG_WITH_GROFF],[
9540AC_ARG_VAR([GROFF], [Path to groff command])
9541m4_define([_defopt], m4_default([$1], [auto]))
9542AC_ARG_WITH(groff,
9543	AS_HELP_STRING([--with-groff],
9544	   [Use groff to regenerate documentation (default: ]_defopt[)]),
9545	   [use_groff=$withval], [use_groff=]_defopt)
9546m4_undefine([_defopt])
9547
9548if test "x$use_groff" = x"auto"; then
9549   AC_PATH_PROG([GROFF], [groff])
9550   if test "x$GROFF" = "x"; then
9551        AC_MSG_WARN([groff not found - documentation targets will be skipped])
9552	have_groff=no
9553   else
9554        have_groff=yes
9555   fi
9556elif test "x$use_groff" = x"yes" ; then
9557   AC_PATH_PROG([GROFF], [groff])
9558   if test "x$GROFF" = "x"; then
9559        AC_MSG_ERROR([--with-groff=yes specified but groff not found in PATH])
9560   fi
9561   have_groff=yes
9562elif test "x$use_groff" = x"no" ; then
9563   if test "x$GROFF" != "x"; then
9564      AC_MSG_WARN([ignoring GROFF environment variable since --with-groff=no was specified])
9565   fi
9566   have_groff=no
9567else
9568   AC_MSG_ERROR([--with-groff expects 'yes' or 'no'])
9569fi
9570
9571# We have groff, test for the presence of the macro packages
9572if test "x$have_groff" = x"yes"; then
9573    AC_MSG_CHECKING([for ${GROFF} -ms macros])
9574    if ${GROFF} -ms -I. /dev/null >/dev/null 2>&1 ; then
9575        groff_ms_works=yes
9576    else
9577        groff_ms_works=no
9578    fi
9579    AC_MSG_RESULT([$groff_ms_works])
9580    AC_MSG_CHECKING([for ${GROFF} -mm macros])
9581    if ${GROFF} -mm -I. /dev/null >/dev/null 2>&1 ; then
9582        groff_mm_works=yes
9583    else
9584        groff_mm_works=no
9585    fi
9586    AC_MSG_RESULT([$groff_mm_works])
9587fi
9588
9589# We have groff, test for HTML dependencies, one command per package
9590if test "x$have_groff" = x"yes"; then
9591   AC_PATH_PROGS(GS_PATH, [gs gswin32c])
9592   AC_PATH_PROG(PNMTOPNG_PATH, [pnmtopng])
9593   AC_PATH_PROG(PSSELECT_PATH, [psselect])
9594   if test "x$GS_PATH" != "x" -a "x$PNMTOPNG_PATH" != "x" -a "x$PSSELECT_PATH" != "x"; then
9595      have_groff_html=yes
9596   else
9597      have_groff_html=no
9598      AC_MSG_WARN([grohtml dependencies not found - HTML Documentation skipped. Refer to grohtml man pages])
9599   fi
9600fi
9601
9602# Set Automake conditionals for Makefiles
9603AM_CONDITIONAL([HAVE_GROFF], [test "$have_groff" = yes])
9604AM_CONDITIONAL([HAVE_GROFF_MS], [test "$groff_ms_works" = yes])
9605AM_CONDITIONAL([HAVE_GROFF_MM], [test "$groff_mm_works" = yes])
9606AM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
9607]) # XORG_WITH_GROFF
9608
9609# XORG_WITH_FOP([MIN-VERSION], [DEFAULT])
9610# ---------------------------------------
9611# Minimum version: 1.6.0
9612# Minimum version for optional DEFAULT argument: 1.11.0
9613# Minimum version for optional MIN-VERSION argument: 1.15.0
9614#
9615# Documentation tools are not always available on all platforms and sometimes
9616# not at the appropriate level. This macro enables a module to test for the
9617# presence of the tool and obtain it's path in separate variables. Coupled with
9618# the --with-fop option, it allows maximum flexibilty in making decisions
9619# as whether or not to use the fop package. When DEFAULT is not specified,
9620# --with-fop assumes 'auto'.
9621#
9622# Interface to module:
9623# HAVE_FOP: 	used in makefiles to conditionally generate documentation
9624# FOP:	 	returns the path of the fop program found
9625#		returns the path set by the user in the environment
9626# --with-fop: 	'yes' user instructs the module to use fop
9627#		'no' user instructs the module not to use fop
9628#
9629# If the user sets the value of FOP, AC_PATH_PROG skips testing the path.
9630#
9631AC_DEFUN([XORG_WITH_FOP],[
9632AC_ARG_VAR([FOP], [Path to fop command])
9633m4_define([_defopt], m4_default([$2], [auto]))
9634AC_ARG_WITH(fop,
9635	AS_HELP_STRING([--with-fop],
9636	   [Use fop to regenerate documentation (default: ]_defopt[)]),
9637	   [use_fop=$withval], [use_fop=]_defopt)
9638m4_undefine([_defopt])
9639
9640if test "x$use_fop" = x"auto"; then
9641   AC_PATH_PROG([FOP], [fop])
9642   if test "x$FOP" = "x"; then
9643        AC_MSG_WARN([fop not found - documentation targets will be skipped])
9644	have_fop=no
9645   else
9646        have_fop=yes
9647   fi
9648elif test "x$use_fop" = x"yes" ; then
9649   AC_PATH_PROG([FOP], [fop])
9650   if test "x$FOP" = "x"; then
9651        AC_MSG_ERROR([--with-fop=yes specified but fop not found in PATH])
9652   fi
9653   have_fop=yes
9654elif test "x$use_fop" = x"no" ; then
9655   if test "x$FOP" != "x"; then
9656      AC_MSG_WARN([ignoring FOP environment variable since --with-fop=no was specified])
9657   fi
9658   have_fop=no
9659else
9660   AC_MSG_ERROR([--with-fop expects 'yes' or 'no'])
9661fi
9662
9663# Test for a minimum version of fop, if provided.
9664m4_ifval([$1],
9665[if test "$have_fop" = yes; then
9666    # scrape the fop version
9667    AC_MSG_CHECKING([for fop minimum version])
9668    fop_version=`$FOP -version 2>/dev/null | cut -d' ' -f3`
9669    AC_MSG_RESULT([$fop_version])
9670    AS_VERSION_COMPARE([$fop_version], [$1],
9671        [if test "x$use_fop" = xauto; then
9672            AC_MSG_WARN([fop version $fop_version found, but $1 needed])
9673            have_fop=no
9674        else
9675            AC_MSG_ERROR([fop version $fop_version found, but $1 needed])
9676        fi])
9677fi])
9678AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
9679]) # XORG_WITH_FOP
9680
9681# XORG_WITH_PS2PDF([DEFAULT])
9682# ----------------
9683# Minimum version: 1.6.0
9684# Minimum version for optional DEFAULT argument: 1.11.0
9685#
9686# Documentation tools are not always available on all platforms and sometimes
9687# not at the appropriate level. This macro enables a module to test for the
9688# presence of the tool and obtain it's path in separate variables. Coupled with
9689# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
9690# as whether or not to use the ps2pdf package. When DEFAULT is not specified,
9691# --with-ps2pdf assumes 'auto'.
9692#
9693# Interface to module:
9694# HAVE_PS2PDF: 	used in makefiles to conditionally generate documentation
9695# PS2PDF:	returns the path of the ps2pdf program found
9696#		returns the path set by the user in the environment
9697# --with-ps2pdf: 'yes' user instructs the module to use ps2pdf
9698#		 'no' user instructs the module not to use ps2pdf
9699#
9700# If the user sets the value of PS2PDF, AC_PATH_PROG skips testing the path.
9701#
9702AC_DEFUN([XORG_WITH_PS2PDF],[
9703AC_ARG_VAR([PS2PDF], [Path to ps2pdf command])
9704m4_define([_defopt], m4_default([$1], [auto]))
9705AC_ARG_WITH(ps2pdf,
9706	AS_HELP_STRING([--with-ps2pdf],
9707	   [Use ps2pdf to regenerate documentation (default: ]_defopt[)]),
9708	   [use_ps2pdf=$withval], [use_ps2pdf=]_defopt)
9709m4_undefine([_defopt])
9710
9711if test "x$use_ps2pdf" = x"auto"; then
9712   AC_PATH_PROG([PS2PDF], [ps2pdf])
9713   if test "x$PS2PDF" = "x"; then
9714        AC_MSG_WARN([ps2pdf not found - documentation targets will be skipped])
9715	have_ps2pdf=no
9716   else
9717        have_ps2pdf=yes
9718   fi
9719elif test "x$use_ps2pdf" = x"yes" ; then
9720   AC_PATH_PROG([PS2PDF], [ps2pdf])
9721   if test "x$PS2PDF" = "x"; then
9722        AC_MSG_ERROR([--with-ps2pdf=yes specified but ps2pdf not found in PATH])
9723   fi
9724   have_ps2pdf=yes
9725elif test "x$use_ps2pdf" = x"no" ; then
9726   if test "x$PS2PDF" != "x"; then
9727      AC_MSG_WARN([ignoring PS2PDF environment variable since --with-ps2pdf=no was specified])
9728   fi
9729   have_ps2pdf=no
9730else
9731   AC_MSG_ERROR([--with-ps2pdf expects 'yes' or 'no'])
9732fi
9733AM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
9734]) # XORG_WITH_PS2PDF
9735
9736# XORG_ENABLE_DOCS (enable_docs=yes)
9737# ----------------
9738# Minimum version: 1.6.0
9739#
9740# Documentation tools are not always available on all platforms and sometimes
9741# not at the appropriate level. This macro enables a builder to skip all
9742# documentation targets except traditional man pages.
9743# Combined with the specific tool checking macros XORG_WITH_*, it provides
9744# maximum flexibilty in controlling documentation building.
9745# Refer to:
9746# XORG_WITH_XMLTO         --with-xmlto
9747# XORG_WITH_ASCIIDOC      --with-asciidoc
9748# XORG_WITH_DOXYGEN       --with-doxygen
9749# XORG_WITH_FOP           --with-fop
9750# XORG_WITH_GROFF         --with-groff
9751# XORG_WITH_PS2PDF        --with-ps2pdf
9752#
9753# Interface to module:
9754# ENABLE_DOCS: 	  used in makefiles to conditionally generate documentation
9755# --enable-docs: 'yes' user instructs the module to generate docs
9756#		 'no' user instructs the module not to generate docs
9757# parm1:	specify the default value, yes or no.
9758#
9759AC_DEFUN([XORG_ENABLE_DOCS],[
9760m4_define([docs_default], m4_default([$1], [yes]))
9761AC_ARG_ENABLE(docs,
9762	AS_HELP_STRING([--enable-docs],
9763	   [Enable building the documentation (default: ]docs_default[)]),
9764	   [build_docs=$enableval], [build_docs=]docs_default)
9765m4_undefine([docs_default])
9766AM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes])
9767AC_MSG_CHECKING([whether to build documentation])
9768AC_MSG_RESULT([$build_docs])
9769]) # XORG_ENABLE_DOCS
9770
9771# XORG_ENABLE_DEVEL_DOCS (enable_devel_docs=yes)
9772# ----------------
9773# Minimum version: 1.6.0
9774#
9775# This macro enables a builder to skip all developer documentation.
9776# Combined with the specific tool checking macros XORG_WITH_*, it provides
9777# maximum flexibilty in controlling documentation building.
9778# Refer to:
9779# XORG_WITH_XMLTO         --with-xmlto
9780# XORG_WITH_ASCIIDOC      --with-asciidoc
9781# XORG_WITH_DOXYGEN       --with-doxygen
9782# XORG_WITH_FOP           --with-fop
9783# XORG_WITH_GROFF         --with-groff
9784# XORG_WITH_PS2PDF        --with-ps2pdf
9785#
9786# Interface to module:
9787# ENABLE_DEVEL_DOCS:	used in makefiles to conditionally generate developer docs
9788# --enable-devel-docs:	'yes' user instructs the module to generate developer docs
9789#			'no' user instructs the module not to generate developer docs
9790# parm1:		specify the default value, yes or no.
9791#
9792AC_DEFUN([XORG_ENABLE_DEVEL_DOCS],[
9793m4_define([devel_default], m4_default([$1], [yes]))
9794AC_ARG_ENABLE(devel-docs,
9795	AS_HELP_STRING([--enable-devel-docs],
9796	   [Enable building the developer documentation (default: ]devel_default[)]),
9797	   [build_devel_docs=$enableval], [build_devel_docs=]devel_default)
9798m4_undefine([devel_default])
9799AM_CONDITIONAL(ENABLE_DEVEL_DOCS, [test x$build_devel_docs = xyes])
9800AC_MSG_CHECKING([whether to build developer documentation])
9801AC_MSG_RESULT([$build_devel_docs])
9802]) # XORG_ENABLE_DEVEL_DOCS
9803
9804# XORG_ENABLE_SPECS (enable_specs=yes)
9805# ----------------
9806# Minimum version: 1.6.0
9807#
9808# This macro enables a builder to skip all functional specification targets.
9809# Combined with the specific tool checking macros XORG_WITH_*, it provides
9810# maximum flexibilty in controlling documentation building.
9811# Refer to:
9812# XORG_WITH_XMLTO         --with-xmlto
9813# XORG_WITH_ASCIIDOC      --with-asciidoc
9814# XORG_WITH_DOXYGEN       --with-doxygen
9815# XORG_WITH_FOP           --with-fop
9816# XORG_WITH_GROFF         --with-groff
9817# XORG_WITH_PS2PDF        --with-ps2pdf
9818#
9819# Interface to module:
9820# ENABLE_SPECS:		used in makefiles to conditionally generate specs
9821# --enable-specs:	'yes' user instructs the module to generate specs
9822#			'no' user instructs the module not to generate specs
9823# parm1:		specify the default value, yes or no.
9824#
9825AC_DEFUN([XORG_ENABLE_SPECS],[
9826m4_define([spec_default], m4_default([$1], [yes]))
9827AC_ARG_ENABLE(specs,
9828	AS_HELP_STRING([--enable-specs],
9829	   [Enable building the specs (default: ]spec_default[)]),
9830	   [build_specs=$enableval], [build_specs=]spec_default)
9831m4_undefine([spec_default])
9832AM_CONDITIONAL(ENABLE_SPECS, [test x$build_specs = xyes])
9833AC_MSG_CHECKING([whether to build functional specifications])
9834AC_MSG_RESULT([$build_specs])
9835]) # XORG_ENABLE_SPECS
9836
9837# XORG_ENABLE_UNIT_TESTS (enable_unit_tests=auto)
9838# ----------------------------------------------
9839# Minimum version: 1.13.0
9840#
9841# This macro enables a builder to enable/disable unit testing
9842# It makes no assumption about the test cases implementation
9843# Test cases may or may not use Automake "Support for test suites"
9844# They may or may not use the software utility library GLib
9845#
9846# When used in conjunction with XORG_WITH_GLIB, use both AM_CONDITIONAL
9847# ENABLE_UNIT_TESTS and HAVE_GLIB. Not all unit tests may use glib.
9848# The variable enable_unit_tests is used by other macros in this file.
9849#
9850# Interface to module:
9851# ENABLE_UNIT_TESTS:	used in makefiles to conditionally build tests
9852# enable_unit_tests:    used in configure.ac for additional configuration
9853# --enable-unit-tests:	'yes' user instructs the module to build tests
9854#			'no' user instructs the module not to build tests
9855# parm1:		specify the default value, yes or no.
9856#
9857AC_DEFUN([XORG_ENABLE_UNIT_TESTS],[
9858AC_BEFORE([$0], [XORG_WITH_GLIB])
9859AC_BEFORE([$0], [XORG_LD_WRAP])
9860AC_REQUIRE([XORG_MEMORY_CHECK_FLAGS])
9861m4_define([_defopt], m4_default([$1], [auto]))
9862AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
9863	[Enable building unit test cases (default: ]_defopt[)]),
9864	[enable_unit_tests=$enableval], [enable_unit_tests=]_defopt)
9865m4_undefine([_defopt])
9866AM_CONDITIONAL(ENABLE_UNIT_TESTS, [test "x$enable_unit_tests" != xno])
9867AC_MSG_CHECKING([whether to build unit test cases])
9868AC_MSG_RESULT([$enable_unit_tests])
9869]) # XORG_ENABLE_UNIT_TESTS
9870
9871# XORG_ENABLE_INTEGRATION_TESTS (enable_unit_tests=auto)
9872# ------------------------------------------------------
9873# Minimum version: 1.17.0
9874#
9875# This macro enables a builder to enable/disable integration testing
9876# It makes no assumption about the test cases' implementation
9877# Test cases may or may not use Automake "Support for test suites"
9878#
9879# Please see XORG_ENABLE_UNIT_TESTS for unit test support. Unit test support
9880# usually requires less dependencies and may be built and run under less
9881# stringent environments than integration tests.
9882#
9883# Interface to module:
9884# ENABLE_INTEGRATION_TESTS:   used in makefiles to conditionally build tests
9885# enable_integration_tests:   used in configure.ac for additional configuration
9886# --enable-integration-tests: 'yes' user instructs the module to build tests
9887#                             'no' user instructs the module not to build tests
9888# parm1:                      specify the default value, yes or no.
9889#
9890AC_DEFUN([XORG_ENABLE_INTEGRATION_TESTS],[
9891AC_REQUIRE([XORG_MEMORY_CHECK_FLAGS])
9892m4_define([_defopt], m4_default([$1], [auto]))
9893AC_ARG_ENABLE(integration-tests, AS_HELP_STRING([--enable-integration-tests],
9894	[Enable building integration test cases (default: ]_defopt[)]),
9895	[enable_integration_tests=$enableval],
9896	[enable_integration_tests=]_defopt)
9897m4_undefine([_defopt])
9898AM_CONDITIONAL([ENABLE_INTEGRATION_TESTS],
9899	[test "x$enable_integration_tests" != xno])
9900AC_MSG_CHECKING([whether to build unit test cases])
9901AC_MSG_RESULT([$enable_integration_tests])
9902]) # XORG_ENABLE_INTEGRATION_TESTS
9903
9904# XORG_WITH_GLIB([MIN-VERSION], [DEFAULT])
9905# ----------------------------------------
9906# Minimum version: 1.13.0
9907#
9908# GLib is a library which provides advanced data structures and functions.
9909# This macro enables a module to test for the presence of Glib.
9910#
9911# When used with ENABLE_UNIT_TESTS, it is assumed GLib is used for unit testing.
9912# Otherwise the value of $enable_unit_tests is blank.
9913#
9914# Please see XORG_ENABLE_INTEGRATION_TESTS for integration test support. Unit
9915# test support usually requires less dependencies and may be built and run under
9916# less stringent environments than integration tests.
9917#
9918# Interface to module:
9919# HAVE_GLIB: used in makefiles to conditionally build targets
9920# with_glib: used in configure.ac to know if GLib has been found
9921# --with-glib:	'yes' user instructs the module to use glib
9922#		'no' user instructs the module not to use glib
9923#
9924AC_DEFUN([XORG_WITH_GLIB],[
9925AC_REQUIRE([PKG_PROG_PKG_CONFIG])
9926m4_define([_defopt], m4_default([$2], [auto]))
9927AC_ARG_WITH(glib, AS_HELP_STRING([--with-glib],
9928	[Use GLib library for unit testing (default: ]_defopt[)]),
9929	[with_glib=$withval], [with_glib=]_defopt)
9930m4_undefine([_defopt])
9931
9932have_glib=no
9933# Do not probe GLib if user explicitly disabled unit testing
9934if test "x$enable_unit_tests" != x"no"; then
9935  # Do not probe GLib if user explicitly disabled it
9936  if test "x$with_glib" != x"no"; then
9937    m4_ifval(
9938      [$1],
9939      [PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $1], [have_glib=yes], [have_glib=no])],
9940      [PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])]
9941    )
9942  fi
9943fi
9944
9945# Not having GLib when unit testing has been explicitly requested is an error
9946if test "x$enable_unit_tests" = x"yes"; then
9947  if test "x$have_glib" = x"no"; then
9948    AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found])
9949  fi
9950fi
9951
9952# Having unit testing disabled when GLib has been explicitly requested is an error
9953if test "x$enable_unit_tests" = x"no"; then
9954  if test "x$with_glib" = x"yes"; then
9955    AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found])
9956  fi
9957fi
9958
9959# Not having GLib when it has been explicitly requested is an error
9960if test "x$with_glib" = x"yes"; then
9961  if test "x$have_glib" = x"no"; then
9962    AC_MSG_ERROR([--with-glib=yes specified but glib-2.0 not found])
9963  fi
9964fi
9965
9966AM_CONDITIONAL([HAVE_GLIB], [test "$have_glib" = yes])
9967]) # XORG_WITH_GLIB
9968
9969# XORG_LD_WRAP([required|optional])
9970# ---------------------------------
9971# Minimum version: 1.13.0
9972#
9973# Check if linker supports -wrap, passed via compiler flags
9974#
9975# When used with ENABLE_UNIT_TESTS, it is assumed -wrap is used for unit testing.
9976# Otherwise the value of $enable_unit_tests is blank.
9977#
9978# Argument added in 1.16.0 - default is "required", to match existing behavior
9979# of returning an error if enable_unit_tests is yes, and ld -wrap is not
9980# available, an argument of "optional" allows use when some unit tests require
9981# ld -wrap and others do not.
9982#
9983AC_DEFUN([XORG_LD_WRAP],[
9984XORG_CHECK_LINKER_FLAGS([-Wl,-wrap,exit],[have_ld_wrap=yes],[have_ld_wrap=no],
9985    [AC_LANG_PROGRAM([#include <stdlib.h>
9986                      void __wrap_exit(int status) { return; }],
9987                     [exit(0);])])
9988# Not having ld wrap when unit testing has been explicitly requested is an error
9989if test "x$enable_unit_tests" = x"yes" -a "x$1" != "xoptional"; then
9990  if test "x$have_ld_wrap" = x"no"; then
9991    AC_MSG_ERROR([--enable-unit-tests=yes specified but ld -wrap support is not available])
9992  fi
9993fi
9994AM_CONDITIONAL([HAVE_LD_WRAP], [test "$have_ld_wrap" = yes])
9995#
9996]) # XORG_LD_WRAP
9997
9998# XORG_CHECK_LINKER_FLAGS
9999# -----------------------
10000# SYNOPSIS
10001#
10002#   XORG_CHECK_LINKER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE], [PROGRAM-SOURCE])
10003#
10004# DESCRIPTION
10005#
10006#   Check whether the given linker FLAGS work with the current language's
10007#   linker, or whether they give an error.
10008#
10009#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
10010#   success/failure.
10011#
10012#   PROGRAM-SOURCE is the program source to link with, if needed
10013#
10014#   NOTE: Based on AX_CHECK_COMPILER_FLAGS.
10015#
10016# LICENSE
10017#
10018#   Copyright (c) 2009 Mike Frysinger <vapier@gentoo.org>
10019#   Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu>
10020#   Copyright (c) 2009 Matteo Frigo
10021#
10022#   This program is free software: you can redistribute it and/or modify it
10023#   under the terms of the GNU General Public License as published by the
10024#   Free Software Foundation, either version 3 of the License, or (at your
10025#   option) any later version.
10026#
10027#   This program is distributed in the hope that it will be useful, but
10028#   WITHOUT ANY WARRANTY; without even the implied warranty of
10029#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10030#   Public License for more details.
10031#
10032#   You should have received a copy of the GNU General Public License along
10033#   with this program. If not, see <http://www.gnu.org/licenses/>.
10034#
10035#   As a special exception, the respective Autoconf Macro's copyright owner
10036#   gives unlimited permission to copy, distribute and modify the configure
10037#   scripts that are the output of Autoconf when processing the Macro. You
10038#   need not follow the terms of the GNU General Public License when using
10039#   or distributing such scripts, even though portions of the text of the
10040#   Macro appear in them. The GNU General Public License (GPL) does govern
10041#   all other use of the material that constitutes the Autoconf Macro.
10042#
10043#   This special exception to the GPL applies to versions of the Autoconf
10044#   Macro released by the Autoconf Archive. When you make and distribute a
10045#   modified version of the Autoconf Macro, you may extend this special
10046#   exception to the GPL to apply to your modified version as well.#
10047AC_DEFUN([XORG_CHECK_LINKER_FLAGS],
10048[AC_MSG_CHECKING([whether the linker accepts $1])
10049dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
10050AS_LITERAL_IF([$1],
10051  [AC_CACHE_VAL(AS_TR_SH(xorg_cv_linker_flags_[$1]), [
10052      ax_save_FLAGS=$LDFLAGS
10053      LDFLAGS="$1"
10054      AC_LINK_IFELSE([m4_default([$4],[AC_LANG_PROGRAM()])],
10055        AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
10056        AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
10057      LDFLAGS=$ax_save_FLAGS])],
10058  [ax_save_FLAGS=$LDFLAGS
10059   LDFLAGS="$1"
10060   AC_LINK_IFELSE([AC_LANG_PROGRAM()],
10061     eval AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
10062     eval AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
10063   LDFLAGS=$ax_save_FLAGS])
10064eval xorg_check_linker_flags=$AS_TR_SH(xorg_cv_linker_flags_[$1])
10065AC_MSG_RESULT($xorg_check_linker_flags)
10066if test "x$xorg_check_linker_flags" = xyes; then
10067	m4_default([$2], :)
10068else
10069	m4_default([$3], :)
10070fi
10071]) # XORG_CHECK_LINKER_FLAGS
10072
10073# XORG_MEMORY_CHECK_FLAGS
10074# -----------------------
10075# Minimum version: 1.16.0
10076#
10077# This macro attempts to find appropriate memory checking functionality
10078# for various platforms which unit testing code may use to catch various
10079# forms of memory allocation and access errors in testing.
10080#
10081# Interface to module:
10082# XORG_MALLOC_DEBUG_ENV - environment variables to set to enable debugging
10083#                         Usually added to TESTS_ENVIRONMENT in Makefile.am
10084#
10085# If the user sets the value of XORG_MALLOC_DEBUG_ENV, it is used verbatim.
10086#
10087AC_DEFUN([XORG_MEMORY_CHECK_FLAGS],[
10088
10089AC_REQUIRE([AC_CANONICAL_HOST])
10090AC_ARG_VAR([XORG_MALLOC_DEBUG_ENV],
10091           [Environment variables to enable memory checking in tests])
10092
10093# Check for different types of support on different platforms
10094case $host_os in
10095    solaris*)
10096        AC_CHECK_LIB([umem], [umem_alloc],
10097            [malloc_debug_env='LD_PRELOAD=libumem.so UMEM_DEBUG=default'])
10098        ;;
10099    *-gnu*) # GNU libc - Value is used as a single byte bit pattern,
10100        # both directly and inverted, so should not be 0 or 255.
10101        malloc_debug_env='MALLOC_PERTURB_=15'
10102        ;;
10103    darwin*)
10104        malloc_debug_env='MallocPreScribble=1 MallocScribble=1 DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib'
10105        ;;
10106    *bsd*)
10107        malloc_debug_env='MallocPreScribble=1 MallocScribble=1'
10108        ;;
10109esac
10110
10111# User supplied flags override default flags
10112if test "x$XORG_MALLOC_DEBUG_ENV" != "x"; then
10113    malloc_debug_env="$XORG_MALLOC_DEBUG_ENV"
10114fi
10115
10116AC_SUBST([XORG_MALLOC_DEBUG_ENV],[$malloc_debug_env])
10117]) # XORG_WITH_LINT
10118
10119# XORG_CHECK_MALLOC_ZERO
10120# ----------------------
10121# Minimum version: 1.0.0
10122#
10123# Defines {MALLOC,XMALLOC,XTMALLOC}_ZERO_CFLAGS appropriately if
10124# malloc(0) returns NULL.  Packages should add one of these cflags to
10125# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
10126AC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
10127AC_ARG_ENABLE(malloc0returnsnull,
10128	AS_HELP_STRING([--enable-malloc0returnsnull],
10129		       [malloc(0) returns NULL (default: auto)]),
10130	[MALLOC_ZERO_RETURNS_NULL=$enableval],
10131	[MALLOC_ZERO_RETURNS_NULL=auto])
10132
10133AC_MSG_CHECKING([whether malloc(0) returns NULL])
10134if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
10135	AC_RUN_IFELSE([AC_LANG_PROGRAM([
10136#include <stdlib.h>
10137],[
10138    char *m0, *r0, *c0, *p;
10139    m0 = malloc(0);
10140    p = malloc(10);
10141    r0 = realloc(p,0);
10142    c0 = calloc(0,10);
10143    exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1);
10144])],
10145		[MALLOC_ZERO_RETURNS_NULL=yes],
10146		[MALLOC_ZERO_RETURNS_NULL=no],
10147		[MALLOC_ZERO_RETURNS_NULL=yes])
10148fi
10149AC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
10150
10151if test "x$MALLOC_ZERO_RETURNS_NULL" = xyes; then
10152	MALLOC_ZERO_CFLAGS="-DMALLOC_0_RETURNS_NULL"
10153	XMALLOC_ZERO_CFLAGS=$MALLOC_ZERO_CFLAGS
10154	XTMALLOC_ZERO_CFLAGS="$MALLOC_ZERO_CFLAGS -DXTMALLOC_BC"
10155else
10156	MALLOC_ZERO_CFLAGS=""
10157	XMALLOC_ZERO_CFLAGS=""
10158	XTMALLOC_ZERO_CFLAGS=""
10159fi
10160
10161AC_SUBST([MALLOC_ZERO_CFLAGS])
10162AC_SUBST([XMALLOC_ZERO_CFLAGS])
10163AC_SUBST([XTMALLOC_ZERO_CFLAGS])
10164]) # XORG_CHECK_MALLOC_ZERO
10165
10166# XORG_WITH_LINT()
10167# ----------------
10168# Minimum version: 1.1.0
10169#
10170# This macro enables the use of a tool that flags some suspicious and
10171# non-portable constructs (likely to be bugs) in C language source code.
10172# It will attempt to locate the tool and use appropriate options.
10173# There are various lint type tools on different platforms.
10174#
10175# Interface to module:
10176# LINT:		returns the path to the tool found on the platform
10177#		or the value set to LINT on the configure cmd line
10178#		also an Automake conditional
10179# LINT_FLAGS:	an Automake variable with appropriate flags
10180#
10181# --with-lint:	'yes' user instructs the module to use lint
10182#		'no' user instructs the module not to use lint (default)
10183#
10184# If the user sets the value of LINT, AC_PATH_PROG skips testing the path.
10185# If the user sets the value of LINT_FLAGS, they are used verbatim.
10186#
10187AC_DEFUN([XORG_WITH_LINT],[
10188
10189AC_ARG_VAR([LINT], [Path to a lint-style command])
10190AC_ARG_VAR([LINT_FLAGS], [Flags for the lint-style command])
10191AC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
10192		[Use a lint-style source code checker (default: disabled)])],
10193		[use_lint=$withval], [use_lint=no])
10194
10195# Obtain platform specific info like program name and options
10196# The lint program on FreeBSD and NetBSD is different from the one on Solaris
10197case $host_os in
10198  *linux* | *openbsd* | kfreebsd*-gnu | darwin* | cygwin*)
10199	lint_name=splint
10200	lint_options="-badflag"
10201	;;
10202  *freebsd* | *netbsd*)
10203	lint_name=lint
10204	lint_options="-u -b"
10205	;;
10206  *solaris*)
10207	lint_name=lint
10208	lint_options="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2"
10209	;;
10210esac
10211
10212# Test for the presence of the program (either guessed by the code or spelled out by the user)
10213if test "x$use_lint" = x"yes" ; then
10214   AC_PATH_PROG([LINT], [$lint_name])
10215   if test "x$LINT" = "x"; then
10216        AC_MSG_ERROR([--with-lint=yes specified but lint-style tool not found in PATH])
10217   fi
10218elif test "x$use_lint" = x"no" ; then
10219   if test "x$LINT" != "x"; then
10220      AC_MSG_WARN([ignoring LINT environment variable since --with-lint=no was specified])
10221   fi
10222else
10223   AC_MSG_ERROR([--with-lint expects 'yes' or 'no'. Use LINT variable to specify path.])
10224fi
10225
10226# User supplied flags override default flags
10227if test "x$LINT_FLAGS" != "x"; then
10228   lint_options=$LINT_FLAGS
10229fi
10230
10231AC_SUBST([LINT_FLAGS],[$lint_options])
10232AM_CONDITIONAL(LINT, [test "x$LINT" != x])
10233
10234]) # XORG_WITH_LINT
10235
10236# XORG_LINT_LIBRARY(LIBNAME)
10237# --------------------------
10238# Minimum version: 1.1.0
10239#
10240# Sets up flags for building lint libraries for checking programs that call
10241# functions in the library.
10242#
10243# Interface to module:
10244# LINTLIB		- Automake variable with the name of lint library file to make
10245# MAKE_LINT_LIB		- Automake conditional
10246#
10247# --enable-lint-library:  - 'yes' user instructs the module to created a lint library
10248#			  - 'no' user instructs the module not to create a lint library (default)
10249
10250AC_DEFUN([XORG_LINT_LIBRARY],[
10251AC_REQUIRE([XORG_WITH_LINT])
10252AC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
10253	[Create lint library (default: disabled)])],
10254	[make_lint_lib=$enableval], [make_lint_lib=no])
10255
10256if test "x$make_lint_lib" = x"yes" ; then
10257   LINTLIB=llib-l$1.ln
10258   if test "x$LINT" = "x"; then
10259        AC_MSG_ERROR([Cannot make lint library without --with-lint])
10260   fi
10261elif test "x$make_lint_lib" != x"no" ; then
10262   AC_MSG_ERROR([--enable-lint-library expects 'yes' or 'no'.])
10263fi
10264
10265AC_SUBST(LINTLIB)
10266AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
10267
10268]) # XORG_LINT_LIBRARY
10269
10270# XORG_COMPILER_BRAND
10271# -------------------
10272# Minimum version: 1.14.0
10273#
10274# Checks for various brands of compilers and sets flags as appropriate:
10275#   GNU gcc - relies on AC_PROG_CC (via AC_PROG_CC_C99) to set GCC to "yes"
10276#   GNU g++ - relies on AC_PROG_CXX to set GXX to "yes"
10277#   clang compiler - sets CLANGCC to "yes"
10278#   Intel compiler - sets INTELCC to "yes"
10279#   Sun/Oracle Solaris Studio cc - sets SUNCC to "yes"
10280#
10281AC_DEFUN([XORG_COMPILER_BRAND], [
10282AC_LANG_CASE(
10283	[C], [
10284		AC_REQUIRE([AC_PROG_CC_C99])
10285	],
10286	[C++], [
10287		AC_REQUIRE([AC_PROG_CXX])
10288	]
10289)
10290AC_CHECK_DECL([__clang__], [CLANGCC="yes"], [CLANGCC="no"])
10291AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
10292AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
10293]) # XORG_COMPILER_BRAND
10294
10295# XORG_TESTSET_CFLAG(<variable>, <flag>, [<alternative flag>, ...])
10296# ---------------
10297# Minimum version: 1.16.0
10298#
10299# Test if the compiler works when passed the given flag as a command line argument.
10300# If it succeeds, the flag is appeneded to the given variable.  If not, it tries the
10301# next flag in the list until there are no more options.
10302#
10303# Note that this does not guarantee that the compiler supports the flag as some
10304# compilers will simply ignore arguments that they do not understand, but we do
10305# attempt to weed out false positives by using -Werror=unknown-warning-option and
10306# -Werror=unused-command-line-argument
10307#
10308AC_DEFUN([XORG_TESTSET_CFLAG], [
10309m4_if([$#], 0, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
10310m4_if([$#], 1, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
10311
10312AC_LANG_COMPILER_REQUIRE
10313
10314AC_LANG_CASE(
10315	[C], [
10316		AC_REQUIRE([AC_PROG_CC_C99])
10317		define([PREFIX], [C])
10318		define([CACHE_PREFIX], [cc])
10319		define([COMPILER], [$CC])
10320	],
10321	[C++], [
10322		define([PREFIX], [CXX])
10323		define([CACHE_PREFIX], [cxx])
10324		define([COMPILER], [$CXX])
10325	]
10326)
10327
10328[xorg_testset_save_]PREFIX[FLAGS]="$PREFIX[FLAGS]"
10329
10330if test "x$[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]" = "x" ; then
10331	PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
10332	AC_CACHE_CHECK([if ]COMPILER[ supports -Werror=unknown-warning-option],
10333			[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option],
10334			AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
10335					  [xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option=yes],
10336					  [xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option=no]))
10337	[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]=$[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option]
10338	PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
10339fi
10340
10341if test "x$[xorg_testset_]CACHE_PREFIX[_unused_command_line_argument]" = "x" ; then
10342	if test "x$[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]" = "xyes" ; then
10343		PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
10344	fi
10345	PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument"
10346	AC_CACHE_CHECK([if ]COMPILER[ supports -Werror=unused-command-line-argument],
10347			[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument],
10348			AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
10349					  [xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument=yes],
10350					  [xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument=no]))
10351	[xorg_testset_]CACHE_PREFIX[_unused_command_line_argument]=$[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument]
10352	PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
10353fi
10354
10355found="no"
10356m4_foreach([flag], m4_cdr($@), [
10357	if test $found = "no" ; then
10358		if test "x$xorg_testset_unknown_warning_option" = "xyes" ; then
10359			PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
10360		fi
10361
10362		if test "x$xorg_testset_unused_command_line_argument" = "xyes" ; then
10363			PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument"
10364		fi
10365
10366		PREFIX[FLAGS]="$PREFIX[FLAGS] ]flag["
10367
10368dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname
10369		AC_MSG_CHECKING([if ]COMPILER[ supports]flag[])
10370		cacheid=AS_TR_SH([xorg_cv_]CACHE_PREFIX[_flag_]flag[])
10371		AC_CACHE_VAL($cacheid,
10372			     [AC_LINK_IFELSE([AC_LANG_PROGRAM([int i;])],
10373					     [eval $cacheid=yes],
10374					     [eval $cacheid=no])])
10375
10376		PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
10377
10378		eval supported=\$$cacheid
10379		AC_MSG_RESULT([$supported])
10380		if test "$supported" = "yes" ; then
10381			$1="$$1 ]flag["
10382			found="yes"
10383		fi
10384	fi
10385])
10386]) # XORG_TESTSET_CFLAG
10387
10388# XORG_COMPILER_FLAGS
10389# ---------------
10390# Minimum version: 1.16.0
10391#
10392# Defines BASE_CFLAGS or BASE_CXXFLAGS to contain a set of command line
10393# arguments supported by the selected compiler which do NOT alter the generated
10394# code.  These arguments will cause the compiler to print various warnings
10395# during compilation AND turn a conservative set of warnings into errors.
10396#
10397# The set of flags supported by BASE_CFLAGS and BASE_CXXFLAGS will grow in
10398# future versions of util-macros as options are added to new compilers.
10399#
10400AC_DEFUN([XORG_COMPILER_FLAGS], [
10401AC_REQUIRE([XORG_COMPILER_BRAND])
10402
10403AC_ARG_ENABLE(selective-werror,
10404              AS_HELP_STRING([--disable-selective-werror],
10405                             [Turn off selective compiler errors. (default: enabled)]),
10406              [SELECTIVE_WERROR=$enableval],
10407              [SELECTIVE_WERROR=yes])
10408
10409AC_LANG_CASE(
10410        [C], [
10411                define([PREFIX], [C])
10412        ],
10413        [C++], [
10414                define([PREFIX], [CXX])
10415        ]
10416)
10417# -v is too short to test reliably with XORG_TESTSET_CFLAG
10418if test "x$SUNCC" = "xyes"; then
10419    [BASE_]PREFIX[FLAGS]="-v"
10420else
10421    [BASE_]PREFIX[FLAGS]=""
10422fi
10423
10424# This chunk of warnings were those that existed in the legacy CWARNFLAGS
10425XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wall])
10426XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wpointer-arith])
10427XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-declarations])
10428XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wformat=2], [-Wformat])
10429
10430AC_LANG_CASE(
10431	[C], [
10432		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wstrict-prototypes])
10433		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-prototypes])
10434		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnested-externs])
10435		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wbad-function-cast])
10436		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition])
10437		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wdeclaration-after-statement])
10438	]
10439)
10440
10441# This chunk adds additional warnings that could catch undesired effects.
10442XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wunused])
10443XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized])
10444XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wshadow])
10445XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
10446XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-noreturn])
10447XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-format-attribute])
10448XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls])
10449
10450# These are currently disabled because they are noisy.  They will be enabled
10451# in the future once the codebase is sufficiently modernized to silence
10452# them.  For now, I don't want them to drown out the other warnings.
10453# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
10454# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses])
10455# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
10456
10457# Turn some warnings into errors, so we don't accidently get successful builds
10458# when there are problems that should be fixed.
10459
10460if test "x$SELECTIVE_WERROR" = "xyes" ; then
10461XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=implicit], [-errwarn=E_NO_EXPLICIT_TYPE_GIVEN -errwarn=E_NO_IMPLICIT_DECL_ALLOWED])
10462XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=nonnull])
10463XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=init-self])
10464XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=main])
10465XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=missing-braces])
10466XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=sequence-point])
10467XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=return-type], [-errwarn=E_FUNC_HAS_NO_RETURN_STMT])
10468XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=trigraphs])
10469XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=array-bounds])
10470XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=write-strings])
10471XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=address])
10472XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=int-to-pointer-cast], [-errwarn=E_BAD_PTR_INT_COMBINATION])
10473XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=pointer-to-int-cast]) # Also -errwarn=E_BAD_PTR_INT_COMBINATION
10474else
10475AC_MSG_WARN([You have chosen not to turn some select compiler warnings into errors.  This should not be necessary.  Please report why you needed to do so in a bug report at $PACKAGE_BUGREPORT])
10476XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wimplicit])
10477XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnonnull])
10478XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Winit-self])
10479XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmain])
10480XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-braces])
10481XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wsequence-point])
10482XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wreturn-type])
10483XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wtrigraphs])
10484XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Warray-bounds])
10485XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wwrite-strings])
10486XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Waddress])
10487XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wint-to-pointer-cast])
10488XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wpointer-to-int-cast])
10489fi
10490
10491AC_SUBST([BASE_]PREFIX[FLAGS])
10492]) # XORG_COMPILER_FLAGS
10493
10494# XORG_CWARNFLAGS
10495# ---------------
10496# Minimum version: 1.2.0
10497# Deprecated since: 1.16.0 (Use XORG_COMPILER_FLAGS instead)
10498#
10499# Defines CWARNFLAGS to enable C compiler warnings.
10500#
10501# This function is deprecated because it defines -fno-strict-aliasing
10502# which alters the code generated by the compiler.  If -fno-strict-aliasing
10503# is needed, then it should be added explicitly in the module when
10504# it is updated to use BASE_CFLAGS.
10505#
10506AC_DEFUN([XORG_CWARNFLAGS], [
10507AC_REQUIRE([XORG_COMPILER_FLAGS])
10508AC_REQUIRE([XORG_COMPILER_BRAND])
10509AC_LANG_CASE(
10510	[C], [
10511		CWARNFLAGS="$BASE_CFLAGS"
10512		if  test "x$GCC" = xyes ; then
10513		    CWARNFLAGS="$CWARNFLAGS -fno-strict-aliasing"
10514		fi
10515		AC_SUBST(CWARNFLAGS)
10516	]
10517)
10518]) # XORG_CWARNFLAGS
10519
10520# XORG_STRICT_OPTION
10521# -----------------------
10522# Minimum version: 1.3.0
10523#
10524# Add configure option to enable strict compilation flags, such as treating
10525# warnings as fatal errors.
10526# If --enable-strict-compilation is passed to configure, adds strict flags to
10527# $BASE_CFLAGS or $BASE_CXXFLAGS and the deprecated $CWARNFLAGS.
10528#
10529# Starting in 1.14.0 also exports $STRICT_CFLAGS for use in other tests or
10530# when strict compilation is unconditionally desired.
10531AC_DEFUN([XORG_STRICT_OPTION], [
10532AC_REQUIRE([XORG_CWARNFLAGS])
10533AC_REQUIRE([XORG_COMPILER_FLAGS])
10534
10535AC_ARG_ENABLE(strict-compilation,
10536			  AS_HELP_STRING([--enable-strict-compilation],
10537			  [Enable all warnings from compiler and make them errors (default: disabled)]),
10538			  [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
10539
10540AC_LANG_CASE(
10541        [C], [
10542                define([PREFIX], [C])
10543        ],
10544        [C++], [
10545                define([PREFIX], [CXX])
10546        ]
10547)
10548
10549[STRICT_]PREFIX[FLAGS]=""
10550XORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-pedantic])
10551XORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-Werror], [-errwarn])
10552
10553# Earlier versions of gcc (eg: 4.2) support -Werror=attributes, but do not
10554# activate it with -Werror, so we add it here explicitly.
10555XORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-Werror=attributes])
10556
10557if test "x$STRICT_COMPILE" = "xyes"; then
10558    [BASE_]PREFIX[FLAGS]="$[BASE_]PREFIX[FLAGS] $[STRICT_]PREFIX[FLAGS]"
10559    AC_LANG_CASE([C], [CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"])
10560fi
10561AC_SUBST([STRICT_]PREFIX[FLAGS])
10562AC_SUBST([BASE_]PREFIX[FLAGS])
10563AC_LANG_CASE([C], AC_SUBST([CWARNFLAGS]))
10564]) # XORG_STRICT_OPTION
10565
10566# XORG_DEFAULT_OPTIONS
10567# --------------------
10568# Minimum version: 1.3.0
10569#
10570# Defines default options for X.Org modules.
10571#
10572AC_DEFUN([XORG_DEFAULT_OPTIONS], [
10573AC_REQUIRE([AC_PROG_INSTALL])
10574XORG_COMPILER_FLAGS
10575XORG_CWARNFLAGS
10576XORG_STRICT_OPTION
10577XORG_RELEASE_VERSION
10578XORG_CHANGELOG
10579XORG_INSTALL
10580XORG_MANPAGE_SECTIONS
10581m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
10582    [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
10583]) # XORG_DEFAULT_OPTIONS
10584
10585# XORG_INSTALL()
10586# ----------------
10587# Minimum version: 1.4.0
10588#
10589# Defines the variable INSTALL_CMD as the command to copy
10590# INSTALL from $prefix/share/util-macros.
10591#
10592AC_DEFUN([XORG_INSTALL], [
10593AC_REQUIRE([PKG_PROG_PKG_CONFIG])
10594macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
10595INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
10596mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
10597|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \
10598echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)"
10599AC_SUBST([INSTALL_CMD])
10600]) # XORG_INSTALL
10601dnl Copyright 2005 Red Hat, Inc
10602dnl
10603dnl Permission to use, copy, modify, distribute, and sell this software and its
10604dnl documentation for any purpose is hereby granted without fee, provided that
10605dnl the above copyright notice appear in all copies and that both that
10606dnl copyright notice and this permission notice appear in supporting
10607dnl documentation.
10608dnl
10609dnl The above copyright notice and this permission notice shall be included
10610dnl in all copies or substantial portions of the Software.
10611dnl
10612dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
10613dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
10614dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
10615dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
10616dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
10617dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
10618dnl OTHER DEALINGS IN THE SOFTWARE.
10619dnl
10620dnl Except as contained in this notice, the name of the copyright holders shall
10621dnl not be used in advertising or otherwise to promote the sale, use or
10622dnl other dealings in this Software without prior written authorization
10623dnl from the copyright holders.
10624dnl
10625
10626# XORG_RELEASE_VERSION
10627# --------------------
10628# Defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use.
10629 
10630AC_DEFUN([XORG_RELEASE_VERSION],[
10631	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
10632		[`echo $PACKAGE_VERSION | cut -d . -f 1`],
10633		[Major version of this package])
10634	PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
10635	if test "x$PVM" = "x"; then
10636		PVM="0"
10637	fi
10638	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
10639		[$PVM],
10640		[Minor version of this package])
10641	PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
10642	if test "x$PVP" = "x"; then
10643		PVP="0"
10644	fi
10645	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL],
10646		[$PVP],
10647		[Patch version of this package])
10648])
10649
10650# XORG_CHANGELOG()
10651# ----------------
10652# Minimum version: 1.2.0
10653#
10654# Defines the variable CHANGELOG_CMD as the command to generate
10655# ChangeLog from git.
10656#
10657#
10658AC_DEFUN([XORG_CHANGELOG], [
10659CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \
10660mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
10661|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \
10662echo 'git directory not found: installing possibly empty changelog.' >&2)"
10663AC_SUBST([CHANGELOG_CMD])
10664]) # XORG_CHANGELOG
10665
10666dnl Copyright 2005 Red Hat, Inc
10667dnl 
10668dnl Permission to use, copy, modify, distribute, and sell this software and its
10669dnl documentation for any purpose is hereby granted without fee, provided that
10670dnl the above copyright notice appear in all copies and that both that
10671dnl copyright notice and this permission notice appear in supporting
10672dnl documentation.
10673dnl 
10674dnl The above copyright notice and this permission notice shall be included
10675dnl in all copies or substantial portions of the Software.
10676dnl 
10677dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
10678dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
10679dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
10680dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
10681dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
10682dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
10683dnl OTHER DEALINGS IN THE SOFTWARE.
10684dnl 
10685dnl Except as contained in this notice, the name of the copyright holders shall
10686dnl not be used in advertising or otherwise to promote the sale, use or
10687dnl other dealings in this Software without prior written authorization
10688dnl from the copyright holders.
10689dnl 
10690
10691# XORG_DRIVER_CHECK_EXT()
10692# --------------------------
10693# Checks for the $1 define in xorg-server.h (from the sdk).  If it
10694# is defined, then add $1 to $REQUIRED_MODULES.
10695
10696AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
10697	AC_REQUIRE([PKG_PROG_PKG_CONFIG])
10698	SAVE_CFLAGS="$CFLAGS"
10699	CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`"
10700	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
10701#include "xorg-server.h"
10702#if !defined $1
10703#error $1 not defined
10704#endif
10705		]])],
10706		[_EXT_CHECK=yes],
10707		[_EXT_CHECK=no])
10708	CFLAGS="$SAVE_CFLAGS"
10709	AC_MSG_CHECKING([if $1 is defined])
10710	AC_MSG_RESULT([$_EXT_CHECK])
10711	if test "$_EXT_CHECK" != no; then
10712		REQUIRED_MODULES="$REQUIRED_MODULES $2"
10713	fi
10714])
10715
10716# Copyright (C) 2002-2012 Free Software Foundation, Inc.
10717#
10718# This file is free software; the Free Software Foundation
10719# gives unlimited permission to copy and/or distribute it,
10720# with or without modifications, as long as this notice is preserved.
10721
10722# serial 8
10723
10724# AM_AUTOMAKE_VERSION(VERSION)
10725# ----------------------------
10726# Automake X.Y traces this macro to ensure aclocal.m4 has been
10727# generated from the m4 files accompanying Automake X.Y.
10728# (This private macro should not be called outside this file.)
10729AC_DEFUN([AM_AUTOMAKE_VERSION],
10730[am__api_version='1.12'
10731dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
10732dnl require some minimum version.  Point them to the right macro.
10733m4_if([$1], [1.12.2], [],
10734      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
10735])
10736
10737# _AM_AUTOCONF_VERSION(VERSION)
10738# -----------------------------
10739# aclocal traces this macro to find the Autoconf version.
10740# This is a private macro too.  Using m4_define simplifies
10741# the logic in aclocal, which can simply ignore this definition.
10742m4_define([_AM_AUTOCONF_VERSION], [])
10743
10744# AM_SET_CURRENT_AUTOMAKE_VERSION
10745# -------------------------------
10746# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
10747# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
10748AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
10749[AM_AUTOMAKE_VERSION([1.12.2])dnl
10750m4_ifndef([AC_AUTOCONF_VERSION],
10751  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
10752_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
10753
10754# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
10755
10756# Copyright (C) 2001-2012 Free Software Foundation, Inc.
10757#
10758# This file is free software; the Free Software Foundation
10759# gives unlimited permission to copy and/or distribute it,
10760# with or without modifications, as long as this notice is preserved.
10761
10762# serial 2
10763
10764# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
10765# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
10766# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
10767#
10768# Of course, Automake must honor this variable whenever it calls a
10769# tool from the auxiliary directory.  The problem is that $srcdir (and
10770# therefore $ac_aux_dir as well) can be either absolute or relative,
10771# depending on how configure is run.  This is pretty annoying, since
10772# it makes $ac_aux_dir quite unusable in subdirectories: in the top
10773# source directory, any form will work fine, but in subdirectories a
10774# relative path needs to be adjusted first.
10775#
10776# $ac_aux_dir/missing
10777#    fails when called from a subdirectory if $ac_aux_dir is relative
10778# $top_srcdir/$ac_aux_dir/missing
10779#    fails if $ac_aux_dir is absolute,
10780#    fails when called from a subdirectory in a VPATH build with
10781#          a relative $ac_aux_dir
10782#
10783# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
10784# are both prefixed by $srcdir.  In an in-source build this is usually
10785# harmless because $srcdir is '.', but things will broke when you
10786# start a VPATH build or use an absolute $srcdir.
10787#
10788# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
10789# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
10790#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
10791# and then we would define $MISSING as
10792#   MISSING="\${SHELL} $am_aux_dir/missing"
10793# This will work as long as MISSING is not called from configure, because
10794# unfortunately $(top_srcdir) has no meaning in configure.
10795# However there are other variables, like CC, which are often used in
10796# configure, and could therefore not use this "fixed" $ac_aux_dir.
10797#
10798# Another solution, used here, is to always expand $ac_aux_dir to an
10799# absolute PATH.  The drawback is that using absolute paths prevent a
10800# configured tree to be moved without reconfiguration.
10801
10802AC_DEFUN([AM_AUX_DIR_EXPAND],
10803[dnl Rely on autoconf to set up CDPATH properly.
10804AC_PREREQ([2.50])dnl
10805# expand $ac_aux_dir to an absolute path
10806am_aux_dir=`cd $ac_aux_dir && pwd`
10807])
10808
10809# AM_CONDITIONAL                                            -*- Autoconf -*-
10810
10811# Copyright (C) 1997-2012 Free Software Foundation, Inc.
10812#
10813# This file is free software; the Free Software Foundation
10814# gives unlimited permission to copy and/or distribute it,
10815# with or without modifications, as long as this notice is preserved.
10816
10817# serial 10
10818
10819# AM_CONDITIONAL(NAME, SHELL-CONDITION)
10820# -------------------------------------
10821# Define a conditional.
10822AC_DEFUN([AM_CONDITIONAL],
10823[AC_PREREQ([2.52])dnl
10824 m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
10825       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
10826AC_SUBST([$1_TRUE])dnl
10827AC_SUBST([$1_FALSE])dnl
10828_AM_SUBST_NOTMAKE([$1_TRUE])dnl
10829_AM_SUBST_NOTMAKE([$1_FALSE])dnl
10830m4_define([_AM_COND_VALUE_$1], [$2])dnl
10831if $2; then
10832  $1_TRUE=
10833  $1_FALSE='#'
10834else
10835  $1_TRUE='#'
10836  $1_FALSE=
10837fi
10838AC_CONFIG_COMMANDS_PRE(
10839[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
10840  AC_MSG_ERROR([[conditional "$1" was never defined.
10841Usually this means the macro was only invoked conditionally.]])
10842fi])])
10843
10844# Copyright (C) 1999-2012 Free Software Foundation, Inc.
10845#
10846# This file is free software; the Free Software Foundation
10847# gives unlimited permission to copy and/or distribute it,
10848# with or without modifications, as long as this notice is preserved.
10849
10850# serial 17
10851
10852# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
10853# written in clear, in which case automake, when reading aclocal.m4,
10854# will think it sees a *use*, and therefore will trigger all it's
10855# C support machinery.  Also note that it means that autoscan, seeing
10856# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
10857
10858
10859# _AM_DEPENDENCIES(NAME)
10860# ----------------------
10861# See how the compiler implements dependency checking.
10862# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
10863# We try a few techniques and use that to set a single cache variable.
10864#
10865# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
10866# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
10867# dependency, and given that the user is not expected to run this macro,
10868# just rely on AC_PROG_CC.
10869AC_DEFUN([_AM_DEPENDENCIES],
10870[AC_REQUIRE([AM_SET_DEPDIR])dnl
10871AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
10872AC_REQUIRE([AM_MAKE_INCLUDE])dnl
10873AC_REQUIRE([AM_DEP_TRACK])dnl
10874
10875m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
10876      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
10877      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
10878      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
10879      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
10880      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
10881                    [depcc="$$1"   am_compiler_list=])
10882
10883AC_CACHE_CHECK([dependency style of $depcc],
10884               [am_cv_$1_dependencies_compiler_type],
10885[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
10886  # We make a subdir and do the tests there.  Otherwise we can end up
10887  # making bogus files that we don't know about and never remove.  For
10888  # instance it was reported that on HP-UX the gcc test will end up
10889  # making a dummy file named 'D' -- because '-MD' means "put the output
10890  # in D".
10891  rm -rf conftest.dir
10892  mkdir conftest.dir
10893  # Copy depcomp to subdir because otherwise we won't find it if we're
10894  # using a relative directory.
10895  cp "$am_depcomp" conftest.dir
10896  cd conftest.dir
10897  # We will build objects and dependencies in a subdirectory because
10898  # it helps to detect inapplicable dependency modes.  For instance
10899  # both Tru64's cc and ICC support -MD to output dependencies as a
10900  # side effect of compilation, but ICC will put the dependencies in
10901  # the current directory while Tru64 will put them in the object
10902  # directory.
10903  mkdir sub
10904
10905  am_cv_$1_dependencies_compiler_type=none
10906  if test "$am_compiler_list" = ""; then
10907     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
10908  fi
10909  am__universal=false
10910  m4_case([$1], [CC],
10911    [case " $depcc " in #(
10912     *\ -arch\ *\ -arch\ *) am__universal=true ;;
10913     esac],
10914    [CXX],
10915    [case " $depcc " in #(
10916     *\ -arch\ *\ -arch\ *) am__universal=true ;;
10917     esac])
10918
10919  for depmode in $am_compiler_list; do
10920    # Setup a source with many dependencies, because some compilers
10921    # like to wrap large dependency lists on column 80 (with \), and
10922    # we should not choose a depcomp mode which is confused by this.
10923    #
10924    # We need to recreate these files for each test, as the compiler may
10925    # overwrite some of them when testing with obscure command lines.
10926    # This happens at least with the AIX C compiler.
10927    : > sub/conftest.c
10928    for i in 1 2 3 4 5 6; do
10929      echo '#include "conftst'$i'.h"' >> sub/conftest.c
10930      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
10931      # Solaris 10 /bin/sh.
10932      echo '/* dummy */' > sub/conftst$i.h
10933    done
10934    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
10935
10936    # We check with '-c' and '-o' for the sake of the "dashmstdout"
10937    # mode.  It turns out that the SunPro C++ compiler does not properly
10938    # handle '-M -o', and we need to detect this.  Also, some Intel
10939    # versions had trouble with output in subdirs.
10940    am__obj=sub/conftest.${OBJEXT-o}
10941    am__minus_obj="-o $am__obj"
10942    case $depmode in
10943    gcc)
10944      # This depmode causes a compiler race in universal mode.
10945      test "$am__universal" = false || continue
10946      ;;
10947    nosideeffect)
10948      # After this tag, mechanisms are not by side-effect, so they'll
10949      # only be used when explicitly requested.
10950      if test "x$enable_dependency_tracking" = xyes; then
10951	continue
10952      else
10953	break
10954      fi
10955      ;;
10956    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
10957      # This compiler won't grok '-c -o', but also, the minuso test has
10958      # not run yet.  These depmodes are late enough in the game, and
10959      # so weak that their functioning should not be impacted.
10960      am__obj=conftest.${OBJEXT-o}
10961      am__minus_obj=
10962      ;;
10963    none) break ;;
10964    esac
10965    if depmode=$depmode \
10966       source=sub/conftest.c object=$am__obj \
10967       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
10968       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
10969         >/dev/null 2>conftest.err &&
10970       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
10971       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
10972       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
10973       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
10974      # icc doesn't choke on unknown options, it will just issue warnings
10975      # or remarks (even with -Werror).  So we grep stderr for any message
10976      # that says an option was ignored or not supported.
10977      # When given -MP, icc 7.0 and 7.1 complain thusly:
10978      #   icc: Command line warning: ignoring option '-M'; no argument required
10979      # The diagnosis changed in icc 8.0:
10980      #   icc: Command line remark: option '-MP' not supported
10981      if (grep 'ignoring option' conftest.err ||
10982          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
10983        am_cv_$1_dependencies_compiler_type=$depmode
10984        break
10985      fi
10986    fi
10987  done
10988
10989  cd ..
10990  rm -rf conftest.dir
10991else
10992  am_cv_$1_dependencies_compiler_type=none
10993fi
10994])
10995AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
10996AM_CONDITIONAL([am__fastdep$1], [
10997  test "x$enable_dependency_tracking" != xno \
10998  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
10999])
11000
11001
11002# AM_SET_DEPDIR
11003# -------------
11004# Choose a directory name for dependency files.
11005# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
11006AC_DEFUN([AM_SET_DEPDIR],
11007[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
11008AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
11009])
11010
11011
11012# AM_DEP_TRACK
11013# ------------
11014AC_DEFUN([AM_DEP_TRACK],
11015[AC_ARG_ENABLE([dependency-tracking], [dnl
11016AS_HELP_STRING(
11017  [--enable-dependency-tracking],
11018  [do not reject slow dependency extractors])
11019AS_HELP_STRING(
11020  [--disable-dependency-tracking],
11021  [speeds up one-time build])])
11022if test "x$enable_dependency_tracking" != xno; then
11023  am_depcomp="$ac_aux_dir/depcomp"
11024  AMDEPBACKSLASH='\'
11025  am__nodep='_no'
11026fi
11027AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
11028AC_SUBST([AMDEPBACKSLASH])dnl
11029_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
11030AC_SUBST([am__nodep])dnl
11031_AM_SUBST_NOTMAKE([am__nodep])dnl
11032])
11033
11034# Generate code to set up dependency tracking.              -*- Autoconf -*-
11035
11036# Copyright (C) 1999-2012 Free Software Foundation, Inc.
11037#
11038# This file is free software; the Free Software Foundation
11039# gives unlimited permission to copy and/or distribute it,
11040# with or without modifications, as long as this notice is preserved.
11041
11042# serial 6
11043
11044# _AM_OUTPUT_DEPENDENCY_COMMANDS
11045# ------------------------------
11046AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
11047[{
11048  # Autoconf 2.62 quotes --file arguments for eval, but not when files
11049  # are listed without --file.  Let's play safe and only enable the eval
11050  # if we detect the quoting.
11051  case $CONFIG_FILES in
11052  *\'*) eval set x "$CONFIG_FILES" ;;
11053  *)   set x $CONFIG_FILES ;;
11054  esac
11055  shift
11056  for mf
11057  do
11058    # Strip MF so we end up with the name of the file.
11059    mf=`echo "$mf" | sed -e 's/:.*$//'`
11060    # Check whether this is an Automake generated Makefile or not.
11061    # We used to match only the files named 'Makefile.in', but
11062    # some people rename them; so instead we look at the file content.
11063    # Grep'ing the first line is not enough: some people post-process
11064    # each Makefile.in and add a new line on top of each file to say so.
11065    # Grep'ing the whole file is not good either: AIX grep has a line
11066    # limit of 2048, but all sed's we know have understand at least 4000.
11067    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
11068      dirpart=`AS_DIRNAME("$mf")`
11069    else
11070      continue
11071    fi
11072    # Extract the definition of DEPDIR, am__include, and am__quote
11073    # from the Makefile without running 'make'.
11074    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
11075    test -z "$DEPDIR" && continue
11076    am__include=`sed -n 's/^am__include = //p' < "$mf"`
11077    test -z "am__include" && continue
11078    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
11079    # Find all dependency output files, they are included files with
11080    # $(DEPDIR) in their names.  We invoke sed twice because it is the
11081    # simplest approach to changing $(DEPDIR) to its actual value in the
11082    # expansion.
11083    for file in `sed -n "
11084      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
11085	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
11086      # Make sure the directory exists.
11087      test -f "$dirpart/$file" && continue
11088      fdir=`AS_DIRNAME(["$file"])`
11089      AS_MKDIR_P([$dirpart/$fdir])
11090      # echo "creating $dirpart/$file"
11091      echo '# dummy' > "$dirpart/$file"
11092    done
11093  done
11094}
11095])# _AM_OUTPUT_DEPENDENCY_COMMANDS
11096
11097
11098# AM_OUTPUT_DEPENDENCY_COMMANDS
11099# -----------------------------
11100# This macro should only be invoked once -- use via AC_REQUIRE.
11101#
11102# This code is only required when automatic dependency tracking
11103# is enabled.  FIXME.  This creates each '.P' file that we will
11104# need in order to bootstrap the dependency handling code.
11105AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
11106[AC_CONFIG_COMMANDS([depfiles],
11107     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
11108     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
11109])
11110
11111# Do all the work for Automake.                             -*- Autoconf -*-
11112
11113# Copyright (C) 1996-2012 Free Software Foundation, Inc.
11114#
11115# This file is free software; the Free Software Foundation
11116# gives unlimited permission to copy and/or distribute it,
11117# with or without modifications, as long as this notice is preserved.
11118
11119# serial 19
11120
11121# This macro actually does too much.  Some checks are only needed if
11122# your package does certain things.  But this isn't really a big deal.
11123
11124# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
11125# AM_INIT_AUTOMAKE([OPTIONS])
11126# -----------------------------------------------
11127# The call with PACKAGE and VERSION arguments is the old style
11128# call (pre autoconf-2.50), which is being phased out.  PACKAGE
11129# and VERSION should now be passed to AC_INIT and removed from
11130# the call to AM_INIT_AUTOMAKE.
11131# We support both call styles for the transition.  After
11132# the next Automake release, Autoconf can make the AC_INIT
11133# arguments mandatory, and then we can depend on a new Autoconf
11134# release and drop the old call support.
11135AC_DEFUN([AM_INIT_AUTOMAKE],
11136[AC_PREREQ([2.62])dnl
11137dnl Autoconf wants to disallow AM_ names.  We explicitly allow
11138dnl the ones we care about.
11139m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
11140AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
11141AC_REQUIRE([AC_PROG_INSTALL])dnl
11142if test "`cd $srcdir && pwd`" != "`pwd`"; then
11143  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
11144  # is not polluted with repeated "-I."
11145  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
11146  # test to see if srcdir already configured
11147  if test -f $srcdir/config.status; then
11148    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
11149  fi
11150fi
11151
11152# test whether we have cygpath
11153if test -z "$CYGPATH_W"; then
11154  if (cygpath --version) >/dev/null 2>/dev/null; then
11155    CYGPATH_W='cygpath -w'
11156  else
11157    CYGPATH_W=echo
11158  fi
11159fi
11160AC_SUBST([CYGPATH_W])
11161
11162# Define the identity of the package.
11163dnl Distinguish between old-style and new-style calls.
11164m4_ifval([$2],
11165[AC_DIAGNOSE([obsolete],
11166[$0: two- and three-arguments forms are deprecated.  For more info, see:
11167http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation])
11168m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
11169 AC_SUBST([PACKAGE], [$1])dnl
11170 AC_SUBST([VERSION], [$2])],
11171[_AM_SET_OPTIONS([$1])dnl
11172dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
11173m4_if(
11174  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
11175  [ok:ok],,
11176  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
11177 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
11178 AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
11179
11180_AM_IF_OPTION([no-define],,
11181[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
11182 AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
11183
11184# Some tools Automake needs.
11185AC_REQUIRE([AM_SANITY_CHECK])dnl
11186AC_REQUIRE([AC_ARG_PROGRAM])dnl
11187AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
11188AM_MISSING_PROG([AUTOCONF], [autoconf])
11189AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
11190AM_MISSING_PROG([AUTOHEADER], [autoheader])
11191AM_MISSING_PROG([MAKEINFO], [makeinfo])
11192AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
11193AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
11194AC_REQUIRE([AC_PROG_MKDIR_P])dnl
11195# For better backward compatibility.  To be removed once Automake 1.9.x
11196# dies out for good.  For more background, see:
11197# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
11198# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
11199AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
11200# We need awk for the "check" target.  The system "awk" is bad on
11201# some platforms.
11202AC_REQUIRE([AC_PROG_AWK])dnl
11203AC_REQUIRE([AC_PROG_MAKE_SET])dnl
11204AC_REQUIRE([AM_SET_LEADING_DOT])dnl
11205_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
11206	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
11207			     [_AM_PROG_TAR([v7])])])
11208_AM_IF_OPTION([no-dependencies],,
11209[AC_PROVIDE_IFELSE([AC_PROG_CC],
11210		  [_AM_DEPENDENCIES([CC])],
11211		  [m4_define([AC_PROG_CC],
11212			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
11213AC_PROVIDE_IFELSE([AC_PROG_CXX],
11214		  [_AM_DEPENDENCIES([CXX])],
11215		  [m4_define([AC_PROG_CXX],
11216			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
11217AC_PROVIDE_IFELSE([AC_PROG_OBJC],
11218		  [_AM_DEPENDENCIES([OBJC])],
11219		  [m4_define([AC_PROG_OBJC],
11220			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
11221dnl Support for Objective C++ was only introduced in Autoconf 2.65,
11222dnl but we still cater to Autoconf 2.62.
11223m4_ifdef([AC_PROG_OBJCXX],
11224[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
11225		  [_AM_DEPENDENCIES([OBJCXX])],
11226		  [m4_define([AC_PROG_OBJCXX],
11227			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl
11228])
11229_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
11230dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
11231dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
11232dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
11233AC_CONFIG_COMMANDS_PRE(dnl
11234[m4_provide_if([_AM_COMPILER_EXEEXT],
11235  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
11236])
11237
11238dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
11239dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
11240dnl mangled by Autoconf and run in a shell conditional statement.
11241m4_define([_AC_COMPILER_EXEEXT],
11242m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
11243
11244
11245# When config.status generates a header, we must update the stamp-h file.
11246# This file resides in the same directory as the config header
11247# that is generated.  The stamp files are numbered to have different names.
11248
11249# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
11250# loop where config.status creates the headers, so we can generate
11251# our stamp files there.
11252AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
11253[# Compute $1's index in $config_headers.
11254_am_arg=$1
11255_am_stamp_count=1
11256for _am_header in $config_headers :; do
11257  case $_am_header in
11258    $_am_arg | $_am_arg:* )
11259      break ;;
11260    * )
11261      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
11262  esac
11263done
11264echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
11265
11266# Copyright (C) 2001-2012 Free Software Foundation, Inc.
11267#
11268# This file is free software; the Free Software Foundation
11269# gives unlimited permission to copy and/or distribute it,
11270# with or without modifications, as long as this notice is preserved.
11271
11272# serial 8
11273
11274# AM_PROG_INSTALL_SH
11275# ------------------
11276# Define $install_sh.
11277AC_DEFUN([AM_PROG_INSTALL_SH],
11278[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
11279if test x"${install_sh}" != xset; then
11280  case $am_aux_dir in
11281  *\ * | *\	*)
11282    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
11283  *)
11284    install_sh="\${SHELL} $am_aux_dir/install-sh"
11285  esac
11286fi
11287AC_SUBST([install_sh])])
11288
11289# Copyright (C) 2003-2012 Free Software Foundation, Inc.
11290#
11291# This file is free software; the Free Software Foundation
11292# gives unlimited permission to copy and/or distribute it,
11293# with or without modifications, as long as this notice is preserved.
11294
11295# serial 2
11296
11297# Check whether the underlying file-system supports filenames
11298# with a leading dot.  For instance MS-DOS doesn't.
11299AC_DEFUN([AM_SET_LEADING_DOT],
11300[rm -rf .tst 2>/dev/null
11301mkdir .tst 2>/dev/null
11302if test -d .tst; then
11303  am__leading_dot=.
11304else
11305  am__leading_dot=_
11306fi
11307rmdir .tst 2>/dev/null
11308AC_SUBST([am__leading_dot])])
11309
11310# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
11311# From Jim Meyering
11312
11313# Copyright (C) 1996-2012 Free Software Foundation, Inc.
11314#
11315# This file is free software; the Free Software Foundation
11316# gives unlimited permission to copy and/or distribute it,
11317# with or without modifications, as long as this notice is preserved.
11318
11319# serial 7
11320
11321# AM_MAINTAINER_MODE([DEFAULT-MODE])
11322# ----------------------------------
11323# Control maintainer-specific portions of Makefiles.
11324# Default is to disable them, unless 'enable' is passed literally.
11325# For symmetry, 'disable' may be passed as well.  Anyway, the user
11326# can override the default with the --enable/--disable switch.
11327AC_DEFUN([AM_MAINTAINER_MODE],
11328[m4_case(m4_default([$1], [disable]),
11329       [enable], [m4_define([am_maintainer_other], [disable])],
11330       [disable], [m4_define([am_maintainer_other], [enable])],
11331       [m4_define([am_maintainer_other], [enable])
11332        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
11333AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
11334  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
11335  AC_ARG_ENABLE([maintainer-mode],
11336    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
11337      am_maintainer_other[ make rules and dependencies not useful
11338      (and sometimes confusing) to the casual installer])],
11339    [USE_MAINTAINER_MODE=$enableval],
11340    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
11341  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
11342  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
11343  MAINT=$MAINTAINER_MODE_TRUE
11344  AC_SUBST([MAINT])dnl
11345]
11346)
11347
11348AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
11349
11350# Check to see how 'make' treats includes.	            -*- Autoconf -*-
11351
11352# Copyright (C) 2001-2012 Free Software Foundation, Inc.
11353#
11354# This file is free software; the Free Software Foundation
11355# gives unlimited permission to copy and/or distribute it,
11356# with or without modifications, as long as this notice is preserved.
11357
11358# serial 5
11359
11360# AM_MAKE_INCLUDE()
11361# -----------------
11362# Check to see how make treats includes.
11363AC_DEFUN([AM_MAKE_INCLUDE],
11364[am_make=${MAKE-make}
11365cat > confinc << 'END'
11366am__doit:
11367	@echo this is the am__doit target
11368.PHONY: am__doit
11369END
11370# If we don't find an include directive, just comment out the code.
11371AC_MSG_CHECKING([for style of include used by $am_make])
11372am__include="#"
11373am__quote=
11374_am_result=none
11375# First try GNU make style include.
11376echo "include confinc" > confmf
11377# Ignore all kinds of additional output from 'make'.
11378case `$am_make -s -f confmf 2> /dev/null` in #(
11379*the\ am__doit\ target*)
11380  am__include=include
11381  am__quote=
11382  _am_result=GNU
11383  ;;
11384esac
11385# Now try BSD make style include.
11386if test "$am__include" = "#"; then
11387   echo '.include "confinc"' > confmf
11388   case `$am_make -s -f confmf 2> /dev/null` in #(
11389   *the\ am__doit\ target*)
11390     am__include=.include
11391     am__quote="\""
11392     _am_result=BSD
11393     ;;
11394   esac
11395fi
11396AC_SUBST([am__include])
11397AC_SUBST([am__quote])
11398AC_MSG_RESULT([$_am_result])
11399rm -f confinc confmf
11400])
11401
11402# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
11403
11404# Copyright (C) 1997-2012 Free Software Foundation, Inc.
11405#
11406# This file is free software; the Free Software Foundation
11407# gives unlimited permission to copy and/or distribute it,
11408# with or without modifications, as long as this notice is preserved.
11409
11410# serial 7
11411
11412# AM_MISSING_PROG(NAME, PROGRAM)
11413# ------------------------------
11414AC_DEFUN([AM_MISSING_PROG],
11415[AC_REQUIRE([AM_MISSING_HAS_RUN])
11416$1=${$1-"${am_missing_run}$2"}
11417AC_SUBST($1)])
11418
11419
11420# AM_MISSING_HAS_RUN
11421# ------------------
11422# Define MISSING if not defined so far and test if it supports --run.
11423# If it does, set am_missing_run to use it, otherwise, to nothing.
11424AC_DEFUN([AM_MISSING_HAS_RUN],
11425[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
11426AC_REQUIRE_AUX_FILE([missing])dnl
11427if test x"${MISSING+set}" != xset; then
11428  case $am_aux_dir in
11429  *\ * | *\	*)
11430    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
11431  *)
11432    MISSING="\${SHELL} $am_aux_dir/missing" ;;
11433  esac
11434fi
11435# Use eval to expand $SHELL
11436if eval "$MISSING --run true"; then
11437  am_missing_run="$MISSING --run "
11438else
11439  am_missing_run=
11440  AC_MSG_WARN(['missing' script is too old or missing])
11441fi
11442])
11443
11444# Helper functions for option handling.                     -*- Autoconf -*-
11445
11446# Copyright (C) 2001-2012 Free Software Foundation, Inc.
11447#
11448# This file is free software; the Free Software Foundation
11449# gives unlimited permission to copy and/or distribute it,
11450# with or without modifications, as long as this notice is preserved.
11451
11452# serial 6
11453
11454# _AM_MANGLE_OPTION(NAME)
11455# -----------------------
11456AC_DEFUN([_AM_MANGLE_OPTION],
11457[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
11458
11459# _AM_SET_OPTION(NAME)
11460# --------------------
11461# Set option NAME.  Presently that only means defining a flag for this option.
11462AC_DEFUN([_AM_SET_OPTION],
11463[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
11464
11465# _AM_SET_OPTIONS(OPTIONS)
11466# ------------------------
11467# OPTIONS is a space-separated list of Automake options.
11468AC_DEFUN([_AM_SET_OPTIONS],
11469[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
11470
11471# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
11472# -------------------------------------------
11473# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
11474AC_DEFUN([_AM_IF_OPTION],
11475[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
11476
11477# Check to make sure that the build environment is sane.    -*- Autoconf -*-
11478
11479# Copyright (C) 1996-2012 Free Software Foundation, Inc.
11480#
11481# This file is free software; the Free Software Foundation
11482# gives unlimited permission to copy and/or distribute it,
11483# with or without modifications, as long as this notice is preserved.
11484
11485# serial 9
11486
11487# AM_SANITY_CHECK
11488# ---------------
11489AC_DEFUN([AM_SANITY_CHECK],
11490[AC_MSG_CHECKING([whether build environment is sane])
11491# Reject unsafe characters in $srcdir or the absolute working directory
11492# name.  Accept space and tab only in the latter.
11493am_lf='
11494'
11495case `pwd` in
11496  *[[\\\"\#\$\&\'\`$am_lf]]*)
11497    AC_MSG_ERROR([unsafe absolute working directory name]);;
11498esac
11499case $srcdir in
11500  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
11501    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
11502esac
11503
11504# Do 'set' in a subshell so we don't clobber the current shell's
11505# arguments.  Must try -L first in case configure is actually a
11506# symlink; some systems play weird games with the mod time of symlinks
11507# (eg FreeBSD returns the mod time of the symlink's containing
11508# directory).
11509if (
11510   am_has_slept=no
11511   for am_try in 1 2; do
11512     echo "timestamp, slept: $am_has_slept" > conftest.file
11513     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
11514     if test "$[*]" = "X"; then
11515	# -L didn't work.
11516	set X `ls -t "$srcdir/configure" conftest.file`
11517     fi
11518     if test "$[*]" != "X $srcdir/configure conftest.file" \
11519	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
11520
11521	# If neither matched, then we have a broken ls.  This can happen
11522	# if, for instance, CONFIG_SHELL is bash and it inherits a
11523	# broken ls alias from the environment.  This has actually
11524	# happened.  Such a system could not be considered "sane".
11525	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
11526  alias in your environment])
11527     fi
11528     if test "$[2]" = conftest.file || test $am_try -eq 2; then
11529       break
11530     fi
11531     # Just in case.
11532     sleep 1
11533     am_has_slept=yes
11534   done
11535   test "$[2]" = conftest.file
11536   )
11537then
11538   # Ok.
11539   :
11540else
11541   AC_MSG_ERROR([newly created file is older than distributed files!
11542Check your system clock])
11543fi
11544AC_MSG_RESULT([yes])
11545# If we didn't sleep, we still need to ensure time stamps of config.status and
11546# generated files are strictly newer.
11547am_sleep_pid=
11548if grep 'slept: no' conftest.file >/dev/null 2>&1; then
11549  ( sleep 1 ) &
11550  am_sleep_pid=$!
11551fi
11552AC_CONFIG_COMMANDS_PRE(
11553  [AC_MSG_CHECKING([that generated files are newer than configure])
11554   if test -n "$am_sleep_pid"; then
11555     # Hide warnings about reused PIDs.
11556     wait $am_sleep_pid 2>/dev/null
11557   fi
11558   AC_MSG_RESULT([done])])
11559rm -f conftest.file
11560])
11561
11562# Copyright (C) 2009-2012 Free Software Foundation, Inc.
11563#
11564# This file is free software; the Free Software Foundation
11565# gives unlimited permission to copy and/or distribute it,
11566# with or without modifications, as long as this notice is preserved.
11567
11568# serial 3
11569
11570# AM_SILENT_RULES([DEFAULT])
11571# --------------------------
11572# Enable less verbose build rules; with the default set to DEFAULT
11573# ("yes" being less verbose, "no" or empty being verbose).
11574AC_DEFUN([AM_SILENT_RULES],
11575[AC_ARG_ENABLE([silent-rules], [dnl
11576AS_HELP_STRING(
11577  [--enable-silent-rules],
11578  [less verbose build output (undo: "make V=1")])
11579AS_HELP_STRING(
11580  [--disable-silent-rules],
11581  [verbose build output (undo: "make V=0")])dnl
11582])
11583case $enable_silent_rules in @%:@ (((
11584  yes) AM_DEFAULT_VERBOSITY=0;;
11585   no) AM_DEFAULT_VERBOSITY=1;;
11586    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
11587esac
11588dnl
11589dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
11590dnl do not support nested variable expansions.
11591dnl See automake bug#9928 and bug#10237.
11592am_make=${MAKE-make}
11593AC_CACHE_CHECK([whether $am_make supports nested variables],
11594   [am_cv_make_support_nested_variables],
11595   [if AS_ECHO([['TRUE=$(BAR$(V))
11596BAR0=false
11597BAR1=true
11598V=1
11599am__doit:
11600	@$(TRUE)
11601.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
11602  am_cv_make_support_nested_variables=yes
11603else
11604  am_cv_make_support_nested_variables=no
11605fi])
11606if test $am_cv_make_support_nested_variables = yes; then
11607  dnl Using '$V' instead of '$(V)' breaks IRIX make.
11608  AM_V='$(V)'
11609  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
11610else
11611  AM_V=$AM_DEFAULT_VERBOSITY
11612  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
11613fi
11614AC_SUBST([AM_V])dnl
11615AM_SUBST_NOTMAKE([AM_V])dnl
11616AC_SUBST([AM_DEFAULT_V])dnl
11617AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
11618AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
11619AM_BACKSLASH='\'
11620AC_SUBST([AM_BACKSLASH])dnl
11621_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
11622])
11623
11624# Copyright (C) 2001-2012 Free Software Foundation, Inc.
11625#
11626# This file is free software; the Free Software Foundation
11627# gives unlimited permission to copy and/or distribute it,
11628# with or without modifications, as long as this notice is preserved.
11629
11630# serial 2
11631
11632# AM_PROG_INSTALL_STRIP
11633# ---------------------
11634# One issue with vendor 'install' (even GNU) is that you can't
11635# specify the program used to strip binaries.  This is especially
11636# annoying in cross-compiling environments, where the build's strip
11637# is unlikely to handle the host's binaries.
11638# Fortunately install-sh will honor a STRIPPROG variable, so we
11639# always use install-sh in "make install-strip", and initialize
11640# STRIPPROG with the value of the STRIP variable (set by the user).
11641AC_DEFUN([AM_PROG_INSTALL_STRIP],
11642[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
11643# Installed binaries are usually stripped using 'strip' when the user
11644# run "make install-strip".  However 'strip' might not be the right
11645# tool to use in cross-compilation environments, therefore Automake
11646# will honor the 'STRIP' environment variable to overrule this program.
11647dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
11648if test "$cross_compiling" != no; then
11649  AC_CHECK_TOOL([STRIP], [strip], :)
11650fi
11651INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
11652AC_SUBST([INSTALL_STRIP_PROGRAM])])
11653
11654# Copyright (C) 2006-2012 Free Software Foundation, Inc.
11655#
11656# This file is free software; the Free Software Foundation
11657# gives unlimited permission to copy and/or distribute it,
11658# with or without modifications, as long as this notice is preserved.
11659
11660# serial 3
11661
11662# _AM_SUBST_NOTMAKE(VARIABLE)
11663# ---------------------------
11664# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
11665# This macro is traced by Automake.
11666AC_DEFUN([_AM_SUBST_NOTMAKE])
11667
11668# AM_SUBST_NOTMAKE(VARIABLE)
11669# --------------------------
11670# Public sister of _AM_SUBST_NOTMAKE.
11671AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
11672
11673# Check how to create a tarball.                            -*- Autoconf -*-
11674
11675# Copyright (C) 2004-2012 Free Software Foundation, Inc.
11676#
11677# This file is free software; the Free Software Foundation
11678# gives unlimited permission to copy and/or distribute it,
11679# with or without modifications, as long as this notice is preserved.
11680
11681# serial 3
11682
11683# _AM_PROG_TAR(FORMAT)
11684# --------------------
11685# Check how to create a tarball in format FORMAT.
11686# FORMAT should be one of 'v7', 'ustar', or 'pax'.
11687#
11688# Substitute a variable $(am__tar) that is a command
11689# writing to stdout a FORMAT-tarball containing the directory
11690# $tardir.
11691#     tardir=directory && $(am__tar) > result.tar
11692#
11693# Substitute a variable $(am__untar) that extract such
11694# a tarball read from stdin.
11695#     $(am__untar) < result.tar
11696AC_DEFUN([_AM_PROG_TAR],
11697[# Always define AMTAR for backward compatibility.  Yes, it's still used
11698# in the wild :-(  We should find a proper way to deprecate it ...
11699AC_SUBST([AMTAR], ['$${TAR-tar}'])
11700m4_if([$1], [v7],
11701     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
11702     [m4_case([$1], [ustar],, [pax],,
11703              [m4_fatal([Unknown tar format])])
11704AC_MSG_CHECKING([how to create a $1 tar archive])
11705# Loop over all known methods to create a tar archive until one works.
11706_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
11707_am_tools=${am_cv_prog_tar_$1-$_am_tools}
11708# Do not fold the above two line into one, because Tru64 sh and
11709# Solaris sh will not grok spaces in the rhs of '-'.
11710for _am_tool in $_am_tools
11711do
11712  case $_am_tool in
11713  gnutar)
11714    for _am_tar in tar gnutar gtar;
11715    do
11716      AM_RUN_LOG([$_am_tar --version]) && break
11717    done
11718    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
11719    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
11720    am__untar="$_am_tar -xf -"
11721    ;;
11722  plaintar)
11723    # Must skip GNU tar: if it does not support --format= it doesn't create
11724    # ustar tarball either.
11725    (tar --version) >/dev/null 2>&1 && continue
11726    am__tar='tar chf - "$$tardir"'
11727    am__tar_='tar chf - "$tardir"'
11728    am__untar='tar xf -'
11729    ;;
11730  pax)
11731    am__tar='pax -L -x $1 -w "$$tardir"'
11732    am__tar_='pax -L -x $1 -w "$tardir"'
11733    am__untar='pax -r'
11734    ;;
11735  cpio)
11736    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
11737    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
11738    am__untar='cpio -i -H $1 -d'
11739    ;;
11740  none)
11741    am__tar=false
11742    am__tar_=false
11743    am__untar=false
11744    ;;
11745  esac
11746
11747  # If the value was cached, stop now.  We just wanted to have am__tar
11748  # and am__untar set.
11749  test -n "${am_cv_prog_tar_$1}" && break
11750
11751  # tar/untar a dummy directory, and stop if the command works
11752  rm -rf conftest.dir
11753  mkdir conftest.dir
11754  echo GrepMe > conftest.dir/file
11755  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
11756  rm -rf conftest.dir
11757  if test -s conftest.tar; then
11758    AM_RUN_LOG([$am__untar <conftest.tar])
11759    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
11760  fi
11761done
11762rm -rf conftest.dir
11763
11764AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
11765AC_MSG_RESULT([$am_cv_prog_tar_$1])])
11766AC_SUBST([am__tar])
11767AC_SUBST([am__untar])
11768]) # _AM_PROG_TAR
11769
11770