1# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
2
3# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
5# Inc.
6# This file is free software; the Free Software Foundation
7# gives unlimited permission to copy and/or distribute it,
8# with or without modifications, as long as this notice is preserved.
9
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13# PARTICULAR PURPOSE.
14
15m4_ifndef([AC_AUTOCONF_VERSION],
16  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
17m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
18[m4_warning([this file was generated for autoconf 2.68.
19You have another version of autoconf.  It may work, but is not guaranteed to.
20If you have problems, you may need to regenerate the build system entirely.
21To do so, use the procedure documented by the package, typically `autoreconf'.])])
22
23# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
24#
25#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
26#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
27#                 Foundation, Inc.
28#   Written by Gordon Matzigkeit, 1996
29#
30# This file is free software; the Free Software Foundation gives
31# unlimited permission to copy and/or distribute it, with or without
32# modifications, as long as this notice is preserved.
33
34m4_define([_LT_COPYING], [dnl
35#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
36#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
37#                 Foundation, Inc.
38#   Written by Gordon Matzigkeit, 1996
39#
40#   This file is part of GNU Libtool.
41#
42# GNU Libtool is free software; you can redistribute it and/or
43# modify it under the terms of the GNU General Public License as
44# published by the Free Software Foundation; either version 2 of
45# the License, or (at your option) any later version.
46#
47# As a special exception to the GNU General Public License,
48# if you distribute this file as part of a program or library that
49# is built using GNU Libtool, you may include this file under the
50# same distribution terms that you use for the rest of that program.
51#
52# GNU Libtool is distributed in the hope that it will be useful,
53# but WITHOUT ANY WARRANTY; without even the implied warranty of
54# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
55# GNU General Public License for more details.
56#
57# You should have received a copy of the GNU General Public License
58# along with GNU Libtool; see the file COPYING.  If not, a copy
59# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
60# obtained by writing to the Free Software Foundation, Inc.,
61# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
62])
63
64# serial 57 LT_INIT
65
66
67# LT_PREREQ(VERSION)
68# ------------------
69# Complain and exit if this libtool version is less that VERSION.
70m4_defun([LT_PREREQ],
71[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
72       [m4_default([$3],
73		   [m4_fatal([Libtool version $1 or higher is required],
74		             63)])],
75       [$2])])
76
77
78# _LT_CHECK_BUILDDIR
79# ------------------
80# Complain if the absolute build directory name contains unusual characters
81m4_defun([_LT_CHECK_BUILDDIR],
82[case `pwd` in
83  *\ * | *\	*)
84    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
85esac
86])
87
88
89# LT_INIT([OPTIONS])
90# ------------------
91AC_DEFUN([LT_INIT],
92[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
93AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
94AC_BEFORE([$0], [LT_LANG])dnl
95AC_BEFORE([$0], [LT_OUTPUT])dnl
96AC_BEFORE([$0], [LTDL_INIT])dnl
97m4_require([_LT_CHECK_BUILDDIR])dnl
98
99dnl Autoconf doesn't catch unexpanded LT_ macros by default:
100m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
101m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
102dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
103dnl unless we require an AC_DEFUNed macro:
104AC_REQUIRE([LTOPTIONS_VERSION])dnl
105AC_REQUIRE([LTSUGAR_VERSION])dnl
106AC_REQUIRE([LTVERSION_VERSION])dnl
107AC_REQUIRE([LTOBSOLETE_VERSION])dnl
108m4_require([_LT_PROG_LTMAIN])dnl
109
110_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
111
112dnl Parse OPTIONS
113_LT_SET_OPTIONS([$0], [$1])
114
115# This can be used to rebuild libtool when needed
116LIBTOOL_DEPS="$ltmain"
117
118# Always use our own libtool.
119LIBTOOL='$(SHELL) $(top_builddir)/libtool'
120AC_SUBST(LIBTOOL)dnl
121
122_LT_SETUP
123
124# Only expand once:
125m4_define([LT_INIT])
126])# LT_INIT
127
128# Old names:
129AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
130AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
131dnl aclocal-1.4 backwards compatibility:
132dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
133dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
134
135
136# _LT_CC_BASENAME(CC)
137# -------------------
138# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
139m4_defun([_LT_CC_BASENAME],
140[for cc_temp in $1""; do
141  case $cc_temp in
142    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
143    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
144    \-*) ;;
145    *) break;;
146  esac
147done
148cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
149])
150
151
152# _LT_FILEUTILS_DEFAULTS
153# ----------------------
154# It is okay to use these file commands and assume they have been set
155# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
156m4_defun([_LT_FILEUTILS_DEFAULTS],
157[: ${CP="cp -f"}
158: ${MV="mv -f"}
159: ${RM="rm -f"}
160])# _LT_FILEUTILS_DEFAULTS
161
162
163# _LT_SETUP
164# ---------
165m4_defun([_LT_SETUP],
166[AC_REQUIRE([AC_CANONICAL_HOST])dnl
167AC_REQUIRE([AC_CANONICAL_BUILD])dnl
168AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
169AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
170
171_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
172dnl
173_LT_DECL([], [host_alias], [0], [The host system])dnl
174_LT_DECL([], [host], [0])dnl
175_LT_DECL([], [host_os], [0])dnl
176dnl
177_LT_DECL([], [build_alias], [0], [The build system])dnl
178_LT_DECL([], [build], [0])dnl
179_LT_DECL([], [build_os], [0])dnl
180dnl
181AC_REQUIRE([AC_PROG_CC])dnl
182AC_REQUIRE([LT_PATH_LD])dnl
183AC_REQUIRE([LT_PATH_NM])dnl
184dnl
185AC_REQUIRE([AC_PROG_LN_S])dnl
186test -z "$LN_S" && LN_S="ln -s"
187_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
188dnl
189AC_REQUIRE([LT_CMD_MAX_LEN])dnl
190_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
191_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
192dnl
193m4_require([_LT_FILEUTILS_DEFAULTS])dnl
194m4_require([_LT_CHECK_SHELL_FEATURES])dnl
195m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
196m4_require([_LT_CMD_RELOAD])dnl
197m4_require([_LT_CHECK_MAGIC_METHOD])dnl
198m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
199m4_require([_LT_CMD_OLD_ARCHIVE])dnl
200m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
201m4_require([_LT_WITH_SYSROOT])dnl
202
203_LT_CONFIG_LIBTOOL_INIT([
204# See if we are running on zsh, and set the options which allow our
205# commands through without removal of \ escapes INIT.
206if test -n "\${ZSH_VERSION+set}" ; then
207   setopt NO_GLOB_SUBST
208fi
209])
210if test -n "${ZSH_VERSION+set}" ; then
211   setopt NO_GLOB_SUBST
212fi
213
214_LT_CHECK_OBJDIR
215
216m4_require([_LT_TAG_COMPILER])dnl
217
218case $host_os in
219aix3*)
220  # AIX sometimes has problems with the GCC collect2 program.  For some
221  # reason, if we set the COLLECT_NAMES environment variable, the problems
222  # vanish in a puff of smoke.
223  if test "X${COLLECT_NAMES+set}" != Xset; then
224    COLLECT_NAMES=
225    export COLLECT_NAMES
226  fi
227  ;;
228esac
229
230# Global variables:
231ofile=libtool
232can_build_shared=yes
233
234# All known linkers require a `.a' archive for static linking (except MSVC,
235# which needs '.lib').
236libext=a
237
238with_gnu_ld="$lt_cv_prog_gnu_ld"
239
240old_CC="$CC"
241old_CFLAGS="$CFLAGS"
242
243# Set sane defaults for various variables
244test -z "$CC" && CC=cc
245test -z "$LTCC" && LTCC=$CC
246test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
247test -z "$LD" && LD=ld
248test -z "$ac_objext" && ac_objext=o
249
250_LT_CC_BASENAME([$compiler])
251
252# Only perform the check for file, if the check method requires it
253test -z "$MAGIC_CMD" && MAGIC_CMD=file
254case $deplibs_check_method in
255file_magic*)
256  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
257    _LT_PATH_MAGIC
258  fi
259  ;;
260esac
261
262# Use C for the default configuration in the libtool script
263LT_SUPPORTED_TAG([CC])
264_LT_LANG_C_CONFIG
265_LT_LANG_DEFAULT_CONFIG
266_LT_CONFIG_COMMANDS
267])# _LT_SETUP
268
269
270# _LT_PREPARE_SED_QUOTE_VARS
271# --------------------------
272# Define a few sed substitution that help us do robust quoting.
273m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
274[# Backslashify metacharacters that are still active within
275# double-quoted strings.
276sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
277
278# Same as above, but do not quote variable references.
279double_quote_subst='s/\([["`\\]]\)/\\\1/g'
280
281# Sed substitution to delay expansion of an escaped shell variable in a
282# double_quote_subst'ed string.
283delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
284
285# Sed substitution to delay expansion of an escaped single quote.
286delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
287
288# Sed substitution to avoid accidental globbing in evaled expressions
289no_glob_subst='s/\*/\\\*/g'
290])
291
292# _LT_PROG_LTMAIN
293# ---------------
294# Note that this code is called both from `configure', and `config.status'
295# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
296# `config.status' has no value for ac_aux_dir unless we are using Automake,
297# so we pass a copy along to make sure it has a sensible value anyway.
298m4_defun([_LT_PROG_LTMAIN],
299[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
300_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
301ltmain="$ac_aux_dir/ltmain.sh"
302])# _LT_PROG_LTMAIN
303
304
305
306# So that we can recreate a full libtool script including additional
307# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
308# in macros and then make a single call at the end using the `libtool'
309# label.
310
311
312# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
313# ----------------------------------------
314# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
315m4_define([_LT_CONFIG_LIBTOOL_INIT],
316[m4_ifval([$1],
317          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
318                     [$1
319])])])
320
321# Initialize.
322m4_define([_LT_OUTPUT_LIBTOOL_INIT])
323
324
325# _LT_CONFIG_LIBTOOL([COMMANDS])
326# ------------------------------
327# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
328m4_define([_LT_CONFIG_LIBTOOL],
329[m4_ifval([$1],
330          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
331                     [$1
332])])])
333
334# Initialize.
335m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
336
337
338# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
339# -----------------------------------------------------
340m4_defun([_LT_CONFIG_SAVE_COMMANDS],
341[_LT_CONFIG_LIBTOOL([$1])
342_LT_CONFIG_LIBTOOL_INIT([$2])
343])
344
345
346# _LT_FORMAT_COMMENT([COMMENT])
347# -----------------------------
348# Add leading comment marks to the start of each line, and a trailing
349# full-stop to the whole comment if one is not present already.
350m4_define([_LT_FORMAT_COMMENT],
351[m4_ifval([$1], [
352m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
353              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
354)])
355
356
357
358
359
360# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
361# -------------------------------------------------------------------
362# CONFIGNAME is the name given to the value in the libtool script.
363# VARNAME is the (base) name used in the configure script.
364# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
365# VARNAME.  Any other value will be used directly.
366m4_define([_LT_DECL],
367[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
368    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
369	[m4_ifval([$1], [$1], [$2])])
370    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
371    m4_ifval([$4],
372	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
373    lt_dict_add_subkey([lt_decl_dict], [$2],
374	[tagged?], [m4_ifval([$5], [yes], [no])])])
375])
376
377
378# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
379# --------------------------------------------------------
380m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
381
382
383# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
384# ------------------------------------------------
385m4_define([lt_decl_tag_varnames],
386[_lt_decl_filter([tagged?], [yes], $@)])
387
388
389# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
390# ---------------------------------------------------------
391m4_define([_lt_decl_filter],
392[m4_case([$#],
393  [0], [m4_fatal([$0: too few arguments: $#])],
394  [1], [m4_fatal([$0: too few arguments: $#: $1])],
395  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
396  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
397  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
398])
399
400
401# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
402# --------------------------------------------------
403m4_define([lt_decl_quote_varnames],
404[_lt_decl_filter([value], [1], $@)])
405
406
407# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
408# ---------------------------------------------------
409m4_define([lt_decl_dquote_varnames],
410[_lt_decl_filter([value], [2], $@)])
411
412
413# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
414# ---------------------------------------------------
415m4_define([lt_decl_varnames_tagged],
416[m4_assert([$# <= 2])dnl
417_$0(m4_quote(m4_default([$1], [[, ]])),
418    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
419    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
420m4_define([_lt_decl_varnames_tagged],
421[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
422
423
424# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
425# ------------------------------------------------
426m4_define([lt_decl_all_varnames],
427[_$0(m4_quote(m4_default([$1], [[, ]])),
428     m4_if([$2], [],
429	   m4_quote(lt_decl_varnames),
430	m4_quote(m4_shift($@))))[]dnl
431])
432m4_define([_lt_decl_all_varnames],
433[lt_join($@, lt_decl_varnames_tagged([$1],
434			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
435])
436
437
438# _LT_CONFIG_STATUS_DECLARE([VARNAME])
439# ------------------------------------
440# Quote a variable value, and forward it to `config.status' so that its
441# declaration there will have the same value as in `configure'.  VARNAME
442# must have a single quote delimited value for this to work.
443m4_define([_LT_CONFIG_STATUS_DECLARE],
444[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
445
446
447# _LT_CONFIG_STATUS_DECLARATIONS
448# ------------------------------
449# We delimit libtool config variables with single quotes, so when
450# we write them to config.status, we have to be sure to quote all
451# embedded single quotes properly.  In configure, this macro expands
452# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
453#
454#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
455m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
456[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
457    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
458
459
460# _LT_LIBTOOL_TAGS
461# ----------------
462# Output comment and list of tags supported by the script
463m4_defun([_LT_LIBTOOL_TAGS],
464[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
465available_tags="_LT_TAGS"dnl
466])
467
468
469# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
470# -----------------------------------
471# Extract the dictionary values for VARNAME (optionally with TAG) and
472# expand to a commented shell variable setting:
473#
474#    # Some comment about what VAR is for.
475#    visible_name=$lt_internal_name
476m4_define([_LT_LIBTOOL_DECLARE],
477[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
478					   [description])))[]dnl
479m4_pushdef([_libtool_name],
480    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
481m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
482    [0], [_libtool_name=[$]$1],
483    [1], [_libtool_name=$lt_[]$1],
484    [2], [_libtool_name=$lt_[]$1],
485    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
486m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
487])
488
489
490# _LT_LIBTOOL_CONFIG_VARS
491# -----------------------
492# Produce commented declarations of non-tagged libtool config variables
493# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
494# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
495# section) are produced by _LT_LIBTOOL_TAG_VARS.
496m4_defun([_LT_LIBTOOL_CONFIG_VARS],
497[m4_foreach([_lt_var],
498    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
499    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
500
501
502# _LT_LIBTOOL_TAG_VARS(TAG)
503# -------------------------
504m4_define([_LT_LIBTOOL_TAG_VARS],
505[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
506    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
507
508
509# _LT_TAGVAR(VARNAME, [TAGNAME])
510# ------------------------------
511m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
512
513
514# _LT_CONFIG_COMMANDS
515# -------------------
516# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
517# variables for single and double quote escaping we saved from calls
518# to _LT_DECL, we can put quote escaped variables declarations
519# into `config.status', and then the shell code to quote escape them in
520# for loops in `config.status'.  Finally, any additional code accumulated
521# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
522m4_defun([_LT_CONFIG_COMMANDS],
523[AC_PROVIDE_IFELSE([LT_OUTPUT],
524	dnl If the libtool generation code has been placed in $CONFIG_LT,
525	dnl instead of duplicating it all over again into config.status,
526	dnl then we will have config.status run $CONFIG_LT later, so it
527	dnl needs to know what name is stored there:
528        [AC_CONFIG_COMMANDS([libtool],
529            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
530    dnl If the libtool generation code is destined for config.status,
531    dnl expand the accumulated commands and init code now:
532    [AC_CONFIG_COMMANDS([libtool],
533        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
534])#_LT_CONFIG_COMMANDS
535
536
537# Initialize.
538m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
539[
540
541# The HP-UX ksh and POSIX shell print the target directory to stdout
542# if CDPATH is set.
543(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
544
545sed_quote_subst='$sed_quote_subst'
546double_quote_subst='$double_quote_subst'
547delay_variable_subst='$delay_variable_subst'
548_LT_CONFIG_STATUS_DECLARATIONS
549LTCC='$LTCC'
550LTCFLAGS='$LTCFLAGS'
551compiler='$compiler_DEFAULT'
552
553# A function that is used when there is no print builtin or printf.
554func_fallback_echo ()
555{
556  eval 'cat <<_LTECHO_EOF
557\$[]1
558_LTECHO_EOF'
559}
560
561# Quote evaled strings.
562for var in lt_decl_all_varnames([[ \
563]], lt_decl_quote_varnames); do
564    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
565    *[[\\\\\\\`\\"\\\$]]*)
566      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
567      ;;
568    *)
569      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
570      ;;
571    esac
572done
573
574# Double-quote double-evaled strings.
575for var in lt_decl_all_varnames([[ \
576]], lt_decl_dquote_varnames); do
577    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
578    *[[\\\\\\\`\\"\\\$]]*)
579      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
580      ;;
581    *)
582      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
583      ;;
584    esac
585done
586
587_LT_OUTPUT_LIBTOOL_INIT
588])
589
590# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
591# ------------------------------------
592# Generate a child script FILE with all initialization necessary to
593# reuse the environment learned by the parent script, and make the
594# file executable.  If COMMENT is supplied, it is inserted after the
595# `#!' sequence but before initialization text begins.  After this
596# macro, additional text can be appended to FILE to form the body of
597# the child script.  The macro ends with non-zero status if the
598# file could not be fully written (such as if the disk is full).
599m4_ifdef([AS_INIT_GENERATED],
600[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
601[m4_defun([_LT_GENERATED_FILE_INIT],
602[m4_require([AS_PREPARE])]dnl
603[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
604[lt_write_fail=0
605cat >$1 <<_ASEOF || lt_write_fail=1
606#! $SHELL
607# Generated by $as_me.
608$2
609SHELL=\${CONFIG_SHELL-$SHELL}
610export SHELL
611_ASEOF
612cat >>$1 <<\_ASEOF || lt_write_fail=1
613AS_SHELL_SANITIZE
614_AS_PREPARE
615exec AS_MESSAGE_FD>&1
616_ASEOF
617test $lt_write_fail = 0 && chmod +x $1[]dnl
618m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
619
620# LT_OUTPUT
621# ---------
622# This macro allows early generation of the libtool script (before
623# AC_OUTPUT is called), incase it is used in configure for compilation
624# tests.
625AC_DEFUN([LT_OUTPUT],
626[: ${CONFIG_LT=./config.lt}
627AC_MSG_NOTICE([creating $CONFIG_LT])
628_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
629[# Run this file to recreate a libtool stub with the current configuration.])
630
631cat >>"$CONFIG_LT" <<\_LTEOF
632lt_cl_silent=false
633exec AS_MESSAGE_LOG_FD>>config.log
634{
635  echo
636  AS_BOX([Running $as_me.])
637} >&AS_MESSAGE_LOG_FD
638
639lt_cl_help="\
640\`$as_me' creates a local libtool stub from the current configuration,
641for use in further configure time tests before the real libtool is
642generated.
643
644Usage: $[0] [[OPTIONS]]
645
646  -h, --help      print this help, then exit
647  -V, --version   print version number, then exit
648  -q, --quiet     do not print progress messages
649  -d, --debug     don't remove temporary files
650
651Report bugs to <bug-libtool@gnu.org>."
652
653lt_cl_version="\
654m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
655m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
656configured by $[0], generated by m4_PACKAGE_STRING.
657
658Copyright (C) 2011 Free Software Foundation, Inc.
659This config.lt script is free software; the Free Software Foundation
660gives unlimited permision to copy, distribute and modify it."
661
662while test $[#] != 0
663do
664  case $[1] in
665    --version | --v* | -V )
666      echo "$lt_cl_version"; exit 0 ;;
667    --help | --h* | -h )
668      echo "$lt_cl_help"; exit 0 ;;
669    --debug | --d* | -d )
670      debug=: ;;
671    --quiet | --q* | --silent | --s* | -q )
672      lt_cl_silent=: ;;
673
674    -*) AC_MSG_ERROR([unrecognized option: $[1]
675Try \`$[0] --help' for more information.]) ;;
676
677    *) AC_MSG_ERROR([unrecognized argument: $[1]
678Try \`$[0] --help' for more information.]) ;;
679  esac
680  shift
681done
682
683if $lt_cl_silent; then
684  exec AS_MESSAGE_FD>/dev/null
685fi
686_LTEOF
687
688cat >>"$CONFIG_LT" <<_LTEOF
689_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
690_LTEOF
691
692cat >>"$CONFIG_LT" <<\_LTEOF
693AC_MSG_NOTICE([creating $ofile])
694_LT_OUTPUT_LIBTOOL_COMMANDS
695AS_EXIT(0)
696_LTEOF
697chmod +x "$CONFIG_LT"
698
699# configure is writing to config.log, but config.lt does its own redirection,
700# appending to config.log, which fails on DOS, as config.log is still kept
701# open by configure.  Here we exec the FD to /dev/null, effectively closing
702# config.log, so it can be properly (re)opened and appended to by config.lt.
703lt_cl_success=:
704test "$silent" = yes &&
705  lt_config_lt_args="$lt_config_lt_args --quiet"
706exec AS_MESSAGE_LOG_FD>/dev/null
707$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
708exec AS_MESSAGE_LOG_FD>>config.log
709$lt_cl_success || AS_EXIT(1)
710])# LT_OUTPUT
711
712
713# _LT_CONFIG(TAG)
714# ---------------
715# If TAG is the built-in tag, create an initial libtool script with a
716# default configuration from the untagged config vars.  Otherwise add code
717# to config.status for appending the configuration named by TAG from the
718# matching tagged config vars.
719m4_defun([_LT_CONFIG],
720[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
721_LT_CONFIG_SAVE_COMMANDS([
722  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
723  m4_if(_LT_TAG, [C], [
724    # See if we are running on zsh, and set the options which allow our
725    # commands through without removal of \ escapes.
726    if test -n "${ZSH_VERSION+set}" ; then
727      setopt NO_GLOB_SUBST
728    fi
729
730    cfgfile="${ofile}T"
731    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
732    $RM "$cfgfile"
733
734    cat <<_LT_EOF >> "$cfgfile"
735#! $SHELL
736
737# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
738# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
739# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
740# NOTE: Changes made to this file will be lost: look at ltmain.sh.
741#
742_LT_COPYING
743_LT_LIBTOOL_TAGS
744
745# ### BEGIN LIBTOOL CONFIG
746_LT_LIBTOOL_CONFIG_VARS
747_LT_LIBTOOL_TAG_VARS
748# ### END LIBTOOL CONFIG
749
750_LT_EOF
751
752  case $host_os in
753  aix3*)
754    cat <<\_LT_EOF >> "$cfgfile"
755# AIX sometimes has problems with the GCC collect2 program.  For some
756# reason, if we set the COLLECT_NAMES environment variable, the problems
757# vanish in a puff of smoke.
758if test "X${COLLECT_NAMES+set}" != Xset; then
759  COLLECT_NAMES=
760  export COLLECT_NAMES
761fi
762_LT_EOF
763    ;;
764  esac
765
766  _LT_PROG_LTMAIN
767
768  # We use sed instead of cat because bash on DJGPP gets confused if
769  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
770  # text mode, it properly converts lines to CR/LF.  This bash problem
771  # is reportedly fixed, but why not run on old versions too?
772  sed '$q' "$ltmain" >> "$cfgfile" \
773     || (rm -f "$cfgfile"; exit 1)
774
775  _LT_PROG_REPLACE_SHELLFNS
776
777   mv -f "$cfgfile" "$ofile" ||
778    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
779  chmod +x "$ofile"
780],
781[cat <<_LT_EOF >> "$ofile"
782
783dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
784dnl in a comment (ie after a #).
785# ### BEGIN LIBTOOL TAG CONFIG: $1
786_LT_LIBTOOL_TAG_VARS(_LT_TAG)
787# ### END LIBTOOL TAG CONFIG: $1
788_LT_EOF
789])dnl /m4_if
790],
791[m4_if([$1], [], [
792    PACKAGE='$PACKAGE'
793    VERSION='$VERSION'
794    TIMESTAMP='$TIMESTAMP'
795    RM='$RM'
796    ofile='$ofile'], [])
797])dnl /_LT_CONFIG_SAVE_COMMANDS
798])# _LT_CONFIG
799
800
801# LT_SUPPORTED_TAG(TAG)
802# ---------------------
803# Trace this macro to discover what tags are supported by the libtool
804# --tag option, using:
805#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
806AC_DEFUN([LT_SUPPORTED_TAG], [])
807
808
809# C support is built-in for now
810m4_define([_LT_LANG_C_enabled], [])
811m4_define([_LT_TAGS], [])
812
813
814# LT_LANG(LANG)
815# -------------
816# Enable libtool support for the given language if not already enabled.
817AC_DEFUN([LT_LANG],
818[AC_BEFORE([$0], [LT_OUTPUT])dnl
819m4_case([$1],
820  [C],			[_LT_LANG(C)],
821  [C++],		[_LT_LANG(CXX)],
822  [Go],			[_LT_LANG(GO)],
823  [Java],		[_LT_LANG(GCJ)],
824  [Fortran 77],		[_LT_LANG(F77)],
825  [Fortran],		[_LT_LANG(FC)],
826  [Windows Resource],	[_LT_LANG(RC)],
827  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
828    [_LT_LANG($1)],
829    [m4_fatal([$0: unsupported language: "$1"])])])dnl
830])# LT_LANG
831
832
833# _LT_LANG(LANGNAME)
834# ------------------
835m4_defun([_LT_LANG],
836[m4_ifdef([_LT_LANG_]$1[_enabled], [],
837  [LT_SUPPORTED_TAG([$1])dnl
838  m4_append([_LT_TAGS], [$1 ])dnl
839  m4_define([_LT_LANG_]$1[_enabled], [])dnl
840  _LT_LANG_$1_CONFIG($1)])dnl
841])# _LT_LANG
842
843
844m4_ifndef([AC_PROG_GO], [
845# NOTE: This macro has been submitted for inclusion into   #
846#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
847#  a released version of Autoconf we should remove this    #
848#  macro and use it instead.                               #
849m4_defun([AC_PROG_GO],
850[AC_LANG_PUSH(Go)dnl
851AC_ARG_VAR([GOC],     [Go compiler command])dnl
852AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
853_AC_ARG_VAR_LDFLAGS()dnl
854AC_CHECK_TOOL(GOC, gccgo)
855if test -z "$GOC"; then
856  if test -n "$ac_tool_prefix"; then
857    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
858  fi
859fi
860if test -z "$GOC"; then
861  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
862fi
863])#m4_defun
864])#m4_ifndef
865
866
867# _LT_LANG_DEFAULT_CONFIG
868# -----------------------
869m4_defun([_LT_LANG_DEFAULT_CONFIG],
870[AC_PROVIDE_IFELSE([AC_PROG_CXX],
871  [LT_LANG(CXX)],
872  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
873
874AC_PROVIDE_IFELSE([AC_PROG_F77],
875  [LT_LANG(F77)],
876  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
877
878AC_PROVIDE_IFELSE([AC_PROG_FC],
879  [LT_LANG(FC)],
880  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
881
882dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
883dnl pulling things in needlessly.
884AC_PROVIDE_IFELSE([AC_PROG_GCJ],
885  [LT_LANG(GCJ)],
886  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
887    [LT_LANG(GCJ)],
888    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
889      [LT_LANG(GCJ)],
890      [m4_ifdef([AC_PROG_GCJ],
891	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
892       m4_ifdef([A][M_PROG_GCJ],
893	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
894       m4_ifdef([LT_PROG_GCJ],
895	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
896
897AC_PROVIDE_IFELSE([AC_PROG_GO],
898  [LT_LANG(GO)],
899  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
900
901AC_PROVIDE_IFELSE([LT_PROG_RC],
902  [LT_LANG(RC)],
903  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
904])# _LT_LANG_DEFAULT_CONFIG
905
906# Obsolete macros:
907AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
908AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
909AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
910AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
911AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
912dnl aclocal-1.4 backwards compatibility:
913dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
914dnl AC_DEFUN([AC_LIBTOOL_F77], [])
915dnl AC_DEFUN([AC_LIBTOOL_FC], [])
916dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
917dnl AC_DEFUN([AC_LIBTOOL_RC], [])
918
919
920# _LT_TAG_COMPILER
921# ----------------
922m4_defun([_LT_TAG_COMPILER],
923[AC_REQUIRE([AC_PROG_CC])dnl
924
925_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
926_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
927_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
928_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
929
930# If no C compiler was specified, use CC.
931LTCC=${LTCC-"$CC"}
932
933# If no C compiler flags were specified, use CFLAGS.
934LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
935
936# Allow CC to be a program name with arguments.
937compiler=$CC
938])# _LT_TAG_COMPILER
939
940
941# _LT_COMPILER_BOILERPLATE
942# ------------------------
943# Check for compiler boilerplate output or warnings with
944# the simple compiler test code.
945m4_defun([_LT_COMPILER_BOILERPLATE],
946[m4_require([_LT_DECL_SED])dnl
947ac_outfile=conftest.$ac_objext
948echo "$lt_simple_compile_test_code" >conftest.$ac_ext
949eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
950_lt_compiler_boilerplate=`cat conftest.err`
951$RM conftest*
952])# _LT_COMPILER_BOILERPLATE
953
954
955# _LT_LINKER_BOILERPLATE
956# ----------------------
957# Check for linker boilerplate output or warnings with
958# the simple link test code.
959m4_defun([_LT_LINKER_BOILERPLATE],
960[m4_require([_LT_DECL_SED])dnl
961ac_outfile=conftest.$ac_objext
962echo "$lt_simple_link_test_code" >conftest.$ac_ext
963eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
964_lt_linker_boilerplate=`cat conftest.err`
965$RM -r conftest*
966])# _LT_LINKER_BOILERPLATE
967
968# _LT_REQUIRED_DARWIN_CHECKS
969# -------------------------
970m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
971  case $host_os in
972    rhapsody* | darwin*)
973    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
974    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
975    AC_CHECK_TOOL([LIPO], [lipo], [:])
976    AC_CHECK_TOOL([OTOOL], [otool], [:])
977    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
978    _LT_DECL([], [DSYMUTIL], [1],
979      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
980    _LT_DECL([], [NMEDIT], [1],
981      [Tool to change global to local symbols on Mac OS X])
982    _LT_DECL([], [LIPO], [1],
983      [Tool to manipulate fat objects and archives on Mac OS X])
984    _LT_DECL([], [OTOOL], [1],
985      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
986    _LT_DECL([], [OTOOL64], [1],
987      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
988
989    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
990      [lt_cv_apple_cc_single_mod=no
991      if test -z "${LT_MULTI_MODULE}"; then
992	# By default we will add the -single_module flag. You can override
993	# by either setting the environment variable LT_MULTI_MODULE
994	# non-empty at configure time, or by adding -multi_module to the
995	# link flags.
996	rm -rf libconftest.dylib*
997	echo "int foo(void){return 1;}" > conftest.c
998	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
999-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
1000	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1001	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
1002        _lt_result=$?
1003	# If there is a non-empty error log, and "single_module"
1004	# appears in it, assume the flag caused a linker warning
1005        if test -s conftest.err && $GREP single_module conftest.err; then
1006	  cat conftest.err >&AS_MESSAGE_LOG_FD
1007	# Otherwise, if the output was created with a 0 exit code from
1008	# the compiler, it worked.
1009	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
1010	  lt_cv_apple_cc_single_mod=yes
1011	else
1012	  cat conftest.err >&AS_MESSAGE_LOG_FD
1013	fi
1014	rm -rf libconftest.dylib*
1015	rm -f conftest.*
1016      fi])
1017
1018    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1019      [lt_cv_ld_exported_symbols_list],
1020      [lt_cv_ld_exported_symbols_list=no
1021      save_LDFLAGS=$LDFLAGS
1022      echo "_main" > conftest.sym
1023      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1024      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1025	[lt_cv_ld_exported_symbols_list=yes],
1026	[lt_cv_ld_exported_symbols_list=no])
1027	LDFLAGS="$save_LDFLAGS"
1028    ])
1029
1030    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1031      [lt_cv_ld_force_load=no
1032      cat > conftest.c << _LT_EOF
1033int forced_loaded() { return 2;}
1034_LT_EOF
1035      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1036      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1037      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1038      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1039      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1040      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1041      cat > conftest.c << _LT_EOF
1042int main() { return 0;}
1043_LT_EOF
1044      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1045      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1046      _lt_result=$?
1047      if test -s conftest.err && $GREP force_load conftest.err; then
1048	cat conftest.err >&AS_MESSAGE_LOG_FD
1049      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
1050	lt_cv_ld_force_load=yes
1051      else
1052	cat conftest.err >&AS_MESSAGE_LOG_FD
1053      fi
1054        rm -f conftest.err libconftest.a conftest conftest.c
1055        rm -rf conftest.dSYM
1056    ])
1057    case $host_os in
1058    rhapsody* | darwin1.[[012]])
1059      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
1060    darwin1.*)
1061      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1062    darwin*) # darwin 5.x on
1063      # if running on 10.5 or later, the deployment target defaults
1064      # to the OS version, if on x86, and 10.4, the deployment
1065      # target defaults to 10.4. Don't you love it?
1066      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1067	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1068	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1069	10.[[012]]*)
1070	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1071	10.*)
1072	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1073      esac
1074    ;;
1075  esac
1076    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
1077      _lt_dar_single_mod='$single_module'
1078    fi
1079    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
1080      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
1081    else
1082      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
1083    fi
1084    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
1085      _lt_dsymutil='~$DSYMUTIL $lib || :'
1086    else
1087      _lt_dsymutil=
1088    fi
1089    ;;
1090  esac
1091])
1092
1093
1094# _LT_DARWIN_LINKER_FEATURES([TAG])
1095# ---------------------------------
1096# Checks for linker and compiler features on darwin
1097m4_defun([_LT_DARWIN_LINKER_FEATURES],
1098[
1099  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1100  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1101  _LT_TAGVAR(hardcode_direct, $1)=no
1102  _LT_TAGVAR(hardcode_automatic, $1)=yes
1103  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1104  if test "$lt_cv_ld_force_load" = "yes"; then
1105    _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\"`'
1106    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
1107                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1108  else
1109    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1110  fi
1111  _LT_TAGVAR(link_all_deplibs, $1)=yes
1112  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1113  case $cc_basename in
1114     ifort*) _lt_dar_can_shared=yes ;;
1115     *) _lt_dar_can_shared=$GCC ;;
1116  esac
1117  if test "$_lt_dar_can_shared" = "yes"; then
1118    output_verbose_link_cmd=func_echo_all
1119    _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}"
1120    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1121    _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}"
1122    _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}"
1123    m4_if([$1], [CXX],
1124[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1125      _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}"
1126      _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}"
1127    fi
1128],[])
1129  else
1130  _LT_TAGVAR(ld_shlibs, $1)=no
1131  fi
1132])
1133
1134# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1135# ----------------------------------
1136# Links a minimal program and checks the executable
1137# for the system default hardcoded library path. In most cases,
1138# this is /usr/lib:/lib, but when the MPI compilers are used
1139# the location of the communication and MPI libs are included too.
1140# If we don't find anything, use the default library path according
1141# to the aix ld manual.
1142# Store the results from the different compilers for each TAGNAME.
1143# Allow to override them for all tags through lt_cv_aix_libpath.
1144m4_defun([_LT_SYS_MODULE_PATH_AIX],
1145[m4_require([_LT_DECL_SED])dnl
1146if test "${lt_cv_aix_libpath+set}" = set; then
1147  aix_libpath=$lt_cv_aix_libpath
1148else
1149  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1150  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1151  lt_aix_libpath_sed='[
1152      /Import File Strings/,/^$/ {
1153	  /^0/ {
1154	      s/^0  *\([^ ]*\) *$/\1/
1155	      p
1156	  }
1157      }]'
1158  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1159  # Check for a 64-bit object if we didn't find anything.
1160  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1161    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1162  fi],[])
1163  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1164    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
1165  fi
1166  ])
1167  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1168fi
1169])# _LT_SYS_MODULE_PATH_AIX
1170
1171
1172# _LT_SHELL_INIT(ARG)
1173# -------------------
1174m4_define([_LT_SHELL_INIT],
1175[m4_divert_text([M4SH-INIT], [$1
1176])])# _LT_SHELL_INIT
1177
1178
1179
1180# _LT_PROG_ECHO_BACKSLASH
1181# -----------------------
1182# Find how we can fake an echo command that does not interpret backslash.
1183# In particular, with Autoconf 2.60 or later we add some code to the start
1184# of the generated configure script which will find a shell with a builtin
1185# printf (which we can use as an echo command).
1186m4_defun([_LT_PROG_ECHO_BACKSLASH],
1187[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1188ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1189ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1190
1191AC_MSG_CHECKING([how to print strings])
1192# Test print first, because it will be a builtin if present.
1193if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1194   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1195  ECHO='print -r --'
1196elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1197  ECHO='printf %s\n'
1198else
1199  # Use this function as a fallback that always works.
1200  func_fallback_echo ()
1201  {
1202    eval 'cat <<_LTECHO_EOF
1203$[]1
1204_LTECHO_EOF'
1205  }
1206  ECHO='func_fallback_echo'
1207fi
1208
1209# func_echo_all arg...
1210# Invoke $ECHO with all args, space-separated.
1211func_echo_all ()
1212{
1213    $ECHO "$*"
1214}
1215
1216case "$ECHO" in
1217  printf*) AC_MSG_RESULT([printf]) ;;
1218  print*) AC_MSG_RESULT([print -r]) ;;
1219  *) AC_MSG_RESULT([cat]) ;;
1220esac
1221
1222m4_ifdef([_AS_DETECT_SUGGESTED],
1223[_AS_DETECT_SUGGESTED([
1224  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1225    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1226    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1227    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1228    PATH=/empty FPATH=/empty; export PATH FPATH
1229    test "X`printf %s $ECHO`" = "X$ECHO" \
1230      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1231
1232_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1233_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1234])# _LT_PROG_ECHO_BACKSLASH
1235
1236
1237# _LT_WITH_SYSROOT
1238# ----------------
1239AC_DEFUN([_LT_WITH_SYSROOT],
1240[AC_MSG_CHECKING([for sysroot])
1241AC_ARG_WITH([sysroot],
1242[  --with-sysroot[=DIR] Search for dependent libraries within DIR
1243                        (or the compiler's sysroot if not specified).],
1244[], [with_sysroot=no])
1245
1246dnl lt_sysroot will always be passed unquoted.  We quote it here
1247dnl in case the user passed a directory name.
1248lt_sysroot=
1249case ${with_sysroot} in #(
1250 yes)
1251   if test "$GCC" = yes; then
1252     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1253   fi
1254   ;; #(
1255 /*)
1256   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
1257   ;; #(
1258 no|'')
1259   ;; #(
1260 *)
1261   AC_MSG_RESULT([${with_sysroot}])
1262   AC_MSG_ERROR([The sysroot must be an absolute path.])
1263   ;;
1264esac
1265
1266 AC_MSG_RESULT([${lt_sysroot:-no}])
1267_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1268[dependent libraries, and in which our libraries should be installed.])])
1269
1270# _LT_ENABLE_LOCK
1271# ---------------
1272m4_defun([_LT_ENABLE_LOCK],
1273[AC_ARG_ENABLE([libtool-lock],
1274  [AS_HELP_STRING([--disable-libtool-lock],
1275    [avoid locking (might break parallel builds)])])
1276test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1277
1278# Some flags need to be propagated to the compiler or linker for good
1279# libtool support.
1280case $host in
1281ia64-*-hpux*)
1282  # Find out which ABI we are using.
1283  echo 'int i;' > conftest.$ac_ext
1284  if AC_TRY_EVAL(ac_compile); then
1285    case `/usr/bin/file conftest.$ac_objext` in
1286      *ELF-32*)
1287	HPUX_IA64_MODE="32"
1288	;;
1289      *ELF-64*)
1290	HPUX_IA64_MODE="64"
1291	;;
1292    esac
1293  fi
1294  rm -rf conftest*
1295  ;;
1296*-*-irix6*)
1297  # Find out which ABI we are using.
1298  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1299  if AC_TRY_EVAL(ac_compile); then
1300    if test "$lt_cv_prog_gnu_ld" = yes; then
1301      case `/usr/bin/file conftest.$ac_objext` in
1302	*32-bit*)
1303	  LD="${LD-ld} -melf32bsmip"
1304	  ;;
1305	*N32*)
1306	  LD="${LD-ld} -melf32bmipn32"
1307	  ;;
1308	*64-bit*)
1309	  LD="${LD-ld} -melf64bmip"
1310	;;
1311      esac
1312    else
1313      case `/usr/bin/file conftest.$ac_objext` in
1314	*32-bit*)
1315	  LD="${LD-ld} -32"
1316	  ;;
1317	*N32*)
1318	  LD="${LD-ld} -n32"
1319	  ;;
1320	*64-bit*)
1321	  LD="${LD-ld} -64"
1322	  ;;
1323      esac
1324    fi
1325  fi
1326  rm -rf conftest*
1327  ;;
1328
1329x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1330s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1331  # Find out which ABI we are using.
1332  echo 'int i;' > conftest.$ac_ext
1333  if AC_TRY_EVAL(ac_compile); then
1334    case `/usr/bin/file conftest.o` in
1335      *32-bit*)
1336	case $host in
1337	  x86_64-*kfreebsd*-gnu)
1338	    LD="${LD-ld} -m elf_i386_fbsd"
1339	    ;;
1340	  x86_64-*linux*)
1341	    LD="${LD-ld} -m elf_i386"
1342	    ;;
1343	  ppc64-*linux*|powerpc64-*linux*)
1344	    LD="${LD-ld} -m elf32ppclinux"
1345	    ;;
1346	  s390x-*linux*)
1347	    LD="${LD-ld} -m elf_s390"
1348	    ;;
1349	  sparc64-*linux*)
1350	    LD="${LD-ld} -m elf32_sparc"
1351	    ;;
1352	esac
1353	;;
1354      *64-bit*)
1355	case $host in
1356	  x86_64-*kfreebsd*-gnu)
1357	    LD="${LD-ld} -m elf_x86_64_fbsd"
1358	    ;;
1359	  x86_64-*linux*)
1360	    LD="${LD-ld} -m elf_x86_64"
1361	    ;;
1362	  ppc*-*linux*|powerpc*-*linux*)
1363	    LD="${LD-ld} -m elf64ppc"
1364	    ;;
1365	  s390*-*linux*|s390*-*tpf*)
1366	    LD="${LD-ld} -m elf64_s390"
1367	    ;;
1368	  sparc*-*linux*)
1369	    LD="${LD-ld} -m elf64_sparc"
1370	    ;;
1371	esac
1372	;;
1373    esac
1374  fi
1375  rm -rf conftest*
1376  ;;
1377
1378*-*-sco3.2v5*)
1379  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1380  SAVE_CFLAGS="$CFLAGS"
1381  CFLAGS="$CFLAGS -belf"
1382  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1383    [AC_LANG_PUSH(C)
1384     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1385     AC_LANG_POP])
1386  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1387    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1388    CFLAGS="$SAVE_CFLAGS"
1389  fi
1390  ;;
1391*-*solaris*)
1392  # Find out which ABI we are using.
1393  echo 'int i;' > conftest.$ac_ext
1394  if AC_TRY_EVAL(ac_compile); then
1395    case `/usr/bin/file conftest.o` in
1396    *64-bit*)
1397      case $lt_cv_prog_gnu_ld in
1398      yes*)
1399        case $host in
1400        i?86-*-solaris*)
1401          LD="${LD-ld} -m elf_x86_64"
1402          ;;
1403        sparc*-*-solaris*)
1404          LD="${LD-ld} -m elf64_sparc"
1405          ;;
1406        esac
1407        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
1408        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1409          LD="${LD-ld}_sol2"
1410        fi
1411        ;;
1412      *)
1413	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1414	  LD="${LD-ld} -64"
1415	fi
1416	;;
1417      esac
1418      ;;
1419    esac
1420  fi
1421  rm -rf conftest*
1422  ;;
1423esac
1424
1425need_locks="$enable_libtool_lock"
1426])# _LT_ENABLE_LOCK
1427
1428
1429# _LT_PROG_AR
1430# -----------
1431m4_defun([_LT_PROG_AR],
1432[AC_CHECK_TOOLS(AR, [ar], false)
1433: ${AR=ar}
1434: ${AR_FLAGS=cru}
1435_LT_DECL([], [AR], [1], [The archiver])
1436_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
1437
1438AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1439  [lt_cv_ar_at_file=no
1440   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1441     [echo conftest.$ac_objext > conftest.lst
1442      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1443      AC_TRY_EVAL([lt_ar_try])
1444      if test "$ac_status" -eq 0; then
1445	# Ensure the archiver fails upon bogus file names.
1446	rm -f conftest.$ac_objext libconftest.a
1447	AC_TRY_EVAL([lt_ar_try])
1448	if test "$ac_status" -ne 0; then
1449          lt_cv_ar_at_file=@
1450        fi
1451      fi
1452      rm -f conftest.* libconftest.a
1453     ])
1454  ])
1455
1456if test "x$lt_cv_ar_at_file" = xno; then
1457  archiver_list_spec=
1458else
1459  archiver_list_spec=$lt_cv_ar_at_file
1460fi
1461_LT_DECL([], [archiver_list_spec], [1],
1462  [How to feed a file listing to the archiver])
1463])# _LT_PROG_AR
1464
1465
1466# _LT_CMD_OLD_ARCHIVE
1467# -------------------
1468m4_defun([_LT_CMD_OLD_ARCHIVE],
1469[_LT_PROG_AR
1470
1471AC_CHECK_TOOL(STRIP, strip, :)
1472test -z "$STRIP" && STRIP=:
1473_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1474
1475AC_CHECK_TOOL(RANLIB, ranlib, :)
1476test -z "$RANLIB" && RANLIB=:
1477_LT_DECL([], [RANLIB], [1],
1478    [Commands used to install an old-style archive])
1479
1480# Determine commands to create old-style static archives.
1481old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1482old_postinstall_cmds='chmod 644 $oldlib'
1483old_postuninstall_cmds=
1484
1485if test -n "$RANLIB"; then
1486  case $host_os in
1487  openbsd*)
1488    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
1489    ;;
1490  *)
1491    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1492    ;;
1493  esac
1494  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1495fi
1496
1497case $host_os in
1498  darwin*)
1499    lock_old_archive_extraction=yes ;;
1500  *)
1501    lock_old_archive_extraction=no ;;
1502esac
1503_LT_DECL([], [old_postinstall_cmds], [2])
1504_LT_DECL([], [old_postuninstall_cmds], [2])
1505_LT_TAGDECL([], [old_archive_cmds], [2],
1506    [Commands used to build an old-style archive])
1507_LT_DECL([], [lock_old_archive_extraction], [0],
1508    [Whether to use a lock for old archive extraction])
1509])# _LT_CMD_OLD_ARCHIVE
1510
1511
1512# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1513#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1514# ----------------------------------------------------------------
1515# Check whether the given compiler option works
1516AC_DEFUN([_LT_COMPILER_OPTION],
1517[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1518m4_require([_LT_DECL_SED])dnl
1519AC_CACHE_CHECK([$1], [$2],
1520  [$2=no
1521   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1522   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1523   lt_compiler_flag="$3"
1524   # Insert the option either (1) after the last *FLAGS variable, or
1525   # (2) before a word containing "conftest.", or (3) at the end.
1526   # Note that $ac_compile itself does not contain backslashes and begins
1527   # with a dollar sign (not a hyphen), so the echo should work correctly.
1528   # The option is referenced via a variable to avoid confusing sed.
1529   lt_compile=`echo "$ac_compile" | $SED \
1530   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1531   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1532   -e 's:$: $lt_compiler_flag:'`
1533   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1534   (eval "$lt_compile" 2>conftest.err)
1535   ac_status=$?
1536   cat conftest.err >&AS_MESSAGE_LOG_FD
1537   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1538   if (exit $ac_status) && test -s "$ac_outfile"; then
1539     # The compiler can only warn and ignore the option if not recognized
1540     # So say no if there are warnings other than the usual output.
1541     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1542     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1543     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1544       $2=yes
1545     fi
1546   fi
1547   $RM conftest*
1548])
1549
1550if test x"[$]$2" = xyes; then
1551    m4_if([$5], , :, [$5])
1552else
1553    m4_if([$6], , :, [$6])
1554fi
1555])# _LT_COMPILER_OPTION
1556
1557# Old name:
1558AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1559dnl aclocal-1.4 backwards compatibility:
1560dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1561
1562
1563# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1564#                  [ACTION-SUCCESS], [ACTION-FAILURE])
1565# ----------------------------------------------------
1566# Check whether the given linker option works
1567AC_DEFUN([_LT_LINKER_OPTION],
1568[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1569m4_require([_LT_DECL_SED])dnl
1570AC_CACHE_CHECK([$1], [$2],
1571  [$2=no
1572   save_LDFLAGS="$LDFLAGS"
1573   LDFLAGS="$LDFLAGS $3"
1574   echo "$lt_simple_link_test_code" > conftest.$ac_ext
1575   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1576     # The linker can only warn and ignore the option if not recognized
1577     # So say no if there are warnings
1578     if test -s conftest.err; then
1579       # Append any errors to the config.log.
1580       cat conftest.err 1>&AS_MESSAGE_LOG_FD
1581       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1582       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1583       if diff conftest.exp conftest.er2 >/dev/null; then
1584         $2=yes
1585       fi
1586     else
1587       $2=yes
1588     fi
1589   fi
1590   $RM -r conftest*
1591   LDFLAGS="$save_LDFLAGS"
1592])
1593
1594if test x"[$]$2" = xyes; then
1595    m4_if([$4], , :, [$4])
1596else
1597    m4_if([$5], , :, [$5])
1598fi
1599])# _LT_LINKER_OPTION
1600
1601# Old name:
1602AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1603dnl aclocal-1.4 backwards compatibility:
1604dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1605
1606
1607# LT_CMD_MAX_LEN
1608#---------------
1609AC_DEFUN([LT_CMD_MAX_LEN],
1610[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1611# find the maximum length of command line arguments
1612AC_MSG_CHECKING([the maximum length of command line arguments])
1613AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1614  i=0
1615  teststring="ABCD"
1616
1617  case $build_os in
1618  msdosdjgpp*)
1619    # On DJGPP, this test can blow up pretty badly due to problems in libc
1620    # (any single argument exceeding 2000 bytes causes a buffer overrun
1621    # during glob expansion).  Even if it were fixed, the result of this
1622    # check would be larger than it should be.
1623    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
1624    ;;
1625
1626  gnu*)
1627    # Under GNU Hurd, this test is not required because there is
1628    # no limit to the length of command line arguments.
1629    # Libtool will interpret -1 as no limit whatsoever
1630    lt_cv_sys_max_cmd_len=-1;
1631    ;;
1632
1633  cygwin* | mingw* | cegcc*)
1634    # On Win9x/ME, this test blows up -- it succeeds, but takes
1635    # about 5 minutes as the teststring grows exponentially.
1636    # Worse, since 9x/ME are not pre-emptively multitasking,
1637    # you end up with a "frozen" computer, even though with patience
1638    # the test eventually succeeds (with a max line length of 256k).
1639    # Instead, let's just punt: use the minimum linelength reported by
1640    # all of the supported platforms: 8192 (on NT/2K/XP).
1641    lt_cv_sys_max_cmd_len=8192;
1642    ;;
1643
1644  mint*)
1645    # On MiNT this can take a long time and run out of memory.
1646    lt_cv_sys_max_cmd_len=8192;
1647    ;;
1648
1649  amigaos*)
1650    # On AmigaOS with pdksh, this test takes hours, literally.
1651    # So we just punt and use a minimum line length of 8192.
1652    lt_cv_sys_max_cmd_len=8192;
1653    ;;
1654
1655  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1656    # This has been around since 386BSD, at least.  Likely further.
1657    if test -x /sbin/sysctl; then
1658      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1659    elif test -x /usr/sbin/sysctl; then
1660      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1661    else
1662      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
1663    fi
1664    # And add a safety zone
1665    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1666    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1667    ;;
1668
1669  interix*)
1670    # We know the value 262144 and hardcode it with a safety zone (like BSD)
1671    lt_cv_sys_max_cmd_len=196608
1672    ;;
1673
1674  os2*)
1675    # The test takes a long time on OS/2.
1676    lt_cv_sys_max_cmd_len=8192
1677    ;;
1678
1679  osf*)
1680    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1681    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1682    # nice to cause kernel panics so lets avoid the loop below.
1683    # First set a reasonable default.
1684    lt_cv_sys_max_cmd_len=16384
1685    #
1686    if test -x /sbin/sysconfig; then
1687      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1688        *1*) lt_cv_sys_max_cmd_len=-1 ;;
1689      esac
1690    fi
1691    ;;
1692  sco3.2v5*)
1693    lt_cv_sys_max_cmd_len=102400
1694    ;;
1695  sysv5* | sco5v6* | sysv4.2uw2*)
1696    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1697    if test -n "$kargmax"; then
1698      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
1699    else
1700      lt_cv_sys_max_cmd_len=32768
1701    fi
1702    ;;
1703  *)
1704    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1705    if test -n "$lt_cv_sys_max_cmd_len"; then
1706      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1707      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1708    else
1709      # Make teststring a little bigger before we do anything with it.
1710      # a 1K string should be a reasonable start.
1711      for i in 1 2 3 4 5 6 7 8 ; do
1712        teststring=$teststring$teststring
1713      done
1714      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1715      # If test is not a shell built-in, we'll probably end up computing a
1716      # maximum length that is only half of the actual maximum length, but
1717      # we can't tell.
1718      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
1719	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1720	      test $i != 17 # 1/2 MB should be enough
1721      do
1722        i=`expr $i + 1`
1723        teststring=$teststring$teststring
1724      done
1725      # Only check the string length outside the loop.
1726      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1727      teststring=
1728      # Add a significant safety factor because C++ compilers can tack on
1729      # massive amounts of additional arguments before passing them to the
1730      # linker.  It appears as though 1/2 is a usable value.
1731      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1732    fi
1733    ;;
1734  esac
1735])
1736if test -n $lt_cv_sys_max_cmd_len ; then
1737  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1738else
1739  AC_MSG_RESULT(none)
1740fi
1741max_cmd_len=$lt_cv_sys_max_cmd_len
1742_LT_DECL([], [max_cmd_len], [0],
1743    [What is the maximum length of a command?])
1744])# LT_CMD_MAX_LEN
1745
1746# Old name:
1747AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1748dnl aclocal-1.4 backwards compatibility:
1749dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1750
1751
1752# _LT_HEADER_DLFCN
1753# ----------------
1754m4_defun([_LT_HEADER_DLFCN],
1755[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1756])# _LT_HEADER_DLFCN
1757
1758
1759# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1760#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1761# ----------------------------------------------------------------
1762m4_defun([_LT_TRY_DLOPEN_SELF],
1763[m4_require([_LT_HEADER_DLFCN])dnl
1764if test "$cross_compiling" = yes; then :
1765  [$4]
1766else
1767  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1768  lt_status=$lt_dlunknown
1769  cat > conftest.$ac_ext <<_LT_EOF
1770[#line $LINENO "configure"
1771#include "confdefs.h"
1772
1773#if HAVE_DLFCN_H
1774#include <dlfcn.h>
1775#endif
1776
1777#include <stdio.h>
1778
1779#ifdef RTLD_GLOBAL
1780#  define LT_DLGLOBAL		RTLD_GLOBAL
1781#else
1782#  ifdef DL_GLOBAL
1783#    define LT_DLGLOBAL		DL_GLOBAL
1784#  else
1785#    define LT_DLGLOBAL		0
1786#  endif
1787#endif
1788
1789/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1790   find out it does not work in some platform. */
1791#ifndef LT_DLLAZY_OR_NOW
1792#  ifdef RTLD_LAZY
1793#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
1794#  else
1795#    ifdef DL_LAZY
1796#      define LT_DLLAZY_OR_NOW		DL_LAZY
1797#    else
1798#      ifdef RTLD_NOW
1799#        define LT_DLLAZY_OR_NOW	RTLD_NOW
1800#      else
1801#        ifdef DL_NOW
1802#          define LT_DLLAZY_OR_NOW	DL_NOW
1803#        else
1804#          define LT_DLLAZY_OR_NOW	0
1805#        endif
1806#      endif
1807#    endif
1808#  endif
1809#endif
1810
1811/* When -fvisbility=hidden is used, assume the code has been annotated
1812   correspondingly for the symbols needed.  */
1813#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1814int fnord () __attribute__((visibility("default")));
1815#endif
1816
1817int fnord () { return 42; }
1818int main ()
1819{
1820  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1821  int status = $lt_dlunknown;
1822
1823  if (self)
1824    {
1825      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
1826      else
1827        {
1828	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
1829          else puts (dlerror ());
1830	}
1831      /* dlclose (self); */
1832    }
1833  else
1834    puts (dlerror ());
1835
1836  return status;
1837}]
1838_LT_EOF
1839  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1840    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1841    lt_status=$?
1842    case x$lt_status in
1843      x$lt_dlno_uscore) $1 ;;
1844      x$lt_dlneed_uscore) $2 ;;
1845      x$lt_dlunknown|x*) $3 ;;
1846    esac
1847  else :
1848    # compilation failed
1849    $3
1850  fi
1851fi
1852rm -fr conftest*
1853])# _LT_TRY_DLOPEN_SELF
1854
1855
1856# LT_SYS_DLOPEN_SELF
1857# ------------------
1858AC_DEFUN([LT_SYS_DLOPEN_SELF],
1859[m4_require([_LT_HEADER_DLFCN])dnl
1860if test "x$enable_dlopen" != xyes; then
1861  enable_dlopen=unknown
1862  enable_dlopen_self=unknown
1863  enable_dlopen_self_static=unknown
1864else
1865  lt_cv_dlopen=no
1866  lt_cv_dlopen_libs=
1867
1868  case $host_os in
1869  beos*)
1870    lt_cv_dlopen="load_add_on"
1871    lt_cv_dlopen_libs=
1872    lt_cv_dlopen_self=yes
1873    ;;
1874
1875  mingw* | pw32* | cegcc*)
1876    lt_cv_dlopen="LoadLibrary"
1877    lt_cv_dlopen_libs=
1878    ;;
1879
1880  cygwin*)
1881    lt_cv_dlopen="dlopen"
1882    lt_cv_dlopen_libs=
1883    ;;
1884
1885  darwin*)
1886  # if libdl is installed we need to link against it
1887    AC_CHECK_LIB([dl], [dlopen],
1888		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1889    lt_cv_dlopen="dyld"
1890    lt_cv_dlopen_libs=
1891    lt_cv_dlopen_self=yes
1892    ])
1893    ;;
1894
1895  *)
1896    AC_CHECK_FUNC([shl_load],
1897	  [lt_cv_dlopen="shl_load"],
1898      [AC_CHECK_LIB([dld], [shl_load],
1899	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1900	[AC_CHECK_FUNC([dlopen],
1901	      [lt_cv_dlopen="dlopen"],
1902	  [AC_CHECK_LIB([dl], [dlopen],
1903		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1904	    [AC_CHECK_LIB([svld], [dlopen],
1905		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1906	      [AC_CHECK_LIB([dld], [dld_link],
1907		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1908	      ])
1909	    ])
1910	  ])
1911	])
1912      ])
1913    ;;
1914  esac
1915
1916  if test "x$lt_cv_dlopen" != xno; then
1917    enable_dlopen=yes
1918  else
1919    enable_dlopen=no
1920  fi
1921
1922  case $lt_cv_dlopen in
1923  dlopen)
1924    save_CPPFLAGS="$CPPFLAGS"
1925    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1926
1927    save_LDFLAGS="$LDFLAGS"
1928    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1929
1930    save_LIBS="$LIBS"
1931    LIBS="$lt_cv_dlopen_libs $LIBS"
1932
1933    AC_CACHE_CHECK([whether a program can dlopen itself],
1934	  lt_cv_dlopen_self, [dnl
1935	  _LT_TRY_DLOPEN_SELF(
1936	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1937	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1938    ])
1939
1940    if test "x$lt_cv_dlopen_self" = xyes; then
1941      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1942      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1943	  lt_cv_dlopen_self_static, [dnl
1944	  _LT_TRY_DLOPEN_SELF(
1945	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1946	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
1947      ])
1948    fi
1949
1950    CPPFLAGS="$save_CPPFLAGS"
1951    LDFLAGS="$save_LDFLAGS"
1952    LIBS="$save_LIBS"
1953    ;;
1954  esac
1955
1956  case $lt_cv_dlopen_self in
1957  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1958  *) enable_dlopen_self=unknown ;;
1959  esac
1960
1961  case $lt_cv_dlopen_self_static in
1962  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1963  *) enable_dlopen_self_static=unknown ;;
1964  esac
1965fi
1966_LT_DECL([dlopen_support], [enable_dlopen], [0],
1967	 [Whether dlopen is supported])
1968_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1969	 [Whether dlopen of programs is supported])
1970_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1971	 [Whether dlopen of statically linked programs is supported])
1972])# LT_SYS_DLOPEN_SELF
1973
1974# Old name:
1975AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1976dnl aclocal-1.4 backwards compatibility:
1977dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
1978
1979
1980# _LT_COMPILER_C_O([TAGNAME])
1981# ---------------------------
1982# Check to see if options -c and -o are simultaneously supported by compiler.
1983# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1984m4_defun([_LT_COMPILER_C_O],
1985[m4_require([_LT_DECL_SED])dnl
1986m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1987m4_require([_LT_TAG_COMPILER])dnl
1988AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1989  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1990  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1991   $RM -r conftest 2>/dev/null
1992   mkdir conftest
1993   cd conftest
1994   mkdir out
1995   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1996
1997   lt_compiler_flag="-o out/conftest2.$ac_objext"
1998   # Insert the option either (1) after the last *FLAGS variable, or
1999   # (2) before a word containing "conftest.", or (3) at the end.
2000   # Note that $ac_compile itself does not contain backslashes and begins
2001   # with a dollar sign (not a hyphen), so the echo should work correctly.
2002   lt_compile=`echo "$ac_compile" | $SED \
2003   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2004   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2005   -e 's:$: $lt_compiler_flag:'`
2006   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2007   (eval "$lt_compile" 2>out/conftest.err)
2008   ac_status=$?
2009   cat out/conftest.err >&AS_MESSAGE_LOG_FD
2010   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2011   if (exit $ac_status) && test -s out/conftest2.$ac_objext
2012   then
2013     # The compiler can only warn and ignore the option if not recognized
2014     # So say no if there are warnings
2015     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2016     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2017     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2018       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2019     fi
2020   fi
2021   chmod u+w . 2>&AS_MESSAGE_LOG_FD
2022   $RM conftest*
2023   # SGI C++ compiler will create directory out/ii_files/ for
2024   # template instantiation
2025   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2026   $RM out/* && rmdir out
2027   cd ..
2028   $RM -r conftest
2029   $RM conftest*
2030])
2031_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2032	[Does compiler simultaneously support -c and -o options?])
2033])# _LT_COMPILER_C_O
2034
2035
2036# _LT_COMPILER_FILE_LOCKS([TAGNAME])
2037# ----------------------------------
2038# Check to see if we can do hard links to lock some files if needed
2039m4_defun([_LT_COMPILER_FILE_LOCKS],
2040[m4_require([_LT_ENABLE_LOCK])dnl
2041m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2042_LT_COMPILER_C_O([$1])
2043
2044hard_links="nottested"
2045if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
2046  # do not overwrite the value of need_locks provided by the user
2047  AC_MSG_CHECKING([if we can lock with hard links])
2048  hard_links=yes
2049  $RM conftest*
2050  ln conftest.a conftest.b 2>/dev/null && hard_links=no
2051  touch conftest.a
2052  ln conftest.a conftest.b 2>&5 || hard_links=no
2053  ln conftest.a conftest.b 2>/dev/null && hard_links=no
2054  AC_MSG_RESULT([$hard_links])
2055  if test "$hard_links" = no; then
2056    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
2057    need_locks=warn
2058  fi
2059else
2060  need_locks=no
2061fi
2062_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2063])# _LT_COMPILER_FILE_LOCKS
2064
2065
2066# _LT_CHECK_OBJDIR
2067# ----------------
2068m4_defun([_LT_CHECK_OBJDIR],
2069[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2070[rm -f .libs 2>/dev/null
2071mkdir .libs 2>/dev/null
2072if test -d .libs; then
2073  lt_cv_objdir=.libs
2074else
2075  # MS-DOS does not allow filenames that begin with a dot.
2076  lt_cv_objdir=_libs
2077fi
2078rmdir .libs 2>/dev/null])
2079objdir=$lt_cv_objdir
2080_LT_DECL([], [objdir], [0],
2081         [The name of the directory that contains temporary libtool files])dnl
2082m4_pattern_allow([LT_OBJDIR])dnl
2083AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
2084  [Define to the sub-directory in which libtool stores uninstalled libraries.])
2085])# _LT_CHECK_OBJDIR
2086
2087
2088# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2089# --------------------------------------
2090# Check hardcoding attributes.
2091m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2092[AC_MSG_CHECKING([how to hardcode library paths into programs])
2093_LT_TAGVAR(hardcode_action, $1)=
2094if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2095   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2096   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
2097
2098  # We can hardcode non-existent directories.
2099  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
2100     # If the only mechanism to avoid hardcoding is shlibpath_var, we
2101     # have to relink, otherwise we might link with an installed library
2102     # when we should be linking with a yet-to-be-installed one
2103     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2104     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
2105    # Linking always hardcodes the temporary library directory.
2106    _LT_TAGVAR(hardcode_action, $1)=relink
2107  else
2108    # We can link without hardcoding, and we can hardcode nonexisting dirs.
2109    _LT_TAGVAR(hardcode_action, $1)=immediate
2110  fi
2111else
2112  # We cannot hardcode anything, or else we can only hardcode existing
2113  # directories.
2114  _LT_TAGVAR(hardcode_action, $1)=unsupported
2115fi
2116AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2117
2118if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2119   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
2120  # Fast installation is not supported
2121  enable_fast_install=no
2122elif test "$shlibpath_overrides_runpath" = yes ||
2123     test "$enable_shared" = no; then
2124  # Fast installation is not necessary
2125  enable_fast_install=needless
2126fi
2127_LT_TAGDECL([], [hardcode_action], [0],
2128    [How to hardcode a shared library path into an executable])
2129])# _LT_LINKER_HARDCODE_LIBPATH
2130
2131
2132# _LT_CMD_STRIPLIB
2133# ----------------
2134m4_defun([_LT_CMD_STRIPLIB],
2135[m4_require([_LT_DECL_EGREP])
2136striplib=
2137old_striplib=
2138AC_MSG_CHECKING([whether stripping libraries is possible])
2139if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2140  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2141  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2142  AC_MSG_RESULT([yes])
2143else
2144# FIXME - insert some real tests, host_os isn't really good enough
2145  case $host_os in
2146  darwin*)
2147    if test -n "$STRIP" ; then
2148      striplib="$STRIP -x"
2149      old_striplib="$STRIP -S"
2150      AC_MSG_RESULT([yes])
2151    else
2152      AC_MSG_RESULT([no])
2153    fi
2154    ;;
2155  *)
2156    AC_MSG_RESULT([no])
2157    ;;
2158  esac
2159fi
2160_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2161_LT_DECL([], [striplib], [1])
2162])# _LT_CMD_STRIPLIB
2163
2164
2165# _LT_SYS_DYNAMIC_LINKER([TAG])
2166# -----------------------------
2167# PORTME Fill in your ld.so characteristics
2168m4_defun([_LT_SYS_DYNAMIC_LINKER],
2169[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2170m4_require([_LT_DECL_EGREP])dnl
2171m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2172m4_require([_LT_DECL_OBJDUMP])dnl
2173m4_require([_LT_DECL_SED])dnl
2174m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2175AC_MSG_CHECKING([dynamic linker characteristics])
2176m4_if([$1],
2177	[], [
2178if test "$GCC" = yes; then
2179  case $host_os in
2180    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2181    *) lt_awk_arg="/^libraries:/" ;;
2182  esac
2183  case $host_os in
2184    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
2185    *) lt_sed_strip_eq="s,=/,/,g" ;;
2186  esac
2187  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2188  case $lt_search_path_spec in
2189  *\;*)
2190    # if the path contains ";" then we assume it to be the separator
2191    # otherwise default to the standard path separator (i.e. ":") - it is
2192    # assumed that no part of a normal pathname contains ";" but that should
2193    # okay in the real world where ";" in dirpaths is itself problematic.
2194    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2195    ;;
2196  *)
2197    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2198    ;;
2199  esac
2200  # Ok, now we have the path, separated by spaces, we can step through it
2201  # and add multilib dir if necessary.
2202  lt_tmp_lt_search_path_spec=
2203  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2204  for lt_sys_path in $lt_search_path_spec; do
2205    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2206      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2207    else
2208      test -d "$lt_sys_path" && \
2209	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2210    fi
2211  done
2212  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2213BEGIN {RS=" "; FS="/|\n";} {
2214  lt_foo="";
2215  lt_count=0;
2216  for (lt_i = NF; lt_i > 0; lt_i--) {
2217    if ($lt_i != "" && $lt_i != ".") {
2218      if ($lt_i == "..") {
2219        lt_count++;
2220      } else {
2221        if (lt_count == 0) {
2222          lt_foo="/" $lt_i lt_foo;
2223        } else {
2224          lt_count--;
2225        }
2226      }
2227    }
2228  }
2229  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2230  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2231}'`
2232  # AWK program above erroneously prepends '/' to C:/dos/paths
2233  # for these hosts.
2234  case $host_os in
2235    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2236      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
2237  esac
2238  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2239else
2240  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2241fi])
2242library_names_spec=
2243libname_spec='lib$name'
2244soname_spec=
2245shrext_cmds=".so"
2246postinstall_cmds=
2247postuninstall_cmds=
2248finish_cmds=
2249finish_eval=
2250shlibpath_var=
2251shlibpath_overrides_runpath=unknown
2252version_type=none
2253dynamic_linker="$host_os ld.so"
2254sys_lib_dlsearch_path_spec="/lib /usr/lib"
2255need_lib_prefix=unknown
2256hardcode_into_libs=no
2257
2258# when you set need_version to no, make sure it does not cause -set_version
2259# flags to be left without arguments
2260need_version=unknown
2261
2262case $host_os in
2263aix3*)
2264  version_type=linux # correct to gnu/linux during the next big refactor
2265  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2266  shlibpath_var=LIBPATH
2267
2268  # AIX 3 has no versioning support, so we append a major version to the name.
2269  soname_spec='${libname}${release}${shared_ext}$major'
2270  ;;
2271
2272aix[[4-9]]*)
2273  version_type=linux # correct to gnu/linux during the next big refactor
2274  need_lib_prefix=no
2275  need_version=no
2276  hardcode_into_libs=yes
2277  if test "$host_cpu" = ia64; then
2278    # AIX 5 supports IA64
2279    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2280    shlibpath_var=LD_LIBRARY_PATH
2281  else
2282    # With GCC up to 2.95.x, collect2 would create an import file
2283    # for dependence libraries.  The import file would start with
2284    # the line `#! .'.  This would cause the generated library to
2285    # depend on `.', always an invalid library.  This was fixed in
2286    # development snapshots of GCC prior to 3.0.
2287    case $host_os in
2288      aix4 | aix4.[[01]] | aix4.[[01]].*)
2289      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2290	   echo ' yes '
2291	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2292	:
2293      else
2294	can_build_shared=no
2295      fi
2296      ;;
2297    esac
2298    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2299    # soname into executable. Probably we can add versioning support to
2300    # collect2, so additional links can be useful in future.
2301    if test "$aix_use_runtimelinking" = yes; then
2302      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2303      # instead of lib<name>.a to let people know that these are not
2304      # typical AIX shared libraries.
2305      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2306    else
2307      # We preserve .a as extension for shared libraries through AIX4.2
2308      # and later when we are not doing run time linking.
2309      library_names_spec='${libname}${release}.a $libname.a'
2310      soname_spec='${libname}${release}${shared_ext}$major'
2311    fi
2312    shlibpath_var=LIBPATH
2313  fi
2314  ;;
2315
2316amigaos*)
2317  case $host_cpu in
2318  powerpc)
2319    # Since July 2007 AmigaOS4 officially supports .so libraries.
2320    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2321    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2322    ;;
2323  m68k)
2324    library_names_spec='$libname.ixlibrary $libname.a'
2325    # Create ${libname}_ixlibrary.a entries in /sys/libs.
2326    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'
2327    ;;
2328  esac
2329  ;;
2330
2331beos*)
2332  library_names_spec='${libname}${shared_ext}'
2333  dynamic_linker="$host_os ld.so"
2334  shlibpath_var=LIBRARY_PATH
2335  ;;
2336
2337bsdi[[45]]*)
2338  version_type=linux # correct to gnu/linux during the next big refactor
2339  need_version=no
2340  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2341  soname_spec='${libname}${release}${shared_ext}$major'
2342  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2343  shlibpath_var=LD_LIBRARY_PATH
2344  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2345  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2346  # the default ld.so.conf also contains /usr/contrib/lib and
2347  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2348  # libtool to hard-code these into programs
2349  ;;
2350
2351cygwin* | mingw* | pw32* | cegcc*)
2352  version_type=windows
2353  shrext_cmds=".dll"
2354  need_version=no
2355  need_lib_prefix=no
2356
2357  case $GCC,$cc_basename in
2358  yes,*)
2359    # gcc
2360    library_names_spec='$libname.dll.a'
2361    # DLL is installed to $(libdir)/../bin by postinstall_cmds
2362    postinstall_cmds='base_file=`basename \${file}`~
2363      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2364      dldir=$destdir/`dirname \$dlpath`~
2365      test -d \$dldir || mkdir -p \$dldir~
2366      $install_prog $dir/$dlname \$dldir/$dlname~
2367      chmod a+x \$dldir/$dlname~
2368      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2369        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2370      fi'
2371    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2372      dlpath=$dir/\$dldll~
2373       $RM \$dlpath'
2374    shlibpath_overrides_runpath=yes
2375
2376    case $host_os in
2377    cygwin*)
2378      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2379      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2380m4_if([$1], [],[
2381      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2382      ;;
2383    mingw* | cegcc*)
2384      # MinGW DLLs use traditional 'lib' prefix
2385      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2386      ;;
2387    pw32*)
2388      # pw32 DLLs use 'pw' prefix rather than 'lib'
2389      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2390      ;;
2391    esac
2392    dynamic_linker='Win32 ld.exe'
2393    ;;
2394
2395  *,cl*)
2396    # Native MSVC
2397    libname_spec='$name'
2398    soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2399    library_names_spec='${libname}.dll.lib'
2400
2401    case $build_os in
2402    mingw*)
2403      sys_lib_search_path_spec=
2404      lt_save_ifs=$IFS
2405      IFS=';'
2406      for lt_path in $LIB
2407      do
2408        IFS=$lt_save_ifs
2409        # Let DOS variable expansion print the short 8.3 style file name.
2410        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2411        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2412      done
2413      IFS=$lt_save_ifs
2414      # Convert to MSYS style.
2415      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2416      ;;
2417    cygwin*)
2418      # Convert to unix form, then to dos form, then back to unix form
2419      # but this time dos style (no spaces!) so that the unix form looks
2420      # like /cygdrive/c/PROGRA~1:/cygdr...
2421      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2422      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2423      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2424      ;;
2425    *)
2426      sys_lib_search_path_spec="$LIB"
2427      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2428        # It is most probably a Windows format PATH.
2429        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2430      else
2431        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2432      fi
2433      # FIXME: find the short name or the path components, as spaces are
2434      # common. (e.g. "Program Files" -> "PROGRA~1")
2435      ;;
2436    esac
2437
2438    # DLL is installed to $(libdir)/../bin by postinstall_cmds
2439    postinstall_cmds='base_file=`basename \${file}`~
2440      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2441      dldir=$destdir/`dirname \$dlpath`~
2442      test -d \$dldir || mkdir -p \$dldir~
2443      $install_prog $dir/$dlname \$dldir/$dlname'
2444    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2445      dlpath=$dir/\$dldll~
2446       $RM \$dlpath'
2447    shlibpath_overrides_runpath=yes
2448    dynamic_linker='Win32 link.exe'
2449    ;;
2450
2451  *)
2452    # Assume MSVC wrapper
2453    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2454    dynamic_linker='Win32 ld.exe'
2455    ;;
2456  esac
2457  # FIXME: first we should search . and the directory the executable is in
2458  shlibpath_var=PATH
2459  ;;
2460
2461darwin* | rhapsody*)
2462  dynamic_linker="$host_os dyld"
2463  version_type=darwin
2464  need_lib_prefix=no
2465  need_version=no
2466  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2467  soname_spec='${libname}${release}${major}$shared_ext'
2468  shlibpath_overrides_runpath=yes
2469  shlibpath_var=DYLD_LIBRARY_PATH
2470  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2471m4_if([$1], [],[
2472  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2473  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2474  ;;
2475
2476dgux*)
2477  version_type=linux # correct to gnu/linux during the next big refactor
2478  need_lib_prefix=no
2479  need_version=no
2480  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2481  soname_spec='${libname}${release}${shared_ext}$major'
2482  shlibpath_var=LD_LIBRARY_PATH
2483  ;;
2484
2485freebsd* | dragonfly*)
2486  # DragonFly does not have aout.  When/if they implement a new
2487  # versioning mechanism, adjust this.
2488  if test -x /usr/bin/objformat; then
2489    objformat=`/usr/bin/objformat`
2490  else
2491    case $host_os in
2492    freebsd[[23]].*) objformat=aout ;;
2493    *) objformat=elf ;;
2494    esac
2495  fi
2496  version_type=freebsd-$objformat
2497  case $version_type in
2498    freebsd-elf*)
2499      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2500      need_version=no
2501      need_lib_prefix=no
2502      ;;
2503    freebsd-*)
2504      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2505      need_version=yes
2506      ;;
2507  esac
2508  shlibpath_var=LD_LIBRARY_PATH
2509  case $host_os in
2510  freebsd2.*)
2511    shlibpath_overrides_runpath=yes
2512    ;;
2513  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2514    shlibpath_overrides_runpath=yes
2515    hardcode_into_libs=yes
2516    ;;
2517  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2518  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2519    shlibpath_overrides_runpath=no
2520    hardcode_into_libs=yes
2521    ;;
2522  *) # from 4.6 on, and DragonFly
2523    shlibpath_overrides_runpath=yes
2524    hardcode_into_libs=yes
2525    ;;
2526  esac
2527  ;;
2528
2529gnu*)
2530  version_type=linux # correct to gnu/linux during the next big refactor
2531  need_lib_prefix=no
2532  need_version=no
2533  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2534  soname_spec='${libname}${release}${shared_ext}$major'
2535  shlibpath_var=LD_LIBRARY_PATH
2536  shlibpath_overrides_runpath=no
2537  hardcode_into_libs=yes
2538  ;;
2539
2540haiku*)
2541  version_type=linux # correct to gnu/linux during the next big refactor
2542  need_lib_prefix=no
2543  need_version=no
2544  dynamic_linker="$host_os runtime_loader"
2545  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2546  soname_spec='${libname}${release}${shared_ext}$major'
2547  shlibpath_var=LIBRARY_PATH
2548  shlibpath_overrides_runpath=yes
2549  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2550  hardcode_into_libs=yes
2551  ;;
2552
2553hpux9* | hpux10* | hpux11*)
2554  # Give a soname corresponding to the major version so that dld.sl refuses to
2555  # link against other versions.
2556  version_type=sunos
2557  need_lib_prefix=no
2558  need_version=no
2559  case $host_cpu in
2560  ia64*)
2561    shrext_cmds='.so'
2562    hardcode_into_libs=yes
2563    dynamic_linker="$host_os dld.so"
2564    shlibpath_var=LD_LIBRARY_PATH
2565    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2566    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2567    soname_spec='${libname}${release}${shared_ext}$major'
2568    if test "X$HPUX_IA64_MODE" = X32; then
2569      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2570    else
2571      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2572    fi
2573    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2574    ;;
2575  hppa*64*)
2576    shrext_cmds='.sl'
2577    hardcode_into_libs=yes
2578    dynamic_linker="$host_os dld.sl"
2579    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2580    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2581    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2582    soname_spec='${libname}${release}${shared_ext}$major'
2583    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2584    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2585    ;;
2586  *)
2587    shrext_cmds='.sl'
2588    dynamic_linker="$host_os dld.sl"
2589    shlibpath_var=SHLIB_PATH
2590    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2591    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2592    soname_spec='${libname}${release}${shared_ext}$major'
2593    ;;
2594  esac
2595  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2596  postinstall_cmds='chmod 555 $lib'
2597  # or fails outright, so override atomically:
2598  install_override_mode=555
2599  ;;
2600
2601interix[[3-9]]*)
2602  version_type=linux # correct to gnu/linux during the next big refactor
2603  need_lib_prefix=no
2604  need_version=no
2605  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2606  soname_spec='${libname}${release}${shared_ext}$major'
2607  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2608  shlibpath_var=LD_LIBRARY_PATH
2609  shlibpath_overrides_runpath=no
2610  hardcode_into_libs=yes
2611  ;;
2612
2613irix5* | irix6* | nonstopux*)
2614  case $host_os in
2615    nonstopux*) version_type=nonstopux ;;
2616    *)
2617	if test "$lt_cv_prog_gnu_ld" = yes; then
2618		version_type=linux # correct to gnu/linux during the next big refactor
2619	else
2620		version_type=irix
2621	fi ;;
2622  esac
2623  need_lib_prefix=no
2624  need_version=no
2625  soname_spec='${libname}${release}${shared_ext}$major'
2626  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2627  case $host_os in
2628  irix5* | nonstopux*)
2629    libsuff= shlibsuff=
2630    ;;
2631  *)
2632    case $LD in # libtool.m4 will add one of these switches to LD
2633    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2634      libsuff= shlibsuff= libmagic=32-bit;;
2635    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2636      libsuff=32 shlibsuff=N32 libmagic=N32;;
2637    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2638      libsuff=64 shlibsuff=64 libmagic=64-bit;;
2639    *) libsuff= shlibsuff= libmagic=never-match;;
2640    esac
2641    ;;
2642  esac
2643  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2644  shlibpath_overrides_runpath=no
2645  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2646  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2647  hardcode_into_libs=yes
2648  ;;
2649
2650# No shared lib support for Linux oldld, aout, or coff.
2651linux*oldld* | linux*aout* | linux*coff*)
2652  dynamic_linker=no
2653  ;;
2654
2655# This must be glibc/ELF.
2656linux* | k*bsd*-gnu | kopensolaris*-gnu)
2657  version_type=linux # correct to gnu/linux during the next big refactor
2658  need_lib_prefix=no
2659  need_version=no
2660  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2661  soname_spec='${libname}${release}${shared_ext}$major'
2662  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2663  shlibpath_var=LD_LIBRARY_PATH
2664  shlibpath_overrides_runpath=no
2665
2666  # Some binutils ld are patched to set DT_RUNPATH
2667  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2668    [lt_cv_shlibpath_overrides_runpath=no
2669    save_LDFLAGS=$LDFLAGS
2670    save_libdir=$libdir
2671    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2672	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2673    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2674      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2675	 [lt_cv_shlibpath_overrides_runpath=yes])])
2676    LDFLAGS=$save_LDFLAGS
2677    libdir=$save_libdir
2678    ])
2679  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2680
2681  # This implies no fast_install, which is unacceptable.
2682  # Some rework will be needed to allow for fast_install
2683  # before this can be enabled.
2684  hardcode_into_libs=yes
2685
2686  # Add ABI-specific directories to the system library path.
2687  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
2688
2689  # Append ld.so.conf contents to the search path
2690  if test -f /etc/ld.so.conf; then
2691    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' ' '`
2692    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
2693
2694  fi
2695
2696  # We used to test for /lib/ld.so.1 and disable shared libraries on
2697  # powerpc, because MkLinux only supported shared libraries with the
2698  # GNU dynamic linker.  Since this was broken with cross compilers,
2699  # most powerpc-linux boxes support dynamic linking these days and
2700  # people can always --disable-shared, the test was removed, and we
2701  # assume the GNU/Linux dynamic linker is in use.
2702  dynamic_linker='GNU/Linux ld.so'
2703  ;;
2704
2705netbsd*)
2706  version_type=sunos
2707  need_lib_prefix=no
2708  need_version=no
2709  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2710    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2711    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2712    dynamic_linker='NetBSD (a.out) ld.so'
2713  else
2714    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2715    soname_spec='${libname}${release}${shared_ext}$major'
2716    dynamic_linker='NetBSD ld.elf_so'
2717  fi
2718  shlibpath_var=LD_LIBRARY_PATH
2719  shlibpath_overrides_runpath=yes
2720  hardcode_into_libs=yes
2721  ;;
2722
2723newsos6)
2724  version_type=linux # correct to gnu/linux during the next big refactor
2725  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2726  shlibpath_var=LD_LIBRARY_PATH
2727  shlibpath_overrides_runpath=yes
2728  ;;
2729
2730*nto* | *qnx*)
2731  version_type=qnx
2732  need_lib_prefix=no
2733  need_version=no
2734  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2735  soname_spec='${libname}${release}${shared_ext}$major'
2736  shlibpath_var=LD_LIBRARY_PATH
2737  shlibpath_overrides_runpath=no
2738  hardcode_into_libs=yes
2739  dynamic_linker='ldqnx.so'
2740  ;;
2741
2742openbsd*)
2743  version_type=sunos
2744  sys_lib_dlsearch_path_spec="/usr/lib"
2745  need_lib_prefix=no
2746  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2747  case $host_os in
2748    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
2749    *)				need_version=no  ;;
2750  esac
2751  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2752  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2753  shlibpath_var=LD_LIBRARY_PATH
2754  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2755    case $host_os in
2756      openbsd2.[[89]] | openbsd2.[[89]].*)
2757	shlibpath_overrides_runpath=no
2758	;;
2759      *)
2760	shlibpath_overrides_runpath=yes
2761	;;
2762      esac
2763  else
2764    shlibpath_overrides_runpath=yes
2765  fi
2766  ;;
2767
2768os2*)
2769  libname_spec='$name'
2770  shrext_cmds=".dll"
2771  need_lib_prefix=no
2772  library_names_spec='$libname${shared_ext} $libname.a'
2773  dynamic_linker='OS/2 ld.exe'
2774  shlibpath_var=LIBPATH
2775  ;;
2776
2777osf3* | osf4* | osf5*)
2778  version_type=osf
2779  need_lib_prefix=no
2780  need_version=no
2781  soname_spec='${libname}${release}${shared_ext}$major'
2782  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2783  shlibpath_var=LD_LIBRARY_PATH
2784  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2785  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2786  ;;
2787
2788rdos*)
2789  dynamic_linker=no
2790  ;;
2791
2792solaris*)
2793  version_type=linux # correct to gnu/linux during the next big refactor
2794  need_lib_prefix=no
2795  need_version=no
2796  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2797  soname_spec='${libname}${release}${shared_ext}$major'
2798  shlibpath_var=LD_LIBRARY_PATH
2799  shlibpath_overrides_runpath=yes
2800  hardcode_into_libs=yes
2801  # ldd complains unless libraries are executable
2802  postinstall_cmds='chmod +x $lib'
2803  ;;
2804
2805sunos4*)
2806  version_type=sunos
2807  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2808  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2809  shlibpath_var=LD_LIBRARY_PATH
2810  shlibpath_overrides_runpath=yes
2811  if test "$with_gnu_ld" = yes; then
2812    need_lib_prefix=no
2813  fi
2814  need_version=yes
2815  ;;
2816
2817sysv4 | sysv4.3*)
2818  version_type=linux # correct to gnu/linux during the next big refactor
2819  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2820  soname_spec='${libname}${release}${shared_ext}$major'
2821  shlibpath_var=LD_LIBRARY_PATH
2822  case $host_vendor in
2823    sni)
2824      shlibpath_overrides_runpath=no
2825      need_lib_prefix=no
2826      runpath_var=LD_RUN_PATH
2827      ;;
2828    siemens)
2829      need_lib_prefix=no
2830      ;;
2831    motorola)
2832      need_lib_prefix=no
2833      need_version=no
2834      shlibpath_overrides_runpath=no
2835      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2836      ;;
2837  esac
2838  ;;
2839
2840sysv4*MP*)
2841  if test -d /usr/nec ;then
2842    version_type=linux # correct to gnu/linux during the next big refactor
2843    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2844    soname_spec='$libname${shared_ext}.$major'
2845    shlibpath_var=LD_LIBRARY_PATH
2846  fi
2847  ;;
2848
2849sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2850  version_type=freebsd-elf
2851  need_lib_prefix=no
2852  need_version=no
2853  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2854  soname_spec='${libname}${release}${shared_ext}$major'
2855  shlibpath_var=LD_LIBRARY_PATH
2856  shlibpath_overrides_runpath=yes
2857  hardcode_into_libs=yes
2858  if test "$with_gnu_ld" = yes; then
2859    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2860  else
2861    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2862    case $host_os in
2863      sco3.2v5*)
2864        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2865	;;
2866    esac
2867  fi
2868  sys_lib_dlsearch_path_spec='/usr/lib'
2869  ;;
2870
2871tpf*)
2872  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
2873  version_type=linux # correct to gnu/linux during the next big refactor
2874  need_lib_prefix=no
2875  need_version=no
2876  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2877  shlibpath_var=LD_LIBRARY_PATH
2878  shlibpath_overrides_runpath=no
2879  hardcode_into_libs=yes
2880  ;;
2881
2882uts4*)
2883  version_type=linux # correct to gnu/linux during the next big refactor
2884  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2885  soname_spec='${libname}${release}${shared_ext}$major'
2886  shlibpath_var=LD_LIBRARY_PATH
2887  ;;
2888
2889*)
2890  dynamic_linker=no
2891  ;;
2892esac
2893AC_MSG_RESULT([$dynamic_linker])
2894test "$dynamic_linker" = no && can_build_shared=no
2895
2896variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2897if test "$GCC" = yes; then
2898  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2899fi
2900
2901if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2902  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2903fi
2904if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2905  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2906fi
2907
2908_LT_DECL([], [variables_saved_for_relink], [1],
2909    [Variables whose values should be saved in libtool wrapper scripts and
2910    restored at link time])
2911_LT_DECL([], [need_lib_prefix], [0],
2912    [Do we need the "lib" prefix for modules?])
2913_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2914_LT_DECL([], [version_type], [0], [Library versioning type])
2915_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
2916_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2917_LT_DECL([], [shlibpath_overrides_runpath], [0],
2918    [Is shlibpath searched before the hard-coded library search path?])
2919_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2920_LT_DECL([], [library_names_spec], [1],
2921    [[List of archive names.  First name is the real one, the rest are links.
2922    The last name is the one that the linker finds with -lNAME]])
2923_LT_DECL([], [soname_spec], [1],
2924    [[The coded name of the library, if different from the real name]])
2925_LT_DECL([], [install_override_mode], [1],
2926    [Permission mode override for installation of shared libraries])
2927_LT_DECL([], [postinstall_cmds], [2],
2928    [Command to use after installation of a shared archive])
2929_LT_DECL([], [postuninstall_cmds], [2],
2930    [Command to use after uninstallation of a shared archive])
2931_LT_DECL([], [finish_cmds], [2],
2932    [Commands used to finish a libtool library installation in a directory])
2933_LT_DECL([], [finish_eval], [1],
2934    [[As "finish_cmds", except a single script fragment to be evaled but
2935    not shown]])
2936_LT_DECL([], [hardcode_into_libs], [0],
2937    [Whether we should hardcode library paths into libraries])
2938_LT_DECL([], [sys_lib_search_path_spec], [2],
2939    [Compile-time system search path for libraries])
2940_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2941    [Run-time system search path for libraries])
2942])# _LT_SYS_DYNAMIC_LINKER
2943
2944
2945# _LT_PATH_TOOL_PREFIX(TOOL)
2946# --------------------------
2947# find a file program which can recognize shared library
2948AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2949[m4_require([_LT_DECL_EGREP])dnl
2950AC_MSG_CHECKING([for $1])
2951AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2952[case $MAGIC_CMD in
2953[[\\/*] |  ?:[\\/]*])
2954  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2955  ;;
2956*)
2957  lt_save_MAGIC_CMD="$MAGIC_CMD"
2958  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2959dnl $ac_dummy forces splitting on constant user-supplied paths.
2960dnl POSIX.2 word splitting is done only on the output of word expansions,
2961dnl not every word.  This closes a longstanding sh security hole.
2962  ac_dummy="m4_if([$2], , $PATH, [$2])"
2963  for ac_dir in $ac_dummy; do
2964    IFS="$lt_save_ifs"
2965    test -z "$ac_dir" && ac_dir=.
2966    if test -f $ac_dir/$1; then
2967      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2968      if test -n "$file_magic_test_file"; then
2969	case $deplibs_check_method in
2970	"file_magic "*)
2971	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2972	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2973	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2974	    $EGREP "$file_magic_regex" > /dev/null; then
2975	    :
2976	  else
2977	    cat <<_LT_EOF 1>&2
2978
2979*** Warning: the command libtool uses to detect shared libraries,
2980*** $file_magic_cmd, produces output that libtool cannot recognize.
2981*** The result is that libtool may fail to recognize shared libraries
2982*** as such.  This will affect the creation of libtool libraries that
2983*** depend on shared libraries, but programs linked with such libtool
2984*** libraries will work regardless of this problem.  Nevertheless, you
2985*** may want to report the problem to your system manager and/or to
2986*** bug-libtool@gnu.org
2987
2988_LT_EOF
2989	  fi ;;
2990	esac
2991      fi
2992      break
2993    fi
2994  done
2995  IFS="$lt_save_ifs"
2996  MAGIC_CMD="$lt_save_MAGIC_CMD"
2997  ;;
2998esac])
2999MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3000if test -n "$MAGIC_CMD"; then
3001  AC_MSG_RESULT($MAGIC_CMD)
3002else
3003  AC_MSG_RESULT(no)
3004fi
3005_LT_DECL([], [MAGIC_CMD], [0],
3006	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3007])# _LT_PATH_TOOL_PREFIX
3008
3009# Old name:
3010AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3011dnl aclocal-1.4 backwards compatibility:
3012dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3013
3014
3015# _LT_PATH_MAGIC
3016# --------------
3017# find a file program which can recognize a shared library
3018m4_defun([_LT_PATH_MAGIC],
3019[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3020if test -z "$lt_cv_path_MAGIC_CMD"; then
3021  if test -n "$ac_tool_prefix"; then
3022    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3023  else
3024    MAGIC_CMD=:
3025  fi
3026fi
3027])# _LT_PATH_MAGIC
3028
3029
3030# LT_PATH_LD
3031# ----------
3032# find the pathname to the GNU or non-GNU linker
3033AC_DEFUN([LT_PATH_LD],
3034[AC_REQUIRE([AC_PROG_CC])dnl
3035AC_REQUIRE([AC_CANONICAL_HOST])dnl
3036AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3037m4_require([_LT_DECL_SED])dnl
3038m4_require([_LT_DECL_EGREP])dnl
3039m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3040
3041AC_ARG_WITH([gnu-ld],
3042    [AS_HELP_STRING([--with-gnu-ld],
3043	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
3044    [test "$withval" = no || with_gnu_ld=yes],
3045    [with_gnu_ld=no])dnl
3046
3047ac_prog=ld
3048if test "$GCC" = yes; then
3049  # Check if gcc -print-prog-name=ld gives a path.
3050  AC_MSG_CHECKING([for ld used by $CC])
3051  case $host in
3052  *-*-mingw*)
3053    # gcc leaves a trailing carriage return which upsets mingw
3054    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3055  *)
3056    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3057  esac
3058  case $ac_prog in
3059    # Accept absolute paths.
3060    [[\\/]]* | ?:[[\\/]]*)
3061      re_direlt='/[[^/]][[^/]]*/\.\./'
3062      # Canonicalize the pathname of ld
3063      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3064      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3065	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3066      done
3067      test -z "$LD" && LD="$ac_prog"
3068      ;;
3069  "")
3070    # If it fails, then pretend we aren't using GCC.
3071    ac_prog=ld
3072    ;;
3073  *)
3074    # If it is relative, then search for the first ld in PATH.
3075    with_gnu_ld=unknown
3076    ;;
3077  esac
3078elif test "$with_gnu_ld" = yes; then
3079  AC_MSG_CHECKING([for GNU ld])
3080else
3081  AC_MSG_CHECKING([for non-GNU ld])
3082fi
3083AC_CACHE_VAL(lt_cv_path_LD,
3084[if test -z "$LD"; then
3085  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3086  for ac_dir in $PATH; do
3087    IFS="$lt_save_ifs"
3088    test -z "$ac_dir" && ac_dir=.
3089    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3090      lt_cv_path_LD="$ac_dir/$ac_prog"
3091      # Check to see if the program is GNU ld.  I'd rather use --version,
3092      # but apparently some variants of GNU ld only accept -v.
3093      # Break only if it was the GNU/non-GNU ld that we prefer.
3094      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3095      *GNU* | *'with BFD'*)
3096	test "$with_gnu_ld" != no && break
3097	;;
3098      *)
3099	test "$with_gnu_ld" != yes && break
3100	;;
3101      esac
3102    fi
3103  done
3104  IFS="$lt_save_ifs"
3105else
3106  lt_cv_path_LD="$LD" # Let the user override the test with a path.
3107fi])
3108LD="$lt_cv_path_LD"
3109if test -n "$LD"; then
3110  AC_MSG_RESULT($LD)
3111else
3112  AC_MSG_RESULT(no)
3113fi
3114test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3115_LT_PATH_LD_GNU
3116AC_SUBST([LD])
3117
3118_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3119])# LT_PATH_LD
3120
3121# Old names:
3122AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3123AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3124dnl aclocal-1.4 backwards compatibility:
3125dnl AC_DEFUN([AM_PROG_LD], [])
3126dnl AC_DEFUN([AC_PROG_LD], [])
3127
3128
3129# _LT_PATH_LD_GNU
3130#- --------------
3131m4_defun([_LT_PATH_LD_GNU],
3132[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3133[# I'd rather use --version here, but apparently some GNU lds only accept -v.
3134case `$LD -v 2>&1 </dev/null` in
3135*GNU* | *'with BFD'*)
3136  lt_cv_prog_gnu_ld=yes
3137  ;;
3138*)
3139  lt_cv_prog_gnu_ld=no
3140  ;;
3141esac])
3142with_gnu_ld=$lt_cv_prog_gnu_ld
3143])# _LT_PATH_LD_GNU
3144
3145
3146# _LT_CMD_RELOAD
3147# --------------
3148# find reload flag for linker
3149#   -- PORTME Some linkers may need a different reload flag.
3150m4_defun([_LT_CMD_RELOAD],
3151[AC_CACHE_CHECK([for $LD option to reload object files],
3152  lt_cv_ld_reload_flag,
3153  [lt_cv_ld_reload_flag='-r'])
3154reload_flag=$lt_cv_ld_reload_flag
3155case $reload_flag in
3156"" | " "*) ;;
3157*) reload_flag=" $reload_flag" ;;
3158esac
3159reload_cmds='$LD$reload_flag -o $output$reload_objs'
3160case $host_os in
3161  cygwin* | mingw* | pw32* | cegcc*)
3162    if test "$GCC" != yes; then
3163      reload_cmds=false
3164    fi
3165    ;;
3166  darwin*)
3167    if test "$GCC" = yes; then
3168      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
3169    else
3170      reload_cmds='$LD$reload_flag -o $output$reload_objs'
3171    fi
3172    ;;
3173esac
3174_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3175_LT_TAGDECL([], [reload_cmds], [2])dnl
3176])# _LT_CMD_RELOAD
3177
3178
3179# _LT_CHECK_MAGIC_METHOD
3180# ----------------------
3181# how to check for library dependencies
3182#  -- PORTME fill in with the dynamic library characteristics
3183m4_defun([_LT_CHECK_MAGIC_METHOD],
3184[m4_require([_LT_DECL_EGREP])
3185m4_require([_LT_DECL_OBJDUMP])
3186AC_CACHE_CHECK([how to recognize dependent libraries],
3187lt_cv_deplibs_check_method,
3188[lt_cv_file_magic_cmd='$MAGIC_CMD'
3189lt_cv_file_magic_test_file=
3190lt_cv_deplibs_check_method='unknown'
3191# Need to set the preceding variable on all platforms that support
3192# interlibrary dependencies.
3193# 'none' -- dependencies not supported.
3194# `unknown' -- same as none, but documents that we really don't know.
3195# 'pass_all' -- all dependencies passed with no checks.
3196# 'test_compile' -- check by making test program.
3197# 'file_magic [[regex]]' -- check by looking for files in library path
3198# which responds to the $file_magic_cmd with a given extended regex.
3199# If you have `file' or equivalent on your system and you're not sure
3200# whether `pass_all' will *always* work, you probably want this one.
3201
3202case $host_os in
3203aix[[4-9]]*)
3204  lt_cv_deplibs_check_method=pass_all
3205  ;;
3206
3207beos*)
3208  lt_cv_deplibs_check_method=pass_all
3209  ;;
3210
3211bsdi[[45]]*)
3212  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3213  lt_cv_file_magic_cmd='/usr/bin/file -L'
3214  lt_cv_file_magic_test_file=/shlib/libc.so
3215  ;;
3216
3217cygwin*)
3218  # func_win32_libid is a shell function defined in ltmain.sh
3219  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3220  lt_cv_file_magic_cmd='func_win32_libid'
3221  ;;
3222
3223mingw* | pw32*)
3224  # Base MSYS/MinGW do not provide the 'file' command needed by
3225  # func_win32_libid shell function, so use a weaker test based on 'objdump',
3226  # unless we find 'file', for example because we are cross-compiling.
3227  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
3228  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
3229    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3230    lt_cv_file_magic_cmd='func_win32_libid'
3231  else
3232    # Keep this pattern in sync with the one in func_win32_libid.
3233    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3234    lt_cv_file_magic_cmd='$OBJDUMP -f'
3235  fi
3236  ;;
3237
3238cegcc*)
3239  # use the weaker test based on 'objdump'. See mingw*.
3240  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3241  lt_cv_file_magic_cmd='$OBJDUMP -f'
3242  ;;
3243
3244darwin* | rhapsody*)
3245  lt_cv_deplibs_check_method=pass_all
3246  ;;
3247
3248freebsd* | dragonfly*)
3249  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3250    case $host_cpu in
3251    i*86 )
3252      # Not sure whether the presence of OpenBSD here was a mistake.
3253      # Let's accept both of them until this is cleared up.
3254      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3255      lt_cv_file_magic_cmd=/usr/bin/file
3256      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3257      ;;
3258    esac
3259  else
3260    lt_cv_deplibs_check_method=pass_all
3261  fi
3262  ;;
3263
3264gnu*)
3265  lt_cv_deplibs_check_method=pass_all
3266  ;;
3267
3268haiku*)
3269  lt_cv_deplibs_check_method=pass_all
3270  ;;
3271
3272hpux10.20* | hpux11*)
3273  lt_cv_file_magic_cmd=/usr/bin/file
3274  case $host_cpu in
3275  ia64*)
3276    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3277    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3278    ;;
3279  hppa*64*)
3280    [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]']
3281    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3282    ;;
3283  *)
3284    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
3285    lt_cv_file_magic_test_file=/usr/lib/libc.sl
3286    ;;
3287  esac
3288  ;;
3289
3290interix[[3-9]]*)
3291  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3292  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3293  ;;
3294
3295irix5* | irix6* | nonstopux*)
3296  case $LD in
3297  *-32|*"-32 ") libmagic=32-bit;;
3298  *-n32|*"-n32 ") libmagic=N32;;
3299  *-64|*"-64 ") libmagic=64-bit;;
3300  *) libmagic=never-match;;
3301  esac
3302  lt_cv_deplibs_check_method=pass_all
3303  ;;
3304
3305# This must be glibc/ELF.
3306linux* | k*bsd*-gnu | kopensolaris*-gnu)
3307  lt_cv_deplibs_check_method=pass_all
3308  ;;
3309
3310netbsd*)
3311  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3312    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3313  else
3314    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3315  fi
3316  ;;
3317
3318newos6*)
3319  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3320  lt_cv_file_magic_cmd=/usr/bin/file
3321  lt_cv_file_magic_test_file=/usr/lib/libnls.so
3322  ;;
3323
3324*nto* | *qnx*)
3325  lt_cv_deplibs_check_method=pass_all
3326  ;;
3327
3328openbsd*)
3329  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3330    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3331  else
3332    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3333  fi
3334  ;;
3335
3336osf3* | osf4* | osf5*)
3337  lt_cv_deplibs_check_method=pass_all
3338  ;;
3339
3340rdos*)
3341  lt_cv_deplibs_check_method=pass_all
3342  ;;
3343
3344solaris*)
3345  lt_cv_deplibs_check_method=pass_all
3346  ;;
3347
3348sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3349  lt_cv_deplibs_check_method=pass_all
3350  ;;
3351
3352sysv4 | sysv4.3*)
3353  case $host_vendor in
3354  motorola)
3355    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]]'
3356    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3357    ;;
3358  ncr)
3359    lt_cv_deplibs_check_method=pass_all
3360    ;;
3361  sequent)
3362    lt_cv_file_magic_cmd='/bin/file'
3363    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3364    ;;
3365  sni)
3366    lt_cv_file_magic_cmd='/bin/file'
3367    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3368    lt_cv_file_magic_test_file=/lib/libc.so
3369    ;;
3370  siemens)
3371    lt_cv_deplibs_check_method=pass_all
3372    ;;
3373  pc)
3374    lt_cv_deplibs_check_method=pass_all
3375    ;;
3376  esac
3377  ;;
3378
3379tpf*)
3380  lt_cv_deplibs_check_method=pass_all
3381  ;;
3382esac
3383])
3384
3385file_magic_glob=
3386want_nocaseglob=no
3387if test "$build" = "$host"; then
3388  case $host_os in
3389  mingw* | pw32*)
3390    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3391      want_nocaseglob=yes
3392    else
3393      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3394    fi
3395    ;;
3396  esac
3397fi
3398
3399file_magic_cmd=$lt_cv_file_magic_cmd
3400deplibs_check_method=$lt_cv_deplibs_check_method
3401test -z "$deplibs_check_method" && deplibs_check_method=unknown
3402
3403_LT_DECL([], [deplibs_check_method], [1],
3404    [Method to check whether dependent libraries are shared objects])
3405_LT_DECL([], [file_magic_cmd], [1],
3406    [Command to use when deplibs_check_method = "file_magic"])
3407_LT_DECL([], [file_magic_glob], [1],
3408    [How to find potential files when deplibs_check_method = "file_magic"])
3409_LT_DECL([], [want_nocaseglob], [1],
3410    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3411])# _LT_CHECK_MAGIC_METHOD
3412
3413
3414# LT_PATH_NM
3415# ----------
3416# find the pathname to a BSD- or MS-compatible name lister
3417AC_DEFUN([LT_PATH_NM],
3418[AC_REQUIRE([AC_PROG_CC])dnl
3419AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3420[if test -n "$NM"; then
3421  # Let the user override the test.
3422  lt_cv_path_NM="$NM"
3423else
3424  lt_nm_to_check="${ac_tool_prefix}nm"
3425  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3426    lt_nm_to_check="$lt_nm_to_check nm"
3427  fi
3428  for lt_tmp_nm in $lt_nm_to_check; do
3429    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3430    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3431      IFS="$lt_save_ifs"
3432      test -z "$ac_dir" && ac_dir=.
3433      tmp_nm="$ac_dir/$lt_tmp_nm"
3434      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3435	# Check to see if the nm accepts a BSD-compat flag.
3436	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
3437	#   nm: unknown option "B" ignored
3438	# Tru64's nm complains that /dev/null is an invalid object file
3439	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3440	*/dev/null* | *'Invalid file or object type'*)
3441	  lt_cv_path_NM="$tmp_nm -B"
3442	  break
3443	  ;;
3444	*)
3445	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3446	  */dev/null*)
3447	    lt_cv_path_NM="$tmp_nm -p"
3448	    break
3449	    ;;
3450	  *)
3451	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3452	    continue # so that we can try to find one that supports BSD flags
3453	    ;;
3454	  esac
3455	  ;;
3456	esac
3457      fi
3458    done
3459    IFS="$lt_save_ifs"
3460  done
3461  : ${lt_cv_path_NM=no}
3462fi])
3463if test "$lt_cv_path_NM" != "no"; then
3464  NM="$lt_cv_path_NM"
3465else
3466  # Didn't find any BSD compatible name lister, look for dumpbin.
3467  if test -n "$DUMPBIN"; then :
3468    # Let the user override the test.
3469  else
3470    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3471    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
3472    *COFF*)
3473      DUMPBIN="$DUMPBIN -symbols"
3474      ;;
3475    *)
3476      DUMPBIN=:
3477      ;;
3478    esac
3479  fi
3480  AC_SUBST([DUMPBIN])
3481  if test "$DUMPBIN" != ":"; then
3482    NM="$DUMPBIN"
3483  fi
3484fi
3485test -z "$NM" && NM=nm
3486AC_SUBST([NM])
3487_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3488
3489AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3490  [lt_cv_nm_interface="BSD nm"
3491  echo "int some_variable = 0;" > conftest.$ac_ext
3492  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3493  (eval "$ac_compile" 2>conftest.err)
3494  cat conftest.err >&AS_MESSAGE_LOG_FD
3495  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3496  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3497  cat conftest.err >&AS_MESSAGE_LOG_FD
3498  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3499  cat conftest.out >&AS_MESSAGE_LOG_FD
3500  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3501    lt_cv_nm_interface="MS dumpbin"
3502  fi
3503  rm -f conftest*])
3504])# LT_PATH_NM
3505
3506# Old names:
3507AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3508AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3509dnl aclocal-1.4 backwards compatibility:
3510dnl AC_DEFUN([AM_PROG_NM], [])
3511dnl AC_DEFUN([AC_PROG_NM], [])
3512
3513# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3514# --------------------------------
3515# how to determine the name of the shared library
3516# associated with a specific link library.
3517#  -- PORTME fill in with the dynamic library characteristics
3518m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3519[m4_require([_LT_DECL_EGREP])
3520m4_require([_LT_DECL_OBJDUMP])
3521m4_require([_LT_DECL_DLLTOOL])
3522AC_CACHE_CHECK([how to associate runtime and link libraries],
3523lt_cv_sharedlib_from_linklib_cmd,
3524[lt_cv_sharedlib_from_linklib_cmd='unknown'
3525
3526case $host_os in
3527cygwin* | mingw* | pw32* | cegcc*)
3528  # two different shell functions defined in ltmain.sh
3529  # decide which to use based on capabilities of $DLLTOOL
3530  case `$DLLTOOL --help 2>&1` in
3531  *--identify-strict*)
3532    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3533    ;;
3534  *)
3535    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3536    ;;
3537  esac
3538  ;;
3539*)
3540  # fallback: assume linklib IS sharedlib
3541  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
3542  ;;
3543esac
3544])
3545sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3546test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3547
3548_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3549    [Command to associate shared and link libraries])
3550])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3551
3552
3553# _LT_PATH_MANIFEST_TOOL
3554# ----------------------
3555# locate the manifest tool
3556m4_defun([_LT_PATH_MANIFEST_TOOL],
3557[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3558test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3559AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3560  [lt_cv_path_mainfest_tool=no
3561  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3562  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3563  cat conftest.err >&AS_MESSAGE_LOG_FD
3564  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3565    lt_cv_path_mainfest_tool=yes
3566  fi
3567  rm -f conftest*])
3568if test "x$lt_cv_path_mainfest_tool" != xyes; then
3569  MANIFEST_TOOL=:
3570fi
3571_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3572])# _LT_PATH_MANIFEST_TOOL
3573
3574
3575# LT_LIB_M
3576# --------
3577# check for math library
3578AC_DEFUN([LT_LIB_M],
3579[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3580LIBM=
3581case $host in
3582*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
3583  # These system don't have libm, or don't need it
3584  ;;
3585*-ncr-sysv4.3*)
3586  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3587  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3588  ;;
3589*)
3590  AC_CHECK_LIB(m, cos, LIBM="-lm")
3591  ;;
3592esac
3593AC_SUBST([LIBM])
3594])# LT_LIB_M
3595
3596# Old name:
3597AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3598dnl aclocal-1.4 backwards compatibility:
3599dnl AC_DEFUN([AC_CHECK_LIBM], [])
3600
3601
3602# _LT_COMPILER_NO_RTTI([TAGNAME])
3603# -------------------------------
3604m4_defun([_LT_COMPILER_NO_RTTI],
3605[m4_require([_LT_TAG_COMPILER])dnl
3606
3607_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3608
3609if test "$GCC" = yes; then
3610  case $cc_basename in
3611  nvcc*)
3612    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3613  *)
3614    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3615  esac
3616
3617  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3618    lt_cv_prog_compiler_rtti_exceptions,
3619    [-fno-rtti -fno-exceptions], [],
3620    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3621fi
3622_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3623	[Compiler flag to turn off builtin functions])
3624])# _LT_COMPILER_NO_RTTI
3625
3626
3627# _LT_CMD_GLOBAL_SYMBOLS
3628# ----------------------
3629m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3630[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3631AC_REQUIRE([AC_PROG_CC])dnl
3632AC_REQUIRE([AC_PROG_AWK])dnl
3633AC_REQUIRE([LT_PATH_NM])dnl
3634AC_REQUIRE([LT_PATH_LD])dnl
3635m4_require([_LT_DECL_SED])dnl
3636m4_require([_LT_DECL_EGREP])dnl
3637m4_require([_LT_TAG_COMPILER])dnl
3638
3639# Check for command to grab the raw symbol name followed by C symbol from nm.
3640AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3641AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3642[
3643# These are sane defaults that work on at least a few old systems.
3644# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
3645
3646# Character class describing NM global symbol codes.
3647symcode='[[BCDEGRST]]'
3648
3649# Regexp to match symbols that can be accessed directly from C.
3650sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3651
3652# Define system-specific variables.
3653case $host_os in
3654aix*)
3655  symcode='[[BCDT]]'
3656  ;;
3657cygwin* | mingw* | pw32* | cegcc*)
3658  symcode='[[ABCDGISTW]]'
3659  ;;
3660hpux*)
3661  if test "$host_cpu" = ia64; then
3662    symcode='[[ABCDEGRST]]'
3663  fi
3664  ;;
3665irix* | nonstopux*)
3666  symcode='[[BCDEGRST]]'
3667  ;;
3668osf*)
3669  symcode='[[BCDEGQRST]]'
3670  ;;
3671solaris*)
3672  symcode='[[BDRT]]'
3673  ;;
3674sco3.2v5*)
3675  symcode='[[DT]]'
3676  ;;
3677sysv4.2uw2*)
3678  symcode='[[DT]]'
3679  ;;
3680sysv5* | sco5v6* | unixware* | OpenUNIX*)
3681  symcode='[[ABDT]]'
3682  ;;
3683sysv4)
3684  symcode='[[DFNSTU]]'
3685  ;;
3686esac
3687
3688# If we're using GNU nm, then use its standard symbol codes.
3689case `$NM -V 2>&1` in
3690*GNU* | *'with BFD'*)
3691  symcode='[[ABCDGIRSTW]]' ;;
3692esac
3693
3694# Transform an extracted symbol line into a proper C declaration.
3695# Some systems (esp. on ia64) link data and code symbols differently,
3696# so use this general approach.
3697lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3698
3699# Transform an extracted symbol line into symbol name and symbol address
3700lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
3701lt_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'"
3702
3703# Handle CRLF in mingw tool chain
3704opt_cr=
3705case $build_os in
3706mingw*)
3707  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3708  ;;
3709esac
3710
3711# Try without a prefix underscore, then with it.
3712for ac_symprfx in "" "_"; do
3713
3714  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3715  symxfrm="\\1 $ac_symprfx\\2 \\2"
3716
3717  # Write the raw and C identifiers.
3718  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3719    # Fake it for dumpbin and say T for any non-static function
3720    # and D for any global variable.
3721    # Also find C++ and __fastcall symbols from MSVC++,
3722    # which start with @ or ?.
3723    lt_cv_sys_global_symbol_pipe="$AWK ['"\
3724"     {last_section=section; section=\$ 3};"\
3725"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
3726"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3727"     \$ 0!~/External *\|/{next};"\
3728"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3729"     {if(hide[section]) next};"\
3730"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3731"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3732"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
3733"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3734"     ' prfx=^$ac_symprfx]"
3735  else
3736    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3737  fi
3738  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
3739
3740  # Check to see that the pipe works correctly.
3741  pipe_works=no
3742
3743  rm -f conftest*
3744  cat > conftest.$ac_ext <<_LT_EOF
3745#ifdef __cplusplus
3746extern "C" {
3747#endif
3748char nm_test_var;
3749void nm_test_func(void);
3750void nm_test_func(void){}
3751#ifdef __cplusplus
3752}
3753#endif
3754int main(){nm_test_var='a';nm_test_func();return(0);}
3755_LT_EOF
3756
3757  if AC_TRY_EVAL(ac_compile); then
3758    # Now try to grab the symbols.
3759    nlist=conftest.nm
3760    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
3761      # Try sorting and uniquifying the output.
3762      if sort "$nlist" | uniq > "$nlist"T; then
3763	mv -f "$nlist"T "$nlist"
3764      else
3765	rm -f "$nlist"T
3766      fi
3767
3768      # Make sure that we snagged all the symbols we need.
3769      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3770	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3771	  cat <<_LT_EOF > conftest.$ac_ext
3772/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
3773#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
3774/* DATA imports from DLLs on WIN32 con't be const, because runtime
3775   relocations are performed -- see ld's documentation on pseudo-relocs.  */
3776# define LT@&t@_DLSYM_CONST
3777#elif defined(__osf__)
3778/* This system does not cope well with relocations in const data.  */
3779# define LT@&t@_DLSYM_CONST
3780#else
3781# define LT@&t@_DLSYM_CONST const
3782#endif
3783
3784#ifdef __cplusplus
3785extern "C" {
3786#endif
3787
3788_LT_EOF
3789	  # Now generate the symbol file.
3790	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
3791
3792	  cat <<_LT_EOF >> conftest.$ac_ext
3793
3794/* The mapping between symbol names and symbols.  */
3795LT@&t@_DLSYM_CONST struct {
3796  const char *name;
3797  void       *address;
3798}
3799lt__PROGRAM__LTX_preloaded_symbols[[]] =
3800{
3801  { "@PROGRAM@", (void *) 0 },
3802_LT_EOF
3803	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3804	  cat <<\_LT_EOF >> conftest.$ac_ext
3805  {0, (void *) 0}
3806};
3807
3808/* This works around a problem in FreeBSD linker */
3809#ifdef FREEBSD_WORKAROUND
3810static const void *lt_preloaded_setup() {
3811  return lt__PROGRAM__LTX_preloaded_symbols;
3812}
3813#endif
3814
3815#ifdef __cplusplus
3816}
3817#endif
3818_LT_EOF
3819	  # Now try linking the two files.
3820	  mv conftest.$ac_objext conftstm.$ac_objext
3821	  lt_globsym_save_LIBS=$LIBS
3822	  lt_globsym_save_CFLAGS=$CFLAGS
3823	  LIBS="conftstm.$ac_objext"
3824	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3825	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3826	    pipe_works=yes
3827	  fi
3828	  LIBS=$lt_globsym_save_LIBS
3829	  CFLAGS=$lt_globsym_save_CFLAGS
3830	else
3831	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3832	fi
3833      else
3834	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3835      fi
3836    else
3837      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3838    fi
3839  else
3840    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3841    cat conftest.$ac_ext >&5
3842  fi
3843  rm -rf conftest* conftst*
3844
3845  # Do not use the global_symbol_pipe unless it works.
3846  if test "$pipe_works" = yes; then
3847    break
3848  else
3849    lt_cv_sys_global_symbol_pipe=
3850  fi
3851done
3852])
3853if test -z "$lt_cv_sys_global_symbol_pipe"; then
3854  lt_cv_sys_global_symbol_to_cdecl=
3855fi
3856if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3857  AC_MSG_RESULT(failed)
3858else
3859  AC_MSG_RESULT(ok)
3860fi
3861
3862# Response file support.
3863if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3864  nm_file_list_spec='@'
3865elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
3866  nm_file_list_spec='@'
3867fi
3868
3869_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3870    [Take the output of nm and produce a listing of raw symbols and C names])
3871_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3872    [Transform the output of nm in a proper C declaration])
3873_LT_DECL([global_symbol_to_c_name_address],
3874    [lt_cv_sys_global_symbol_to_c_name_address], [1],
3875    [Transform the output of nm in a C name address pair])
3876_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3877    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3878    [Transform the output of nm in a C name address pair when lib prefix is needed])
3879_LT_DECL([], [nm_file_list_spec], [1],
3880    [Specify filename containing input files for $NM])
3881]) # _LT_CMD_GLOBAL_SYMBOLS
3882
3883
3884# _LT_COMPILER_PIC([TAGNAME])
3885# ---------------------------
3886m4_defun([_LT_COMPILER_PIC],
3887[m4_require([_LT_TAG_COMPILER])dnl
3888_LT_TAGVAR(lt_prog_compiler_wl, $1)=
3889_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3890_LT_TAGVAR(lt_prog_compiler_static, $1)=
3891
3892m4_if([$1], [CXX], [
3893  # C++ specific cases for pic, static, wl, etc.
3894  if test "$GXX" = yes; then
3895    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3896    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3897
3898    case $host_os in
3899    aix*)
3900      # All AIX code is PIC.
3901      if test "$host_cpu" = ia64; then
3902	# AIX 5 now supports IA64 processor
3903	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3904      fi
3905      ;;
3906
3907    amigaos*)
3908      case $host_cpu in
3909      powerpc)
3910            # see comment about AmigaOS4 .so support
3911            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3912        ;;
3913      m68k)
3914            # FIXME: we need at least 68020 code to build shared libraries, but
3915            # adding the `-m68020' flag to GCC prevents building anything better,
3916            # like `-m68040'.
3917            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3918        ;;
3919      esac
3920      ;;
3921
3922    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3923      # PIC is the default for these OSes.
3924      ;;
3925    mingw* | cygwin* | os2* | pw32* | cegcc*)
3926      # This hack is so that the source file can tell whether it is being
3927      # built for inclusion in a dll (and should export symbols for example).
3928      # Although the cygwin gcc ignores -fPIC, still need this for old-style
3929      # (--disable-auto-import) libraries
3930      m4_if([$1], [GCJ], [],
3931	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3932      ;;
3933    darwin* | rhapsody*)
3934      # PIC is the default on this platform
3935      # Common symbols not allowed in MH_DYLIB files
3936      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3937      ;;
3938    *djgpp*)
3939      # DJGPP does not support shared libraries at all
3940      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3941      ;;
3942    haiku*)
3943      # PIC is the default for Haiku.
3944      # The "-static" flag exists, but is broken.
3945      _LT_TAGVAR(lt_prog_compiler_static, $1)=
3946      ;;
3947    interix[[3-9]]*)
3948      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3949      # Instead, we relocate shared libraries at runtime.
3950      ;;
3951    sysv4*MP*)
3952      if test -d /usr/nec; then
3953	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3954      fi
3955      ;;
3956    hpux*)
3957      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3958      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
3959      # sets the default TLS model and affects inlining.
3960      case $host_cpu in
3961      hppa*64*)
3962	;;
3963      *)
3964	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3965	;;
3966      esac
3967      ;;
3968    *qnx* | *nto*)
3969      # QNX uses GNU C++, but need to define -shared option too, otherwise
3970      # it will coredump.
3971      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3972      ;;
3973    *)
3974      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3975      ;;
3976    esac
3977  else
3978    case $host_os in
3979      aix[[4-9]]*)
3980	# All AIX code is PIC.
3981	if test "$host_cpu" = ia64; then
3982	  # AIX 5 now supports IA64 processor
3983	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3984	else
3985	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3986	fi
3987	;;
3988      chorus*)
3989	case $cc_basename in
3990	cxch68*)
3991	  # Green Hills C++ Compiler
3992	  # _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"
3993	  ;;
3994	esac
3995	;;
3996      mingw* | cygwin* | os2* | pw32* | cegcc*)
3997	# This hack is so that the source file can tell whether it is being
3998	# built for inclusion in a dll (and should export symbols for example).
3999	m4_if([$1], [GCJ], [],
4000	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4001	;;
4002      dgux*)
4003	case $cc_basename in
4004	  ec++*)
4005	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4006	    ;;
4007	  ghcx*)
4008	    # Green Hills C++ Compiler
4009	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4010	    ;;
4011	  *)
4012	    ;;
4013	esac
4014	;;
4015      freebsd* | dragonfly*)
4016	# FreeBSD uses GNU C++
4017	;;
4018      hpux9* | hpux10* | hpux11*)
4019	case $cc_basename in
4020	  CC*)
4021	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4022	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4023	    if test "$host_cpu" != ia64; then
4024	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4025	    fi
4026	    ;;
4027	  aCC*)
4028	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4029	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4030	    case $host_cpu in
4031	    hppa*64*|ia64*)
4032	      # +Z the default
4033	      ;;
4034	    *)
4035	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4036	      ;;
4037	    esac
4038	    ;;
4039	  *)
4040	    ;;
4041	esac
4042	;;
4043      interix*)
4044	# This is c89, which is MS Visual C++ (no shared libs)
4045	# Anyone wants to do a port?
4046	;;
4047      irix5* | irix6* | nonstopux*)
4048	case $cc_basename in
4049	  CC*)
4050	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4051	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4052	    # CC pic flag -KPIC is the default.
4053	    ;;
4054	  *)
4055	    ;;
4056	esac
4057	;;
4058      linux* | k*bsd*-gnu | kopensolaris*-gnu)
4059	case $cc_basename in
4060	  KCC*)
4061	    # KAI C++ Compiler
4062	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4063	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4064	    ;;
4065	  ecpc* )
4066	    # old Intel C++ for x86_64 which still supported -KPIC.
4067	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4068	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4069	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4070	    ;;
4071	  icpc* )
4072	    # Intel C++, used to be incompatible with GCC.
4073	    # ICC 10 doesn't accept -KPIC any more.
4074	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4075	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4076	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4077	    ;;
4078	  pgCC* | pgcpp*)
4079	    # Portland Group C++ compiler
4080	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4081	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4082	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4083	    ;;
4084	  cxx*)
4085	    # Compaq C++
4086	    # Make sure the PIC flag is empty.  It appears that all Alpha
4087	    # Linux and Compaq Tru64 Unix objects are PIC.
4088	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4089	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4090	    ;;
4091	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4092	    # IBM XL 8.0, 9.0 on PPC and BlueGene
4093	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4094	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4095	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4096	    ;;
4097	  *)
4098	    case `$CC -V 2>&1 | sed 5q` in
4099	    *Sun\ C*)
4100	      # Sun C++ 5.9
4101	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4102	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4103	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4104	      ;;
4105	    esac
4106	    ;;
4107	esac
4108	;;
4109      lynxos*)
4110	;;
4111      m88k*)
4112	;;
4113      mvs*)
4114	case $cc_basename in
4115	  cxx*)
4116	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4117	    ;;
4118	  *)
4119	    ;;
4120	esac
4121	;;
4122      netbsd*)
4123	;;
4124      *qnx* | *nto*)
4125        # QNX uses GNU C++, but need to define -shared option too, otherwise
4126        # it will coredump.
4127        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4128        ;;
4129      osf3* | osf4* | osf5*)
4130	case $cc_basename in
4131	  KCC*)
4132	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4133	    ;;
4134	  RCC*)
4135	    # Rational C++ 2.4.1
4136	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4137	    ;;
4138	  cxx*)
4139	    # Digital/Compaq C++
4140	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4141	    # Make sure the PIC flag is empty.  It appears that all Alpha
4142	    # Linux and Compaq Tru64 Unix objects are PIC.
4143	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4144	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4145	    ;;
4146	  *)
4147	    ;;
4148	esac
4149	;;
4150      psos*)
4151	;;
4152      solaris*)
4153	case $cc_basename in
4154	  CC* | sunCC*)
4155	    # Sun C++ 4.2, 5.x and Centerline C++
4156	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4157	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4158	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4159	    ;;
4160	  gcx*)
4161	    # Green Hills C++ Compiler
4162	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4163	    ;;
4164	  *)
4165	    ;;
4166	esac
4167	;;
4168      sunos4*)
4169	case $cc_basename in
4170	  CC*)
4171	    # Sun C++ 4.x
4172	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4173	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4174	    ;;
4175	  lcc*)
4176	    # Lucid
4177	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4178	    ;;
4179	  *)
4180	    ;;
4181	esac
4182	;;
4183      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4184	case $cc_basename in
4185	  CC*)
4186	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4187	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4188	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4189	    ;;
4190	esac
4191	;;
4192      tandem*)
4193	case $cc_basename in
4194	  NCC*)
4195	    # NonStop-UX NCC 3.20
4196	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4197	    ;;
4198	  *)
4199	    ;;
4200	esac
4201	;;
4202      vxworks*)
4203	;;
4204      *)
4205	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4206	;;
4207    esac
4208  fi
4209],
4210[
4211  if test "$GCC" = yes; then
4212    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4213    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4214
4215    case $host_os in
4216      aix*)
4217      # All AIX code is PIC.
4218      if test "$host_cpu" = ia64; then
4219	# AIX 5 now supports IA64 processor
4220	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4221      fi
4222      ;;
4223
4224    amigaos*)
4225      case $host_cpu in
4226      powerpc)
4227            # see comment about AmigaOS4 .so support
4228            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4229        ;;
4230      m68k)
4231            # FIXME: we need at least 68020 code to build shared libraries, but
4232            # adding the `-m68020' flag to GCC prevents building anything better,
4233            # like `-m68040'.
4234            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4235        ;;
4236      esac
4237      ;;
4238
4239    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4240      # PIC is the default for these OSes.
4241      ;;
4242
4243    mingw* | cygwin* | pw32* | os2* | cegcc*)
4244      # This hack is so that the source file can tell whether it is being
4245      # built for inclusion in a dll (and should export symbols for example).
4246      # Although the cygwin gcc ignores -fPIC, still need this for old-style
4247      # (--disable-auto-import) libraries
4248      m4_if([$1], [GCJ], [],
4249	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4250      ;;
4251
4252    darwin* | rhapsody*)
4253      # PIC is the default on this platform
4254      # Common symbols not allowed in MH_DYLIB files
4255      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4256      ;;
4257
4258    haiku*)
4259      # PIC is the default for Haiku.
4260      # The "-static" flag exists, but is broken.
4261      _LT_TAGVAR(lt_prog_compiler_static, $1)=
4262      ;;
4263
4264    hpux*)
4265      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4266      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
4267      # sets the default TLS model and affects inlining.
4268      case $host_cpu in
4269      hppa*64*)
4270	# +Z the default
4271	;;
4272      *)
4273	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4274	;;
4275      esac
4276      ;;
4277
4278    interix[[3-9]]*)
4279      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4280      # Instead, we relocate shared libraries at runtime.
4281      ;;
4282
4283    msdosdjgpp*)
4284      # Just because we use GCC doesn't mean we suddenly get shared libraries
4285      # on systems that don't support them.
4286      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4287      enable_shared=no
4288      ;;
4289
4290    *nto* | *qnx*)
4291      # QNX uses GNU C++, but need to define -shared option too, otherwise
4292      # it will coredump.
4293      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4294      ;;
4295
4296    sysv4*MP*)
4297      if test -d /usr/nec; then
4298	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4299      fi
4300      ;;
4301
4302    *)
4303      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4304      ;;
4305    esac
4306
4307    case $cc_basename in
4308    nvcc*) # Cuda Compiler Driver 2.2
4309      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4310      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4311        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
4312      fi
4313      ;;
4314    esac
4315  else
4316    # PORTME Check for flag to pass linker flags through the system compiler.
4317    case $host_os in
4318    aix*)
4319      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4320      if test "$host_cpu" = ia64; then
4321	# AIX 5 now supports IA64 processor
4322	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4323      else
4324	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4325      fi
4326      ;;
4327
4328    mingw* | cygwin* | pw32* | os2* | cegcc*)
4329      # This hack is so that the source file can tell whether it is being
4330      # built for inclusion in a dll (and should export symbols for example).
4331      m4_if([$1], [GCJ], [],
4332	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4333      ;;
4334
4335    hpux9* | hpux10* | hpux11*)
4336      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4337      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4338      # not for PA HP-UX.
4339      case $host_cpu in
4340      hppa*64*|ia64*)
4341	# +Z the default
4342	;;
4343      *)
4344	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4345	;;
4346      esac
4347      # Is there a better lt_prog_compiler_static that works with the bundled CC?
4348      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4349      ;;
4350
4351    irix5* | irix6* | nonstopux*)
4352      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4353      # PIC (with -KPIC) is the default.
4354      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4355      ;;
4356
4357    linux* | k*bsd*-gnu | kopensolaris*-gnu)
4358      case $cc_basename in
4359      # old Intel for x86_64 which still supported -KPIC.
4360      ecc*)
4361	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4362	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4363	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4364        ;;
4365      # icc used to be incompatible with GCC.
4366      # ICC 10 doesn't accept -KPIC any more.
4367      icc* | ifort*)
4368	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4369	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4370	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4371        ;;
4372      # Lahey Fortran 8.1.
4373      lf95*)
4374	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4375	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4376	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4377	;;
4378      nagfor*)
4379	# NAG Fortran compiler
4380	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4381	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4382	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4383	;;
4384      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4385        # Portland Group compilers (*not* the Pentium gcc compiler,
4386	# which looks to be a dead project)
4387	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4388	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4389	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4390        ;;
4391      ccc*)
4392        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4393        # All Alpha code is PIC.
4394        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4395        ;;
4396      xl* | bgxl* | bgf* | mpixl*)
4397	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4398	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4399	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4400	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4401	;;
4402      *)
4403	case `$CC -V 2>&1 | sed 5q` in
4404	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4405	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
4406	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4407	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4408	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4409	  ;;
4410	*Sun\ F* | *Sun*Fortran*)
4411	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4412	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4413	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4414	  ;;
4415	*Sun\ C*)
4416	  # Sun C 5.9
4417	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4418	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4419	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4420	  ;;
4421        *Intel*\ [[CF]]*Compiler*)
4422	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4423	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4424	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4425	  ;;
4426	*Portland\ Group*)
4427	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4428	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4429	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4430	  ;;
4431	esac
4432	;;
4433      esac
4434      ;;
4435
4436    newsos6)
4437      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4438      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4439      ;;
4440
4441    *nto* | *qnx*)
4442      # QNX uses GNU C++, but need to define -shared option too, otherwise
4443      # it will coredump.
4444      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4445      ;;
4446
4447    osf3* | osf4* | osf5*)
4448      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4449      # All OSF/1 code is PIC.
4450      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4451      ;;
4452
4453    rdos*)
4454      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4455      ;;
4456
4457    solaris*)
4458      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4459      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4460      case $cc_basename in
4461      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4462	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4463      *)
4464	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4465      esac
4466      ;;
4467
4468    sunos4*)
4469      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4470      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4471      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4472      ;;
4473
4474    sysv4 | sysv4.2uw2* | sysv4.3*)
4475      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4476      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4477      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4478      ;;
4479
4480    sysv4*MP*)
4481      if test -d /usr/nec ;then
4482	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4483	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4484      fi
4485      ;;
4486
4487    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4488      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4489      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4490      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4491      ;;
4492
4493    unicos*)
4494      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4495      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4496      ;;
4497
4498    uts4*)
4499      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4500      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4501      ;;
4502
4503    *)
4504      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4505      ;;
4506    esac
4507  fi
4508])
4509case $host_os in
4510  # For platforms which do not support PIC, -DPIC is meaningless:
4511  *djgpp*)
4512    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4513    ;;
4514  *)
4515    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4516    ;;
4517esac
4518
4519AC_CACHE_CHECK([for $compiler option to produce PIC],
4520  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4521  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4522_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
4523
4524#
4525# Check to make sure the PIC flag actually works.
4526#
4527if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4528  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4529    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4530    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4531    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4532     "" | " "*) ;;
4533     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4534     esac],
4535    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4536     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4537fi
4538_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4539	[Additional compiler flags for building library objects])
4540
4541_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4542	[How to pass a linker flag through the compiler])
4543#
4544# Check to make sure the static flag actually works.
4545#
4546wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4547_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4548  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4549  $lt_tmp_static_flag,
4550  [],
4551  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4552_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4553	[Compiler flag to prevent dynamic linking])
4554])# _LT_COMPILER_PIC
4555
4556
4557# _LT_LINKER_SHLIBS([TAGNAME])
4558# ----------------------------
4559# See if the linker supports building shared libraries.
4560m4_defun([_LT_LINKER_SHLIBS],
4561[AC_REQUIRE([LT_PATH_LD])dnl
4562AC_REQUIRE([LT_PATH_NM])dnl
4563m4_require([_LT_PATH_MANIFEST_TOOL])dnl
4564m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4565m4_require([_LT_DECL_EGREP])dnl
4566m4_require([_LT_DECL_SED])dnl
4567m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4568m4_require([_LT_TAG_COMPILER])dnl
4569AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4570m4_if([$1], [CXX], [
4571  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4572  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4573  case $host_os in
4574  aix[[4-9]]*)
4575    # If we're using GNU nm, then we don't want the "-C" option.
4576    # -C means demangle to AIX nm, but means don't demangle with GNU nm
4577    # Also, AIX nm treats weak defined symbols like other global defined
4578    # symbols, whereas GNU nm marks them as "W".
4579    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4580      _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'
4581    else
4582      _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'
4583    fi
4584    ;;
4585  pw32*)
4586    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4587    ;;
4588  cygwin* | mingw* | cegcc*)
4589    case $cc_basename in
4590    cl*)
4591      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
4592      ;;
4593    *)
4594      _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'
4595      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4596      ;;
4597    esac
4598    ;;
4599  *)
4600    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4601    ;;
4602  esac
4603], [
4604  runpath_var=
4605  _LT_TAGVAR(allow_undefined_flag, $1)=
4606  _LT_TAGVAR(always_export_symbols, $1)=no
4607  _LT_TAGVAR(archive_cmds, $1)=
4608  _LT_TAGVAR(archive_expsym_cmds, $1)=
4609  _LT_TAGVAR(compiler_needs_object, $1)=no
4610  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4611  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4612  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4613  _LT_TAGVAR(hardcode_automatic, $1)=no
4614  _LT_TAGVAR(hardcode_direct, $1)=no
4615  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4616  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4617  _LT_TAGVAR(hardcode_libdir_separator, $1)=
4618  _LT_TAGVAR(hardcode_minus_L, $1)=no
4619  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4620  _LT_TAGVAR(inherit_rpath, $1)=no
4621  _LT_TAGVAR(link_all_deplibs, $1)=unknown
4622  _LT_TAGVAR(module_cmds, $1)=
4623  _LT_TAGVAR(module_expsym_cmds, $1)=
4624  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4625  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4626  _LT_TAGVAR(thread_safe_flag_spec, $1)=
4627  _LT_TAGVAR(whole_archive_flag_spec, $1)=
4628  # include_expsyms should be a list of space-separated symbols to be *always*
4629  # included in the symbol list
4630  _LT_TAGVAR(include_expsyms, $1)=
4631  # exclude_expsyms can be an extended regexp of symbols to exclude
4632  # it will be wrapped by ` (' and `)$', so one must not match beginning or
4633  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4634  # as well as any symbol that contains `d'.
4635  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4636  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4637  # platforms (ab)use it in PIC code, but their linkers get confused if
4638  # the symbol is explicitly referenced.  Since portable code cannot
4639  # rely on this symbol name, it's probably fine to never include it in
4640  # preloaded symbol tables.
4641  # Exclude shared library initialization/finalization symbols.
4642dnl Note also adjust exclude_expsyms for C++ above.
4643  extract_expsyms_cmds=
4644
4645  case $host_os in
4646  cygwin* | mingw* | pw32* | cegcc*)
4647    # FIXME: the MSVC++ port hasn't been tested in a loooong time
4648    # When not using gcc, we currently assume that we are using
4649    # Microsoft Visual C++.
4650    if test "$GCC" != yes; then
4651      with_gnu_ld=no
4652    fi
4653    ;;
4654  interix*)
4655    # we just hope/assume this is gcc and not c89 (= MSVC++)
4656    with_gnu_ld=yes
4657    ;;
4658  openbsd*)
4659    with_gnu_ld=no
4660    ;;
4661  esac
4662
4663  _LT_TAGVAR(ld_shlibs, $1)=yes
4664
4665  # On some targets, GNU ld is compatible enough with the native linker
4666  # that we're better off using the native interface for both.
4667  lt_use_gnu_ld_interface=no
4668  if test "$with_gnu_ld" = yes; then
4669    case $host_os in
4670      aix*)
4671	# The AIX port of GNU ld has always aspired to compatibility
4672	# with the native linker.  However, as the warning in the GNU ld
4673	# block says, versions before 2.19.5* couldn't really create working
4674	# shared libraries, regardless of the interface used.
4675	case `$LD -v 2>&1` in
4676	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
4677	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
4678	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
4679	  *)
4680	    lt_use_gnu_ld_interface=yes
4681	    ;;
4682	esac
4683	;;
4684      *)
4685	lt_use_gnu_ld_interface=yes
4686	;;
4687    esac
4688  fi
4689
4690  if test "$lt_use_gnu_ld_interface" = yes; then
4691    # If archive_cmds runs LD, not CC, wlarc should be empty
4692    wlarc='${wl}'
4693
4694    # Set some defaults for GNU ld with shared library support. These
4695    # are reset later if shared libraries are not supported. Putting them
4696    # here allows them to be overridden if necessary.
4697    runpath_var=LD_RUN_PATH
4698    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4699    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4700    # ancient GNU ld didn't support --whole-archive et. al.
4701    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4702      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4703    else
4704      _LT_TAGVAR(whole_archive_flag_spec, $1)=
4705    fi
4706    supports_anon_versioning=no
4707    case `$LD -v 2>&1` in
4708      *GNU\ gold*) supports_anon_versioning=yes ;;
4709      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4710      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4711      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4712      *\ 2.11.*) ;; # other 2.11 versions
4713      *) supports_anon_versioning=yes ;;
4714    esac
4715
4716    # See if GNU ld supports shared libraries.
4717    case $host_os in
4718    aix[[3-9]]*)
4719      # On AIX/PPC, the GNU linker is very broken
4720      if test "$host_cpu" != ia64; then
4721	_LT_TAGVAR(ld_shlibs, $1)=no
4722	cat <<_LT_EOF 1>&2
4723
4724*** Warning: the GNU linker, at least up to release 2.19, is reported
4725*** to be unable to reliably create shared libraries on AIX.
4726*** Therefore, libtool is disabling shared libraries support.  If you
4727*** really care for shared libraries, you may want to install binutils
4728*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
4729*** You will then need to restart the configuration process.
4730
4731_LT_EOF
4732      fi
4733      ;;
4734
4735    amigaos*)
4736      case $host_cpu in
4737      powerpc)
4738            # see comment about AmigaOS4 .so support
4739            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4740            _LT_TAGVAR(archive_expsym_cmds, $1)=''
4741        ;;
4742      m68k)
4743            _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)'
4744            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4745            _LT_TAGVAR(hardcode_minus_L, $1)=yes
4746        ;;
4747      esac
4748      ;;
4749
4750    beos*)
4751      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4752	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4753	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4754	# support --undefined.  This deserves some investigation.  FIXME
4755	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4756      else
4757	_LT_TAGVAR(ld_shlibs, $1)=no
4758      fi
4759      ;;
4760
4761    cygwin* | mingw* | pw32* | cegcc*)
4762      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4763      # as there is no search path for DLLs.
4764      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4765      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
4766      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4767      _LT_TAGVAR(always_export_symbols, $1)=no
4768      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4769      _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'
4770      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4771
4772      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4773        _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'
4774	# If the export-symbols file already is a .def file (1st line
4775	# is EXPORTS), use it as is; otherwise, prepend...
4776	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4777	  cp $export_symbols $output_objdir/$soname.def;
4778	else
4779	  echo EXPORTS > $output_objdir/$soname.def;
4780	  cat $export_symbols >> $output_objdir/$soname.def;
4781	fi~
4782	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4783      else
4784	_LT_TAGVAR(ld_shlibs, $1)=no
4785      fi
4786      ;;
4787
4788    haiku*)
4789      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4790      _LT_TAGVAR(link_all_deplibs, $1)=yes
4791      ;;
4792
4793    interix[[3-9]]*)
4794      _LT_TAGVAR(hardcode_direct, $1)=no
4795      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4796      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4797      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4798      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4799      # Instead, shared libraries are loaded at an image base (0x10000000 by
4800      # default) and relocated if they conflict, which is a slow very memory
4801      # consuming and fragmenting process.  To avoid this, we pick a random,
4802      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4803      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
4804      _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'
4805      _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'
4806      ;;
4807
4808    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
4809      tmp_diet=no
4810      if test "$host_os" = linux-dietlibc; then
4811	case $cc_basename in
4812	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
4813	esac
4814      fi
4815      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4816	 && test "$tmp_diet" = no
4817      then
4818	tmp_addflag=' $pic_flag'
4819	tmp_sharedflag='-shared'
4820	case $cc_basename,$host_cpu in
4821        pgcc*)				# Portland Group C compiler
4822	  _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'
4823	  tmp_addflag=' $pic_flag'
4824	  ;;
4825	pgf77* | pgf90* | pgf95* | pgfortran*)
4826					# Portland Group f77 and f90 compilers
4827	  _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'
4828	  tmp_addflag=' $pic_flag -Mnomain' ;;
4829	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
4830	  tmp_addflag=' -i_dynamic' ;;
4831	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
4832	  tmp_addflag=' -i_dynamic -nofor_main' ;;
4833	ifc* | ifort*)			# Intel Fortran compiler
4834	  tmp_addflag=' -nofor_main' ;;
4835	lf95*)				# Lahey Fortran 8.1
4836	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
4837	  tmp_sharedflag='--shared' ;;
4838	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
4839	  tmp_sharedflag='-qmkshrobj'
4840	  tmp_addflag= ;;
4841	nvcc*)	# Cuda Compiler Driver 2.2
4842	  _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'
4843	  _LT_TAGVAR(compiler_needs_object, $1)=yes
4844	  ;;
4845	esac
4846	case `$CC -V 2>&1 | sed 5q` in
4847	*Sun\ C*)			# Sun C 5.9
4848	  _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'
4849	  _LT_TAGVAR(compiler_needs_object, $1)=yes
4850	  tmp_sharedflag='-G' ;;
4851	*Sun\ F*)			# Sun Fortran 8.3
4852	  tmp_sharedflag='-G' ;;
4853	esac
4854	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4855
4856        if test "x$supports_anon_versioning" = xyes; then
4857          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4858	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4859	    echo "local: *; };" >> $output_objdir/$libname.ver~
4860	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4861        fi
4862
4863	case $cc_basename in
4864	xlf* | bgf* | bgxlf* | mpixlf*)
4865	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4866	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4867	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4868	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
4869	  if test "x$supports_anon_versioning" = xyes; then
4870	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4871	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4872	      echo "local: *; };" >> $output_objdir/$libname.ver~
4873	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4874	  fi
4875	  ;;
4876	esac
4877      else
4878        _LT_TAGVAR(ld_shlibs, $1)=no
4879      fi
4880      ;;
4881
4882    netbsd*)
4883      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4884	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4885	wlarc=
4886      else
4887	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4888	_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'
4889      fi
4890      ;;
4891
4892    solaris*)
4893      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4894	_LT_TAGVAR(ld_shlibs, $1)=no
4895	cat <<_LT_EOF 1>&2
4896
4897*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4898*** create shared libraries on Solaris systems.  Therefore, libtool
4899*** is disabling shared libraries support.  We urge you to upgrade GNU
4900*** binutils to release 2.9.1 or newer.  Another option is to modify
4901*** your PATH or compiler configuration so that the native linker is
4902*** used, and then restart.
4903
4904_LT_EOF
4905      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4906	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4907	_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'
4908      else
4909	_LT_TAGVAR(ld_shlibs, $1)=no
4910      fi
4911      ;;
4912
4913    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4914      case `$LD -v 2>&1` in
4915        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4916	_LT_TAGVAR(ld_shlibs, $1)=no
4917	cat <<_LT_EOF 1>&2
4918
4919*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4920*** reliably create shared libraries on SCO systems.  Therefore, libtool
4921*** is disabling shared libraries support.  We urge you to upgrade GNU
4922*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
4923*** your PATH or compiler configuration so that the native linker is
4924*** used, and then restart.
4925
4926_LT_EOF
4927	;;
4928	*)
4929	  # For security reasons, it is highly recommended that you always
4930	  # use absolute paths for naming shared libraries, and exclude the
4931	  # DT_RUNPATH tag from executables and libraries.  But doing so
4932	  # requires that you compile everything twice, which is a pain.
4933	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4934	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4935	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4936	    _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'
4937	  else
4938	    _LT_TAGVAR(ld_shlibs, $1)=no
4939	  fi
4940	;;
4941      esac
4942      ;;
4943
4944    sunos4*)
4945      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4946      wlarc=
4947      _LT_TAGVAR(hardcode_direct, $1)=yes
4948      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4949      ;;
4950
4951    *)
4952      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4953	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4954	_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'
4955      else
4956	_LT_TAGVAR(ld_shlibs, $1)=no
4957      fi
4958      ;;
4959    esac
4960
4961    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
4962      runpath_var=
4963      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4964      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4965      _LT_TAGVAR(whole_archive_flag_spec, $1)=
4966    fi
4967  else
4968    # PORTME fill in a description of your system's linker (not GNU ld)
4969    case $host_os in
4970    aix3*)
4971      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4972      _LT_TAGVAR(always_export_symbols, $1)=yes
4973      _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'
4974      # Note: this linker hardcodes the directories in LIBPATH if there
4975      # are no directories specified by -L.
4976      _LT_TAGVAR(hardcode_minus_L, $1)=yes
4977      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
4978	# Neither direct hardcoding nor static linking is supported with a
4979	# broken collect2.
4980	_LT_TAGVAR(hardcode_direct, $1)=unsupported
4981      fi
4982      ;;
4983
4984    aix[[4-9]]*)
4985      if test "$host_cpu" = ia64; then
4986	# On IA64, the linker does run time linking by default, so we don't
4987	# have to do anything special.
4988	aix_use_runtimelinking=no
4989	exp_sym_flag='-Bexport'
4990	no_entry_flag=""
4991      else
4992	# If we're using GNU nm, then we don't want the "-C" option.
4993	# -C means demangle to AIX nm, but means don't demangle with GNU nm
4994	# Also, AIX nm treats weak defined symbols like other global
4995	# defined symbols, whereas GNU nm marks them as "W".
4996	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4997	  _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'
4998	else
4999	  _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'
5000	fi
5001	aix_use_runtimelinking=no
5002
5003	# Test if we are trying to use run time linking or normal
5004	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
5005	# need to do runtime linking.
5006	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5007	  for ld_flag in $LDFLAGS; do
5008	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
5009	    aix_use_runtimelinking=yes
5010	    break
5011	  fi
5012	  done
5013	  ;;
5014	esac
5015
5016	exp_sym_flag='-bexport'
5017	no_entry_flag='-bnoentry'
5018      fi
5019
5020      # When large executables or shared objects are built, AIX ld can
5021      # have problems creating the table of contents.  If linking a library
5022      # or program results in "error TOC overflow" add -mminimal-toc to
5023      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
5024      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5025
5026      _LT_TAGVAR(archive_cmds, $1)=''
5027      _LT_TAGVAR(hardcode_direct, $1)=yes
5028      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5029      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5030      _LT_TAGVAR(link_all_deplibs, $1)=yes
5031      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5032
5033      if test "$GCC" = yes; then
5034	case $host_os in aix4.[[012]]|aix4.[[012]].*)
5035	# We only want to do this on AIX 4.2 and lower, the check
5036	# below for broken collect2 doesn't work under 4.3+
5037	  collect2name=`${CC} -print-prog-name=collect2`
5038	  if test -f "$collect2name" &&
5039	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5040	  then
5041	  # We have reworked collect2
5042	  :
5043	  else
5044	  # We have old collect2
5045	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
5046	  # It fails to find uninstalled libraries when the uninstalled
5047	  # path is not listed in the libpath.  Setting hardcode_minus_L
5048	  # to unsupported forces relinking
5049	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
5050	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5051	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
5052	  fi
5053	  ;;
5054	esac
5055	shared_flag='-shared'
5056	if test "$aix_use_runtimelinking" = yes; then
5057	  shared_flag="$shared_flag "'${wl}-G'
5058	fi
5059      else
5060	# not using gcc
5061	if test "$host_cpu" = ia64; then
5062	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5063	# chokes on -Wl,-G. The following line is correct:
5064	  shared_flag='-G'
5065	else
5066	  if test "$aix_use_runtimelinking" = yes; then
5067	    shared_flag='${wl}-G'
5068	  else
5069	    shared_flag='${wl}-bM:SRE'
5070	  fi
5071	fi
5072      fi
5073
5074      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
5075      # It seems that -bexpall does not export symbols beginning with
5076      # underscore (_), so it is better to generate a list of symbols to export.
5077      _LT_TAGVAR(always_export_symbols, $1)=yes
5078      if test "$aix_use_runtimelinking" = yes; then
5079	# Warning - without using the other runtime loading flags (-brtl),
5080	# -berok will link without error, but may produce a broken library.
5081	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5082        # Determine the default libpath from the value encoded in an
5083        # empty executable.
5084        _LT_SYS_MODULE_PATH_AIX([$1])
5085        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5086        _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"
5087      else
5088	if test "$host_cpu" = ia64; then
5089	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5090	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5091	  _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"
5092	else
5093	 # Determine the default libpath from the value encoded in an
5094	 # empty executable.
5095	 _LT_SYS_MODULE_PATH_AIX([$1])
5096	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5097	  # Warning - without using the other run time loading flags,
5098	  # -berok will link without error, but may produce a broken library.
5099	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5100	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5101	  if test "$with_gnu_ld" = yes; then
5102	    # We only use this code for GNU lds that support --whole-archive.
5103	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5104	  else
5105	    # Exported symbols can be pulled into shared objects from archives
5106	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5107	  fi
5108	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5109	  # This is similar to how AIX traditionally builds its shared libraries.
5110	  _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'
5111	fi
5112      fi
5113      ;;
5114
5115    amigaos*)
5116      case $host_cpu in
5117      powerpc)
5118            # see comment about AmigaOS4 .so support
5119            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5120            _LT_TAGVAR(archive_expsym_cmds, $1)=''
5121        ;;
5122      m68k)
5123            _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)'
5124            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5125            _LT_TAGVAR(hardcode_minus_L, $1)=yes
5126        ;;
5127      esac
5128      ;;
5129
5130    bsdi[[45]]*)
5131      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5132      ;;
5133
5134    cygwin* | mingw* | pw32* | cegcc*)
5135      # When not using gcc, we currently assume that we are using
5136      # Microsoft Visual C++.
5137      # hardcode_libdir_flag_spec is actually meaningless, as there is
5138      # no search path for DLLs.
5139      case $cc_basename in
5140      cl*)
5141	# Native MSVC
5142	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5143	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5144	_LT_TAGVAR(always_export_symbols, $1)=yes
5145	_LT_TAGVAR(file_list_spec, $1)='@'
5146	# Tell ltmain to make .lib files, not .a files.
5147	libext=lib
5148	# Tell ltmain to make .dll files, not .so files.
5149	shrext_cmds=".dll"
5150	# FIXME: Setting linknames here is a bad hack.
5151	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
5152	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5153	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
5154	  else
5155	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
5156	  fi~
5157	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
5158	  linknames='
5159	# The linker will not automatically build a static lib if we build a DLL.
5160	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5161	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5162	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5163	_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'
5164	# Don't use ranlib
5165	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5166	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5167	  lt_tool_outputfile="@TOOL_OUTPUT@"~
5168	  case $lt_outputfile in
5169	    *.exe|*.EXE) ;;
5170	    *)
5171	      lt_outputfile="$lt_outputfile.exe"
5172	      lt_tool_outputfile="$lt_tool_outputfile.exe"
5173	      ;;
5174	  esac~
5175	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
5176	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5177	    $RM "$lt_outputfile.manifest";
5178	  fi'
5179	;;
5180      *)
5181	# Assume MSVC wrapper
5182	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5183	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5184	# Tell ltmain to make .lib files, not .a files.
5185	libext=lib
5186	# Tell ltmain to make .dll files, not .so files.
5187	shrext_cmds=".dll"
5188	# FIXME: Setting linknames here is a bad hack.
5189	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5190	# The linker will automatically build a .lib file if we build a DLL.
5191	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5192	# FIXME: Should let the user specify the lib program.
5193	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5194	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5195	;;
5196      esac
5197      ;;
5198
5199    darwin* | rhapsody*)
5200      _LT_DARWIN_LINKER_FEATURES($1)
5201      ;;
5202
5203    dgux*)
5204      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5205      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5206      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5207      ;;
5208
5209    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5210    # support.  Future versions do this automatically, but an explicit c++rt0.o
5211    # does not break anything, and helps significantly (at the cost of a little
5212    # extra space).
5213    freebsd2.2*)
5214      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5215      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5216      _LT_TAGVAR(hardcode_direct, $1)=yes
5217      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5218      ;;
5219
5220    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5221    freebsd2.*)
5222      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5223      _LT_TAGVAR(hardcode_direct, $1)=yes
5224      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5225      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5226      ;;
5227
5228    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5229    freebsd* | dragonfly*)
5230      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5231      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5232      _LT_TAGVAR(hardcode_direct, $1)=yes
5233      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5234      ;;
5235
5236    hpux9*)
5237      if test "$GCC" = yes; then
5238	_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'
5239      else
5240	_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'
5241      fi
5242      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5243      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5244      _LT_TAGVAR(hardcode_direct, $1)=yes
5245
5246      # hardcode_minus_L: Not really in the search PATH,
5247      # but as the default location of the library.
5248      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5249      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5250      ;;
5251
5252    hpux10*)
5253      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
5254	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5255      else
5256	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5257      fi
5258      if test "$with_gnu_ld" = no; then
5259	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5260	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
5261	_LT_TAGVAR(hardcode_direct, $1)=yes
5262	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5263	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5264	# hardcode_minus_L: Not really in the search PATH,
5265	# but as the default location of the library.
5266	_LT_TAGVAR(hardcode_minus_L, $1)=yes
5267      fi
5268      ;;
5269
5270    hpux11*)
5271      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
5272	case $host_cpu in
5273	hppa*64*)
5274	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5275	  ;;
5276	ia64*)
5277	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5278	  ;;
5279	*)
5280	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5281	  ;;
5282	esac
5283      else
5284	case $host_cpu in
5285	hppa*64*)
5286	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5287	  ;;
5288	ia64*)
5289	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5290	  ;;
5291	*)
5292	m4_if($1, [], [
5293	  # Older versions of the 11.00 compiler do not understand -b yet
5294	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5295	  _LT_LINKER_OPTION([if $CC understands -b],
5296	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5297	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
5298	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5299	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
5300	  ;;
5301	esac
5302      fi
5303      if test "$with_gnu_ld" = no; then
5304	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5305	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
5306
5307	case $host_cpu in
5308	hppa*64*|ia64*)
5309	  _LT_TAGVAR(hardcode_direct, $1)=no
5310	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5311	  ;;
5312	*)
5313	  _LT_TAGVAR(hardcode_direct, $1)=yes
5314	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5315	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5316
5317	  # hardcode_minus_L: Not really in the search PATH,
5318	  # but as the default location of the library.
5319	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
5320	  ;;
5321	esac
5322      fi
5323      ;;
5324
5325    irix5* | irix6* | nonstopux*)
5326      if test "$GCC" = yes; then
5327	_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'
5328	# Try to use the -exported_symbol ld option, if it does not
5329	# work, assume that -exports_file does not work either and
5330	# implicitly export all symbols.
5331	# This should be the same for all languages, so no per-tag cache variable.
5332	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5333	  [lt_cv_irix_exported_symbol],
5334	  [save_LDFLAGS="$LDFLAGS"
5335	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
5336	   AC_LINK_IFELSE(
5337	     [AC_LANG_SOURCE(
5338	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5339			      [C++], [[int foo (void) { return 0; }]],
5340			      [Fortran 77], [[
5341      subroutine foo
5342      end]],
5343			      [Fortran], [[
5344      subroutine foo
5345      end]])])],
5346	      [lt_cv_irix_exported_symbol=yes],
5347	      [lt_cv_irix_exported_symbol=no])
5348           LDFLAGS="$save_LDFLAGS"])
5349	if test "$lt_cv_irix_exported_symbol" = yes; then
5350          _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'
5351	fi
5352      else
5353	_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'
5354	_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'
5355      fi
5356      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5357      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5358      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5359      _LT_TAGVAR(inherit_rpath, $1)=yes
5360      _LT_TAGVAR(link_all_deplibs, $1)=yes
5361      ;;
5362
5363    netbsd*)
5364      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5365	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
5366      else
5367	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
5368      fi
5369      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5370      _LT_TAGVAR(hardcode_direct, $1)=yes
5371      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5372      ;;
5373
5374    newsos6)
5375      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5376      _LT_TAGVAR(hardcode_direct, $1)=yes
5377      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5378      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5379      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5380      ;;
5381
5382    *nto* | *qnx*)
5383      ;;
5384
5385    openbsd*)
5386      if test -f /usr/libexec/ld.so; then
5387	_LT_TAGVAR(hardcode_direct, $1)=yes
5388	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5389	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5390	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
5391	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5392	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
5393	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5394	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5395	else
5396	  case $host_os in
5397	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
5398	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5399	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5400	     ;;
5401	   *)
5402	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5403	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5404	     ;;
5405	  esac
5406	fi
5407      else
5408	_LT_TAGVAR(ld_shlibs, $1)=no
5409      fi
5410      ;;
5411
5412    os2*)
5413      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5414      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5415      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5416      _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'
5417      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
5418      ;;
5419
5420    osf3*)
5421      if test "$GCC" = yes; then
5422	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5423	_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'
5424      else
5425	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5426	_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'
5427      fi
5428      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5429      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5430      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5431      ;;
5432
5433    osf4* | osf5*)	# as osf3* with the addition of -msym flag
5434      if test "$GCC" = yes; then
5435	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5436	_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'
5437	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5438      else
5439	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5440	_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'
5441	_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~
5442	$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'
5443
5444	# Both c and cxx compiler support -rpath directly
5445	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5446      fi
5447      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5448      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5449      ;;
5450
5451    solaris*)
5452      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
5453      if test "$GCC" = yes; then
5454	wlarc='${wl}'
5455	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5456	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5457	  $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'
5458      else
5459	case `$CC -V 2>&1` in
5460	*"Compilers 5.0"*)
5461	  wlarc=''
5462	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
5463	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5464	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5465	  ;;
5466	*)
5467	  wlarc='${wl}'
5468	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5469	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5470	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5471	  ;;
5472	esac
5473      fi
5474      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5475      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5476      case $host_os in
5477      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
5478      *)
5479	# The compiler driver will combine and reorder linker options,
5480	# but understands `-z linker_flag'.  GCC discards it without `$wl',
5481	# but is careful enough not to reorder.
5482	# Supported since Solaris 2.6 (maybe 2.5.1?)
5483	if test "$GCC" = yes; then
5484	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
5485	else
5486	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5487	fi
5488	;;
5489      esac
5490      _LT_TAGVAR(link_all_deplibs, $1)=yes
5491      ;;
5492
5493    sunos4*)
5494      if test "x$host_vendor" = xsequent; then
5495	# Use $CC to link under sequent, because it throws in some extra .o
5496	# files that make .init and .fini sections work.
5497	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5498      else
5499	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5500      fi
5501      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5502      _LT_TAGVAR(hardcode_direct, $1)=yes
5503      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5504      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5505      ;;
5506
5507    sysv4)
5508      case $host_vendor in
5509	sni)
5510	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5511	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5512	;;
5513	siemens)
5514	  ## LD is ld it makes a PLAMLIB
5515	  ## CC just makes a GrossModule.
5516	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5517	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5518	  _LT_TAGVAR(hardcode_direct, $1)=no
5519        ;;
5520	motorola)
5521	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5522	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5523	;;
5524      esac
5525      runpath_var='LD_RUN_PATH'
5526      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5527      ;;
5528
5529    sysv4.3*)
5530      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5531      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5532      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5533      ;;
5534
5535    sysv4*MP*)
5536      if test -d /usr/nec; then
5537	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5538	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5539	runpath_var=LD_RUN_PATH
5540	hardcode_runpath_var=yes
5541	_LT_TAGVAR(ld_shlibs, $1)=yes
5542      fi
5543      ;;
5544
5545    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5546      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5547      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5548      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5549      runpath_var='LD_RUN_PATH'
5550
5551      if test "$GCC" = yes; then
5552	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5553	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5554      else
5555	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5556	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5557      fi
5558      ;;
5559
5560    sysv5* | sco3.2v5* | sco5v6*)
5561      # Note: We can NOT use -z defs as we might desire, because we do not
5562      # link with -lc, and that would cause any symbols used from libc to
5563      # always be unresolved, which means just about no library would
5564      # ever link correctly.  If we're not using GNU ld we use -z text
5565      # though, which does catch some bad symbols but isn't as heavy-handed
5566      # as -z defs.
5567      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5568      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5569      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5570      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5571      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5572      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5573      _LT_TAGVAR(link_all_deplibs, $1)=yes
5574      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
5575      runpath_var='LD_RUN_PATH'
5576
5577      if test "$GCC" = yes; then
5578	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5579	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5580      else
5581	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5582	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5583      fi
5584      ;;
5585
5586    uts4*)
5587      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5588      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5589      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5590      ;;
5591
5592    *)
5593      _LT_TAGVAR(ld_shlibs, $1)=no
5594      ;;
5595    esac
5596
5597    if test x$host_vendor = xsni; then
5598      case $host in
5599      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5600	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5601	;;
5602      esac
5603    fi
5604  fi
5605])
5606AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5607test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5608
5609_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5610
5611_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5612_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5613_LT_DECL([], [extract_expsyms_cmds], [2],
5614    [The commands to extract the exported symbol list from a shared archive])
5615
5616#
5617# Do we need to explicitly link libc?
5618#
5619case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
5620x|xyes)
5621  # Assume -lc should be added
5622  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5623
5624  if test "$enable_shared" = yes && test "$GCC" = yes; then
5625    case $_LT_TAGVAR(archive_cmds, $1) in
5626    *'~'*)
5627      # FIXME: we may have to deal with multi-command sequences.
5628      ;;
5629    '$CC '*)
5630      # Test whether the compiler implicitly links with -lc since on some
5631      # systems, -lgcc has to come before -lc. If gcc already passes -lc
5632      # to ld, don't add -lc before -lgcc.
5633      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
5634	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
5635	[$RM conftest*
5636	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5637
5638	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5639	  soname=conftest
5640	  lib=conftest
5641	  libobjs=conftest.$ac_objext
5642	  deplibs=
5643	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5644	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5645	  compiler_flags=-v
5646	  linker_flags=-v
5647	  verstring=
5648	  output_objdir=.
5649	  libname=conftest
5650	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5651	  _LT_TAGVAR(allow_undefined_flag, $1)=
5652	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5653	  then
5654	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5655	  else
5656	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5657	  fi
5658	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5659	else
5660	  cat conftest.err 1>&5
5661	fi
5662	$RM conftest*
5663	])
5664      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
5665      ;;
5666    esac
5667  fi
5668  ;;
5669esac
5670
5671_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5672    [Whether or not to add -lc for building shared libraries])
5673_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5674    [enable_shared_with_static_runtimes], [0],
5675    [Whether or not to disallow shared libs when runtime libs are static])
5676_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5677    [Compiler flag to allow reflexive dlopens])
5678_LT_TAGDECL([], [whole_archive_flag_spec], [1],
5679    [Compiler flag to generate shared objects directly from archives])
5680_LT_TAGDECL([], [compiler_needs_object], [1],
5681    [Whether the compiler copes with passing no objects directly])
5682_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5683    [Create an old-style archive from a shared archive])
5684_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5685    [Create a temporary old-style archive to link instead of a shared archive])
5686_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5687_LT_TAGDECL([], [archive_expsym_cmds], [2])
5688_LT_TAGDECL([], [module_cmds], [2],
5689    [Commands used to build a loadable module if different from building
5690    a shared archive.])
5691_LT_TAGDECL([], [module_expsym_cmds], [2])
5692_LT_TAGDECL([], [with_gnu_ld], [1],
5693    [Whether we are building with GNU ld or not])
5694_LT_TAGDECL([], [allow_undefined_flag], [1],
5695    [Flag that allows shared libraries with undefined symbols to be built])
5696_LT_TAGDECL([], [no_undefined_flag], [1],
5697    [Flag that enforces no undefined symbols])
5698_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5699    [Flag to hardcode $libdir into a binary during linking.
5700    This must work even if $libdir does not exist])
5701_LT_TAGDECL([], [hardcode_libdir_separator], [1],
5702    [Whether we need a single "-rpath" flag with a separated argument])
5703_LT_TAGDECL([], [hardcode_direct], [0],
5704    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5705    DIR into the resulting binary])
5706_LT_TAGDECL([], [hardcode_direct_absolute], [0],
5707    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5708    DIR into the resulting binary and the resulting library dependency is
5709    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5710    library is relocated])
5711_LT_TAGDECL([], [hardcode_minus_L], [0],
5712    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5713    into the resulting binary])
5714_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5715    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5716    into the resulting binary])
5717_LT_TAGDECL([], [hardcode_automatic], [0],
5718    [Set to "yes" if building a shared library automatically hardcodes DIR
5719    into the library and all subsequent libraries and executables linked
5720    against it])
5721_LT_TAGDECL([], [inherit_rpath], [0],
5722    [Set to yes if linker adds runtime paths of dependent libraries
5723    to runtime path list])
5724_LT_TAGDECL([], [link_all_deplibs], [0],
5725    [Whether libtool must link a program against all its dependency libraries])
5726_LT_TAGDECL([], [always_export_symbols], [0],
5727    [Set to "yes" if exported symbols are required])
5728_LT_TAGDECL([], [export_symbols_cmds], [2],
5729    [The commands to list exported symbols])
5730_LT_TAGDECL([], [exclude_expsyms], [1],
5731    [Symbols that should not be listed in the preloaded symbols])
5732_LT_TAGDECL([], [include_expsyms], [1],
5733    [Symbols that must always be exported])
5734_LT_TAGDECL([], [prelink_cmds], [2],
5735    [Commands necessary for linking programs (against libraries) with templates])
5736_LT_TAGDECL([], [postlink_cmds], [2],
5737    [Commands necessary for finishing linking programs])
5738_LT_TAGDECL([], [file_list_spec], [1],
5739    [Specify filename containing input files])
5740dnl FIXME: Not yet implemented
5741dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5742dnl    [Compiler flag to generate thread safe objects])
5743])# _LT_LINKER_SHLIBS
5744
5745
5746# _LT_LANG_C_CONFIG([TAG])
5747# ------------------------
5748# Ensure that the configuration variables for a C compiler are suitably
5749# defined.  These variables are subsequently used by _LT_CONFIG to write
5750# the compiler configuration to `libtool'.
5751m4_defun([_LT_LANG_C_CONFIG],
5752[m4_require([_LT_DECL_EGREP])dnl
5753lt_save_CC="$CC"
5754AC_LANG_PUSH(C)
5755
5756# Source file extension for C test sources.
5757ac_ext=c
5758
5759# Object file extension for compiled C test sources.
5760objext=o
5761_LT_TAGVAR(objext, $1)=$objext
5762
5763# Code to be used in simple compile tests
5764lt_simple_compile_test_code="int some_variable = 0;"
5765
5766# Code to be used in simple link tests
5767lt_simple_link_test_code='int main(){return(0);}'
5768
5769_LT_TAG_COMPILER
5770# Save the default compiler, since it gets overwritten when the other
5771# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5772compiler_DEFAULT=$CC
5773
5774# save warnings/boilerplate of simple test code
5775_LT_COMPILER_BOILERPLATE
5776_LT_LINKER_BOILERPLATE
5777
5778if test -n "$compiler"; then
5779  _LT_COMPILER_NO_RTTI($1)
5780  _LT_COMPILER_PIC($1)
5781  _LT_COMPILER_C_O($1)
5782  _LT_COMPILER_FILE_LOCKS($1)
5783  _LT_LINKER_SHLIBS($1)
5784  _LT_SYS_DYNAMIC_LINKER($1)
5785  _LT_LINKER_HARDCODE_LIBPATH($1)
5786  LT_SYS_DLOPEN_SELF
5787  _LT_CMD_STRIPLIB
5788
5789  # Report which library types will actually be built
5790  AC_MSG_CHECKING([if libtool supports shared libraries])
5791  AC_MSG_RESULT([$can_build_shared])
5792
5793  AC_MSG_CHECKING([whether to build shared libraries])
5794  test "$can_build_shared" = "no" && enable_shared=no
5795
5796  # On AIX, shared libraries and static libraries use the same namespace, and
5797  # are all built from PIC.
5798  case $host_os in
5799  aix3*)
5800    test "$enable_shared" = yes && enable_static=no
5801    if test -n "$RANLIB"; then
5802      archive_cmds="$archive_cmds~\$RANLIB \$lib"
5803      postinstall_cmds='$RANLIB $lib'
5804    fi
5805    ;;
5806
5807  aix[[4-9]]*)
5808    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5809      test "$enable_shared" = yes && enable_static=no
5810    fi
5811    ;;
5812  esac
5813  AC_MSG_RESULT([$enable_shared])
5814
5815  AC_MSG_CHECKING([whether to build static libraries])
5816  # Make sure either enable_shared or enable_static is yes.
5817  test "$enable_shared" = yes || enable_static=yes
5818  AC_MSG_RESULT([$enable_static])
5819
5820  _LT_CONFIG($1)
5821fi
5822AC_LANG_POP
5823CC="$lt_save_CC"
5824])# _LT_LANG_C_CONFIG
5825
5826
5827# _LT_LANG_CXX_CONFIG([TAG])
5828# --------------------------
5829# Ensure that the configuration variables for a C++ compiler are suitably
5830# defined.  These variables are subsequently used by _LT_CONFIG to write
5831# the compiler configuration to `libtool'.
5832m4_defun([_LT_LANG_CXX_CONFIG],
5833[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5834m4_require([_LT_DECL_EGREP])dnl
5835m4_require([_LT_PATH_MANIFEST_TOOL])dnl
5836if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5837    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5838    (test "X$CXX" != "Xg++"))) ; then
5839  AC_PROG_CXXCPP
5840else
5841  _lt_caught_CXX_error=yes
5842fi
5843
5844AC_LANG_PUSH(C++)
5845_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5846_LT_TAGVAR(allow_undefined_flag, $1)=
5847_LT_TAGVAR(always_export_symbols, $1)=no
5848_LT_TAGVAR(archive_expsym_cmds, $1)=
5849_LT_TAGVAR(compiler_needs_object, $1)=no
5850_LT_TAGVAR(export_dynamic_flag_spec, $1)=
5851_LT_TAGVAR(hardcode_direct, $1)=no
5852_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5853_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5854_LT_TAGVAR(hardcode_libdir_separator, $1)=
5855_LT_TAGVAR(hardcode_minus_L, $1)=no
5856_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5857_LT_TAGVAR(hardcode_automatic, $1)=no
5858_LT_TAGVAR(inherit_rpath, $1)=no
5859_LT_TAGVAR(module_cmds, $1)=
5860_LT_TAGVAR(module_expsym_cmds, $1)=
5861_LT_TAGVAR(link_all_deplibs, $1)=unknown
5862_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5863_LT_TAGVAR(reload_flag, $1)=$reload_flag
5864_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
5865_LT_TAGVAR(no_undefined_flag, $1)=
5866_LT_TAGVAR(whole_archive_flag_spec, $1)=
5867_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5868
5869# Source file extension for C++ test sources.
5870ac_ext=cpp
5871
5872# Object file extension for compiled C++ test sources.
5873objext=o
5874_LT_TAGVAR(objext, $1)=$objext
5875
5876# No sense in running all these tests if we already determined that
5877# the CXX compiler isn't working.  Some variables (like enable_shared)
5878# are currently assumed to apply to all compilers on this platform,
5879# and will be corrupted by setting them based on a non-working compiler.
5880if test "$_lt_caught_CXX_error" != yes; then
5881  # Code to be used in simple compile tests
5882  lt_simple_compile_test_code="int some_variable = 0;"
5883
5884  # Code to be used in simple link tests
5885  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5886
5887  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5888  _LT_TAG_COMPILER
5889
5890  # save warnings/boilerplate of simple test code
5891  _LT_COMPILER_BOILERPLATE
5892  _LT_LINKER_BOILERPLATE
5893
5894  # Allow CC to be a program name with arguments.
5895  lt_save_CC=$CC
5896  lt_save_CFLAGS=$CFLAGS
5897  lt_save_LD=$LD
5898  lt_save_GCC=$GCC
5899  GCC=$GXX
5900  lt_save_with_gnu_ld=$with_gnu_ld
5901  lt_save_path_LD=$lt_cv_path_LD
5902  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5903    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5904  else
5905    $as_unset lt_cv_prog_gnu_ld
5906  fi
5907  if test -n "${lt_cv_path_LDCXX+set}"; then
5908    lt_cv_path_LD=$lt_cv_path_LDCXX
5909  else
5910    $as_unset lt_cv_path_LD
5911  fi
5912  test -z "${LDCXX+set}" || LD=$LDCXX
5913  CC=${CXX-"c++"}
5914  CFLAGS=$CXXFLAGS
5915  compiler=$CC
5916  _LT_TAGVAR(compiler, $1)=$CC
5917  _LT_CC_BASENAME([$compiler])
5918
5919  if test -n "$compiler"; then
5920    # We don't want -fno-exception when compiling C++ code, so set the
5921    # no_builtin_flag separately
5922    if test "$GXX" = yes; then
5923      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5924    else
5925      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5926    fi
5927
5928    if test "$GXX" = yes; then
5929      # Set up default GNU C++ configuration
5930
5931      LT_PATH_LD
5932
5933      # Check if GNU C++ uses GNU ld as the underlying linker, since the
5934      # archiving commands below assume that GNU ld is being used.
5935      if test "$with_gnu_ld" = yes; then
5936        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5937        _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'
5938
5939        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5940        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5941
5942        # If archive_cmds runs LD, not CC, wlarc should be empty
5943        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5944        #     investigate it a little bit more. (MM)
5945        wlarc='${wl}'
5946
5947        # ancient GNU ld didn't support --whole-archive et. al.
5948        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5949	  $GREP 'no-whole-archive' > /dev/null; then
5950          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5951        else
5952          _LT_TAGVAR(whole_archive_flag_spec, $1)=
5953        fi
5954      else
5955        with_gnu_ld=no
5956        wlarc=
5957
5958        # A generic and very simple default shared library creation
5959        # command for GNU C++ for the case where it uses the native
5960        # linker, instead of GNU ld.  If possible, this setting should
5961        # overridden to take advantage of the native linker features on
5962        # the platform it is being used on.
5963        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5964      fi
5965
5966      # Commands to make compiler produce verbose output that lists
5967      # what "hidden" libraries, object files and flags are used when
5968      # linking a shared library.
5969      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
5970
5971    else
5972      GXX=no
5973      with_gnu_ld=no
5974      wlarc=
5975    fi
5976
5977    # PORTME: fill in a description of your system's C++ link characteristics
5978    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5979    _LT_TAGVAR(ld_shlibs, $1)=yes
5980    case $host_os in
5981      aix3*)
5982        # FIXME: insert proper C++ library support
5983        _LT_TAGVAR(ld_shlibs, $1)=no
5984        ;;
5985      aix[[4-9]]*)
5986        if test "$host_cpu" = ia64; then
5987          # On IA64, the linker does run time linking by default, so we don't
5988          # have to do anything special.
5989          aix_use_runtimelinking=no
5990          exp_sym_flag='-Bexport'
5991          no_entry_flag=""
5992        else
5993          aix_use_runtimelinking=no
5994
5995          # Test if we are trying to use run time linking or normal
5996          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5997          # need to do runtime linking.
5998          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5999	    for ld_flag in $LDFLAGS; do
6000	      case $ld_flag in
6001	      *-brtl*)
6002	        aix_use_runtimelinking=yes
6003	        break
6004	        ;;
6005	      esac
6006	    done
6007	    ;;
6008          esac
6009
6010          exp_sym_flag='-bexport'
6011          no_entry_flag='-bnoentry'
6012        fi
6013
6014        # When large executables or shared objects are built, AIX ld can
6015        # have problems creating the table of contents.  If linking a library
6016        # or program results in "error TOC overflow" add -mminimal-toc to
6017        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
6018        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6019
6020        _LT_TAGVAR(archive_cmds, $1)=''
6021        _LT_TAGVAR(hardcode_direct, $1)=yes
6022        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6023        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6024        _LT_TAGVAR(link_all_deplibs, $1)=yes
6025        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
6026
6027        if test "$GXX" = yes; then
6028          case $host_os in aix4.[[012]]|aix4.[[012]].*)
6029          # We only want to do this on AIX 4.2 and lower, the check
6030          # below for broken collect2 doesn't work under 4.3+
6031	  collect2name=`${CC} -print-prog-name=collect2`
6032	  if test -f "$collect2name" &&
6033	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6034	  then
6035	    # We have reworked collect2
6036	    :
6037	  else
6038	    # We have old collect2
6039	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
6040	    # It fails to find uninstalled libraries when the uninstalled
6041	    # path is not listed in the libpath.  Setting hardcode_minus_L
6042	    # to unsupported forces relinking
6043	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
6044	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6045	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
6046	  fi
6047          esac
6048          shared_flag='-shared'
6049	  if test "$aix_use_runtimelinking" = yes; then
6050	    shared_flag="$shared_flag "'${wl}-G'
6051	  fi
6052        else
6053          # not using gcc
6054          if test "$host_cpu" = ia64; then
6055	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6056	  # chokes on -Wl,-G. The following line is correct:
6057	  shared_flag='-G'
6058          else
6059	    if test "$aix_use_runtimelinking" = yes; then
6060	      shared_flag='${wl}-G'
6061	    else
6062	      shared_flag='${wl}-bM:SRE'
6063	    fi
6064          fi
6065        fi
6066
6067        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
6068        # It seems that -bexpall does not export symbols beginning with
6069        # underscore (_), so it is better to generate a list of symbols to
6070	# export.
6071        _LT_TAGVAR(always_export_symbols, $1)=yes
6072        if test "$aix_use_runtimelinking" = yes; then
6073          # Warning - without using the other runtime loading flags (-brtl),
6074          # -berok will link without error, but may produce a broken library.
6075          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
6076          # Determine the default libpath from the value encoded in an empty
6077          # executable.
6078          _LT_SYS_MODULE_PATH_AIX([$1])
6079          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6080
6081          _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"
6082        else
6083          if test "$host_cpu" = ia64; then
6084	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
6085	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6086	    _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"
6087          else
6088	    # Determine the default libpath from the value encoded in an
6089	    # empty executable.
6090	    _LT_SYS_MODULE_PATH_AIX([$1])
6091	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6092	    # Warning - without using the other run time loading flags,
6093	    # -berok will link without error, but may produce a broken library.
6094	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
6095	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
6096	    if test "$with_gnu_ld" = yes; then
6097	      # We only use this code for GNU lds that support --whole-archive.
6098	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6099	    else
6100	      # Exported symbols can be pulled into shared objects from archives
6101	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6102	    fi
6103	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6104	    # This is similar to how AIX traditionally builds its shared
6105	    # libraries.
6106	    _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'
6107          fi
6108        fi
6109        ;;
6110
6111      beos*)
6112	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6113	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6114	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
6115	  # support --undefined.  This deserves some investigation.  FIXME
6116	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6117	else
6118	  _LT_TAGVAR(ld_shlibs, $1)=no
6119	fi
6120	;;
6121
6122      chorus*)
6123        case $cc_basename in
6124          *)
6125	  # FIXME: insert proper C++ library support
6126	  _LT_TAGVAR(ld_shlibs, $1)=no
6127	  ;;
6128        esac
6129        ;;
6130
6131      cygwin* | mingw* | pw32* | cegcc*)
6132	case $GXX,$cc_basename in
6133	,cl* | no,cl*)
6134	  # Native MSVC
6135	  # hardcode_libdir_flag_spec is actually meaningless, as there is
6136	  # no search path for DLLs.
6137	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6138	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6139	  _LT_TAGVAR(always_export_symbols, $1)=yes
6140	  _LT_TAGVAR(file_list_spec, $1)='@'
6141	  # Tell ltmain to make .lib files, not .a files.
6142	  libext=lib
6143	  # Tell ltmain to make .dll files, not .so files.
6144	  shrext_cmds=".dll"
6145	  # FIXME: Setting linknames here is a bad hack.
6146	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
6147	  _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6148	      $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
6149	    else
6150	      $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
6151	    fi~
6152	    $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
6153	    linknames='
6154	  # The linker will not automatically build a static lib if we build a DLL.
6155	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6156	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6157	  # Don't use ranlib
6158	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6159	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6160	    lt_tool_outputfile="@TOOL_OUTPUT@"~
6161	    case $lt_outputfile in
6162	      *.exe|*.EXE) ;;
6163	      *)
6164		lt_outputfile="$lt_outputfile.exe"
6165		lt_tool_outputfile="$lt_tool_outputfile.exe"
6166		;;
6167	    esac~
6168	    func_to_tool_file "$lt_outputfile"~
6169	    if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
6170	      $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6171	      $RM "$lt_outputfile.manifest";
6172	    fi'
6173	  ;;
6174	*)
6175	  # g++
6176	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6177	  # as there is no search path for DLLs.
6178	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6179	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
6180	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6181	  _LT_TAGVAR(always_export_symbols, $1)=no
6182	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6183
6184	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6185	    _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'
6186	    # If the export-symbols file already is a .def file (1st line
6187	    # is EXPORTS), use it as is; otherwise, prepend...
6188	    _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6189	      cp $export_symbols $output_objdir/$soname.def;
6190	    else
6191	      echo EXPORTS > $output_objdir/$soname.def;
6192	      cat $export_symbols >> $output_objdir/$soname.def;
6193	    fi~
6194	    $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'
6195	  else
6196	    _LT_TAGVAR(ld_shlibs, $1)=no
6197	  fi
6198	  ;;
6199	esac
6200	;;
6201      darwin* | rhapsody*)
6202        _LT_DARWIN_LINKER_FEATURES($1)
6203	;;
6204
6205      dgux*)
6206        case $cc_basename in
6207          ec++*)
6208	    # FIXME: insert proper C++ library support
6209	    _LT_TAGVAR(ld_shlibs, $1)=no
6210	    ;;
6211          ghcx*)
6212	    # Green Hills C++ Compiler
6213	    # FIXME: insert proper C++ library support
6214	    _LT_TAGVAR(ld_shlibs, $1)=no
6215	    ;;
6216          *)
6217	    # FIXME: insert proper C++ library support
6218	    _LT_TAGVAR(ld_shlibs, $1)=no
6219	    ;;
6220        esac
6221        ;;
6222
6223      freebsd2.*)
6224        # C++ shared libraries reported to be fairly broken before
6225	# switch to ELF
6226        _LT_TAGVAR(ld_shlibs, $1)=no
6227        ;;
6228
6229      freebsd-elf*)
6230        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6231        ;;
6232
6233      freebsd* | dragonfly*)
6234        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6235        # conventions
6236        _LT_TAGVAR(ld_shlibs, $1)=yes
6237        ;;
6238
6239      gnu*)
6240        ;;
6241
6242      haiku*)
6243        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6244        _LT_TAGVAR(link_all_deplibs, $1)=yes
6245        ;;
6246
6247      hpux9*)
6248        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6249        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6250        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6251        _LT_TAGVAR(hardcode_direct, $1)=yes
6252        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6253				             # but as the default
6254				             # location of the library.
6255
6256        case $cc_basename in
6257          CC*)
6258            # FIXME: insert proper C++ library support
6259            _LT_TAGVAR(ld_shlibs, $1)=no
6260            ;;
6261          aCC*)
6262            _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'
6263            # Commands to make compiler produce verbose output that lists
6264            # what "hidden" libraries, object files and flags are used when
6265            # linking a shared library.
6266            #
6267            # There doesn't appear to be a way to prevent this compiler from
6268            # explicitly linking system object files so we need to strip them
6269            # from the output so that they don't get included in the library
6270            # dependencies.
6271            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"'
6272            ;;
6273          *)
6274            if test "$GXX" = yes; then
6275              _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'
6276            else
6277              # FIXME: insert proper C++ library support
6278              _LT_TAGVAR(ld_shlibs, $1)=no
6279            fi
6280            ;;
6281        esac
6282        ;;
6283
6284      hpux10*|hpux11*)
6285        if test $with_gnu_ld = no; then
6286	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6287	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6288
6289          case $host_cpu in
6290            hppa*64*|ia64*)
6291              ;;
6292            *)
6293	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6294              ;;
6295          esac
6296        fi
6297        case $host_cpu in
6298          hppa*64*|ia64*)
6299            _LT_TAGVAR(hardcode_direct, $1)=no
6300            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6301            ;;
6302          *)
6303            _LT_TAGVAR(hardcode_direct, $1)=yes
6304            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6305            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6306					         # but as the default
6307					         # location of the library.
6308            ;;
6309        esac
6310
6311        case $cc_basename in
6312          CC*)
6313	    # FIXME: insert proper C++ library support
6314	    _LT_TAGVAR(ld_shlibs, $1)=no
6315	    ;;
6316          aCC*)
6317	    case $host_cpu in
6318	      hppa*64*)
6319	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6320	        ;;
6321	      ia64*)
6322	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6323	        ;;
6324	      *)
6325	        _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'
6326	        ;;
6327	    esac
6328	    # Commands to make compiler produce verbose output that lists
6329	    # what "hidden" libraries, object files and flags are used when
6330	    # linking a shared library.
6331	    #
6332	    # There doesn't appear to be a way to prevent this compiler from
6333	    # explicitly linking system object files so we need to strip them
6334	    # from the output so that they don't get included in the library
6335	    # dependencies.
6336	    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"'
6337	    ;;
6338          *)
6339	    if test "$GXX" = yes; then
6340	      if test $with_gnu_ld = no; then
6341	        case $host_cpu in
6342	          hppa*64*)
6343	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6344	            ;;
6345	          ia64*)
6346	            _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'
6347	            ;;
6348	          *)
6349	            _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'
6350	            ;;
6351	        esac
6352	      fi
6353	    else
6354	      # FIXME: insert proper C++ library support
6355	      _LT_TAGVAR(ld_shlibs, $1)=no
6356	    fi
6357	    ;;
6358        esac
6359        ;;
6360
6361      interix[[3-9]]*)
6362	_LT_TAGVAR(hardcode_direct, $1)=no
6363	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6364	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6365	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6366	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6367	# Instead, shared libraries are loaded at an image base (0x10000000 by
6368	# default) and relocated if they conflict, which is a slow very memory
6369	# consuming and fragmenting process.  To avoid this, we pick a random,
6370	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6371	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
6372	_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'
6373	_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'
6374	;;
6375      irix5* | irix6*)
6376        case $cc_basename in
6377          CC*)
6378	    # SGI C++
6379	    _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'
6380
6381	    # Archives containing C++ object files must be created using
6382	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
6383	    # necessary to make sure instantiated templates are included
6384	    # in the archive.
6385	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6386	    ;;
6387          *)
6388	    if test "$GXX" = yes; then
6389	      if test "$with_gnu_ld" = no; then
6390	        _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'
6391	      else
6392	        _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'
6393	      fi
6394	    fi
6395	    _LT_TAGVAR(link_all_deplibs, $1)=yes
6396	    ;;
6397        esac
6398        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6399        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6400        _LT_TAGVAR(inherit_rpath, $1)=yes
6401        ;;
6402
6403      linux* | k*bsd*-gnu | kopensolaris*-gnu)
6404        case $cc_basename in
6405          KCC*)
6406	    # Kuck and Associates, Inc. (KAI) C++ Compiler
6407
6408	    # KCC will only create a shared library if the output file
6409	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
6410	    # to its proper name (with version) after linking.
6411	    _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'
6412	    _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'
6413	    # Commands to make compiler produce verbose output that lists
6414	    # what "hidden" libraries, object files and flags are used when
6415	    # linking a shared library.
6416	    #
6417	    # There doesn't appear to be a way to prevent this compiler from
6418	    # explicitly linking system object files so we need to strip them
6419	    # from the output so that they don't get included in the library
6420	    # dependencies.
6421	    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"'
6422
6423	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6424	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6425
6426	    # Archives containing C++ object files must be created using
6427	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6428	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6429	    ;;
6430	  icpc* | ecpc* )
6431	    # Intel C++
6432	    with_gnu_ld=yes
6433	    # version 8.0 and above of icpc choke on multiply defined symbols
6434	    # if we add $predep_objects and $postdep_objects, however 7.1 and
6435	    # earlier do not add the objects themselves.
6436	    case `$CC -V 2>&1` in
6437	      *"Version 7."*)
6438	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6439		_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'
6440		;;
6441	      *)  # Version 8.0 or newer
6442	        tmp_idyn=
6443	        case $host_cpu in
6444		  ia64*) tmp_idyn=' -i_dynamic';;
6445		esac
6446	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6447		_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'
6448		;;
6449	    esac
6450	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6451	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6452	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6453	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6454	    ;;
6455          pgCC* | pgcpp*)
6456            # Portland Group C++ compiler
6457	    case `$CC -V` in
6458	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
6459	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
6460		rm -rf $tpldir~
6461		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
6462		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
6463	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
6464		rm -rf $tpldir~
6465		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
6466		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
6467		$RANLIB $oldlib'
6468	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
6469		rm -rf $tpldir~
6470		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6471		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6472	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
6473		rm -rf $tpldir~
6474		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6475		$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'
6476	      ;;
6477	    *) # Version 6 and above use weak symbols
6478	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6479	      _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'
6480	      ;;
6481	    esac
6482
6483	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
6484	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6485	    _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'
6486            ;;
6487	  cxx*)
6488	    # Compaq C++
6489	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6490	    _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'
6491
6492	    runpath_var=LD_RUN_PATH
6493	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6494	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6495
6496	    # Commands to make compiler produce verbose output that lists
6497	    # what "hidden" libraries, object files and flags are used when
6498	    # linking a shared library.
6499	    #
6500	    # There doesn't appear to be a way to prevent this compiler from
6501	    # explicitly linking system object files so we need to strip them
6502	    # from the output so that they don't get included in the library
6503	    # dependencies.
6504	    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'
6505	    ;;
6506	  xl* | mpixl* | bgxl*)
6507	    # IBM XL 8.0 on PPC, with GNU ld
6508	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6509	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6510	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6511	    if test "x$supports_anon_versioning" = xyes; then
6512	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
6513		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
6514		echo "local: *; };" >> $output_objdir/$libname.ver~
6515		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
6516	    fi
6517	    ;;
6518	  *)
6519	    case `$CC -V 2>&1 | sed 5q` in
6520	    *Sun\ C*)
6521	      # Sun C++ 5.9
6522	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6523	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6524	      _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'
6525	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6526	      _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'
6527	      _LT_TAGVAR(compiler_needs_object, $1)=yes
6528
6529	      # Not sure whether something based on
6530	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
6531	      # would be better.
6532	      output_verbose_link_cmd='func_echo_all'
6533
6534	      # Archives containing C++ object files must be created using
6535	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
6536	      # necessary to make sure instantiated templates are included
6537	      # in the archive.
6538	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6539	      ;;
6540	    esac
6541	    ;;
6542	esac
6543	;;
6544
6545      lynxos*)
6546        # FIXME: insert proper C++ library support
6547	_LT_TAGVAR(ld_shlibs, $1)=no
6548	;;
6549
6550      m88k*)
6551        # FIXME: insert proper C++ library support
6552        _LT_TAGVAR(ld_shlibs, $1)=no
6553	;;
6554
6555      mvs*)
6556        case $cc_basename in
6557          cxx*)
6558	    # FIXME: insert proper C++ library support
6559	    _LT_TAGVAR(ld_shlibs, $1)=no
6560	    ;;
6561	  *)
6562	    # FIXME: insert proper C++ library support
6563	    _LT_TAGVAR(ld_shlibs, $1)=no
6564	    ;;
6565	esac
6566	;;
6567
6568      netbsd*)
6569        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6570	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6571	  wlarc=
6572	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6573	  _LT_TAGVAR(hardcode_direct, $1)=yes
6574	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6575	fi
6576	# Workaround some broken pre-1.5 toolchains
6577	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6578	;;
6579
6580      *nto* | *qnx*)
6581        _LT_TAGVAR(ld_shlibs, $1)=yes
6582	;;
6583
6584      openbsd2*)
6585        # C++ shared libraries are fairly broken
6586	_LT_TAGVAR(ld_shlibs, $1)=no
6587	;;
6588
6589      openbsd*)
6590	if test -f /usr/libexec/ld.so; then
6591	  _LT_TAGVAR(hardcode_direct, $1)=yes
6592	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6593	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6594	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6595	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6596	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6597	    _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'
6598	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6599	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6600	  fi
6601	  output_verbose_link_cmd=func_echo_all
6602	else
6603	  _LT_TAGVAR(ld_shlibs, $1)=no
6604	fi
6605	;;
6606
6607      osf3* | osf4* | osf5*)
6608        case $cc_basename in
6609          KCC*)
6610	    # Kuck and Associates, Inc. (KAI) C++ Compiler
6611
6612	    # KCC will only create a shared library if the output file
6613	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
6614	    # to its proper name (with version) after linking.
6615	    _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'
6616
6617	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6618	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6619
6620	    # Archives containing C++ object files must be created using
6621	    # the KAI C++ compiler.
6622	    case $host in
6623	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6624	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6625	    esac
6626	    ;;
6627          RCC*)
6628	    # Rational C++ 2.4.1
6629	    # FIXME: insert proper C++ library support
6630	    _LT_TAGVAR(ld_shlibs, $1)=no
6631	    ;;
6632          cxx*)
6633	    case $host in
6634	      osf3*)
6635	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6636	        _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'
6637	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6638		;;
6639	      *)
6640	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6641	        _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'
6642	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6643	          echo "-hidden">> $lib.exp~
6644	          $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~
6645	          $RM $lib.exp'
6646	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6647		;;
6648	    esac
6649
6650	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6651
6652	    # Commands to make compiler produce verbose output that lists
6653	    # what "hidden" libraries, object files and flags are used when
6654	    # linking a shared library.
6655	    #
6656	    # There doesn't appear to be a way to prevent this compiler from
6657	    # explicitly linking system object files so we need to strip them
6658	    # from the output so that they don't get included in the library
6659	    # dependencies.
6660	    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"'
6661	    ;;
6662	  *)
6663	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6664	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6665	      case $host in
6666	        osf3*)
6667	          _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'
6668		  ;;
6669	        *)
6670	          _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'
6671		  ;;
6672	      esac
6673
6674	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6675	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6676
6677	      # Commands to make compiler produce verbose output that lists
6678	      # what "hidden" libraries, object files and flags are used when
6679	      # linking a shared library.
6680	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6681
6682	    else
6683	      # FIXME: insert proper C++ library support
6684	      _LT_TAGVAR(ld_shlibs, $1)=no
6685	    fi
6686	    ;;
6687        esac
6688        ;;
6689
6690      psos*)
6691        # FIXME: insert proper C++ library support
6692        _LT_TAGVAR(ld_shlibs, $1)=no
6693        ;;
6694
6695      sunos4*)
6696        case $cc_basename in
6697          CC*)
6698	    # Sun C++ 4.x
6699	    # FIXME: insert proper C++ library support
6700	    _LT_TAGVAR(ld_shlibs, $1)=no
6701	    ;;
6702          lcc*)
6703	    # Lucid
6704	    # FIXME: insert proper C++ library support
6705	    _LT_TAGVAR(ld_shlibs, $1)=no
6706	    ;;
6707          *)
6708	    # FIXME: insert proper C++ library support
6709	    _LT_TAGVAR(ld_shlibs, $1)=no
6710	    ;;
6711        esac
6712        ;;
6713
6714      solaris*)
6715        case $cc_basename in
6716          CC* | sunCC*)
6717	    # Sun C++ 4.2, 5.x and Centerline C++
6718            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6719	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6720	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6721	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6722	      $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'
6723
6724	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6725	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6726	    case $host_os in
6727	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6728	      *)
6729		# The compiler driver will combine and reorder linker options,
6730		# but understands `-z linker_flag'.
6731	        # Supported since Solaris 2.6 (maybe 2.5.1?)
6732		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6733	        ;;
6734	    esac
6735	    _LT_TAGVAR(link_all_deplibs, $1)=yes
6736
6737	    output_verbose_link_cmd='func_echo_all'
6738
6739	    # Archives containing C++ object files must be created using
6740	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
6741	    # necessary to make sure instantiated templates are included
6742	    # in the archive.
6743	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6744	    ;;
6745          gcx*)
6746	    # Green Hills C++ Compiler
6747	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6748
6749	    # The C++ compiler must be used to create the archive.
6750	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6751	    ;;
6752          *)
6753	    # GNU C++ compiler with Solaris linker
6754	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6755	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6756	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6757	        _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'
6758	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6759		  $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6760
6761	        # Commands to make compiler produce verbose output that lists
6762	        # what "hidden" libraries, object files and flags are used when
6763	        # linking a shared library.
6764	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6765	      else
6766	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
6767	        # platform.
6768	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6769	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6770		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6771
6772	        # Commands to make compiler produce verbose output that lists
6773	        # what "hidden" libraries, object files and flags are used when
6774	        # linking a shared library.
6775	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6776	      fi
6777
6778	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6779	      case $host_os in
6780		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6781		*)
6782		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6783		  ;;
6784	      esac
6785	    fi
6786	    ;;
6787        esac
6788        ;;
6789
6790    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6791      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6792      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6793      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6794      runpath_var='LD_RUN_PATH'
6795
6796      case $cc_basename in
6797        CC*)
6798	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6799	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6800	  ;;
6801	*)
6802	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6803	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6804	  ;;
6805      esac
6806      ;;
6807
6808      sysv5* | sco3.2v5* | sco5v6*)
6809	# Note: We can NOT use -z defs as we might desire, because we do not
6810	# link with -lc, and that would cause any symbols used from libc to
6811	# always be unresolved, which means just about no library would
6812	# ever link correctly.  If we're not using GNU ld we use -z text
6813	# though, which does catch some bad symbols but isn't as heavy-handed
6814	# as -z defs.
6815	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6816	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6817	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6818	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6819	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6820	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6821	_LT_TAGVAR(link_all_deplibs, $1)=yes
6822	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6823	runpath_var='LD_RUN_PATH'
6824
6825	case $cc_basename in
6826          CC*)
6827	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6828	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6829	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
6830	      '"$_LT_TAGVAR(old_archive_cmds, $1)"
6831	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
6832	      '"$_LT_TAGVAR(reload_cmds, $1)"
6833	    ;;
6834	  *)
6835	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6836	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6837	    ;;
6838	esac
6839      ;;
6840
6841      tandem*)
6842        case $cc_basename in
6843          NCC*)
6844	    # NonStop-UX NCC 3.20
6845	    # FIXME: insert proper C++ library support
6846	    _LT_TAGVAR(ld_shlibs, $1)=no
6847	    ;;
6848          *)
6849	    # FIXME: insert proper C++ library support
6850	    _LT_TAGVAR(ld_shlibs, $1)=no
6851	    ;;
6852        esac
6853        ;;
6854
6855      vxworks*)
6856        # FIXME: insert proper C++ library support
6857        _LT_TAGVAR(ld_shlibs, $1)=no
6858        ;;
6859
6860      *)
6861        # FIXME: insert proper C++ library support
6862        _LT_TAGVAR(ld_shlibs, $1)=no
6863        ;;
6864    esac
6865
6866    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6867    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6868
6869    _LT_TAGVAR(GCC, $1)="$GXX"
6870    _LT_TAGVAR(LD, $1)="$LD"
6871
6872    ## CAVEAT EMPTOR:
6873    ## There is no encapsulation within the following macros, do not change
6874    ## the running order or otherwise move them around unless you know exactly
6875    ## what you are doing...
6876    _LT_SYS_HIDDEN_LIBDEPS($1)
6877    _LT_COMPILER_PIC($1)
6878    _LT_COMPILER_C_O($1)
6879    _LT_COMPILER_FILE_LOCKS($1)
6880    _LT_LINKER_SHLIBS($1)
6881    _LT_SYS_DYNAMIC_LINKER($1)
6882    _LT_LINKER_HARDCODE_LIBPATH($1)
6883
6884    _LT_CONFIG($1)
6885  fi # test -n "$compiler"
6886
6887  CC=$lt_save_CC
6888  CFLAGS=$lt_save_CFLAGS
6889  LDCXX=$LD
6890  LD=$lt_save_LD
6891  GCC=$lt_save_GCC
6892  with_gnu_ld=$lt_save_with_gnu_ld
6893  lt_cv_path_LDCXX=$lt_cv_path_LD
6894  lt_cv_path_LD=$lt_save_path_LD
6895  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6896  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6897fi # test "$_lt_caught_CXX_error" != yes
6898
6899AC_LANG_POP
6900])# _LT_LANG_CXX_CONFIG
6901
6902
6903# _LT_FUNC_STRIPNAME_CNF
6904# ----------------------
6905# func_stripname_cnf prefix suffix name
6906# strip PREFIX and SUFFIX off of NAME.
6907# PREFIX and SUFFIX must not contain globbing or regex special
6908# characters, hashes, percent signs, but SUFFIX may contain a leading
6909# dot (in which case that matches only a dot).
6910#
6911# This function is identical to the (non-XSI) version of func_stripname,
6912# except this one can be used by m4 code that may be executed by configure,
6913# rather than the libtool script.
6914m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
6915AC_REQUIRE([_LT_DECL_SED])
6916AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
6917func_stripname_cnf ()
6918{
6919  case ${2} in
6920  .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
6921  *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
6922  esac
6923} # func_stripname_cnf
6924])# _LT_FUNC_STRIPNAME_CNF
6925
6926# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
6927# ---------------------------------
6928# Figure out "hidden" library dependencies from verbose
6929# compiler output when linking a shared library.
6930# Parse the compiler output and extract the necessary
6931# objects, libraries and library flags.
6932m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6933[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6934AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
6935# Dependencies to place before and after the object being linked:
6936_LT_TAGVAR(predep_objects, $1)=
6937_LT_TAGVAR(postdep_objects, $1)=
6938_LT_TAGVAR(predeps, $1)=
6939_LT_TAGVAR(postdeps, $1)=
6940_LT_TAGVAR(compiler_lib_search_path, $1)=
6941
6942dnl we can't use the lt_simple_compile_test_code here,
6943dnl because it contains code intended for an executable,
6944dnl not a library.  It's possible we should let each
6945dnl tag define a new lt_????_link_test_code variable,
6946dnl but it's only used here...
6947m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6948int a;
6949void foo (void) { a = 0; }
6950_LT_EOF
6951], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6952class Foo
6953{
6954public:
6955  Foo (void) { a = 0; }
6956private:
6957  int a;
6958};
6959_LT_EOF
6960], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6961      subroutine foo
6962      implicit none
6963      integer*4 a
6964      a=0
6965      return
6966      end
6967_LT_EOF
6968], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6969      subroutine foo
6970      implicit none
6971      integer a
6972      a=0
6973      return
6974      end
6975_LT_EOF
6976], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
6977public class foo {
6978  private int a;
6979  public void bar (void) {
6980    a = 0;
6981  }
6982};
6983_LT_EOF
6984], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
6985package foo
6986func foo() {
6987}
6988_LT_EOF
6989])
6990
6991_lt_libdeps_save_CFLAGS=$CFLAGS
6992case "$CC $CFLAGS " in #(
6993*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
6994*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
6995*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
6996esac
6997
6998dnl Parse the compiler output and extract the necessary
6999dnl objects, libraries and library flags.
7000if AC_TRY_EVAL(ac_compile); then
7001  # Parse the compiler output and extract the necessary
7002  # objects, libraries and library flags.
7003
7004  # Sentinel used to keep track of whether or not we are before
7005  # the conftest object file.
7006  pre_test_object_deps_done=no
7007
7008  for p in `eval "$output_verbose_link_cmd"`; do
7009    case ${prev}${p} in
7010
7011    -L* | -R* | -l*)
7012       # Some compilers place space between "-{L,R}" and the path.
7013       # Remove the space.
7014       if test $p = "-L" ||
7015          test $p = "-R"; then
7016	 prev=$p
7017	 continue
7018       fi
7019
7020       # Expand the sysroot to ease extracting the directories later.
7021       if test -z "$prev"; then
7022         case $p in
7023         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
7024         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
7025         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
7026         esac
7027       fi
7028       case $p in
7029       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
7030       esac
7031       if test "$pre_test_object_deps_done" = no; then
7032	 case ${prev} in
7033	 -L | -R)
7034	   # Internal compiler library paths should come after those
7035	   # provided the user.  The postdeps already come after the
7036	   # user supplied libs so there is no need to process them.
7037	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7038	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
7039	   else
7040	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
7041	   fi
7042	   ;;
7043	 # The "-l" case would never come before the object being
7044	 # linked, so don't bother handling this case.
7045	 esac
7046       else
7047	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7048	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
7049	 else
7050	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
7051	 fi
7052       fi
7053       prev=
7054       ;;
7055
7056    *.lto.$objext) ;; # Ignore GCC LTO objects
7057    *.$objext)
7058       # This assumes that the test object file only shows up
7059       # once in the compiler output.
7060       if test "$p" = "conftest.$objext"; then
7061	 pre_test_object_deps_done=yes
7062	 continue
7063       fi
7064
7065       if test "$pre_test_object_deps_done" = no; then
7066	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7067	   _LT_TAGVAR(predep_objects, $1)="$p"
7068	 else
7069	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7070	 fi
7071       else
7072	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7073	   _LT_TAGVAR(postdep_objects, $1)="$p"
7074	 else
7075	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7076	 fi
7077       fi
7078       ;;
7079
7080    *) ;; # Ignore the rest.
7081
7082    esac
7083  done
7084
7085  # Clean up.
7086  rm -f a.out a.exe
7087else
7088  echo "libtool.m4: error: problem compiling $1 test program"
7089fi
7090
7091$RM -f confest.$objext
7092CFLAGS=$_lt_libdeps_save_CFLAGS
7093
7094# PORTME: override above test on systems where it is broken
7095m4_if([$1], [CXX],
7096[case $host_os in
7097interix[[3-9]]*)
7098  # Interix 3.5 installs completely hosed .la files for C++, so rather than
7099  # hack all around it, let's just trust "g++" to DTRT.
7100  _LT_TAGVAR(predep_objects,$1)=
7101  _LT_TAGVAR(postdep_objects,$1)=
7102  _LT_TAGVAR(postdeps,$1)=
7103  ;;
7104
7105linux*)
7106  case `$CC -V 2>&1 | sed 5q` in
7107  *Sun\ C*)
7108    # Sun C++ 5.9
7109
7110    # The more standards-conforming stlport4 library is
7111    # incompatible with the Cstd library. Avoid specifying
7112    # it if it's in CXXFLAGS. Ignore libCrun as
7113    # -library=stlport4 depends on it.
7114    case " $CXX $CXXFLAGS " in
7115    *" -library=stlport4 "*)
7116      solaris_use_stlport4=yes
7117      ;;
7118    esac
7119
7120    if test "$solaris_use_stlport4" != yes; then
7121      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7122    fi
7123    ;;
7124  esac
7125  ;;
7126
7127solaris*)
7128  case $cc_basename in
7129  CC* | sunCC*)
7130    # The more standards-conforming stlport4 library is
7131    # incompatible with the Cstd library. Avoid specifying
7132    # it if it's in CXXFLAGS. Ignore libCrun as
7133    # -library=stlport4 depends on it.
7134    case " $CXX $CXXFLAGS " in
7135    *" -library=stlport4 "*)
7136      solaris_use_stlport4=yes
7137      ;;
7138    esac
7139
7140    # Adding this requires a known-good setup of shared libraries for
7141    # Sun compiler versions before 5.6, else PIC objects from an old
7142    # archive will be linked into the output, leading to subtle bugs.
7143    if test "$solaris_use_stlport4" != yes; then
7144      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7145    fi
7146    ;;
7147  esac
7148  ;;
7149esac
7150])
7151
7152case " $_LT_TAGVAR(postdeps, $1) " in
7153*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7154esac
7155 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7156if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7157 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
7158fi
7159_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7160    [The directories searched by this compiler when creating a shared library])
7161_LT_TAGDECL([], [predep_objects], [1],
7162    [Dependencies to place before and after the objects being linked to
7163    create a shared library])
7164_LT_TAGDECL([], [postdep_objects], [1])
7165_LT_TAGDECL([], [predeps], [1])
7166_LT_TAGDECL([], [postdeps], [1])
7167_LT_TAGDECL([], [compiler_lib_search_path], [1],
7168    [The library search path used internally by the compiler when linking
7169    a shared library])
7170])# _LT_SYS_HIDDEN_LIBDEPS
7171
7172
7173# _LT_LANG_F77_CONFIG([TAG])
7174# --------------------------
7175# Ensure that the configuration variables for a Fortran 77 compiler are
7176# suitably defined.  These variables are subsequently used by _LT_CONFIG
7177# to write the compiler configuration to `libtool'.
7178m4_defun([_LT_LANG_F77_CONFIG],
7179[AC_LANG_PUSH(Fortran 77)
7180if test -z "$F77" || test "X$F77" = "Xno"; then
7181  _lt_disable_F77=yes
7182fi
7183
7184_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7185_LT_TAGVAR(allow_undefined_flag, $1)=
7186_LT_TAGVAR(always_export_symbols, $1)=no
7187_LT_TAGVAR(archive_expsym_cmds, $1)=
7188_LT_TAGVAR(export_dynamic_flag_spec, $1)=
7189_LT_TAGVAR(hardcode_direct, $1)=no
7190_LT_TAGVAR(hardcode_direct_absolute, $1)=no
7191_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7192_LT_TAGVAR(hardcode_libdir_separator, $1)=
7193_LT_TAGVAR(hardcode_minus_L, $1)=no
7194_LT_TAGVAR(hardcode_automatic, $1)=no
7195_LT_TAGVAR(inherit_rpath, $1)=no
7196_LT_TAGVAR(module_cmds, $1)=
7197_LT_TAGVAR(module_expsym_cmds, $1)=
7198_LT_TAGVAR(link_all_deplibs, $1)=unknown
7199_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7200_LT_TAGVAR(reload_flag, $1)=$reload_flag
7201_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7202_LT_TAGVAR(no_undefined_flag, $1)=
7203_LT_TAGVAR(whole_archive_flag_spec, $1)=
7204_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7205
7206# Source file extension for f77 test sources.
7207ac_ext=f
7208
7209# Object file extension for compiled f77 test sources.
7210objext=o
7211_LT_TAGVAR(objext, $1)=$objext
7212
7213# No sense in running all these tests if we already determined that
7214# the F77 compiler isn't working.  Some variables (like enable_shared)
7215# are currently assumed to apply to all compilers on this platform,
7216# and will be corrupted by setting them based on a non-working compiler.
7217if test "$_lt_disable_F77" != yes; then
7218  # Code to be used in simple compile tests
7219  lt_simple_compile_test_code="\
7220      subroutine t
7221      return
7222      end
7223"
7224
7225  # Code to be used in simple link tests
7226  lt_simple_link_test_code="\
7227      program t
7228      end
7229"
7230
7231  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7232  _LT_TAG_COMPILER
7233
7234  # save warnings/boilerplate of simple test code
7235  _LT_COMPILER_BOILERPLATE
7236  _LT_LINKER_BOILERPLATE
7237
7238  # Allow CC to be a program name with arguments.
7239  lt_save_CC="$CC"
7240  lt_save_GCC=$GCC
7241  lt_save_CFLAGS=$CFLAGS
7242  CC=${F77-"f77"}
7243  CFLAGS=$FFLAGS
7244  compiler=$CC
7245  _LT_TAGVAR(compiler, $1)=$CC
7246  _LT_CC_BASENAME([$compiler])
7247  GCC=$G77
7248  if test -n "$compiler"; then
7249    AC_MSG_CHECKING([if libtool supports shared libraries])
7250    AC_MSG_RESULT([$can_build_shared])
7251
7252    AC_MSG_CHECKING([whether to build shared libraries])
7253    test "$can_build_shared" = "no" && enable_shared=no
7254
7255    # On AIX, shared libraries and static libraries use the same namespace, and
7256    # are all built from PIC.
7257    case $host_os in
7258      aix3*)
7259        test "$enable_shared" = yes && enable_static=no
7260        if test -n "$RANLIB"; then
7261          archive_cmds="$archive_cmds~\$RANLIB \$lib"
7262          postinstall_cmds='$RANLIB $lib'
7263        fi
7264        ;;
7265      aix[[4-9]]*)
7266	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7267	  test "$enable_shared" = yes && enable_static=no
7268	fi
7269        ;;
7270    esac
7271    AC_MSG_RESULT([$enable_shared])
7272
7273    AC_MSG_CHECKING([whether to build static libraries])
7274    # Make sure either enable_shared or enable_static is yes.
7275    test "$enable_shared" = yes || enable_static=yes
7276    AC_MSG_RESULT([$enable_static])
7277
7278    _LT_TAGVAR(GCC, $1)="$G77"
7279    _LT_TAGVAR(LD, $1)="$LD"
7280
7281    ## CAVEAT EMPTOR:
7282    ## There is no encapsulation within the following macros, do not change
7283    ## the running order or otherwise move them around unless you know exactly
7284    ## what you are doing...
7285    _LT_COMPILER_PIC($1)
7286    _LT_COMPILER_C_O($1)
7287    _LT_COMPILER_FILE_LOCKS($1)
7288    _LT_LINKER_SHLIBS($1)
7289    _LT_SYS_DYNAMIC_LINKER($1)
7290    _LT_LINKER_HARDCODE_LIBPATH($1)
7291
7292    _LT_CONFIG($1)
7293  fi # test -n "$compiler"
7294
7295  GCC=$lt_save_GCC
7296  CC="$lt_save_CC"
7297  CFLAGS="$lt_save_CFLAGS"
7298fi # test "$_lt_disable_F77" != yes
7299
7300AC_LANG_POP
7301])# _LT_LANG_F77_CONFIG
7302
7303
7304# _LT_LANG_FC_CONFIG([TAG])
7305# -------------------------
7306# Ensure that the configuration variables for a Fortran compiler are
7307# suitably defined.  These variables are subsequently used by _LT_CONFIG
7308# to write the compiler configuration to `libtool'.
7309m4_defun([_LT_LANG_FC_CONFIG],
7310[AC_LANG_PUSH(Fortran)
7311
7312if test -z "$FC" || test "X$FC" = "Xno"; then
7313  _lt_disable_FC=yes
7314fi
7315
7316_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7317_LT_TAGVAR(allow_undefined_flag, $1)=
7318_LT_TAGVAR(always_export_symbols, $1)=no
7319_LT_TAGVAR(archive_expsym_cmds, $1)=
7320_LT_TAGVAR(export_dynamic_flag_spec, $1)=
7321_LT_TAGVAR(hardcode_direct, $1)=no
7322_LT_TAGVAR(hardcode_direct_absolute, $1)=no
7323_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7324_LT_TAGVAR(hardcode_libdir_separator, $1)=
7325_LT_TAGVAR(hardcode_minus_L, $1)=no
7326_LT_TAGVAR(hardcode_automatic, $1)=no
7327_LT_TAGVAR(inherit_rpath, $1)=no
7328_LT_TAGVAR(module_cmds, $1)=
7329_LT_TAGVAR(module_expsym_cmds, $1)=
7330_LT_TAGVAR(link_all_deplibs, $1)=unknown
7331_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7332_LT_TAGVAR(reload_flag, $1)=$reload_flag
7333_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7334_LT_TAGVAR(no_undefined_flag, $1)=
7335_LT_TAGVAR(whole_archive_flag_spec, $1)=
7336_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7337
7338# Source file extension for fc test sources.
7339ac_ext=${ac_fc_srcext-f}
7340
7341# Object file extension for compiled fc test sources.
7342objext=o
7343_LT_TAGVAR(objext, $1)=$objext
7344
7345# No sense in running all these tests if we already determined that
7346# the FC compiler isn't working.  Some variables (like enable_shared)
7347# are currently assumed to apply to all compilers on this platform,
7348# and will be corrupted by setting them based on a non-working compiler.
7349if test "$_lt_disable_FC" != yes; then
7350  # Code to be used in simple compile tests
7351  lt_simple_compile_test_code="\
7352      subroutine t
7353      return
7354      end
7355"
7356
7357  # Code to be used in simple link tests
7358  lt_simple_link_test_code="\
7359      program t
7360      end
7361"
7362
7363  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7364  _LT_TAG_COMPILER
7365
7366  # save warnings/boilerplate of simple test code
7367  _LT_COMPILER_BOILERPLATE
7368  _LT_LINKER_BOILERPLATE
7369
7370  # Allow CC to be a program name with arguments.
7371  lt_save_CC="$CC"
7372  lt_save_GCC=$GCC
7373  lt_save_CFLAGS=$CFLAGS
7374  CC=${FC-"f95"}
7375  CFLAGS=$FCFLAGS
7376  compiler=$CC
7377  GCC=$ac_cv_fc_compiler_gnu
7378
7379  _LT_TAGVAR(compiler, $1)=$CC
7380  _LT_CC_BASENAME([$compiler])
7381
7382  if test -n "$compiler"; then
7383    AC_MSG_CHECKING([if libtool supports shared libraries])
7384    AC_MSG_RESULT([$can_build_shared])
7385
7386    AC_MSG_CHECKING([whether to build shared libraries])
7387    test "$can_build_shared" = "no" && enable_shared=no
7388
7389    # On AIX, shared libraries and static libraries use the same namespace, and
7390    # are all built from PIC.
7391    case $host_os in
7392      aix3*)
7393        test "$enable_shared" = yes && enable_static=no
7394        if test -n "$RANLIB"; then
7395          archive_cmds="$archive_cmds~\$RANLIB \$lib"
7396          postinstall_cmds='$RANLIB $lib'
7397        fi
7398        ;;
7399      aix[[4-9]]*)
7400	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7401	  test "$enable_shared" = yes && enable_static=no
7402	fi
7403        ;;
7404    esac
7405    AC_MSG_RESULT([$enable_shared])
7406
7407    AC_MSG_CHECKING([whether to build static libraries])
7408    # Make sure either enable_shared or enable_static is yes.
7409    test "$enable_shared" = yes || enable_static=yes
7410    AC_MSG_RESULT([$enable_static])
7411
7412    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
7413    _LT_TAGVAR(LD, $1)="$LD"
7414
7415    ## CAVEAT EMPTOR:
7416    ## There is no encapsulation within the following macros, do not change
7417    ## the running order or otherwise move them around unless you know exactly
7418    ## what you are doing...
7419    _LT_SYS_HIDDEN_LIBDEPS($1)
7420    _LT_COMPILER_PIC($1)
7421    _LT_COMPILER_C_O($1)
7422    _LT_COMPILER_FILE_LOCKS($1)
7423    _LT_LINKER_SHLIBS($1)
7424    _LT_SYS_DYNAMIC_LINKER($1)
7425    _LT_LINKER_HARDCODE_LIBPATH($1)
7426
7427    _LT_CONFIG($1)
7428  fi # test -n "$compiler"
7429
7430  GCC=$lt_save_GCC
7431  CC=$lt_save_CC
7432  CFLAGS=$lt_save_CFLAGS
7433fi # test "$_lt_disable_FC" != yes
7434
7435AC_LANG_POP
7436])# _LT_LANG_FC_CONFIG
7437
7438
7439# _LT_LANG_GCJ_CONFIG([TAG])
7440# --------------------------
7441# Ensure that the configuration variables for the GNU Java Compiler compiler
7442# are suitably defined.  These variables are subsequently used by _LT_CONFIG
7443# to write the compiler configuration to `libtool'.
7444m4_defun([_LT_LANG_GCJ_CONFIG],
7445[AC_REQUIRE([LT_PROG_GCJ])dnl
7446AC_LANG_SAVE
7447
7448# Source file extension for Java test sources.
7449ac_ext=java
7450
7451# Object file extension for compiled Java test sources.
7452objext=o
7453_LT_TAGVAR(objext, $1)=$objext
7454
7455# Code to be used in simple compile tests
7456lt_simple_compile_test_code="class foo {}"
7457
7458# Code to be used in simple link tests
7459lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7460
7461# ltmain only uses $CC for tagged configurations so make sure $CC is set.
7462_LT_TAG_COMPILER
7463
7464# save warnings/boilerplate of simple test code
7465_LT_COMPILER_BOILERPLATE
7466_LT_LINKER_BOILERPLATE
7467
7468# Allow CC to be a program name with arguments.
7469lt_save_CC=$CC
7470lt_save_CFLAGS=$CFLAGS
7471lt_save_GCC=$GCC
7472GCC=yes
7473CC=${GCJ-"gcj"}
7474CFLAGS=$GCJFLAGS
7475compiler=$CC
7476_LT_TAGVAR(compiler, $1)=$CC
7477_LT_TAGVAR(LD, $1)="$LD"
7478_LT_CC_BASENAME([$compiler])
7479
7480# GCJ did not exist at the time GCC didn't implicitly link libc in.
7481_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7482
7483_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7484_LT_TAGVAR(reload_flag, $1)=$reload_flag
7485_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7486
7487if test -n "$compiler"; then
7488  _LT_COMPILER_NO_RTTI($1)
7489  _LT_COMPILER_PIC($1)
7490  _LT_COMPILER_C_O($1)
7491  _LT_COMPILER_FILE_LOCKS($1)
7492  _LT_LINKER_SHLIBS($1)
7493  _LT_LINKER_HARDCODE_LIBPATH($1)
7494
7495  _LT_CONFIG($1)
7496fi
7497
7498AC_LANG_RESTORE
7499
7500GCC=$lt_save_GCC
7501CC=$lt_save_CC
7502CFLAGS=$lt_save_CFLAGS
7503])# _LT_LANG_GCJ_CONFIG
7504
7505
7506# _LT_LANG_GO_CONFIG([TAG])
7507# --------------------------
7508# Ensure that the configuration variables for the GNU Go compiler
7509# are suitably defined.  These variables are subsequently used by _LT_CONFIG
7510# to write the compiler configuration to `libtool'.
7511m4_defun([_LT_LANG_GO_CONFIG],
7512[AC_REQUIRE([LT_PROG_GO])dnl
7513AC_LANG_SAVE
7514
7515# Source file extension for Go test sources.
7516ac_ext=go
7517
7518# Object file extension for compiled Go test sources.
7519objext=o
7520_LT_TAGVAR(objext, $1)=$objext
7521
7522# Code to be used in simple compile tests
7523lt_simple_compile_test_code="package main; func main() { }"
7524
7525# Code to be used in simple link tests
7526lt_simple_link_test_code='package main; func main() { }'
7527
7528# ltmain only uses $CC for tagged configurations so make sure $CC is set.
7529_LT_TAG_COMPILER
7530
7531# save warnings/boilerplate of simple test code
7532_LT_COMPILER_BOILERPLATE
7533_LT_LINKER_BOILERPLATE
7534
7535# Allow CC to be a program name with arguments.
7536lt_save_CC=$CC
7537lt_save_CFLAGS=$CFLAGS
7538lt_save_GCC=$GCC
7539GCC=yes
7540CC=${GOC-"gccgo"}
7541CFLAGS=$GOFLAGS
7542compiler=$CC
7543_LT_TAGVAR(compiler, $1)=$CC
7544_LT_TAGVAR(LD, $1)="$LD"
7545_LT_CC_BASENAME([$compiler])
7546
7547# Go did not exist at the time GCC didn't implicitly link libc in.
7548_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7549
7550_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7551_LT_TAGVAR(reload_flag, $1)=$reload_flag
7552_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7553
7554if test -n "$compiler"; then
7555  _LT_COMPILER_NO_RTTI($1)
7556  _LT_COMPILER_PIC($1)
7557  _LT_COMPILER_C_O($1)
7558  _LT_COMPILER_FILE_LOCKS($1)
7559  _LT_LINKER_SHLIBS($1)
7560  _LT_LINKER_HARDCODE_LIBPATH($1)
7561
7562  _LT_CONFIG($1)
7563fi
7564
7565AC_LANG_RESTORE
7566
7567GCC=$lt_save_GCC
7568CC=$lt_save_CC
7569CFLAGS=$lt_save_CFLAGS
7570])# _LT_LANG_GO_CONFIG
7571
7572
7573# _LT_LANG_RC_CONFIG([TAG])
7574# -------------------------
7575# Ensure that the configuration variables for the Windows resource compiler
7576# are suitably defined.  These variables are subsequently used by _LT_CONFIG
7577# to write the compiler configuration to `libtool'.
7578m4_defun([_LT_LANG_RC_CONFIG],
7579[AC_REQUIRE([LT_PROG_RC])dnl
7580AC_LANG_SAVE
7581
7582# Source file extension for RC test sources.
7583ac_ext=rc
7584
7585# Object file extension for compiled RC test sources.
7586objext=o
7587_LT_TAGVAR(objext, $1)=$objext
7588
7589# Code to be used in simple compile tests
7590lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
7591
7592# Code to be used in simple link tests
7593lt_simple_link_test_code="$lt_simple_compile_test_code"
7594
7595# ltmain only uses $CC for tagged configurations so make sure $CC is set.
7596_LT_TAG_COMPILER
7597
7598# save warnings/boilerplate of simple test code
7599_LT_COMPILER_BOILERPLATE
7600_LT_LINKER_BOILERPLATE
7601
7602# Allow CC to be a program name with arguments.
7603lt_save_CC="$CC"
7604lt_save_CFLAGS=$CFLAGS
7605lt_save_GCC=$GCC
7606GCC=
7607CC=${RC-"windres"}
7608CFLAGS=
7609compiler=$CC
7610_LT_TAGVAR(compiler, $1)=$CC
7611_LT_CC_BASENAME([$compiler])
7612_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
7613
7614if test -n "$compiler"; then
7615  :
7616  _LT_CONFIG($1)
7617fi
7618
7619GCC=$lt_save_GCC
7620AC_LANG_RESTORE
7621CC=$lt_save_CC
7622CFLAGS=$lt_save_CFLAGS
7623])# _LT_LANG_RC_CONFIG
7624
7625
7626# LT_PROG_GCJ
7627# -----------
7628AC_DEFUN([LT_PROG_GCJ],
7629[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
7630  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
7631    [AC_CHECK_TOOL(GCJ, gcj,)
7632      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
7633      AC_SUBST(GCJFLAGS)])])[]dnl
7634])
7635
7636# Old name:
7637AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
7638dnl aclocal-1.4 backwards compatibility:
7639dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
7640
7641
7642# LT_PROG_GO
7643# ----------
7644AC_DEFUN([LT_PROG_GO],
7645[AC_CHECK_TOOL(GOC, gccgo,)
7646])
7647
7648
7649# LT_PROG_RC
7650# ----------
7651AC_DEFUN([LT_PROG_RC],
7652[AC_CHECK_TOOL(RC, windres,)
7653])
7654
7655# Old name:
7656AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
7657dnl aclocal-1.4 backwards compatibility:
7658dnl AC_DEFUN([LT_AC_PROG_RC], [])
7659
7660
7661# _LT_DECL_EGREP
7662# --------------
7663# If we don't have a new enough Autoconf to choose the best grep
7664# available, choose the one first in the user's PATH.
7665m4_defun([_LT_DECL_EGREP],
7666[AC_REQUIRE([AC_PROG_EGREP])dnl
7667AC_REQUIRE([AC_PROG_FGREP])dnl
7668test -z "$GREP" && GREP=grep
7669_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7670_LT_DECL([], [EGREP], [1], [An ERE matcher])
7671_LT_DECL([], [FGREP], [1], [A literal string matcher])
7672dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7673AC_SUBST([GREP])
7674])
7675
7676
7677# _LT_DECL_OBJDUMP
7678# --------------
7679# If we don't have a new enough Autoconf to choose the best objdump
7680# available, choose the one first in the user's PATH.
7681m4_defun([_LT_DECL_OBJDUMP],
7682[AC_CHECK_TOOL(OBJDUMP, objdump, false)
7683test -z "$OBJDUMP" && OBJDUMP=objdump
7684_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7685AC_SUBST([OBJDUMP])
7686])
7687
7688# _LT_DECL_DLLTOOL
7689# ----------------
7690# Ensure DLLTOOL variable is set.
7691m4_defun([_LT_DECL_DLLTOOL],
7692[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7693test -z "$DLLTOOL" && DLLTOOL=dlltool
7694_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
7695AC_SUBST([DLLTOOL])
7696])
7697
7698# _LT_DECL_SED
7699# ------------
7700# Check for a fully-functional sed program, that truncates
7701# as few characters as possible.  Prefer GNU sed if found.
7702m4_defun([_LT_DECL_SED],
7703[AC_PROG_SED
7704test -z "$SED" && SED=sed
7705Xsed="$SED -e 1s/^X//"
7706_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7707_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7708    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7709])# _LT_DECL_SED
7710
7711m4_ifndef([AC_PROG_SED], [
7712# NOTE: This macro has been submitted for inclusion into   #
7713#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
7714#  a released version of Autoconf we should remove this    #
7715#  macro and use it instead.                               #
7716
7717m4_defun([AC_PROG_SED],
7718[AC_MSG_CHECKING([for a sed that does not truncate output])
7719AC_CACHE_VAL(lt_cv_path_SED,
7720[# Loop through the user's path and test for sed and gsed.
7721# Then use that list of sed's as ones to test for truncation.
7722as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7723for as_dir in $PATH
7724do
7725  IFS=$as_save_IFS
7726  test -z "$as_dir" && as_dir=.
7727  for lt_ac_prog in sed gsed; do
7728    for ac_exec_ext in '' $ac_executable_extensions; do
7729      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7730        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7731      fi
7732    done
7733  done
7734done
7735IFS=$as_save_IFS
7736lt_ac_max=0
7737lt_ac_count=0
7738# Add /usr/xpg4/bin/sed as it is typically found on Solaris
7739# along with /bin/sed that truncates output.
7740for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7741  test ! -f $lt_ac_sed && continue
7742  cat /dev/null > conftest.in
7743  lt_ac_count=0
7744  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7745  # Check for GNU sed and select it if it is found.
7746  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7747    lt_cv_path_SED=$lt_ac_sed
7748    break
7749  fi
7750  while true; do
7751    cat conftest.in conftest.in >conftest.tmp
7752    mv conftest.tmp conftest.in
7753    cp conftest.in conftest.nl
7754    echo >>conftest.nl
7755    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7756    cmp -s conftest.out conftest.nl || break
7757    # 10000 chars as input seems more than enough
7758    test $lt_ac_count -gt 10 && break
7759    lt_ac_count=`expr $lt_ac_count + 1`
7760    if test $lt_ac_count -gt $lt_ac_max; then
7761      lt_ac_max=$lt_ac_count
7762      lt_cv_path_SED=$lt_ac_sed
7763    fi
7764  done
7765done
7766])
7767SED=$lt_cv_path_SED
7768AC_SUBST([SED])
7769AC_MSG_RESULT([$SED])
7770])#AC_PROG_SED
7771])#m4_ifndef
7772
7773# Old name:
7774AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7775dnl aclocal-1.4 backwards compatibility:
7776dnl AC_DEFUN([LT_AC_PROG_SED], [])
7777
7778
7779# _LT_CHECK_SHELL_FEATURES
7780# ------------------------
7781# Find out whether the shell is Bourne or XSI compatible,
7782# or has some other useful features.
7783m4_defun([_LT_CHECK_SHELL_FEATURES],
7784[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7785# Try some XSI features
7786xsi_shell=no
7787( _lt_dummy="a/b/c"
7788  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
7789      = c,a/b,b/c, \
7790    && eval 'test $(( 1 + 1 )) -eq 2 \
7791    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7792  && xsi_shell=yes
7793AC_MSG_RESULT([$xsi_shell])
7794_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7795
7796AC_MSG_CHECKING([whether the shell understands "+="])
7797lt_shell_append=no
7798( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7799    >/dev/null 2>&1 \
7800  && lt_shell_append=yes
7801AC_MSG_RESULT([$lt_shell_append])
7802_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7803
7804if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7805  lt_unset=unset
7806else
7807  lt_unset=false
7808fi
7809_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7810
7811# test EBCDIC or ASCII
7812case `echo X|tr X '\101'` in
7813 A) # ASCII based system
7814    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7815  lt_SP2NL='tr \040 \012'
7816  lt_NL2SP='tr \015\012 \040\040'
7817  ;;
7818 *) # EBCDIC based system
7819  lt_SP2NL='tr \100 \n'
7820  lt_NL2SP='tr \r\n \100\100'
7821  ;;
7822esac
7823_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7824_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7825])# _LT_CHECK_SHELL_FEATURES
7826
7827
7828# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
7829# ------------------------------------------------------
7830# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
7831# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
7832m4_defun([_LT_PROG_FUNCTION_REPLACE],
7833[dnl {
7834sed -e '/^$1 ()$/,/^} # $1 /c\
7835$1 ()\
7836{\
7837m4_bpatsubsts([$2], [$], [\\], [^\([	 ]\)], [\\\1])
7838} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
7839  && mv -f "$cfgfile.tmp" "$cfgfile" \
7840    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7841test 0 -eq $? || _lt_function_replace_fail=:
7842])
7843
7844
7845# _LT_PROG_REPLACE_SHELLFNS
7846# -------------------------
7847# Replace existing portable implementations of several shell functions with
7848# equivalent extended shell implementations where those features are available..
7849m4_defun([_LT_PROG_REPLACE_SHELLFNS],
7850[if test x"$xsi_shell" = xyes; then
7851  _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
7852    case ${1} in
7853      */*) func_dirname_result="${1%/*}${2}" ;;
7854      *  ) func_dirname_result="${3}" ;;
7855    esac])
7856
7857  _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
7858    func_basename_result="${1##*/}"])
7859
7860  _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
7861    case ${1} in
7862      */*) func_dirname_result="${1%/*}${2}" ;;
7863      *  ) func_dirname_result="${3}" ;;
7864    esac
7865    func_basename_result="${1##*/}"])
7866
7867  _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
7868    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7869    # positional parameters, so assign one to ordinary parameter first.
7870    func_stripname_result=${3}
7871    func_stripname_result=${func_stripname_result#"${1}"}
7872    func_stripname_result=${func_stripname_result%"${2}"}])
7873
7874  _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
7875    func_split_long_opt_name=${1%%=*}
7876    func_split_long_opt_arg=${1#*=}])
7877
7878  _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
7879    func_split_short_opt_arg=${1#??}
7880    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
7881
7882  _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
7883    case ${1} in
7884      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7885      *)    func_lo2o_result=${1} ;;
7886    esac])
7887
7888  _LT_PROG_FUNCTION_REPLACE([func_xform], [    func_xform_result=${1%.*}.lo])
7889
7890  _LT_PROG_FUNCTION_REPLACE([func_arith], [    func_arith_result=$(( $[*] ))])
7891
7892  _LT_PROG_FUNCTION_REPLACE([func_len], [    func_len_result=${#1}])
7893fi
7894
7895if test x"$lt_shell_append" = xyes; then
7896  _LT_PROG_FUNCTION_REPLACE([func_append], [    eval "${1}+=\\${2}"])
7897
7898  _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
7899    func_quote_for_eval "${2}"
7900dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
7901    eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
7902
7903  # Save a `func_append' function call where possible by direct use of '+='
7904  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
7905    && mv -f "$cfgfile.tmp" "$cfgfile" \
7906      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7907  test 0 -eq $? || _lt_function_replace_fail=:
7908else
7909  # Save a `func_append' function call even when '+=' is not available
7910  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
7911    && mv -f "$cfgfile.tmp" "$cfgfile" \
7912      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7913  test 0 -eq $? || _lt_function_replace_fail=:
7914fi
7915
7916if test x"$_lt_function_replace_fail" = x":"; then
7917  AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
7918fi
7919])
7920
7921# _LT_PATH_CONVERSION_FUNCTIONS
7922# -----------------------------
7923# Determine which file name conversion functions should be used by
7924# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
7925# for certain cross-compile configurations and native mingw.
7926m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
7927[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7928AC_REQUIRE([AC_CANONICAL_BUILD])dnl
7929AC_MSG_CHECKING([how to convert $build file names to $host format])
7930AC_CACHE_VAL(lt_cv_to_host_file_cmd,
7931[case $host in
7932  *-*-mingw* )
7933    case $build in
7934      *-*-mingw* ) # actually msys
7935        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
7936        ;;
7937      *-*-cygwin* )
7938        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
7939        ;;
7940      * ) # otherwise, assume *nix
7941        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
7942        ;;
7943    esac
7944    ;;
7945  *-*-cygwin* )
7946    case $build in
7947      *-*-mingw* ) # actually msys
7948        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
7949        ;;
7950      *-*-cygwin* )
7951        lt_cv_to_host_file_cmd=func_convert_file_noop
7952        ;;
7953      * ) # otherwise, assume *nix
7954        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
7955        ;;
7956    esac
7957    ;;
7958  * ) # unhandled hosts (and "normal" native builds)
7959    lt_cv_to_host_file_cmd=func_convert_file_noop
7960    ;;
7961esac
7962])
7963to_host_file_cmd=$lt_cv_to_host_file_cmd
7964AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
7965_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
7966         [0], [convert $build file names to $host format])dnl
7967
7968AC_MSG_CHECKING([how to convert $build file names to toolchain format])
7969AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
7970[#assume ordinary cross tools, or native build.
7971lt_cv_to_tool_file_cmd=func_convert_file_noop
7972case $host in
7973  *-*-mingw* )
7974    case $build in
7975      *-*-mingw* ) # actually msys
7976        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
7977        ;;
7978    esac
7979    ;;
7980esac
7981])
7982to_tool_file_cmd=$lt_cv_to_tool_file_cmd
7983AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
7984_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
7985         [0], [convert $build files to toolchain format])dnl
7986])# _LT_PATH_CONVERSION_FUNCTIONS
7987
7988# Helper functions for option handling.                    -*- Autoconf -*-
7989#
7990#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
7991#   Inc.
7992#   Written by Gary V. Vaughan, 2004
7993#
7994# This file is free software; the Free Software Foundation gives
7995# unlimited permission to copy and/or distribute it, with or without
7996# modifications, as long as this notice is preserved.
7997
7998# serial 7 ltoptions.m4
7999
8000# This is to help aclocal find these macros, as it can't see m4_define.
8001AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
8002
8003
8004# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
8005# ------------------------------------------
8006m4_define([_LT_MANGLE_OPTION],
8007[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
8008
8009
8010# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
8011# ---------------------------------------
8012# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
8013# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
8014# saved as a flag.
8015m4_define([_LT_SET_OPTION],
8016[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
8017m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
8018        _LT_MANGLE_DEFUN([$1], [$2]),
8019    [m4_warning([Unknown $1 option `$2'])])[]dnl
8020])
8021
8022
8023# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
8024# ------------------------------------------------------------
8025# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
8026m4_define([_LT_IF_OPTION],
8027[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
8028
8029
8030# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
8031# -------------------------------------------------------
8032# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
8033# are set.
8034m4_define([_LT_UNLESS_OPTIONS],
8035[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
8036	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
8037		      [m4_define([$0_found])])])[]dnl
8038m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
8039])[]dnl
8040])
8041
8042
8043# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
8044# ----------------------------------------
8045# OPTION-LIST is a space-separated list of Libtool options associated
8046# with MACRO-NAME.  If any OPTION has a matching handler declared with
8047# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
8048# the unknown option and exit.
8049m4_defun([_LT_SET_OPTIONS],
8050[# Set options
8051m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
8052    [_LT_SET_OPTION([$1], _LT_Option)])
8053
8054m4_if([$1],[LT_INIT],[
8055  dnl
8056  dnl Simply set some default values (i.e off) if boolean options were not
8057  dnl specified:
8058  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
8059  ])
8060  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
8061  ])
8062  dnl
8063  dnl If no reference was made to various pairs of opposing options, then
8064  dnl we run the default mode handler for the pair.  For example, if neither
8065  dnl `shared' nor `disable-shared' was passed, we enable building of shared
8066  dnl archives by default:
8067  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
8068  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
8069  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
8070  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
8071  		   [_LT_ENABLE_FAST_INSTALL])
8072  ])
8073])# _LT_SET_OPTIONS
8074
8075
8076
8077# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
8078# -----------------------------------------
8079m4_define([_LT_MANGLE_DEFUN],
8080[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
8081
8082
8083# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
8084# -----------------------------------------------
8085m4_define([LT_OPTION_DEFINE],
8086[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
8087])# LT_OPTION_DEFINE
8088
8089
8090# dlopen
8091# ------
8092LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
8093])
8094
8095AU_DEFUN([AC_LIBTOOL_DLOPEN],
8096[_LT_SET_OPTION([LT_INIT], [dlopen])
8097AC_DIAGNOSE([obsolete],
8098[$0: Remove this warning and the call to _LT_SET_OPTION when you
8099put the `dlopen' option into LT_INIT's first parameter.])
8100])
8101
8102dnl aclocal-1.4 backwards compatibility:
8103dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
8104
8105
8106# win32-dll
8107# ---------
8108# Declare package support for building win32 dll's.
8109LT_OPTION_DEFINE([LT_INIT], [win32-dll],
8110[enable_win32_dll=yes
8111
8112case $host in
8113*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
8114  AC_CHECK_TOOL(AS, as, false)
8115  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8116  AC_CHECK_TOOL(OBJDUMP, objdump, false)
8117  ;;
8118esac
8119
8120test -z "$AS" && AS=as
8121_LT_DECL([], [AS],      [1], [Assembler program])dnl
8122
8123test -z "$DLLTOOL" && DLLTOOL=dlltool
8124_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
8125
8126test -z "$OBJDUMP" && OBJDUMP=objdump
8127_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
8128])# win32-dll
8129
8130AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
8131[AC_REQUIRE([AC_CANONICAL_HOST])dnl
8132_LT_SET_OPTION([LT_INIT], [win32-dll])
8133AC_DIAGNOSE([obsolete],
8134[$0: Remove this warning and the call to _LT_SET_OPTION when you
8135put the `win32-dll' option into LT_INIT's first parameter.])
8136])
8137
8138dnl aclocal-1.4 backwards compatibility:
8139dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
8140
8141
8142# _LT_ENABLE_SHARED([DEFAULT])
8143# ----------------------------
8144# implement the --enable-shared flag, and supports the `shared' and
8145# `disable-shared' LT_INIT options.
8146# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
8147m4_define([_LT_ENABLE_SHARED],
8148[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
8149AC_ARG_ENABLE([shared],
8150    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
8151	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
8152    [p=${PACKAGE-default}
8153    case $enableval in
8154    yes) enable_shared=yes ;;
8155    no) enable_shared=no ;;
8156    *)
8157      enable_shared=no
8158      # Look at the argument we got.  We use all the common list separators.
8159      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8160      for pkg in $enableval; do
8161	IFS="$lt_save_ifs"
8162	if test "X$pkg" = "X$p"; then
8163	  enable_shared=yes
8164	fi
8165      done
8166      IFS="$lt_save_ifs"
8167      ;;
8168    esac],
8169    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
8170
8171    _LT_DECL([build_libtool_libs], [enable_shared], [0],
8172	[Whether or not to build shared libraries])
8173])# _LT_ENABLE_SHARED
8174
8175LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
8176LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
8177
8178# Old names:
8179AC_DEFUN([AC_ENABLE_SHARED],
8180[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
8181])
8182
8183AC_DEFUN([AC_DISABLE_SHARED],
8184[_LT_SET_OPTION([LT_INIT], [disable-shared])
8185])
8186
8187AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
8188AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
8189
8190dnl aclocal-1.4 backwards compatibility:
8191dnl AC_DEFUN([AM_ENABLE_SHARED], [])
8192dnl AC_DEFUN([AM_DISABLE_SHARED], [])
8193
8194
8195
8196# _LT_ENABLE_STATIC([DEFAULT])
8197# ----------------------------
8198# implement the --enable-static flag, and support the `static' and
8199# `disable-static' LT_INIT options.
8200# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
8201m4_define([_LT_ENABLE_STATIC],
8202[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
8203AC_ARG_ENABLE([static],
8204    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
8205	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
8206    [p=${PACKAGE-default}
8207    case $enableval in
8208    yes) enable_static=yes ;;
8209    no) enable_static=no ;;
8210    *)
8211     enable_static=no
8212      # Look at the argument we got.  We use all the common list separators.
8213      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8214      for pkg in $enableval; do
8215	IFS="$lt_save_ifs"
8216	if test "X$pkg" = "X$p"; then
8217	  enable_static=yes
8218	fi
8219      done
8220      IFS="$lt_save_ifs"
8221      ;;
8222    esac],
8223    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
8224
8225    _LT_DECL([build_old_libs], [enable_static], [0],
8226	[Whether or not to build static libraries])
8227])# _LT_ENABLE_STATIC
8228
8229LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
8230LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
8231
8232# Old names:
8233AC_DEFUN([AC_ENABLE_STATIC],
8234[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
8235])
8236
8237AC_DEFUN([AC_DISABLE_STATIC],
8238[_LT_SET_OPTION([LT_INIT], [disable-static])
8239])
8240
8241AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
8242AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
8243
8244dnl aclocal-1.4 backwards compatibility:
8245dnl AC_DEFUN([AM_ENABLE_STATIC], [])
8246dnl AC_DEFUN([AM_DISABLE_STATIC], [])
8247
8248
8249
8250# _LT_ENABLE_FAST_INSTALL([DEFAULT])
8251# ----------------------------------
8252# implement the --enable-fast-install flag, and support the `fast-install'
8253# and `disable-fast-install' LT_INIT options.
8254# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
8255m4_define([_LT_ENABLE_FAST_INSTALL],
8256[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
8257AC_ARG_ENABLE([fast-install],
8258    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
8259    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
8260    [p=${PACKAGE-default}
8261    case $enableval in
8262    yes) enable_fast_install=yes ;;
8263    no) enable_fast_install=no ;;
8264    *)
8265      enable_fast_install=no
8266      # Look at the argument we got.  We use all the common list separators.
8267      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8268      for pkg in $enableval; do
8269	IFS="$lt_save_ifs"
8270	if test "X$pkg" = "X$p"; then
8271	  enable_fast_install=yes
8272	fi
8273      done
8274      IFS="$lt_save_ifs"
8275      ;;
8276    esac],
8277    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
8278
8279_LT_DECL([fast_install], [enable_fast_install], [0],
8280	 [Whether or not to optimize for fast installation])dnl
8281])# _LT_ENABLE_FAST_INSTALL
8282
8283LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
8284LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
8285
8286# Old names:
8287AU_DEFUN([AC_ENABLE_FAST_INSTALL],
8288[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
8289AC_DIAGNOSE([obsolete],
8290[$0: Remove this warning and the call to _LT_SET_OPTION when you put
8291the `fast-install' option into LT_INIT's first parameter.])
8292])
8293
8294AU_DEFUN([AC_DISABLE_FAST_INSTALL],
8295[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
8296AC_DIAGNOSE([obsolete],
8297[$0: Remove this warning and the call to _LT_SET_OPTION when you put
8298the `disable-fast-install' option into LT_INIT's first parameter.])
8299])
8300
8301dnl aclocal-1.4 backwards compatibility:
8302dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
8303dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
8304
8305
8306# _LT_WITH_PIC([MODE])
8307# --------------------
8308# implement the --with-pic flag, and support the `pic-only' and `no-pic'
8309# LT_INIT options.
8310# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
8311m4_define([_LT_WITH_PIC],
8312[AC_ARG_WITH([pic],
8313    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
8314	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
8315    [lt_p=${PACKAGE-default}
8316    case $withval in
8317    yes|no) pic_mode=$withval ;;
8318    *)
8319      pic_mode=default
8320      # Look at the argument we got.  We use all the common list separators.
8321      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8322      for lt_pkg in $withval; do
8323	IFS="$lt_save_ifs"
8324	if test "X$lt_pkg" = "X$lt_p"; then
8325	  pic_mode=yes
8326	fi
8327      done
8328      IFS="$lt_save_ifs"
8329      ;;
8330    esac],
8331    [pic_mode=default])
8332
8333test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
8334
8335_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
8336])# _LT_WITH_PIC
8337
8338LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
8339LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
8340
8341# Old name:
8342AU_DEFUN([AC_LIBTOOL_PICMODE],
8343[_LT_SET_OPTION([LT_INIT], [pic-only])
8344AC_DIAGNOSE([obsolete],
8345[$0: Remove this warning and the call to _LT_SET_OPTION when you
8346put the `pic-only' option into LT_INIT's first parameter.])
8347])
8348
8349dnl aclocal-1.4 backwards compatibility:
8350dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
8351
8352
8353m4_define([_LTDL_MODE], [])
8354LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
8355		 [m4_define([_LTDL_MODE], [nonrecursive])])
8356LT_OPTION_DEFINE([LTDL_INIT], [recursive],
8357		 [m4_define([_LTDL_MODE], [recursive])])
8358LT_OPTION_DEFINE([LTDL_INIT], [subproject],
8359		 [m4_define([_LTDL_MODE], [subproject])])
8360
8361m4_define([_LTDL_TYPE], [])
8362LT_OPTION_DEFINE([LTDL_INIT], [installable],
8363		 [m4_define([_LTDL_TYPE], [installable])])
8364LT_OPTION_DEFINE([LTDL_INIT], [convenience],
8365		 [m4_define([_LTDL_TYPE], [convenience])])
8366
8367# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
8368#
8369# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
8370# Written by Gary V. Vaughan, 2004
8371#
8372# This file is free software; the Free Software Foundation gives
8373# unlimited permission to copy and/or distribute it, with or without
8374# modifications, as long as this notice is preserved.
8375
8376# serial 6 ltsugar.m4
8377
8378# This is to help aclocal find these macros, as it can't see m4_define.
8379AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
8380
8381
8382# lt_join(SEP, ARG1, [ARG2...])
8383# -----------------------------
8384# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
8385# associated separator.
8386# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
8387# versions in m4sugar had bugs.
8388m4_define([lt_join],
8389[m4_if([$#], [1], [],
8390       [$#], [2], [[$2]],
8391       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
8392m4_define([_lt_join],
8393[m4_if([$#$2], [2], [],
8394       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
8395
8396
8397# lt_car(LIST)
8398# lt_cdr(LIST)
8399# ------------
8400# Manipulate m4 lists.
8401# These macros are necessary as long as will still need to support
8402# Autoconf-2.59 which quotes differently.
8403m4_define([lt_car], [[$1]])
8404m4_define([lt_cdr],
8405[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
8406       [$#], 1, [],
8407       [m4_dquote(m4_shift($@))])])
8408m4_define([lt_unquote], $1)
8409
8410
8411# lt_append(MACRO-NAME, STRING, [SEPARATOR])
8412# ------------------------------------------
8413# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
8414# Note that neither SEPARATOR nor STRING are expanded; they are appended
8415# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
8416# No SEPARATOR is output if MACRO-NAME was previously undefined (different
8417# than defined and empty).
8418#
8419# This macro is needed until we can rely on Autoconf 2.62, since earlier
8420# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
8421m4_define([lt_append],
8422[m4_define([$1],
8423	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
8424
8425
8426
8427# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
8428# ----------------------------------------------------------
8429# Produce a SEP delimited list of all paired combinations of elements of
8430# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
8431# has the form PREFIXmINFIXSUFFIXn.
8432# Needed until we can rely on m4_combine added in Autoconf 2.62.
8433m4_define([lt_combine],
8434[m4_if(m4_eval([$# > 3]), [1],
8435       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
8436[[m4_foreach([_Lt_prefix], [$2],
8437	     [m4_foreach([_Lt_suffix],
8438		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
8439	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
8440
8441
8442# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
8443# -----------------------------------------------------------------------
8444# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
8445# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
8446m4_define([lt_if_append_uniq],
8447[m4_ifdef([$1],
8448	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
8449		 [lt_append([$1], [$2], [$3])$4],
8450		 [$5])],
8451	  [lt_append([$1], [$2], [$3])$4])])
8452
8453
8454# lt_dict_add(DICT, KEY, VALUE)
8455# -----------------------------
8456m4_define([lt_dict_add],
8457[m4_define([$1($2)], [$3])])
8458
8459
8460# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
8461# --------------------------------------------
8462m4_define([lt_dict_add_subkey],
8463[m4_define([$1($2:$3)], [$4])])
8464
8465
8466# lt_dict_fetch(DICT, KEY, [SUBKEY])
8467# ----------------------------------
8468m4_define([lt_dict_fetch],
8469[m4_ifval([$3],
8470	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
8471    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
8472
8473
8474# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
8475# -----------------------------------------------------------------
8476m4_define([lt_if_dict_fetch],
8477[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
8478	[$5],
8479    [$6])])
8480
8481
8482# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
8483# --------------------------------------------------------------
8484m4_define([lt_dict_filter],
8485[m4_if([$5], [], [],
8486  [lt_join(m4_quote(m4_default([$4], [[, ]])),
8487           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
8488		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
8489])
8490
8491# ltversion.m4 -- version numbers			-*- Autoconf -*-
8492#
8493#   Copyright (C) 2004 Free Software Foundation, Inc.
8494#   Written by Scott James Remnant, 2004
8495#
8496# This file is free software; the Free Software Foundation gives
8497# unlimited permission to copy and/or distribute it, with or without
8498# modifications, as long as this notice is preserved.
8499
8500# @configure_input@
8501
8502# serial 3337 ltversion.m4
8503# This file is part of GNU Libtool
8504
8505m4_define([LT_PACKAGE_VERSION], [2.4.2])
8506m4_define([LT_PACKAGE_REVISION], [1.3337])
8507
8508AC_DEFUN([LTVERSION_VERSION],
8509[macro_version='2.4.2'
8510macro_revision='1.3337'
8511_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
8512_LT_DECL(, macro_revision, 0)
8513])
8514
8515# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
8516#
8517#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
8518#   Written by Scott James Remnant, 2004.
8519#
8520# This file is free software; the Free Software Foundation gives
8521# unlimited permission to copy and/or distribute it, with or without
8522# modifications, as long as this notice is preserved.
8523
8524# serial 5 lt~obsolete.m4
8525
8526# These exist entirely to fool aclocal when bootstrapping libtool.
8527#
8528# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
8529# which have later been changed to m4_define as they aren't part of the
8530# exported API, or moved to Autoconf or Automake where they belong.
8531#
8532# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
8533# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
8534# using a macro with the same name in our local m4/libtool.m4 it'll
8535# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
8536# and doesn't know about Autoconf macros at all.)
8537#
8538# So we provide this file, which has a silly filename so it's always
8539# included after everything else.  This provides aclocal with the
8540# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
8541# because those macros already exist, or will be overwritten later.
8542# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
8543#
8544# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
8545# Yes, that means every name once taken will need to remain here until
8546# we give up compatibility with versions before 1.7, at which point
8547# we need to keep only those names which we still refer to.
8548
8549# This is to help aclocal find these macros, as it can't see m4_define.
8550AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
8551
8552m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
8553m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
8554m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
8555m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
8556m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
8557m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
8558m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
8559m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
8560m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
8561m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
8562m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
8563m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
8564m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
8565m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
8566m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
8567m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
8568m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
8569m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
8570m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
8571m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
8572m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
8573m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
8574m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
8575m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
8576m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
8577m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
8578m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
8579m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
8580m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
8581m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
8582m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
8583m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
8584m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
8585m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
8586m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
8587m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
8588m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
8589m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
8590m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
8591m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
8592m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
8593m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
8594m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
8595m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
8596m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
8597m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
8598m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
8599m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
8600m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
8601m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
8602m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
8603m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
8604m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
8605m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
8606m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
8607m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
8608m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
8609m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
8610m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
8611m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
8612m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
8613
8614# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
8615# serial 1 (pkg-config-0.24)
8616#
8617# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
8618#
8619# This program is free software; you can redistribute it and/or modify
8620# it under the terms of the GNU General Public License as published by
8621# the Free Software Foundation; either version 2 of the License, or
8622# (at your option) any later version.
8623#
8624# This program is distributed in the hope that it will be useful, but
8625# WITHOUT ANY WARRANTY; without even the implied warranty of
8626# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
8627# General Public License for more details.
8628#
8629# You should have received a copy of the GNU General Public License
8630# along with this program; if not, write to the Free Software
8631# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
8632#
8633# As a special exception to the GNU General Public License, if you
8634# distribute this file as part of a program that contains a
8635# configuration script generated by Autoconf, you may include it under
8636# the same distribution terms that you use for the rest of that program.
8637
8638# PKG_PROG_PKG_CONFIG([MIN-VERSION])
8639# ----------------------------------
8640AC_DEFUN([PKG_PROG_PKG_CONFIG],
8641[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
8642m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
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		     [pkg_failed=yes])
8690 else
8691    pkg_failed=untried
8692fi[]dnl
8693])# _PKG_CONFIG
8694
8695# _PKG_SHORT_ERRORS_SUPPORTED
8696# -----------------------------
8697AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
8698[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
8699if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
8700        _pkg_short_errors_supported=yes
8701else
8702        _pkg_short_errors_supported=no
8703fi[]dnl
8704])# _PKG_SHORT_ERRORS_SUPPORTED
8705
8706
8707# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
8708# [ACTION-IF-NOT-FOUND])
8709#
8710#
8711# Note that if there is a possibility the first call to
8712# PKG_CHECK_MODULES might not happen, you should be sure to include an
8713# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
8714#
8715#
8716# --------------------------------------------------------------
8717AC_DEFUN([PKG_CHECK_MODULES],
8718[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
8719AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
8720AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
8721
8722pkg_failed=no
8723AC_MSG_CHECKING([for $1])
8724
8725_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
8726_PKG_CONFIG([$1][_LIBS], [libs], [$2])
8727
8728m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
8729and $1[]_LIBS to avoid the need to call pkg-config.
8730See the pkg-config man page for more details.])
8731
8732if test $pkg_failed = yes; then
8733   	AC_MSG_RESULT([no])
8734        _PKG_SHORT_ERRORS_SUPPORTED
8735        if test $_pkg_short_errors_supported = yes; then
8736	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
8737        else
8738	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
8739        fi
8740	# Put the nasty error message in config.log where it belongs
8741	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
8742
8743	m4_default([$4], [AC_MSG_ERROR(
8744[Package requirements ($2) were not met:
8745
8746$$1_PKG_ERRORS
8747
8748Consider adjusting the PKG_CONFIG_PATH environment variable if you
8749installed software in a non-standard prefix.
8750
8751_PKG_TEXT])
8752        ])
8753elif test $pkg_failed = untried; then
8754     	AC_MSG_RESULT([no])
8755	m4_default([$4], [AC_MSG_FAILURE(
8756[The pkg-config script could not be found or is too old.  Make sure it
8757is in your PATH or set the PKG_CONFIG environment variable to the full
8758path to pkg-config.
8759
8760_PKG_TEXT
8761
8762To get pkg-config, see <http://pkg-config.freedesktop.org/>.])
8763        ])
8764else
8765	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
8766	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
8767        AC_MSG_RESULT([yes])
8768	$3
8769fi[]dnl
8770])# PKG_CHECK_MODULES
8771
8772dnl xorg-macros.m4.  Generated from xorg-macros.m4.in xorgversion.m4 by configure.
8773dnl
8774dnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
8775dnl
8776dnl Permission is hereby granted, free of charge, to any person obtaining a
8777dnl copy of this software and associated documentation files (the "Software"),
8778dnl to deal in the Software without restriction, including without limitation
8779dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
8780dnl and/or sell copies of the Software, and to permit persons to whom the
8781dnl Software is furnished to do so, subject to the following conditions:
8782dnl
8783dnl The above copyright notice and this permission notice (including the next
8784dnl paragraph) shall be included in all copies or substantial portions of the
8785dnl Software.
8786dnl
8787dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8788dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
8789dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
8790dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
8791dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
8792dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
8793dnl DEALINGS IN THE SOFTWARE.
8794
8795# XORG_MACROS_VERSION(required-version)
8796# -------------------------------------
8797# Minimum version: 1.1.0
8798#
8799# If you're using a macro added in Version 1.1 or newer, include this in
8800# your configure.ac with the minimum required version, such as:
8801# XORG_MACROS_VERSION(1.1)
8802#
8803# To ensure that this macro is defined, also add:
8804# m4_ifndef([XORG_MACROS_VERSION],
8805#     [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
8806#
8807#
8808# See the "minimum version" comment for each macro you use to see what
8809# version you require.
8810m4_defun([XORG_MACROS_VERSION],[
8811m4_define([vers_have], [1.17])
8812m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
8813m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
8814m4_if(m4_cmp(maj_have, maj_needed), 0,,
8815    [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
8816m4_if(m4_version_compare(vers_have, [$1]), -1,
8817    [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
8818m4_undefine([vers_have])
8819m4_undefine([maj_have])
8820m4_undefine([maj_needed])
8821]) # XORG_MACROS_VERSION
8822
8823# XORG_PROG_RAWCPP()
8824# ------------------
8825# Minimum version: 1.0.0
8826#
8827# Find cpp program and necessary flags for use in pre-processing text files
8828# such as man pages and config files
8829AC_DEFUN([XORG_PROG_RAWCPP],[
8830AC_REQUIRE([AC_PROG_CPP])
8831AC_PATH_PROGS(RAWCPP, [cpp], [${CPP}],
8832   [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
8833
8834# Check for flag to avoid builtin definitions - assumes unix is predefined,
8835# which is not the best choice for supporting other OS'es, but covers most
8836# of the ones we need for now.
8837AC_MSG_CHECKING([if $RAWCPP requires -undef])
8838AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp redefine unix ?]])])
8839if test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
8840	AC_MSG_RESULT([no])
8841else
8842	if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
8843		RAWCPPFLAGS=-undef
8844		AC_MSG_RESULT([yes])
8845	# under Cygwin unix is still defined even with -undef
8846	elif test `${RAWCPP} -undef -ansi < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
8847		RAWCPPFLAGS="-undef -ansi"
8848		AC_MSG_RESULT([yes, with -ansi])
8849	else
8850		AC_MSG_ERROR([${RAWCPP} defines unix with or without -undef.  I don't know what to do.])
8851	fi
8852fi
8853rm -f conftest.$ac_ext
8854
8855AC_MSG_CHECKING([if $RAWCPP requires -traditional])
8856AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp preserve   "whitespace"?]])])
8857if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
8858	AC_MSG_RESULT([no])
8859else
8860	if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
8861		RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
8862		AC_MSG_RESULT([yes])
8863	else
8864		AC_MSG_ERROR([${RAWCPP} does not preserve whitespace with or without -traditional.  I don't know what to do.])
8865	fi
8866fi
8867rm -f conftest.$ac_ext
8868AC_SUBST(RAWCPPFLAGS)
8869]) # XORG_PROG_RAWCPP
8870
8871# XORG_MANPAGE_SECTIONS()
8872# -----------------------
8873# Minimum version: 1.0.0
8874#
8875# Determine which sections man pages go in for the different man page types
8876# on this OS - replaces *ManSuffix settings in old Imake *.cf per-os files.
8877# Not sure if there's any better way than just hardcoding by OS name.
8878# Override default settings by setting environment variables
8879# Added MAN_SUBSTS in version 1.8
8880# Added AC_PROG_SED in version 1.8
8881
8882AC_DEFUN([XORG_MANPAGE_SECTIONS],[
8883AC_REQUIRE([AC_CANONICAL_HOST])
8884AC_REQUIRE([AC_PROG_SED])
8885
8886if test x$APP_MAN_SUFFIX = x    ; then
8887    APP_MAN_SUFFIX=1
8888fi
8889if test x$APP_MAN_DIR = x    ; then
8890    APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)'
8891fi
8892
8893if test x$LIB_MAN_SUFFIX = x    ; then
8894    LIB_MAN_SUFFIX=3
8895fi
8896if test x$LIB_MAN_DIR = x    ; then
8897    LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)'
8898fi
8899
8900if test x$FILE_MAN_SUFFIX = x    ; then
8901    case $host_os in
8902	solaris*)	FILE_MAN_SUFFIX=4  ;;
8903	*)		FILE_MAN_SUFFIX=5  ;;
8904    esac
8905fi
8906if test x$FILE_MAN_DIR = x    ; then
8907    FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)'
8908fi
8909
8910if test x$MISC_MAN_SUFFIX = x    ; then
8911    case $host_os in
8912	solaris*)	MISC_MAN_SUFFIX=5  ;;
8913	*)		MISC_MAN_SUFFIX=7  ;;
8914    esac
8915fi
8916if test x$MISC_MAN_DIR = x    ; then
8917    MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)'
8918fi
8919
8920if test x$DRIVER_MAN_SUFFIX = x    ; then
8921    case $host_os in
8922	solaris*)	DRIVER_MAN_SUFFIX=7  ;;
8923	*)		DRIVER_MAN_SUFFIX=4  ;;
8924    esac
8925fi
8926if test x$DRIVER_MAN_DIR = x    ; then
8927    DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)'
8928fi
8929
8930if test x$ADMIN_MAN_SUFFIX = x    ; then
8931    case $host_os in
8932	solaris*)	ADMIN_MAN_SUFFIX=1m ;;
8933	*)		ADMIN_MAN_SUFFIX=8  ;;
8934    esac
8935fi
8936if test x$ADMIN_MAN_DIR = x    ; then
8937    ADMIN_MAN_DIR='$(mandir)/man$(ADMIN_MAN_SUFFIX)'
8938fi
8939
8940
8941AC_SUBST([APP_MAN_SUFFIX])
8942AC_SUBST([LIB_MAN_SUFFIX])
8943AC_SUBST([FILE_MAN_SUFFIX])
8944AC_SUBST([MISC_MAN_SUFFIX])
8945AC_SUBST([DRIVER_MAN_SUFFIX])
8946AC_SUBST([ADMIN_MAN_SUFFIX])
8947AC_SUBST([APP_MAN_DIR])
8948AC_SUBST([LIB_MAN_DIR])
8949AC_SUBST([FILE_MAN_DIR])
8950AC_SUBST([MISC_MAN_DIR])
8951AC_SUBST([DRIVER_MAN_DIR])
8952AC_SUBST([ADMIN_MAN_DIR])
8953
8954XORG_MAN_PAGE="X Version 11"
8955AC_SUBST([XORG_MAN_PAGE])
8956MAN_SUBSTS="\
8957	-e 's|__vendorversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
8958	-e 's|__xorgversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
8959	-e 's|__xservername__|Xorg|g' \
8960	-e 's|__xconfigfile__|xorg.conf|g' \
8961	-e 's|__projectroot__|\$(prefix)|g' \
8962	-e 's|__apploaddir__|\$(appdefaultdir)|g' \
8963	-e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \
8964	-e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \
8965	-e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \
8966	-e 's|__libmansuffix__|\$(LIB_MAN_SUFFIX)|g' \
8967	-e 's|__miscmansuffix__|\$(MISC_MAN_SUFFIX)|g' \
8968	-e 's|__filemansuffix__|\$(FILE_MAN_SUFFIX)|g'"
8969AC_SUBST([MAN_SUBSTS])
8970
8971]) # XORG_MANPAGE_SECTIONS
8972
8973# XORG_CHECK_SGML_DOCTOOLS([MIN-VERSION])
8974# ------------------------
8975# Minimum version: 1.7.0
8976#
8977# Defines the variable XORG_SGML_PATH containing the location of X11/defs.ent
8978# provided by xorg-sgml-doctools, if installed.
8979AC_DEFUN([XORG_CHECK_SGML_DOCTOOLS],[
8980AC_MSG_CHECKING([for X.Org SGML entities m4_ifval([$1],[>= $1])])
8981XORG_SGML_PATH=
8982PKG_CHECK_EXISTS([xorg-sgml-doctools m4_ifval([$1],[>= $1])],
8983    [XORG_SGML_PATH=`$PKG_CONFIG --variable=sgmlrootdir xorg-sgml-doctools`],
8984    [m4_ifval([$1],[:],
8985        [if test x"$cross_compiling" != x"yes" ; then
8986            AC_CHECK_FILE([$prefix/share/sgml/X11/defs.ent],
8987                          [XORG_SGML_PATH=$prefix/share/sgml])
8988         fi])
8989    ])
8990
8991# Define variables STYLESHEET_SRCDIR and XSL_STYLESHEET containing
8992# the path and the name of the doc stylesheet
8993if test "x$XORG_SGML_PATH" != "x" ; then
8994   AC_MSG_RESULT([$XORG_SGML_PATH])
8995   STYLESHEET_SRCDIR=$XORG_SGML_PATH/X11
8996   XSL_STYLESHEET=$STYLESHEET_SRCDIR/xorg.xsl
8997else
8998   AC_MSG_RESULT([no])
8999fi
9000
9001AC_SUBST(XORG_SGML_PATH)
9002AC_SUBST(STYLESHEET_SRCDIR)
9003AC_SUBST(XSL_STYLESHEET)
9004AM_CONDITIONAL([HAVE_STYLESHEETS], [test "x$XSL_STYLESHEET" != "x"])
9005]) # XORG_CHECK_SGML_DOCTOOLS
9006
9007# XORG_CHECK_LINUXDOC
9008# -------------------
9009# Minimum version: 1.0.0
9010#
9011# Defines the variable MAKE_TEXT if the necessary tools and
9012# files are found. $(MAKE_TEXT) blah.sgml will then produce blah.txt.
9013# Whether or not the necessary tools and files are found can be checked
9014# with the AM_CONDITIONAL "BUILD_LINUXDOC"
9015AC_DEFUN([XORG_CHECK_LINUXDOC],[
9016AC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
9017AC_REQUIRE([XORG_WITH_PS2PDF])
9018
9019AC_PATH_PROG(LINUXDOC, linuxdoc)
9020
9021AC_MSG_CHECKING([whether to build documentation])
9022
9023if test x$XORG_SGML_PATH != x && test x$LINUXDOC != x ; then
9024   BUILDDOC=yes
9025else
9026   BUILDDOC=no
9027fi
9028
9029AM_CONDITIONAL(BUILD_LINUXDOC, [test x$BUILDDOC = xyes])
9030
9031AC_MSG_RESULT([$BUILDDOC])
9032
9033AC_MSG_CHECKING([whether to build pdf documentation])
9034
9035if test x$have_ps2pdf != xno && test x$BUILD_PDFDOC != xno; then
9036   BUILDPDFDOC=yes
9037else
9038   BUILDPDFDOC=no
9039fi
9040
9041AM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
9042
9043AC_MSG_RESULT([$BUILDPDFDOC])
9044
9045MAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH GROFF_NO_SGR=y $LINUXDOC -B txt -f"
9046MAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B latex --papersize=letter --output=ps"
9047MAKE_PDF="$PS2PDF"
9048MAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC  -B html --split=0"
9049
9050AC_SUBST(MAKE_TEXT)
9051AC_SUBST(MAKE_PS)
9052AC_SUBST(MAKE_PDF)
9053AC_SUBST(MAKE_HTML)
9054]) # XORG_CHECK_LINUXDOC
9055
9056# XORG_CHECK_DOCBOOK
9057# -------------------
9058# Minimum version: 1.0.0
9059#
9060# Checks for the ability to build output formats from SGML DocBook source.
9061# For XXX in {TXT, PDF, PS, HTML}, the AM_CONDITIONAL "BUILD_XXXDOC"
9062# indicates whether the necessary tools and files are found and, if set,
9063# $(MAKE_XXX) blah.sgml will produce blah.xxx.
9064AC_DEFUN([XORG_CHECK_DOCBOOK],[
9065AC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
9066
9067BUILDTXTDOC=no
9068BUILDPDFDOC=no
9069BUILDPSDOC=no
9070BUILDHTMLDOC=no
9071
9072AC_PATH_PROG(DOCBOOKPS, docbook2ps)
9073AC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
9074AC_PATH_PROG(DOCBOOKHTML, docbook2html)
9075AC_PATH_PROG(DOCBOOKTXT, docbook2txt)
9076
9077AC_MSG_CHECKING([whether to build text documentation])
9078if test x$XORG_SGML_PATH != x && test x$DOCBOOKTXT != x &&
9079   test x$BUILD_TXTDOC != xno; then
9080	BUILDTXTDOC=yes
9081fi
9082AM_CONDITIONAL(BUILD_TXTDOC, [test x$BUILDTXTDOC = xyes])
9083AC_MSG_RESULT([$BUILDTXTDOC])
9084
9085AC_MSG_CHECKING([whether to build PDF documentation])
9086if test x$XORG_SGML_PATH != x && test x$DOCBOOKPDF != x &&
9087   test x$BUILD_PDFDOC != xno; then
9088	BUILDPDFDOC=yes
9089fi
9090AM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
9091AC_MSG_RESULT([$BUILDPDFDOC])
9092
9093AC_MSG_CHECKING([whether to build PostScript documentation])
9094if test x$XORG_SGML_PATH != x && test x$DOCBOOKPS != x &&
9095   test x$BUILD_PSDOC != xno; then
9096	BUILDPSDOC=yes
9097fi
9098AM_CONDITIONAL(BUILD_PSDOC, [test x$BUILDPSDOC = xyes])
9099AC_MSG_RESULT([$BUILDPSDOC])
9100
9101AC_MSG_CHECKING([whether to build HTML documentation])
9102if test x$XORG_SGML_PATH != x && test x$DOCBOOKHTML != x &&
9103   test x$BUILD_HTMLDOC != xno; then
9104	BUILDHTMLDOC=yes
9105fi
9106AM_CONDITIONAL(BUILD_HTMLDOC, [test x$BUILDHTMLDOC = xyes])
9107AC_MSG_RESULT([$BUILDHTMLDOC])
9108
9109MAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKTXT"
9110MAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPS"
9111MAKE_PDF="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPDF"
9112MAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKHTML"
9113
9114AC_SUBST(MAKE_TEXT)
9115AC_SUBST(MAKE_PS)
9116AC_SUBST(MAKE_PDF)
9117AC_SUBST(MAKE_HTML)
9118]) # XORG_CHECK_DOCBOOK
9119
9120# XORG_WITH_XMLTO([MIN-VERSION], [DEFAULT])
9121# ----------------
9122# Minimum version: 1.5.0
9123# Minimum version for optional DEFAULT argument: 1.11.0
9124#
9125# Documentation tools are not always available on all platforms and sometimes
9126# not at the appropriate level. This macro enables a module to test for the
9127# presence of the tool and obtain it's path in separate variables. Coupled with
9128# the --with-xmlto option, it allows maximum flexibilty in making decisions
9129# as whether or not to use the xmlto package. When DEFAULT is not specified,
9130# --with-xmlto assumes 'auto'.
9131#
9132# Interface to module:
9133# HAVE_XMLTO: 	used in makefiles to conditionally generate documentation
9134# XMLTO:	returns the path of the xmlto program found
9135#		returns the path set by the user in the environment
9136# --with-xmlto:	'yes' user instructs the module to use xmlto
9137#		'no' user instructs the module not to use xmlto
9138#
9139# Added in version 1.10.0
9140# HAVE_XMLTO_TEXT: used in makefiles to conditionally generate text documentation
9141#                  xmlto for text output requires either lynx, links, or w3m browsers
9142#
9143# If the user sets the value of XMLTO, AC_PATH_PROG skips testing the path.
9144#
9145AC_DEFUN([XORG_WITH_XMLTO],[
9146AC_ARG_VAR([XMLTO], [Path to xmlto command])
9147m4_define([_defopt], m4_default([$2], [auto]))
9148AC_ARG_WITH(xmlto,
9149	AS_HELP_STRING([--with-xmlto],
9150	   [Use xmlto to regenerate documentation (default: ]_defopt[)]),
9151	   [use_xmlto=$withval], [use_xmlto=]_defopt)
9152m4_undefine([_defopt])
9153
9154if test "x$use_xmlto" = x"auto"; then
9155   AC_PATH_PROG([XMLTO], [xmlto])
9156   if test "x$XMLTO" = "x"; then
9157        AC_MSG_WARN([xmlto not found - documentation targets will be skipped])
9158	have_xmlto=no
9159   else
9160        have_xmlto=yes
9161   fi
9162elif test "x$use_xmlto" = x"yes" ; then
9163   AC_PATH_PROG([XMLTO], [xmlto])
9164   if test "x$XMLTO" = "x"; then
9165        AC_MSG_ERROR([--with-xmlto=yes specified but xmlto not found in PATH])
9166   fi
9167   have_xmlto=yes
9168elif test "x$use_xmlto" = x"no" ; then
9169   if test "x$XMLTO" != "x"; then
9170      AC_MSG_WARN([ignoring XMLTO environment variable since --with-xmlto=no was specified])
9171   fi
9172   have_xmlto=no
9173else
9174   AC_MSG_ERROR([--with-xmlto expects 'yes' or 'no'])
9175fi
9176
9177# Test for a minimum version of xmlto, if provided.
9178m4_ifval([$1],
9179[if test "$have_xmlto" = yes; then
9180    # scrape the xmlto version
9181    AC_MSG_CHECKING([the xmlto version])
9182    xmlto_version=`$XMLTO --version 2>/dev/null | cut -d' ' -f3`
9183    AC_MSG_RESULT([$xmlto_version])
9184    AS_VERSION_COMPARE([$xmlto_version], [$1],
9185        [if test "x$use_xmlto" = xauto; then
9186            AC_MSG_WARN([xmlto version $xmlto_version found, but $1 needed])
9187            have_xmlto=no
9188        else
9189            AC_MSG_ERROR([xmlto version $xmlto_version found, but $1 needed])
9190        fi])
9191fi])
9192
9193# Test for the ability of xmlto to generate a text target
9194have_xmlto_text=no
9195cat > conftest.xml << "EOF"
9196EOF
9197AS_IF([test "$have_xmlto" = yes],
9198      [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
9199             [have_xmlto_text=yes],
9200             [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])
9201rm -f conftest.xml
9202AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
9203AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
9204]) # XORG_WITH_XMLTO
9205
9206# XORG_WITH_XSLTPROC([MIN-VERSION], [DEFAULT])
9207# --------------------------------------------
9208# Minimum version: 1.12.0
9209# Minimum version for optional DEFAULT argument: 1.12.0
9210#
9211# XSLT (Extensible Stylesheet Language Transformations) is a declarative,
9212# XML-based language used for the transformation of XML documents.
9213# The xsltproc command line tool is for applying XSLT stylesheets to XML documents.
9214# It is used under the cover by xmlto to generate html files from DocBook/XML.
9215# The XSLT processor is often used as a standalone tool for transformations.
9216# It should not be assumed that this tool is used only to work with documnetation.
9217# When DEFAULT is not specified, --with-xsltproc assumes 'auto'.
9218#
9219# Interface to module:
9220# HAVE_XSLTPROC: used in makefiles to conditionally generate documentation
9221# XSLTPROC:	 returns the path of the xsltproc program found
9222#		 returns the path set by the user in the environment
9223# --with-xsltproc: 'yes' user instructs the module to use xsltproc
9224#		  'no' user instructs the module not to use xsltproc
9225# have_xsltproc: returns yes if xsltproc found in PATH or no
9226#
9227# If the user sets the value of XSLTPROC, AC_PATH_PROG skips testing the path.
9228#
9229AC_DEFUN([XORG_WITH_XSLTPROC],[
9230AC_ARG_VAR([XSLTPROC], [Path to xsltproc command])
9231# Preserves the interface, should it be implemented later
9232m4_ifval([$1], [m4_warn([syntax], [Checking for xsltproc MIN-VERSION is not implemented])])
9233m4_define([_defopt], m4_default([$2], [auto]))
9234AC_ARG_WITH(xsltproc,
9235	AS_HELP_STRING([--with-xsltproc],
9236	   [Use xsltproc for the transformation of XML documents (default: ]_defopt[)]),
9237	   [use_xsltproc=$withval], [use_xsltproc=]_defopt)
9238m4_undefine([_defopt])
9239
9240if test "x$use_xsltproc" = x"auto"; then
9241   AC_PATH_PROG([XSLTPROC], [xsltproc])
9242   if test "x$XSLTPROC" = "x"; then
9243        AC_MSG_WARN([xsltproc not found - cannot transform XML documents])
9244	have_xsltproc=no
9245   else
9246        have_xsltproc=yes
9247   fi
9248elif test "x$use_xsltproc" = x"yes" ; then
9249   AC_PATH_PROG([XSLTPROC], [xsltproc])
9250   if test "x$XSLTPROC" = "x"; then
9251        AC_MSG_ERROR([--with-xsltproc=yes specified but xsltproc not found in PATH])
9252   fi
9253   have_xsltproc=yes
9254elif test "x$use_xsltproc" = x"no" ; then
9255   if test "x$XSLTPROC" != "x"; then
9256      AC_MSG_WARN([ignoring XSLTPROC environment variable since --with-xsltproc=no was specified])
9257   fi
9258   have_xsltproc=no
9259else
9260   AC_MSG_ERROR([--with-xsltproc expects 'yes' or 'no'])
9261fi
9262
9263AM_CONDITIONAL([HAVE_XSLTPROC], [test "$have_xsltproc" = yes])
9264]) # XORG_WITH_XSLTPROC
9265
9266# XORG_WITH_PERL([MIN-VERSION], [DEFAULT])
9267# ----------------------------------------
9268# Minimum version: 1.15.0
9269#
9270# PERL (Practical Extraction and Report Language) is a language optimized for
9271# scanning arbitrary text files, extracting information from those text files,
9272# and printing reports based on that information.
9273#
9274# When DEFAULT is not specified, --with-perl assumes 'auto'.
9275#
9276# Interface to module:
9277# HAVE_PERL: used in makefiles to conditionally scan text files
9278# PERL:	     returns the path of the perl program found
9279#	     returns the path set by the user in the environment
9280# --with-perl: 'yes' user instructs the module to use perl
9281#	       'no' user instructs the module not to use perl
9282# have_perl: returns yes if perl found in PATH or no
9283#
9284# If the user sets the value of PERL, AC_PATH_PROG skips testing the path.
9285#
9286AC_DEFUN([XORG_WITH_PERL],[
9287AC_ARG_VAR([PERL], [Path to perl command])
9288# Preserves the interface, should it be implemented later
9289m4_ifval([$1], [m4_warn([syntax], [Checking for perl MIN-VERSION is not implemented])])
9290m4_define([_defopt], m4_default([$2], [auto]))
9291AC_ARG_WITH(perl,
9292	AS_HELP_STRING([--with-perl],
9293	   [Use perl for extracting information from files (default: ]_defopt[)]),
9294	   [use_perl=$withval], [use_perl=]_defopt)
9295m4_undefine([_defopt])
9296
9297if test "x$use_perl" = x"auto"; then
9298   AC_PATH_PROG([PERL], [perl])
9299   if test "x$PERL" = "x"; then
9300        AC_MSG_WARN([perl not found - cannot extract information and report])
9301	have_perl=no
9302   else
9303        have_perl=yes
9304   fi
9305elif test "x$use_perl" = x"yes" ; then
9306   AC_PATH_PROG([PERL], [perl])
9307   if test "x$PERL" = "x"; then
9308        AC_MSG_ERROR([--with-perl=yes specified but perl not found in PATH])
9309   fi
9310   have_perl=yes
9311elif test "x$use_perl" = x"no" ; then
9312   if test "x$PERL" != "x"; then
9313      AC_MSG_WARN([ignoring PERL environment variable since --with-perl=no was specified])
9314   fi
9315   have_perl=no
9316else
9317   AC_MSG_ERROR([--with-perl expects 'yes' or 'no'])
9318fi
9319
9320AM_CONDITIONAL([HAVE_PERL], [test "$have_perl" = yes])
9321]) # XORG_WITH_PERL
9322
9323# XORG_WITH_ASCIIDOC([MIN-VERSION], [DEFAULT])
9324# ----------------
9325# Minimum version: 1.5.0
9326# Minimum version for optional DEFAULT argument: 1.11.0
9327#
9328# Documentation tools are not always available on all platforms and sometimes
9329# not at the appropriate level. This macro enables a module to test for the
9330# presence of the tool and obtain it's path in separate variables. Coupled with
9331# the --with-asciidoc option, it allows maximum flexibilty in making decisions
9332# as whether or not to use the asciidoc package. When DEFAULT is not specified,
9333# --with-asciidoc assumes 'auto'.
9334#
9335# Interface to module:
9336# HAVE_ASCIIDOC: used in makefiles to conditionally generate documentation
9337# ASCIIDOC:	 returns the path of the asciidoc program found
9338#		 returns the path set by the user in the environment
9339# --with-asciidoc: 'yes' user instructs the module to use asciidoc
9340#		  'no' user instructs the module not to use asciidoc
9341#
9342# If the user sets the value of ASCIIDOC, AC_PATH_PROG skips testing the path.
9343#
9344AC_DEFUN([XORG_WITH_ASCIIDOC],[
9345AC_ARG_VAR([ASCIIDOC], [Path to asciidoc command])
9346m4_define([_defopt], m4_default([$2], [auto]))
9347AC_ARG_WITH(asciidoc,
9348	AS_HELP_STRING([--with-asciidoc],
9349	   [Use asciidoc to regenerate documentation (default: ]_defopt[)]),
9350	   [use_asciidoc=$withval], [use_asciidoc=]_defopt)
9351m4_undefine([_defopt])
9352
9353if test "x$use_asciidoc" = x"auto"; then
9354   AC_PATH_PROG([ASCIIDOC], [asciidoc])
9355   if test "x$ASCIIDOC" = "x"; then
9356        AC_MSG_WARN([asciidoc not found - documentation targets will be skipped])
9357	have_asciidoc=no
9358   else
9359        have_asciidoc=yes
9360   fi
9361elif test "x$use_asciidoc" = x"yes" ; then
9362   AC_PATH_PROG([ASCIIDOC], [asciidoc])
9363   if test "x$ASCIIDOC" = "x"; then
9364        AC_MSG_ERROR([--with-asciidoc=yes specified but asciidoc not found in PATH])
9365   fi
9366   have_asciidoc=yes
9367elif test "x$use_asciidoc" = x"no" ; then
9368   if test "x$ASCIIDOC" != "x"; then
9369      AC_MSG_WARN([ignoring ASCIIDOC environment variable since --with-asciidoc=no was specified])
9370   fi
9371   have_asciidoc=no
9372else
9373   AC_MSG_ERROR([--with-asciidoc expects 'yes' or 'no'])
9374fi
9375m4_ifval([$1],
9376[if test "$have_asciidoc" = yes; then
9377    # scrape the asciidoc version
9378    AC_MSG_CHECKING([the asciidoc version])
9379    asciidoc_version=`$ASCIIDOC --version 2>/dev/null | cut -d' ' -f2`
9380    AC_MSG_RESULT([$asciidoc_version])
9381    AS_VERSION_COMPARE([$asciidoc_version], [$1],
9382        [if test "x$use_asciidoc" = xauto; then
9383            AC_MSG_WARN([asciidoc version $asciidoc_version found, but $1 needed])
9384            have_asciidoc=no
9385        else
9386            AC_MSG_ERROR([asciidoc version $asciidoc_version found, but $1 needed])
9387        fi])
9388fi])
9389AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
9390]) # XORG_WITH_ASCIIDOC
9391
9392# XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT])
9393# --------------------------------
9394# Minimum version: 1.5.0
9395# Minimum version for optional DEFAULT argument: 1.11.0
9396#
9397# Documentation tools are not always available on all platforms and sometimes
9398# not at the appropriate level. This macro enables a module to test for the
9399# presence of the tool and obtain it's path in separate variables. Coupled with
9400# the --with-doxygen option, it allows maximum flexibilty in making decisions
9401# as whether or not to use the doxygen package. When DEFAULT is not specified,
9402# --with-doxygen assumes 'auto'.
9403#
9404# Interface to module:
9405# HAVE_DOXYGEN: used in makefiles to conditionally generate documentation
9406# DOXYGEN:	 returns the path of the doxygen program found
9407#		 returns the path set by the user in the environment
9408# --with-doxygen: 'yes' user instructs the module to use doxygen
9409#		  'no' user instructs the module not to use doxygen
9410#
9411# If the user sets the value of DOXYGEN, AC_PATH_PROG skips testing the path.
9412#
9413AC_DEFUN([XORG_WITH_DOXYGEN],[
9414AC_ARG_VAR([DOXYGEN], [Path to doxygen command])
9415m4_define([_defopt], m4_default([$2], [auto]))
9416AC_ARG_WITH(doxygen,
9417	AS_HELP_STRING([--with-doxygen],
9418	   [Use doxygen to regenerate documentation (default: ]_defopt[)]),
9419	   [use_doxygen=$withval], [use_doxygen=]_defopt)
9420m4_undefine([_defopt])
9421
9422if test "x$use_doxygen" = x"auto"; then
9423   AC_PATH_PROG([DOXYGEN], [doxygen])
9424   if test "x$DOXYGEN" = "x"; then
9425        AC_MSG_WARN([doxygen not found - documentation targets will be skipped])
9426	have_doxygen=no
9427   else
9428        have_doxygen=yes
9429   fi
9430elif test "x$use_doxygen" = x"yes" ; then
9431   AC_PATH_PROG([DOXYGEN], [doxygen])
9432   if test "x$DOXYGEN" = "x"; then
9433        AC_MSG_ERROR([--with-doxygen=yes specified but doxygen not found in PATH])
9434   fi
9435   have_doxygen=yes
9436elif test "x$use_doxygen" = x"no" ; then
9437   if test "x$DOXYGEN" != "x"; then
9438      AC_MSG_WARN([ignoring DOXYGEN environment variable since --with-doxygen=no was specified])
9439   fi
9440   have_doxygen=no
9441else
9442   AC_MSG_ERROR([--with-doxygen expects 'yes' or 'no'])
9443fi
9444m4_ifval([$1],
9445[if test "$have_doxygen" = yes; then
9446    # scrape the doxygen version
9447    AC_MSG_CHECKING([the doxygen version])
9448    doxygen_version=`$DOXYGEN --version 2>/dev/null`
9449    AC_MSG_RESULT([$doxygen_version])
9450    AS_VERSION_COMPARE([$doxygen_version], [$1],
9451        [if test "x$use_doxygen" = xauto; then
9452            AC_MSG_WARN([doxygen version $doxygen_version found, but $1 needed])
9453            have_doxygen=no
9454        else
9455            AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed])
9456        fi])
9457fi])
9458AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
9459]) # XORG_WITH_DOXYGEN
9460
9461# XORG_WITH_GROFF([DEFAULT])
9462# ----------------
9463# Minimum version: 1.6.0
9464# Minimum version for optional DEFAULT argument: 1.11.0
9465#
9466# Documentation tools are not always available on all platforms and sometimes
9467# not at the appropriate level. This macro enables a module to test for the
9468# presence of the tool and obtain it's path in separate variables. Coupled with
9469# the --with-groff option, it allows maximum flexibilty in making decisions
9470# as whether or not to use the groff package. When DEFAULT is not specified,
9471# --with-groff assumes 'auto'.
9472#
9473# Interface to module:
9474# HAVE_GROFF:	 used in makefiles to conditionally generate documentation
9475# HAVE_GROFF_MM: the memorandum macros (-mm) package
9476# HAVE_GROFF_MS: the -ms macros package
9477# GROFF:	 returns the path of the groff program found
9478#		 returns the path set by the user in the environment
9479# --with-groff:	 'yes' user instructs the module to use groff
9480#		 'no' user instructs the module not to use groff
9481#
9482# Added in version 1.9.0:
9483# HAVE_GROFF_HTML: groff has dependencies to output HTML format:
9484#		   pnmcut pnmcrop pnmtopng pnmtops from the netpbm package.
9485#		   psselect from the psutils package.
9486#		   the ghostcript package. Refer to the grohtml man pages
9487#
9488# If the user sets the value of GROFF, AC_PATH_PROG skips testing the path.
9489#
9490# OS and distros often splits groff in a basic and full package, the former
9491# having the groff program and the later having devices, fonts and macros
9492# Checking for the groff executable is not enough.
9493#
9494# If macros are missing, we cannot assume that groff is useless, so we don't
9495# unset HAVE_GROFF or GROFF env variables.
9496# HAVE_GROFF_?? can never be true while HAVE_GROFF is false.
9497#
9498AC_DEFUN([XORG_WITH_GROFF],[
9499AC_ARG_VAR([GROFF], [Path to groff command])
9500m4_define([_defopt], m4_default([$1], [auto]))
9501AC_ARG_WITH(groff,
9502	AS_HELP_STRING([--with-groff],
9503	   [Use groff to regenerate documentation (default: ]_defopt[)]),
9504	   [use_groff=$withval], [use_groff=]_defopt)
9505m4_undefine([_defopt])
9506
9507if test "x$use_groff" = x"auto"; then
9508   AC_PATH_PROG([GROFF], [groff])
9509   if test "x$GROFF" = "x"; then
9510        AC_MSG_WARN([groff not found - documentation targets will be skipped])
9511	have_groff=no
9512   else
9513        have_groff=yes
9514   fi
9515elif test "x$use_groff" = x"yes" ; then
9516   AC_PATH_PROG([GROFF], [groff])
9517   if test "x$GROFF" = "x"; then
9518        AC_MSG_ERROR([--with-groff=yes specified but groff not found in PATH])
9519   fi
9520   have_groff=yes
9521elif test "x$use_groff" = x"no" ; then
9522   if test "x$GROFF" != "x"; then
9523      AC_MSG_WARN([ignoring GROFF environment variable since --with-groff=no was specified])
9524   fi
9525   have_groff=no
9526else
9527   AC_MSG_ERROR([--with-groff expects 'yes' or 'no'])
9528fi
9529
9530# We have groff, test for the presence of the macro packages
9531if test "x$have_groff" = x"yes"; then
9532    AC_MSG_CHECKING([for ${GROFF} -ms macros])
9533    if ${GROFF} -ms -I. /dev/null >/dev/null 2>&1 ; then
9534        groff_ms_works=yes
9535    else
9536        groff_ms_works=no
9537    fi
9538    AC_MSG_RESULT([$groff_ms_works])
9539    AC_MSG_CHECKING([for ${GROFF} -mm macros])
9540    if ${GROFF} -mm -I. /dev/null >/dev/null 2>&1 ; then
9541        groff_mm_works=yes
9542    else
9543        groff_mm_works=no
9544    fi
9545    AC_MSG_RESULT([$groff_mm_works])
9546fi
9547
9548# We have groff, test for HTML dependencies, one command per package
9549if test "x$have_groff" = x"yes"; then
9550   AC_PATH_PROGS(GS_PATH, [gs gswin32c])
9551   AC_PATH_PROG(PNMTOPNG_PATH, [pnmtopng])
9552   AC_PATH_PROG(PSSELECT_PATH, [psselect])
9553   if test "x$GS_PATH" != "x" -a "x$PNMTOPNG_PATH" != "x" -a "x$PSSELECT_PATH" != "x"; then
9554      have_groff_html=yes
9555   else
9556      have_groff_html=no
9557      AC_MSG_WARN([grohtml dependencies not found - HTML Documentation skipped. Refer to grohtml man pages])
9558   fi
9559fi
9560
9561# Set Automake conditionals for Makefiles
9562AM_CONDITIONAL([HAVE_GROFF], [test "$have_groff" = yes])
9563AM_CONDITIONAL([HAVE_GROFF_MS], [test "$groff_ms_works" = yes])
9564AM_CONDITIONAL([HAVE_GROFF_MM], [test "$groff_mm_works" = yes])
9565AM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
9566]) # XORG_WITH_GROFF
9567
9568# XORG_WITH_FOP([MIN-VERSION], [DEFAULT])
9569# ---------------------------------------
9570# Minimum version: 1.6.0
9571# Minimum version for optional DEFAULT argument: 1.11.0
9572# Minimum version for optional MIN-VERSION argument: 1.15.0
9573#
9574# Documentation tools are not always available on all platforms and sometimes
9575# not at the appropriate level. This macro enables a module to test for the
9576# presence of the tool and obtain it's path in separate variables. Coupled with
9577# the --with-fop option, it allows maximum flexibilty in making decisions
9578# as whether or not to use the fop package. When DEFAULT is not specified,
9579# --with-fop assumes 'auto'.
9580#
9581# Interface to module:
9582# HAVE_FOP: 	used in makefiles to conditionally generate documentation
9583# FOP:	 	returns the path of the fop program found
9584#		returns the path set by the user in the environment
9585# --with-fop: 	'yes' user instructs the module to use fop
9586#		'no' user instructs the module not to use fop
9587#
9588# If the user sets the value of FOP, AC_PATH_PROG skips testing the path.
9589#
9590AC_DEFUN([XORG_WITH_FOP],[
9591AC_ARG_VAR([FOP], [Path to fop command])
9592m4_define([_defopt], m4_default([$2], [auto]))
9593AC_ARG_WITH(fop,
9594	AS_HELP_STRING([--with-fop],
9595	   [Use fop to regenerate documentation (default: ]_defopt[)]),
9596	   [use_fop=$withval], [use_fop=]_defopt)
9597m4_undefine([_defopt])
9598
9599if test "x$use_fop" = x"auto"; then
9600   AC_PATH_PROG([FOP], [fop])
9601   if test "x$FOP" = "x"; then
9602        AC_MSG_WARN([fop not found - documentation targets will be skipped])
9603	have_fop=no
9604   else
9605        have_fop=yes
9606   fi
9607elif test "x$use_fop" = x"yes" ; then
9608   AC_PATH_PROG([FOP], [fop])
9609   if test "x$FOP" = "x"; then
9610        AC_MSG_ERROR([--with-fop=yes specified but fop not found in PATH])
9611   fi
9612   have_fop=yes
9613elif test "x$use_fop" = x"no" ; then
9614   if test "x$FOP" != "x"; then
9615      AC_MSG_WARN([ignoring FOP environment variable since --with-fop=no was specified])
9616   fi
9617   have_fop=no
9618else
9619   AC_MSG_ERROR([--with-fop expects 'yes' or 'no'])
9620fi
9621
9622# Test for a minimum version of fop, if provided.
9623m4_ifval([$1],
9624[if test "$have_fop" = yes; then
9625    # scrape the fop version
9626    AC_MSG_CHECKING([for fop minimum version])
9627    fop_version=`$FOP -version 2>/dev/null | cut -d' ' -f3`
9628    AC_MSG_RESULT([$fop_version])
9629    AS_VERSION_COMPARE([$fop_version], [$1],
9630        [if test "x$use_fop" = xauto; then
9631            AC_MSG_WARN([fop version $fop_version found, but $1 needed])
9632            have_fop=no
9633        else
9634            AC_MSG_ERROR([fop version $fop_version found, but $1 needed])
9635        fi])
9636fi])
9637AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
9638]) # XORG_WITH_FOP
9639
9640# XORG_WITH_PS2PDF([DEFAULT])
9641# ----------------
9642# Minimum version: 1.6.0
9643# Minimum version for optional DEFAULT argument: 1.11.0
9644#
9645# Documentation tools are not always available on all platforms and sometimes
9646# not at the appropriate level. This macro enables a module to test for the
9647# presence of the tool and obtain it's path in separate variables. Coupled with
9648# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
9649# as whether or not to use the ps2pdf package. When DEFAULT is not specified,
9650# --with-ps2pdf assumes 'auto'.
9651#
9652# Interface to module:
9653# HAVE_PS2PDF: 	used in makefiles to conditionally generate documentation
9654# PS2PDF:	returns the path of the ps2pdf program found
9655#		returns the path set by the user in the environment
9656# --with-ps2pdf: 'yes' user instructs the module to use ps2pdf
9657#		 'no' user instructs the module not to use ps2pdf
9658#
9659# If the user sets the value of PS2PDF, AC_PATH_PROG skips testing the path.
9660#
9661AC_DEFUN([XORG_WITH_PS2PDF],[
9662AC_ARG_VAR([PS2PDF], [Path to ps2pdf command])
9663m4_define([_defopt], m4_default([$1], [auto]))
9664AC_ARG_WITH(ps2pdf,
9665	AS_HELP_STRING([--with-ps2pdf],
9666	   [Use ps2pdf to regenerate documentation (default: ]_defopt[)]),
9667	   [use_ps2pdf=$withval], [use_ps2pdf=]_defopt)
9668m4_undefine([_defopt])
9669
9670if test "x$use_ps2pdf" = x"auto"; then
9671   AC_PATH_PROG([PS2PDF], [ps2pdf])
9672   if test "x$PS2PDF" = "x"; then
9673        AC_MSG_WARN([ps2pdf not found - documentation targets will be skipped])
9674	have_ps2pdf=no
9675   else
9676        have_ps2pdf=yes
9677   fi
9678elif test "x$use_ps2pdf" = x"yes" ; then
9679   AC_PATH_PROG([PS2PDF], [ps2pdf])
9680   if test "x$PS2PDF" = "x"; then
9681        AC_MSG_ERROR([--with-ps2pdf=yes specified but ps2pdf not found in PATH])
9682   fi
9683   have_ps2pdf=yes
9684elif test "x$use_ps2pdf" = x"no" ; then
9685   if test "x$PS2PDF" != "x"; then
9686      AC_MSG_WARN([ignoring PS2PDF environment variable since --with-ps2pdf=no was specified])
9687   fi
9688   have_ps2pdf=no
9689else
9690   AC_MSG_ERROR([--with-ps2pdf expects 'yes' or 'no'])
9691fi
9692AM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
9693]) # XORG_WITH_PS2PDF
9694
9695# XORG_ENABLE_DOCS (enable_docs=yes)
9696# ----------------
9697# Minimum version: 1.6.0
9698#
9699# Documentation tools are not always available on all platforms and sometimes
9700# not at the appropriate level. This macro enables a builder to skip all
9701# documentation targets except traditional man pages.
9702# Combined with the specific tool checking macros XORG_WITH_*, it provides
9703# maximum flexibilty in controlling documentation building.
9704# Refer to:
9705# XORG_WITH_XMLTO         --with-xmlto
9706# XORG_WITH_ASCIIDOC      --with-asciidoc
9707# XORG_WITH_DOXYGEN       --with-doxygen
9708# XORG_WITH_FOP           --with-fop
9709# XORG_WITH_GROFF         --with-groff
9710# XORG_WITH_PS2PDF        --with-ps2pdf
9711#
9712# Interface to module:
9713# ENABLE_DOCS: 	  used in makefiles to conditionally generate documentation
9714# --enable-docs: 'yes' user instructs the module to generate docs
9715#		 'no' user instructs the module not to generate docs
9716# parm1:	specify the default value, yes or no.
9717#
9718AC_DEFUN([XORG_ENABLE_DOCS],[
9719m4_define([docs_default], m4_default([$1], [yes]))
9720AC_ARG_ENABLE(docs,
9721	AS_HELP_STRING([--enable-docs],
9722	   [Enable building the documentation (default: ]docs_default[)]),
9723	   [build_docs=$enableval], [build_docs=]docs_default)
9724m4_undefine([docs_default])
9725AM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes])
9726AC_MSG_CHECKING([whether to build documentation])
9727AC_MSG_RESULT([$build_docs])
9728]) # XORG_ENABLE_DOCS
9729
9730# XORG_ENABLE_DEVEL_DOCS (enable_devel_docs=yes)
9731# ----------------
9732# Minimum version: 1.6.0
9733#
9734# This macro enables a builder to skip all developer documentation.
9735# Combined with the specific tool checking macros XORG_WITH_*, it provides
9736# maximum flexibilty in controlling documentation building.
9737# Refer to:
9738# XORG_WITH_XMLTO         --with-xmlto
9739# XORG_WITH_ASCIIDOC      --with-asciidoc
9740# XORG_WITH_DOXYGEN       --with-doxygen
9741# XORG_WITH_FOP           --with-fop
9742# XORG_WITH_GROFF         --with-groff
9743# XORG_WITH_PS2PDF        --with-ps2pdf
9744#
9745# Interface to module:
9746# ENABLE_DEVEL_DOCS:	used in makefiles to conditionally generate developer docs
9747# --enable-devel-docs:	'yes' user instructs the module to generate developer docs
9748#			'no' user instructs the module not to generate developer docs
9749# parm1:		specify the default value, yes or no.
9750#
9751AC_DEFUN([XORG_ENABLE_DEVEL_DOCS],[
9752m4_define([devel_default], m4_default([$1], [yes]))
9753AC_ARG_ENABLE(devel-docs,
9754	AS_HELP_STRING([--enable-devel-docs],
9755	   [Enable building the developer documentation (default: ]devel_default[)]),
9756	   [build_devel_docs=$enableval], [build_devel_docs=]devel_default)
9757m4_undefine([devel_default])
9758AM_CONDITIONAL(ENABLE_DEVEL_DOCS, [test x$build_devel_docs = xyes])
9759AC_MSG_CHECKING([whether to build developer documentation])
9760AC_MSG_RESULT([$build_devel_docs])
9761]) # XORG_ENABLE_DEVEL_DOCS
9762
9763# XORG_ENABLE_SPECS (enable_specs=yes)
9764# ----------------
9765# Minimum version: 1.6.0
9766#
9767# This macro enables a builder to skip all functional specification targets.
9768# Combined with the specific tool checking macros XORG_WITH_*, it provides
9769# maximum flexibilty in controlling documentation building.
9770# Refer to:
9771# XORG_WITH_XMLTO         --with-xmlto
9772# XORG_WITH_ASCIIDOC      --with-asciidoc
9773# XORG_WITH_DOXYGEN       --with-doxygen
9774# XORG_WITH_FOP           --with-fop
9775# XORG_WITH_GROFF         --with-groff
9776# XORG_WITH_PS2PDF        --with-ps2pdf
9777#
9778# Interface to module:
9779# ENABLE_SPECS:		used in makefiles to conditionally generate specs
9780# --enable-specs:	'yes' user instructs the module to generate specs
9781#			'no' user instructs the module not to generate specs
9782# parm1:		specify the default value, yes or no.
9783#
9784AC_DEFUN([XORG_ENABLE_SPECS],[
9785m4_define([spec_default], m4_default([$1], [yes]))
9786AC_ARG_ENABLE(specs,
9787	AS_HELP_STRING([--enable-specs],
9788	   [Enable building the specs (default: ]spec_default[)]),
9789	   [build_specs=$enableval], [build_specs=]spec_default)
9790m4_undefine([spec_default])
9791AM_CONDITIONAL(ENABLE_SPECS, [test x$build_specs = xyes])
9792AC_MSG_CHECKING([whether to build functional specifications])
9793AC_MSG_RESULT([$build_specs])
9794]) # XORG_ENABLE_SPECS
9795
9796# XORG_ENABLE_UNIT_TESTS (enable_unit_tests=auto)
9797# ----------------------------------------------
9798# Minimum version: 1.13.0
9799#
9800# This macro enables a builder to enable/disable unit testing
9801# It makes no assumption about the test cases implementation
9802# Test cases may or may not use Automake "Support for test suites"
9803# They may or may not use the software utility library GLib
9804#
9805# When used in conjunction with XORG_WITH_GLIB, use both AM_CONDITIONAL
9806# ENABLE_UNIT_TESTS and HAVE_GLIB. Not all unit tests may use glib.
9807# The variable enable_unit_tests is used by other macros in this file.
9808#
9809# Interface to module:
9810# ENABLE_UNIT_TESTS:	used in makefiles to conditionally build tests
9811# enable_unit_tests:    used in configure.ac for additional configuration
9812# --enable-unit-tests:	'yes' user instructs the module to build tests
9813#			'no' user instructs the module not to build tests
9814# parm1:		specify the default value, yes or no.
9815#
9816AC_DEFUN([XORG_ENABLE_UNIT_TESTS],[
9817AC_BEFORE([$0], [XORG_WITH_GLIB])
9818AC_BEFORE([$0], [XORG_LD_WRAP])
9819AC_REQUIRE([XORG_MEMORY_CHECK_FLAGS])
9820m4_define([_defopt], m4_default([$1], [auto]))
9821AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
9822	[Enable building unit test cases (default: ]_defopt[)]),
9823	[enable_unit_tests=$enableval], [enable_unit_tests=]_defopt)
9824m4_undefine([_defopt])
9825AM_CONDITIONAL(ENABLE_UNIT_TESTS, [test "x$enable_unit_tests" != xno])
9826AC_MSG_CHECKING([whether to build unit test cases])
9827AC_MSG_RESULT([$enable_unit_tests])
9828]) # XORG_ENABLE_UNIT_TESTS
9829
9830# XORG_ENABLE_INTEGRATION_TESTS (enable_unit_tests=auto)
9831# ------------------------------------------------------
9832# Minimum version: 1.17.0
9833#
9834# This macro enables a builder to enable/disable integration testing
9835# It makes no assumption about the test cases' implementation
9836# Test cases may or may not use Automake "Support for test suites"
9837#
9838# Please see XORG_ENABLE_UNIT_TESTS for unit test support. Unit test support
9839# usually requires less dependencies and may be built and run under less
9840# stringent environments than integration tests.
9841#
9842# Interface to module:
9843# ENABLE_INTEGRATION_TESTS:   used in makefiles to conditionally build tests
9844# enable_integration_tests:   used in configure.ac for additional configuration
9845# --enable-integration-tests: 'yes' user instructs the module to build tests
9846#                             'no' user instructs the module not to build tests
9847# parm1:                      specify the default value, yes or no.
9848#
9849AC_DEFUN([XORG_ENABLE_INTEGRATION_TESTS],[
9850AC_REQUIRE([XORG_MEMORY_CHECK_FLAGS])
9851m4_define([_defopt], m4_default([$1], [auto]))
9852AC_ARG_ENABLE(integration-tests, AS_HELP_STRING([--enable-integration-tests],
9853	[Enable building integration test cases (default: ]_defopt[)]),
9854	[enable_integration_tests=$enableval],
9855	[enable_integration_tests=]_defopt)
9856m4_undefine([_defopt])
9857AM_CONDITIONAL([ENABLE_INTEGRATION_TESTS],
9858	[test "x$enable_integration_tests" != xno])
9859AC_MSG_CHECKING([whether to build unit test cases])
9860AC_MSG_RESULT([$enable_integration_tests])
9861]) # XORG_ENABLE_INTEGRATION_TESTS
9862
9863# XORG_WITH_GLIB([MIN-VERSION], [DEFAULT])
9864# ----------------------------------------
9865# Minimum version: 1.13.0
9866#
9867# GLib is a library which provides advanced data structures and functions.
9868# This macro enables a module to test for the presence of Glib.
9869#
9870# When used with ENABLE_UNIT_TESTS, it is assumed GLib is used for unit testing.
9871# Otherwise the value of $enable_unit_tests is blank.
9872#
9873# Please see XORG_ENABLE_INTEGRATION_TESTS for integration test support. Unit
9874# test support usually requires less dependencies and may be built and run under
9875# less stringent environments than integration tests.
9876#
9877# Interface to module:
9878# HAVE_GLIB: used in makefiles to conditionally build targets
9879# with_glib: used in configure.ac to know if GLib has been found
9880# --with-glib:	'yes' user instructs the module to use glib
9881#		'no' user instructs the module not to use glib
9882#
9883AC_DEFUN([XORG_WITH_GLIB],[
9884AC_REQUIRE([PKG_PROG_PKG_CONFIG])
9885m4_define([_defopt], m4_default([$2], [auto]))
9886AC_ARG_WITH(glib, AS_HELP_STRING([--with-glib],
9887	[Use GLib library for unit testing (default: ]_defopt[)]),
9888	[with_glib=$withval], [with_glib=]_defopt)
9889m4_undefine([_defopt])
9890
9891have_glib=no
9892# Do not probe GLib if user explicitly disabled unit testing
9893if test "x$enable_unit_tests" != x"no"; then
9894  # Do not probe GLib if user explicitly disabled it
9895  if test "x$with_glib" != x"no"; then
9896    m4_ifval(
9897      [$1],
9898      [PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $1], [have_glib=yes], [have_glib=no])],
9899      [PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])]
9900    )
9901  fi
9902fi
9903
9904# Not having GLib when unit testing has been explicitly requested is an error
9905if test "x$enable_unit_tests" = x"yes"; then
9906  if test "x$have_glib" = x"no"; then
9907    AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found])
9908  fi
9909fi
9910
9911# Having unit testing disabled when GLib has been explicitly requested is an error
9912if test "x$enable_unit_tests" = x"no"; then
9913  if test "x$with_glib" = x"yes"; then
9914    AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found])
9915  fi
9916fi
9917
9918# Not having GLib when it has been explicitly requested is an error
9919if test "x$with_glib" = x"yes"; then
9920  if test "x$have_glib" = x"no"; then
9921    AC_MSG_ERROR([--with-glib=yes specified but glib-2.0 not found])
9922  fi
9923fi
9924
9925AM_CONDITIONAL([HAVE_GLIB], [test "$have_glib" = yes])
9926]) # XORG_WITH_GLIB
9927
9928# XORG_LD_WRAP([required|optional])
9929# ---------------------------------
9930# Minimum version: 1.13.0
9931#
9932# Check if linker supports -wrap, passed via compiler flags
9933#
9934# When used with ENABLE_UNIT_TESTS, it is assumed -wrap is used for unit testing.
9935# Otherwise the value of $enable_unit_tests is blank.
9936#
9937# Argument added in 1.16.0 - default is "required", to match existing behavior
9938# of returning an error if enable_unit_tests is yes, and ld -wrap is not
9939# available, an argument of "optional" allows use when some unit tests require
9940# ld -wrap and others do not.
9941#
9942AC_DEFUN([XORG_LD_WRAP],[
9943XORG_CHECK_LINKER_FLAGS([-Wl,-wrap,exit],[have_ld_wrap=yes],[have_ld_wrap=no],
9944    [AC_LANG_PROGRAM([#include <stdlib.h>
9945                      void __wrap_exit(int status) { return; }],
9946                     [exit(0);])])
9947# Not having ld wrap when unit testing has been explicitly requested is an error
9948if test "x$enable_unit_tests" = x"yes" -a "x$1" != "xoptional"; then
9949  if test "x$have_ld_wrap" = x"no"; then
9950    AC_MSG_ERROR([--enable-unit-tests=yes specified but ld -wrap support is not available])
9951  fi
9952fi
9953AM_CONDITIONAL([HAVE_LD_WRAP], [test "$have_ld_wrap" = yes])
9954#
9955]) # XORG_LD_WRAP
9956
9957# XORG_CHECK_LINKER_FLAGS
9958# -----------------------
9959# SYNOPSIS
9960#
9961#   XORG_CHECK_LINKER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE], [PROGRAM-SOURCE])
9962#
9963# DESCRIPTION
9964#
9965#   Check whether the given linker FLAGS work with the current language's
9966#   linker, or whether they give an error.
9967#
9968#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
9969#   success/failure.
9970#
9971#   PROGRAM-SOURCE is the program source to link with, if needed
9972#
9973#   NOTE: Based on AX_CHECK_COMPILER_FLAGS.
9974#
9975# LICENSE
9976#
9977#   Copyright (c) 2009 Mike Frysinger <vapier@gentoo.org>
9978#   Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu>
9979#   Copyright (c) 2009 Matteo Frigo
9980#
9981#   This program is free software: you can redistribute it and/or modify it
9982#   under the terms of the GNU General Public License as published by the
9983#   Free Software Foundation, either version 3 of the License, or (at your
9984#   option) any later version.
9985#
9986#   This program is distributed in the hope that it will be useful, but
9987#   WITHOUT ANY WARRANTY; without even the implied warranty of
9988#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
9989#   Public License for more details.
9990#
9991#   You should have received a copy of the GNU General Public License along
9992#   with this program. If not, see <http://www.gnu.org/licenses/>.
9993#
9994#   As a special exception, the respective Autoconf Macro's copyright owner
9995#   gives unlimited permission to copy, distribute and modify the configure
9996#   scripts that are the output of Autoconf when processing the Macro. You
9997#   need not follow the terms of the GNU General Public License when using
9998#   or distributing such scripts, even though portions of the text of the
9999#   Macro appear in them. The GNU General Public License (GPL) does govern
10000#   all other use of the material that constitutes the Autoconf Macro.
10001#
10002#   This special exception to the GPL applies to versions of the Autoconf
10003#   Macro released by the Autoconf Archive. When you make and distribute a
10004#   modified version of the Autoconf Macro, you may extend this special
10005#   exception to the GPL to apply to your modified version as well.#
10006AC_DEFUN([XORG_CHECK_LINKER_FLAGS],
10007[AC_MSG_CHECKING([whether the linker accepts $1])
10008dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
10009AS_LITERAL_IF([$1],
10010  [AC_CACHE_VAL(AS_TR_SH(xorg_cv_linker_flags_[$1]), [
10011      ax_save_FLAGS=$LDFLAGS
10012      LDFLAGS="$1"
10013      AC_LINK_IFELSE([m4_default([$4],[AC_LANG_PROGRAM()])],
10014        AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
10015        AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
10016      LDFLAGS=$ax_save_FLAGS])],
10017  [ax_save_FLAGS=$LDFLAGS
10018   LDFLAGS="$1"
10019   AC_LINK_IFELSE([AC_LANG_PROGRAM()],
10020     eval AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
10021     eval AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
10022   LDFLAGS=$ax_save_FLAGS])
10023eval xorg_check_linker_flags=$AS_TR_SH(xorg_cv_linker_flags_[$1])
10024AC_MSG_RESULT($xorg_check_linker_flags)
10025if test "x$xorg_check_linker_flags" = xyes; then
10026	m4_default([$2], :)
10027else
10028	m4_default([$3], :)
10029fi
10030]) # XORG_CHECK_LINKER_FLAGS
10031
10032# XORG_MEMORY_CHECK_FLAGS
10033# -----------------------
10034# Minimum version: 1.16.0
10035#
10036# This macro attempts to find appropriate memory checking functionality
10037# for various platforms which unit testing code may use to catch various
10038# forms of memory allocation and access errors in testing.
10039#
10040# Interface to module:
10041# XORG_MALLOC_DEBUG_ENV - environment variables to set to enable debugging
10042#                         Usually added to TESTS_ENVIRONMENT in Makefile.am
10043#
10044# If the user sets the value of XORG_MALLOC_DEBUG_ENV, it is used verbatim.
10045#
10046AC_DEFUN([XORG_MEMORY_CHECK_FLAGS],[
10047
10048AC_REQUIRE([AC_CANONICAL_HOST])
10049AC_ARG_VAR([XORG_MALLOC_DEBUG_ENV],
10050           [Environment variables to enable memory checking in tests])
10051
10052# Check for different types of support on different platforms
10053case $host_os in
10054    solaris*)
10055        AC_CHECK_LIB([umem], [umem_alloc],
10056            [malloc_debug_env='LD_PRELOAD=libumem.so UMEM_DEBUG=default'])
10057        ;;
10058    *-gnu*) # GNU libc - Value is used as a single byte bit pattern,
10059        # both directly and inverted, so should not be 0 or 255.
10060        malloc_debug_env='MALLOC_PERTURB_=15'
10061        ;;
10062    darwin*)
10063        malloc_debug_env='MallocPreScribble=1 MallocScribble=1 DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib'
10064        ;;
10065    *bsd*)
10066        malloc_debug_env='MallocPreScribble=1 MallocScribble=1'
10067        ;;
10068esac
10069
10070# User supplied flags override default flags
10071if test "x$XORG_MALLOC_DEBUG_ENV" != "x"; then
10072    malloc_debug_env="$XORG_MALLOC_DEBUG_ENV"
10073fi
10074
10075AC_SUBST([XORG_MALLOC_DEBUG_ENV],[$malloc_debug_env])
10076]) # XORG_WITH_LINT
10077
10078# XORG_CHECK_MALLOC_ZERO
10079# ----------------------
10080# Minimum version: 1.0.0
10081#
10082# Defines {MALLOC,XMALLOC,XTMALLOC}_ZERO_CFLAGS appropriately if
10083# malloc(0) returns NULL.  Packages should add one of these cflags to
10084# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
10085AC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
10086AC_ARG_ENABLE(malloc0returnsnull,
10087	AS_HELP_STRING([--enable-malloc0returnsnull],
10088		       [malloc(0) returns NULL (default: auto)]),
10089	[MALLOC_ZERO_RETURNS_NULL=$enableval],
10090	[MALLOC_ZERO_RETURNS_NULL=auto])
10091
10092AC_MSG_CHECKING([whether malloc(0) returns NULL])
10093if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
10094	AC_RUN_IFELSE([AC_LANG_PROGRAM([
10095#include <stdlib.h>
10096],[
10097    char *m0, *r0, *c0, *p;
10098    m0 = malloc(0);
10099    p = malloc(10);
10100    r0 = realloc(p,0);
10101    c0 = calloc(0,10);
10102    exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1);
10103])],
10104		[MALLOC_ZERO_RETURNS_NULL=yes],
10105		[MALLOC_ZERO_RETURNS_NULL=no],
10106		[MALLOC_ZERO_RETURNS_NULL=yes])
10107fi
10108AC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
10109
10110if test "x$MALLOC_ZERO_RETURNS_NULL" = xyes; then
10111	MALLOC_ZERO_CFLAGS="-DMALLOC_0_RETURNS_NULL"
10112	XMALLOC_ZERO_CFLAGS=$MALLOC_ZERO_CFLAGS
10113	XTMALLOC_ZERO_CFLAGS="$MALLOC_ZERO_CFLAGS -DXTMALLOC_BC"
10114else
10115	MALLOC_ZERO_CFLAGS=""
10116	XMALLOC_ZERO_CFLAGS=""
10117	XTMALLOC_ZERO_CFLAGS=""
10118fi
10119
10120AC_SUBST([MALLOC_ZERO_CFLAGS])
10121AC_SUBST([XMALLOC_ZERO_CFLAGS])
10122AC_SUBST([XTMALLOC_ZERO_CFLAGS])
10123]) # XORG_CHECK_MALLOC_ZERO
10124
10125# XORG_WITH_LINT()
10126# ----------------
10127# Minimum version: 1.1.0
10128#
10129# This macro enables the use of a tool that flags some suspicious and
10130# non-portable constructs (likely to be bugs) in C language source code.
10131# It will attempt to locate the tool and use appropriate options.
10132# There are various lint type tools on different platforms.
10133#
10134# Interface to module:
10135# LINT:		returns the path to the tool found on the platform
10136#		or the value set to LINT on the configure cmd line
10137#		also an Automake conditional
10138# LINT_FLAGS:	an Automake variable with appropriate flags
10139#
10140# --with-lint:	'yes' user instructs the module to use lint
10141#		'no' user instructs the module not to use lint (default)
10142#
10143# If the user sets the value of LINT, AC_PATH_PROG skips testing the path.
10144# If the user sets the value of LINT_FLAGS, they are used verbatim.
10145#
10146AC_DEFUN([XORG_WITH_LINT],[
10147
10148AC_ARG_VAR([LINT], [Path to a lint-style command])
10149AC_ARG_VAR([LINT_FLAGS], [Flags for the lint-style command])
10150AC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
10151		[Use a lint-style source code checker (default: disabled)])],
10152		[use_lint=$withval], [use_lint=no])
10153
10154# Obtain platform specific info like program name and options
10155# The lint program on FreeBSD and NetBSD is different from the one on Solaris
10156case $host_os in
10157  *linux* | *openbsd* | kfreebsd*-gnu | darwin* | cygwin*)
10158	lint_name=splint
10159	lint_options="-badflag"
10160	;;
10161  *freebsd* | *netbsd*)
10162	lint_name=lint
10163	lint_options="-u -b"
10164	;;
10165  *solaris*)
10166	lint_name=lint
10167	lint_options="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2"
10168	;;
10169esac
10170
10171# Test for the presence of the program (either guessed by the code or spelled out by the user)
10172if test "x$use_lint" = x"yes" ; then
10173   AC_PATH_PROG([LINT], [$lint_name])
10174   if test "x$LINT" = "x"; then
10175        AC_MSG_ERROR([--with-lint=yes specified but lint-style tool not found in PATH])
10176   fi
10177elif test "x$use_lint" = x"no" ; then
10178   if test "x$LINT" != "x"; then
10179      AC_MSG_WARN([ignoring LINT environment variable since --with-lint=no was specified])
10180   fi
10181else
10182   AC_MSG_ERROR([--with-lint expects 'yes' or 'no'. Use LINT variable to specify path.])
10183fi
10184
10185# User supplied flags override default flags
10186if test "x$LINT_FLAGS" != "x"; then
10187   lint_options=$LINT_FLAGS
10188fi
10189
10190AC_SUBST([LINT_FLAGS],[$lint_options])
10191AM_CONDITIONAL(LINT, [test "x$LINT" != x])
10192
10193]) # XORG_WITH_LINT
10194
10195# XORG_LINT_LIBRARY(LIBNAME)
10196# --------------------------
10197# Minimum version: 1.1.0
10198#
10199# Sets up flags for building lint libraries for checking programs that call
10200# functions in the library.
10201#
10202# Interface to module:
10203# LINTLIB		- Automake variable with the name of lint library file to make
10204# MAKE_LINT_LIB		- Automake conditional
10205#
10206# --enable-lint-library:  - 'yes' user instructs the module to created a lint library
10207#			  - 'no' user instructs the module not to create a lint library (default)
10208
10209AC_DEFUN([XORG_LINT_LIBRARY],[
10210AC_REQUIRE([XORG_WITH_LINT])
10211AC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
10212	[Create lint library (default: disabled)])],
10213	[make_lint_lib=$enableval], [make_lint_lib=no])
10214
10215if test "x$make_lint_lib" = x"yes" ; then
10216   LINTLIB=llib-l$1.ln
10217   if test "x$LINT" = "x"; then
10218        AC_MSG_ERROR([Cannot make lint library without --with-lint])
10219   fi
10220elif test "x$make_lint_lib" != x"no" ; then
10221   AC_MSG_ERROR([--enable-lint-library expects 'yes' or 'no'.])
10222fi
10223
10224AC_SUBST(LINTLIB)
10225AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
10226
10227]) # XORG_LINT_LIBRARY
10228
10229# XORG_COMPILER_BRAND
10230# -------------------
10231# Minimum version: 1.14.0
10232#
10233# Checks for various brands of compilers and sets flags as appropriate:
10234#   GNU gcc - relies on AC_PROG_CC (via AC_PROG_CC_C99) to set GCC to "yes"
10235#   GNU g++ - relies on AC_PROG_CXX to set GXX to "yes"
10236#   clang compiler - sets CLANGCC to "yes"
10237#   Intel compiler - sets INTELCC to "yes"
10238#   Sun/Oracle Solaris Studio cc - sets SUNCC to "yes"
10239#
10240AC_DEFUN([XORG_COMPILER_BRAND], [
10241AC_LANG_CASE(
10242	[C], [
10243		AC_REQUIRE([AC_PROG_CC_C99])
10244	],
10245	[C++], [
10246		AC_REQUIRE([AC_PROG_CXX])
10247	]
10248)
10249AC_CHECK_DECL([__clang__], [CLANGCC="yes"], [CLANGCC="no"])
10250AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
10251AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
10252]) # XORG_COMPILER_BRAND
10253
10254# XORG_TESTSET_CFLAG(<variable>, <flag>, [<alternative flag>, ...])
10255# ---------------
10256# Minimum version: 1.16.0
10257#
10258# Test if the compiler works when passed the given flag as a command line argument.
10259# If it succeeds, the flag is appeneded to the given variable.  If not, it tries the
10260# next flag in the list until there are no more options.
10261#
10262# Note that this does not guarantee that the compiler supports the flag as some
10263# compilers will simply ignore arguments that they do not understand, but we do
10264# attempt to weed out false positives by using -Werror=unknown-warning-option and
10265# -Werror=unused-command-line-argument
10266#
10267AC_DEFUN([XORG_TESTSET_CFLAG], [
10268m4_if([$#], 0, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
10269m4_if([$#], 1, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
10270
10271AC_LANG_COMPILER_REQUIRE
10272
10273AC_LANG_CASE(
10274	[C], [
10275		AC_REQUIRE([AC_PROG_CC_C99])
10276		define([PREFIX], [C])
10277		define([CACHE_PREFIX], [cc])
10278		define([COMPILER], [$CC])
10279	],
10280	[C++], [
10281		define([PREFIX], [CXX])
10282		define([CACHE_PREFIX], [cxx])
10283		define([COMPILER], [$CXX])
10284	]
10285)
10286
10287[xorg_testset_save_]PREFIX[FLAGS]="$PREFIX[FLAGS]"
10288
10289if test "x$[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]" = "x" ; then
10290	PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
10291	AC_CACHE_CHECK([if ]COMPILER[ supports -Werror=unknown-warning-option],
10292			[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option],
10293			AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
10294					  [xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option=yes],
10295					  [xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option=no]))
10296	[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]=$[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option]
10297	PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
10298fi
10299
10300if test "x$[xorg_testset_]CACHE_PREFIX[_unused_command_line_argument]" = "x" ; then
10301	if test "x$[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]" = "xyes" ; then
10302		PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
10303	fi
10304	PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument"
10305	AC_CACHE_CHECK([if ]COMPILER[ supports -Werror=unused-command-line-argument],
10306			[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument],
10307			AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
10308					  [xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument=yes],
10309					  [xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument=no]))
10310	[xorg_testset_]CACHE_PREFIX[_unused_command_line_argument]=$[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument]
10311	PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
10312fi
10313
10314found="no"
10315m4_foreach([flag], m4_cdr($@), [
10316	if test $found = "no" ; then
10317		if test "x$xorg_testset_unknown_warning_option" = "xyes" ; then
10318			PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
10319		fi
10320
10321		if test "x$xorg_testset_unused_command_line_argument" = "xyes" ; then
10322			PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument"
10323		fi
10324
10325		PREFIX[FLAGS]="$PREFIX[FLAGS] ]flag["
10326
10327dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname
10328		AC_MSG_CHECKING([if ]COMPILER[ supports]flag[])
10329		cacheid=AS_TR_SH([xorg_cv_]CACHE_PREFIX[_flag_]flag[])
10330		AC_CACHE_VAL($cacheid,
10331			     [AC_LINK_IFELSE([AC_LANG_PROGRAM([int i;])],
10332					     [eval $cacheid=yes],
10333					     [eval $cacheid=no])])
10334
10335		PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
10336
10337		eval supported=\$$cacheid
10338		AC_MSG_RESULT([$supported])
10339		if test "$supported" = "yes" ; then
10340			$1="$$1 ]flag["
10341			found="yes"
10342		fi
10343	fi
10344])
10345]) # XORG_TESTSET_CFLAG
10346
10347# XORG_COMPILER_FLAGS
10348# ---------------
10349# Minimum version: 1.16.0
10350#
10351# Defines BASE_CFLAGS or BASE_CXXFLAGS to contain a set of command line
10352# arguments supported by the selected compiler which do NOT alter the generated
10353# code.  These arguments will cause the compiler to print various warnings
10354# during compilation AND turn a conservative set of warnings into errors.
10355#
10356# The set of flags supported by BASE_CFLAGS and BASE_CXXFLAGS will grow in
10357# future versions of util-macros as options are added to new compilers.
10358#
10359AC_DEFUN([XORG_COMPILER_FLAGS], [
10360AC_REQUIRE([XORG_COMPILER_BRAND])
10361
10362AC_ARG_ENABLE(selective-werror,
10363              AS_HELP_STRING([--disable-selective-werror],
10364                             [Turn off selective compiler errors. (default: enabled)]),
10365              [SELECTIVE_WERROR=$enableval],
10366              [SELECTIVE_WERROR=yes])
10367
10368AC_LANG_CASE(
10369        [C], [
10370                define([PREFIX], [C])
10371        ],
10372        [C++], [
10373                define([PREFIX], [CXX])
10374        ]
10375)
10376# -v is too short to test reliably with XORG_TESTSET_CFLAG
10377if test "x$SUNCC" = "xyes"; then
10378    [BASE_]PREFIX[FLAGS]="-v"
10379else
10380    [BASE_]PREFIX[FLAGS]=""
10381fi
10382
10383# This chunk of warnings were those that existed in the legacy CWARNFLAGS
10384XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wall])
10385XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wpointer-arith])
10386XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-declarations])
10387XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wformat=2], [-Wformat])
10388
10389AC_LANG_CASE(
10390	[C], [
10391		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wstrict-prototypes])
10392		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-prototypes])
10393		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnested-externs])
10394		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wbad-function-cast])
10395		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition])
10396		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wdeclaration-after-statement])
10397	]
10398)
10399
10400# This chunk adds additional warnings that could catch undesired effects.
10401XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wunused])
10402XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized])
10403XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wshadow])
10404XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
10405XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-noreturn])
10406XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-format-attribute])
10407XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls])
10408
10409# These are currently disabled because they are noisy.  They will be enabled
10410# in the future once the codebase is sufficiently modernized to silence
10411# them.  For now, I don't want them to drown out the other warnings.
10412# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
10413# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses])
10414# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
10415
10416# Turn some warnings into errors, so we don't accidently get successful builds
10417# when there are problems that should be fixed.
10418
10419if test "x$SELECTIVE_WERROR" = "xyes" ; then
10420XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=implicit], [-errwarn=E_NO_EXPLICIT_TYPE_GIVEN -errwarn=E_NO_IMPLICIT_DECL_ALLOWED])
10421XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=nonnull])
10422XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=init-self])
10423XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=main])
10424XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=missing-braces])
10425XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=sequence-point])
10426XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=return-type], [-errwarn=E_FUNC_HAS_NO_RETURN_STMT])
10427XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=trigraphs])
10428XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=array-bounds])
10429XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=write-strings])
10430XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=address])
10431XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=int-to-pointer-cast], [-errwarn=E_BAD_PTR_INT_COMBINATION])
10432XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=pointer-to-int-cast]) # Also -errwarn=E_BAD_PTR_INT_COMBINATION
10433else
10434AC_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])
10435XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wimplicit])
10436XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnonnull])
10437XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Winit-self])
10438XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmain])
10439XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-braces])
10440XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wsequence-point])
10441XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wreturn-type])
10442XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wtrigraphs])
10443XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Warray-bounds])
10444XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wwrite-strings])
10445XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Waddress])
10446XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wint-to-pointer-cast])
10447XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wpointer-to-int-cast])
10448fi
10449
10450AC_SUBST([BASE_]PREFIX[FLAGS])
10451]) # XORG_COMPILER_FLAGS
10452
10453# XORG_CWARNFLAGS
10454# ---------------
10455# Minimum version: 1.2.0
10456# Deprecated since: 1.16.0 (Use XORG_COMPILER_FLAGS instead)
10457#
10458# Defines CWARNFLAGS to enable C compiler warnings.
10459#
10460# This function is deprecated because it defines -fno-strict-aliasing
10461# which alters the code generated by the compiler.  If -fno-strict-aliasing
10462# is needed, then it should be added explicitly in the module when
10463# it is updated to use BASE_CFLAGS.
10464#
10465AC_DEFUN([XORG_CWARNFLAGS], [
10466AC_REQUIRE([XORG_COMPILER_FLAGS])
10467AC_REQUIRE([XORG_COMPILER_BRAND])
10468AC_LANG_CASE(
10469	[C], [
10470		CWARNFLAGS="$BASE_CFLAGS"
10471		if  test "x$GCC" = xyes ; then
10472		    CWARNFLAGS="$CWARNFLAGS -fno-strict-aliasing"
10473		fi
10474		AC_SUBST(CWARNFLAGS)
10475	]
10476)
10477]) # XORG_CWARNFLAGS
10478
10479# XORG_STRICT_OPTION
10480# -----------------------
10481# Minimum version: 1.3.0
10482#
10483# Add configure option to enable strict compilation flags, such as treating
10484# warnings as fatal errors.
10485# If --enable-strict-compilation is passed to configure, adds strict flags to
10486# $BASE_CFLAGS or $BASE_CXXFLAGS and the deprecated $CWARNFLAGS.
10487#
10488# Starting in 1.14.0 also exports $STRICT_CFLAGS for use in other tests or
10489# when strict compilation is unconditionally desired.
10490AC_DEFUN([XORG_STRICT_OPTION], [
10491AC_REQUIRE([XORG_CWARNFLAGS])
10492AC_REQUIRE([XORG_COMPILER_FLAGS])
10493
10494AC_ARG_ENABLE(strict-compilation,
10495			  AS_HELP_STRING([--enable-strict-compilation],
10496			  [Enable all warnings from compiler and make them errors (default: disabled)]),
10497			  [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
10498
10499AC_LANG_CASE(
10500        [C], [
10501                define([PREFIX], [C])
10502        ],
10503        [C++], [
10504                define([PREFIX], [CXX])
10505        ]
10506)
10507
10508[STRICT_]PREFIX[FLAGS]=""
10509XORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-pedantic])
10510XORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-Werror], [-errwarn])
10511
10512# Earlier versions of gcc (eg: 4.2) support -Werror=attributes, but do not
10513# activate it with -Werror, so we add it here explicitly.
10514XORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-Werror=attributes])
10515
10516if test "x$STRICT_COMPILE" = "xyes"; then
10517    [BASE_]PREFIX[FLAGS]="$[BASE_]PREFIX[FLAGS] $[STRICT_]PREFIX[FLAGS]"
10518    AC_LANG_CASE([C], [CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"])
10519fi
10520AC_SUBST([STRICT_]PREFIX[FLAGS])
10521AC_SUBST([BASE_]PREFIX[FLAGS])
10522AC_LANG_CASE([C], AC_SUBST([CWARNFLAGS]))
10523]) # XORG_STRICT_OPTION
10524
10525# XORG_DEFAULT_OPTIONS
10526# --------------------
10527# Minimum version: 1.3.0
10528#
10529# Defines default options for X.Org modules.
10530#
10531AC_DEFUN([XORG_DEFAULT_OPTIONS], [
10532AC_REQUIRE([AC_PROG_INSTALL])
10533XORG_COMPILER_FLAGS
10534XORG_CWARNFLAGS
10535XORG_STRICT_OPTION
10536XORG_RELEASE_VERSION
10537XORG_CHANGELOG
10538XORG_INSTALL
10539XORG_MANPAGE_SECTIONS
10540m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
10541    [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
10542]) # XORG_DEFAULT_OPTIONS
10543
10544# XORG_INSTALL()
10545# ----------------
10546# Minimum version: 1.4.0
10547#
10548# Defines the variable INSTALL_CMD as the command to copy
10549# INSTALL from $prefix/share/util-macros.
10550#
10551AC_DEFUN([XORG_INSTALL], [
10552AC_REQUIRE([PKG_PROG_PKG_CONFIG])
10553macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
10554INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
10555mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
10556|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \
10557echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)"
10558AC_SUBST([INSTALL_CMD])
10559]) # XORG_INSTALL
10560dnl Copyright 2005 Red Hat, Inc
10561dnl
10562dnl Permission to use, copy, modify, distribute, and sell this software and its
10563dnl documentation for any purpose is hereby granted without fee, provided that
10564dnl the above copyright notice appear in all copies and that both that
10565dnl copyright notice and this permission notice appear in supporting
10566dnl documentation.
10567dnl
10568dnl The above copyright notice and this permission notice shall be included
10569dnl in all copies or substantial portions of the Software.
10570dnl
10571dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
10572dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
10573dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
10574dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
10575dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
10576dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
10577dnl OTHER DEALINGS IN THE SOFTWARE.
10578dnl
10579dnl Except as contained in this notice, the name of the copyright holders shall
10580dnl not be used in advertising or otherwise to promote the sale, use or
10581dnl other dealings in this Software without prior written authorization
10582dnl from the copyright holders.
10583dnl
10584
10585# XORG_RELEASE_VERSION
10586# --------------------
10587# Defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use.
10588
10589AC_DEFUN([XORG_RELEASE_VERSION],[
10590	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
10591		[`echo $PACKAGE_VERSION | cut -d . -f 1`],
10592		[Major version of this package])
10593	PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
10594	if test "x$PVM" = "x"; then
10595		PVM="0"
10596	fi
10597	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
10598		[$PVM],
10599		[Minor version of this package])
10600	PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
10601	if test "x$PVP" = "x"; then
10602		PVP="0"
10603	fi
10604	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL],
10605		[$PVP],
10606		[Patch version of this package])
10607])
10608
10609# XORG_CHANGELOG()
10610# ----------------
10611# Minimum version: 1.2.0
10612#
10613# Defines the variable CHANGELOG_CMD as the command to generate
10614# ChangeLog from git.
10615#
10616#
10617AC_DEFUN([XORG_CHANGELOG], [
10618CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \
10619mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
10620|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \
10621echo 'git directory not found: installing possibly empty changelog.' >&2)"
10622AC_SUBST([CHANGELOG_CMD])
10623]) # XORG_CHANGELOG
10624
10625dnl Copyright 2005 Red Hat, Inc
10626dnl
10627dnl Permission to use, copy, modify, distribute, and sell this software and its
10628dnl documentation for any purpose is hereby granted without fee, provided that
10629dnl the above copyright notice appear in all copies and that both that
10630dnl copyright notice and this permission notice appear in supporting
10631dnl documentation.
10632dnl
10633dnl The above copyright notice and this permission notice shall be included
10634dnl in all copies or substantial portions of the Software.
10635dnl
10636dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
10637dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
10638dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
10639dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
10640dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
10641dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
10642dnl OTHER DEALINGS IN THE SOFTWARE.
10643dnl
10644dnl Except as contained in this notice, the name of the copyright holders shall
10645dnl not be used in advertising or otherwise to promote the sale, use or
10646dnl other dealings in this Software without prior written authorization
10647dnl from the copyright holders.
10648dnl
10649
10650# XORG_DRIVER_CHECK_EXT()
10651# --------------------------
10652# Checks for the $1 define in xorg-server.h (from the sdk).  If it
10653# is defined, then add $1 to $REQUIRED_MODULES.
10654
10655AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
10656	AC_REQUIRE([PKG_PROG_PKG_CONFIG])
10657	SAVE_CFLAGS="$CFLAGS"
10658	CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`"
10659	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
10660#include "xorg-server.h"
10661#if !defined $1
10662#error $1 not defined
10663#endif
10664		]])],
10665		[_EXT_CHECK=yes],
10666		[_EXT_CHECK=no])
10667	CFLAGS="$SAVE_CFLAGS"
10668	AC_MSG_CHECKING([if $1 is defined])
10669	AC_MSG_RESULT([$_EXT_CHECK])
10670	if test "$_EXT_CHECK" != no; then
10671		REQUIRED_MODULES="$REQUIRED_MODULES $2"
10672	fi
10673])
10674
10675# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
10676# Foundation, Inc.
10677#
10678# This file is free software; the Free Software Foundation
10679# gives unlimited permission to copy and/or distribute it,
10680# with or without modifications, as long as this notice is preserved.
10681
10682# serial 1
10683
10684# AM_AUTOMAKE_VERSION(VERSION)
10685# ----------------------------
10686# Automake X.Y traces this macro to ensure aclocal.m4 has been
10687# generated from the m4 files accompanying Automake X.Y.
10688# (This private macro should not be called outside this file.)
10689AC_DEFUN([AM_AUTOMAKE_VERSION],
10690[am__api_version='1.11'
10691dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
10692dnl require some minimum version.  Point them to the right macro.
10693m4_if([$1], [1.11.6], [],
10694      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
10695])
10696
10697# _AM_AUTOCONF_VERSION(VERSION)
10698# -----------------------------
10699# aclocal traces this macro to find the Autoconf version.
10700# This is a private macro too.  Using m4_define simplifies
10701# the logic in aclocal, which can simply ignore this definition.
10702m4_define([_AM_AUTOCONF_VERSION], [])
10703
10704# AM_SET_CURRENT_AUTOMAKE_VERSION
10705# -------------------------------
10706# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
10707# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
10708AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
10709[AM_AUTOMAKE_VERSION([1.11.6])dnl
10710m4_ifndef([AC_AUTOCONF_VERSION],
10711  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
10712_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
10713
10714# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
10715
10716# Copyright (C) 2001, 2003, 2005, 2011 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 1
10723
10724# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
10725# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
10726# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
10727#
10728# Of course, Automake must honor this variable whenever it calls a
10729# tool from the auxiliary directory.  The problem is that $srcdir (and
10730# therefore $ac_aux_dir as well) can be either absolute or relative,
10731# depending on how configure is run.  This is pretty annoying, since
10732# it makes $ac_aux_dir quite unusable in subdirectories: in the top
10733# source directory, any form will work fine, but in subdirectories a
10734# relative path needs to be adjusted first.
10735#
10736# $ac_aux_dir/missing
10737#    fails when called from a subdirectory if $ac_aux_dir is relative
10738# $top_srcdir/$ac_aux_dir/missing
10739#    fails if $ac_aux_dir is absolute,
10740#    fails when called from a subdirectory in a VPATH build with
10741#          a relative $ac_aux_dir
10742#
10743# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
10744# are both prefixed by $srcdir.  In an in-source build this is usually
10745# harmless because $srcdir is `.', but things will broke when you
10746# start a VPATH build or use an absolute $srcdir.
10747#
10748# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
10749# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
10750#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
10751# and then we would define $MISSING as
10752#   MISSING="\${SHELL} $am_aux_dir/missing"
10753# This will work as long as MISSING is not called from configure, because
10754# unfortunately $(top_srcdir) has no meaning in configure.
10755# However there are other variables, like CC, which are often used in
10756# configure, and could therefore not use this "fixed" $ac_aux_dir.
10757#
10758# Another solution, used here, is to always expand $ac_aux_dir to an
10759# absolute PATH.  The drawback is that using absolute paths prevent a
10760# configured tree to be moved without reconfiguration.
10761
10762AC_DEFUN([AM_AUX_DIR_EXPAND],
10763[dnl Rely on autoconf to set up CDPATH properly.
10764AC_PREREQ([2.50])dnl
10765# expand $ac_aux_dir to an absolute path
10766am_aux_dir=`cd $ac_aux_dir && pwd`
10767])
10768
10769# AM_CONDITIONAL                                            -*- Autoconf -*-
10770
10771# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
10772# Free Software Foundation, Inc.
10773#
10774# This file is free software; the Free Software Foundation
10775# gives unlimited permission to copy and/or distribute it,
10776# with or without modifications, as long as this notice is preserved.
10777
10778# serial 9
10779
10780# AM_CONDITIONAL(NAME, SHELL-CONDITION)
10781# -------------------------------------
10782# Define a conditional.
10783AC_DEFUN([AM_CONDITIONAL],
10784[AC_PREREQ(2.52)dnl
10785 ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
10786	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
10787AC_SUBST([$1_TRUE])dnl
10788AC_SUBST([$1_FALSE])dnl
10789_AM_SUBST_NOTMAKE([$1_TRUE])dnl
10790_AM_SUBST_NOTMAKE([$1_FALSE])dnl
10791m4_define([_AM_COND_VALUE_$1], [$2])dnl
10792if $2; then
10793  $1_TRUE=
10794  $1_FALSE='#'
10795else
10796  $1_TRUE='#'
10797  $1_FALSE=
10798fi
10799AC_CONFIG_COMMANDS_PRE(
10800[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
10801  AC_MSG_ERROR([[conditional "$1" was never defined.
10802Usually this means the macro was only invoked conditionally.]])
10803fi])])
10804
10805# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
10806# 2010, 2011 Free Software Foundation, Inc.
10807#
10808# This file is free software; the Free Software Foundation
10809# gives unlimited permission to copy and/or distribute it,
10810# with or without modifications, as long as this notice is preserved.
10811
10812# serial 12
10813
10814# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
10815# written in clear, in which case automake, when reading aclocal.m4,
10816# will think it sees a *use*, and therefore will trigger all it's
10817# C support machinery.  Also note that it means that autoscan, seeing
10818# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
10819
10820
10821# _AM_DEPENDENCIES(NAME)
10822# ----------------------
10823# See how the compiler implements dependency checking.
10824# NAME is "CC", "CXX", "GCJ", or "OBJC".
10825# We try a few techniques and use that to set a single cache variable.
10826#
10827# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
10828# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
10829# dependency, and given that the user is not expected to run this macro,
10830# just rely on AC_PROG_CC.
10831AC_DEFUN([_AM_DEPENDENCIES],
10832[AC_REQUIRE([AM_SET_DEPDIR])dnl
10833AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
10834AC_REQUIRE([AM_MAKE_INCLUDE])dnl
10835AC_REQUIRE([AM_DEP_TRACK])dnl
10836
10837ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
10838       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
10839       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
10840       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
10841       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
10842                   [depcc="$$1"   am_compiler_list=])
10843
10844AC_CACHE_CHECK([dependency style of $depcc],
10845               [am_cv_$1_dependencies_compiler_type],
10846[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
10847  # We make a subdir and do the tests there.  Otherwise we can end up
10848  # making bogus files that we don't know about and never remove.  For
10849  # instance it was reported that on HP-UX the gcc test will end up
10850  # making a dummy file named `D' -- because `-MD' means `put the output
10851  # in D'.
10852  rm -rf conftest.dir
10853  mkdir conftest.dir
10854  # Copy depcomp to subdir because otherwise we won't find it if we're
10855  # using a relative directory.
10856  cp "$am_depcomp" conftest.dir
10857  cd conftest.dir
10858  # We will build objects and dependencies in a subdirectory because
10859  # it helps to detect inapplicable dependency modes.  For instance
10860  # both Tru64's cc and ICC support -MD to output dependencies as a
10861  # side effect of compilation, but ICC will put the dependencies in
10862  # the current directory while Tru64 will put them in the object
10863  # directory.
10864  mkdir sub
10865
10866  am_cv_$1_dependencies_compiler_type=none
10867  if test "$am_compiler_list" = ""; then
10868     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
10869  fi
10870  am__universal=false
10871  m4_case([$1], [CC],
10872    [case " $depcc " in #(
10873     *\ -arch\ *\ -arch\ *) am__universal=true ;;
10874     esac],
10875    [CXX],
10876    [case " $depcc " in #(
10877     *\ -arch\ *\ -arch\ *) am__universal=true ;;
10878     esac])
10879
10880  for depmode in $am_compiler_list; do
10881    # Setup a source with many dependencies, because some compilers
10882    # like to wrap large dependency lists on column 80 (with \), and
10883    # we should not choose a depcomp mode which is confused by this.
10884    #
10885    # We need to recreate these files for each test, as the compiler may
10886    # overwrite some of them when testing with obscure command lines.
10887    # This happens at least with the AIX C compiler.
10888    : > sub/conftest.c
10889    for i in 1 2 3 4 5 6; do
10890      echo '#include "conftst'$i'.h"' >> sub/conftest.c
10891      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
10892      # Solaris 8's {/usr,}/bin/sh.
10893      touch sub/conftst$i.h
10894    done
10895    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
10896
10897    # We check with `-c' and `-o' for the sake of the "dashmstdout"
10898    # mode.  It turns out that the SunPro C++ compiler does not properly
10899    # handle `-M -o', and we need to detect this.  Also, some Intel
10900    # versions had trouble with output in subdirs
10901    am__obj=sub/conftest.${OBJEXT-o}
10902    am__minus_obj="-o $am__obj"
10903    case $depmode in
10904    gcc)
10905      # This depmode causes a compiler race in universal mode.
10906      test "$am__universal" = false || continue
10907      ;;
10908    nosideeffect)
10909      # after this tag, mechanisms are not by side-effect, so they'll
10910      # only be used when explicitly requested
10911      if test "x$enable_dependency_tracking" = xyes; then
10912	continue
10913      else
10914	break
10915      fi
10916      ;;
10917    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
10918      # This compiler won't grok `-c -o', but also, the minuso test has
10919      # not run yet.  These depmodes are late enough in the game, and
10920      # so weak that their functioning should not be impacted.
10921      am__obj=conftest.${OBJEXT-o}
10922      am__minus_obj=
10923      ;;
10924    none) break ;;
10925    esac
10926    if depmode=$depmode \
10927       source=sub/conftest.c object=$am__obj \
10928       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
10929       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
10930         >/dev/null 2>conftest.err &&
10931       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
10932       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
10933       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
10934       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
10935      # icc doesn't choke on unknown options, it will just issue warnings
10936      # or remarks (even with -Werror).  So we grep stderr for any message
10937      # that says an option was ignored or not supported.
10938      # When given -MP, icc 7.0 and 7.1 complain thusly:
10939      #   icc: Command line warning: ignoring option '-M'; no argument required
10940      # The diagnosis changed in icc 8.0:
10941      #   icc: Command line remark: option '-MP' not supported
10942      if (grep 'ignoring option' conftest.err ||
10943          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
10944        am_cv_$1_dependencies_compiler_type=$depmode
10945        break
10946      fi
10947    fi
10948  done
10949
10950  cd ..
10951  rm -rf conftest.dir
10952else
10953  am_cv_$1_dependencies_compiler_type=none
10954fi
10955])
10956AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
10957AM_CONDITIONAL([am__fastdep$1], [
10958  test "x$enable_dependency_tracking" != xno \
10959  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
10960])
10961
10962
10963# AM_SET_DEPDIR
10964# -------------
10965# Choose a directory name for dependency files.
10966# This macro is AC_REQUIREd in _AM_DEPENDENCIES
10967AC_DEFUN([AM_SET_DEPDIR],
10968[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
10969AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
10970])
10971
10972
10973# AM_DEP_TRACK
10974# ------------
10975AC_DEFUN([AM_DEP_TRACK],
10976[AC_ARG_ENABLE(dependency-tracking,
10977[  --disable-dependency-tracking  speeds up one-time build
10978  --enable-dependency-tracking   do not reject slow dependency extractors])
10979if test "x$enable_dependency_tracking" != xno; then
10980  am_depcomp="$ac_aux_dir/depcomp"
10981  AMDEPBACKSLASH='\'
10982  am__nodep='_no'
10983fi
10984AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
10985AC_SUBST([AMDEPBACKSLASH])dnl
10986_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
10987AC_SUBST([am__nodep])dnl
10988_AM_SUBST_NOTMAKE([am__nodep])dnl
10989])
10990
10991# Generate code to set up dependency tracking.              -*- Autoconf -*-
10992
10993# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
10994# Free Software Foundation, Inc.
10995#
10996# This file is free software; the Free Software Foundation
10997# gives unlimited permission to copy and/or distribute it,
10998# with or without modifications, as long as this notice is preserved.
10999
11000#serial 5
11001
11002# _AM_OUTPUT_DEPENDENCY_COMMANDS
11003# ------------------------------
11004AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
11005[{
11006  # Autoconf 2.62 quotes --file arguments for eval, but not when files
11007  # are listed without --file.  Let's play safe and only enable the eval
11008  # if we detect the quoting.
11009  case $CONFIG_FILES in
11010  *\'*) eval set x "$CONFIG_FILES" ;;
11011  *)   set x $CONFIG_FILES ;;
11012  esac
11013  shift
11014  for mf
11015  do
11016    # Strip MF so we end up with the name of the file.
11017    mf=`echo "$mf" | sed -e 's/:.*$//'`
11018    # Check whether this is an Automake generated Makefile or not.
11019    # We used to match only the files named `Makefile.in', but
11020    # some people rename them; so instead we look at the file content.
11021    # Grep'ing the first line is not enough: some people post-process
11022    # each Makefile.in and add a new line on top of each file to say so.
11023    # Grep'ing the whole file is not good either: AIX grep has a line
11024    # limit of 2048, but all sed's we know have understand at least 4000.
11025    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
11026      dirpart=`AS_DIRNAME("$mf")`
11027    else
11028      continue
11029    fi
11030    # Extract the definition of DEPDIR, am__include, and am__quote
11031    # from the Makefile without running `make'.
11032    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
11033    test -z "$DEPDIR" && continue
11034    am__include=`sed -n 's/^am__include = //p' < "$mf"`
11035    test -z "am__include" && continue
11036    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
11037    # When using ansi2knr, U may be empty or an underscore; expand it
11038    U=`sed -n 's/^U = //p' < "$mf"`
11039    # Find all dependency output files, they are included files with
11040    # $(DEPDIR) in their names.  We invoke sed twice because it is the
11041    # simplest approach to changing $(DEPDIR) to its actual value in the
11042    # expansion.
11043    for file in `sed -n "
11044      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
11045	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
11046      # Make sure the directory exists.
11047      test -f "$dirpart/$file" && continue
11048      fdir=`AS_DIRNAME(["$file"])`
11049      AS_MKDIR_P([$dirpart/$fdir])
11050      # echo "creating $dirpart/$file"
11051      echo '# dummy' > "$dirpart/$file"
11052    done
11053  done
11054}
11055])# _AM_OUTPUT_DEPENDENCY_COMMANDS
11056
11057
11058# AM_OUTPUT_DEPENDENCY_COMMANDS
11059# -----------------------------
11060# This macro should only be invoked once -- use via AC_REQUIRE.
11061#
11062# This code is only required when automatic dependency tracking
11063# is enabled.  FIXME.  This creates each `.P' file that we will
11064# need in order to bootstrap the dependency handling code.
11065AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
11066[AC_CONFIG_COMMANDS([depfiles],
11067     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
11068     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
11069])
11070
11071# Do all the work for Automake.                             -*- Autoconf -*-
11072
11073# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
11074# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
11075#
11076# This file is free software; the Free Software Foundation
11077# gives unlimited permission to copy and/or distribute it,
11078# with or without modifications, as long as this notice is preserved.
11079
11080# serial 16
11081
11082# This macro actually does too much.  Some checks are only needed if
11083# your package does certain things.  But this isn't really a big deal.
11084
11085# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
11086# AM_INIT_AUTOMAKE([OPTIONS])
11087# -----------------------------------------------
11088# The call with PACKAGE and VERSION arguments is the old style
11089# call (pre autoconf-2.50), which is being phased out.  PACKAGE
11090# and VERSION should now be passed to AC_INIT and removed from
11091# the call to AM_INIT_AUTOMAKE.
11092# We support both call styles for the transition.  After
11093# the next Automake release, Autoconf can make the AC_INIT
11094# arguments mandatory, and then we can depend on a new Autoconf
11095# release and drop the old call support.
11096AC_DEFUN([AM_INIT_AUTOMAKE],
11097[AC_PREREQ([2.62])dnl
11098dnl Autoconf wants to disallow AM_ names.  We explicitly allow
11099dnl the ones we care about.
11100m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
11101AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
11102AC_REQUIRE([AC_PROG_INSTALL])dnl
11103if test "`cd $srcdir && pwd`" != "`pwd`"; then
11104  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
11105  # is not polluted with repeated "-I."
11106  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
11107  # test to see if srcdir already configured
11108  if test -f $srcdir/config.status; then
11109    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
11110  fi
11111fi
11112
11113# test whether we have cygpath
11114if test -z "$CYGPATH_W"; then
11115  if (cygpath --version) >/dev/null 2>/dev/null; then
11116    CYGPATH_W='cygpath -w'
11117  else
11118    CYGPATH_W=echo
11119  fi
11120fi
11121AC_SUBST([CYGPATH_W])
11122
11123# Define the identity of the package.
11124dnl Distinguish between old-style and new-style calls.
11125m4_ifval([$2],
11126[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
11127 AC_SUBST([PACKAGE], [$1])dnl
11128 AC_SUBST([VERSION], [$2])],
11129[_AM_SET_OPTIONS([$1])dnl
11130dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
11131m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
11132  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
11133 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
11134 AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
11135
11136_AM_IF_OPTION([no-define],,
11137[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
11138 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
11139
11140# Some tools Automake needs.
11141AC_REQUIRE([AM_SANITY_CHECK])dnl
11142AC_REQUIRE([AC_ARG_PROGRAM])dnl
11143AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
11144AM_MISSING_PROG(AUTOCONF, autoconf)
11145AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
11146AM_MISSING_PROG(AUTOHEADER, autoheader)
11147AM_MISSING_PROG(MAKEINFO, makeinfo)
11148AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
11149AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
11150AC_REQUIRE([AM_PROG_MKDIR_P])dnl
11151# We need awk for the "check" target.  The system "awk" is bad on
11152# some platforms.
11153AC_REQUIRE([AC_PROG_AWK])dnl
11154AC_REQUIRE([AC_PROG_MAKE_SET])dnl
11155AC_REQUIRE([AM_SET_LEADING_DOT])dnl
11156_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
11157	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
11158			     [_AM_PROG_TAR([v7])])])
11159_AM_IF_OPTION([no-dependencies],,
11160[AC_PROVIDE_IFELSE([AC_PROG_CC],
11161		  [_AM_DEPENDENCIES(CC)],
11162		  [define([AC_PROG_CC],
11163			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
11164AC_PROVIDE_IFELSE([AC_PROG_CXX],
11165		  [_AM_DEPENDENCIES(CXX)],
11166		  [define([AC_PROG_CXX],
11167			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
11168AC_PROVIDE_IFELSE([AC_PROG_OBJC],
11169		  [_AM_DEPENDENCIES(OBJC)],
11170		  [define([AC_PROG_OBJC],
11171			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
11172])
11173_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
11174dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
11175dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
11176dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
11177AC_CONFIG_COMMANDS_PRE(dnl
11178[m4_provide_if([_AM_COMPILER_EXEEXT],
11179  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
11180])
11181
11182dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
11183dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
11184dnl mangled by Autoconf and run in a shell conditional statement.
11185m4_define([_AC_COMPILER_EXEEXT],
11186m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
11187
11188
11189# When config.status generates a header, we must update the stamp-h file.
11190# This file resides in the same directory as the config header
11191# that is generated.  The stamp files are numbered to have different names.
11192
11193# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
11194# loop where config.status creates the headers, so we can generate
11195# our stamp files there.
11196AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
11197[# Compute $1's index in $config_headers.
11198_am_arg=$1
11199_am_stamp_count=1
11200for _am_header in $config_headers :; do
11201  case $_am_header in
11202    $_am_arg | $_am_arg:* )
11203      break ;;
11204    * )
11205      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
11206  esac
11207done
11208echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
11209
11210# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
11211# Inc.
11212#
11213# This file is free software; the Free Software Foundation
11214# gives unlimited permission to copy and/or distribute it,
11215# with or without modifications, as long as this notice is preserved.
11216
11217# serial 1
11218
11219# AM_PROG_INSTALL_SH
11220# ------------------
11221# Define $install_sh.
11222AC_DEFUN([AM_PROG_INSTALL_SH],
11223[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
11224if test x"${install_sh}" != xset; then
11225  case $am_aux_dir in
11226  *\ * | *\	*)
11227    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
11228  *)
11229    install_sh="\${SHELL} $am_aux_dir/install-sh"
11230  esac
11231fi
11232AC_SUBST(install_sh)])
11233
11234# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
11235#
11236# This file is free software; the Free Software Foundation
11237# gives unlimited permission to copy and/or distribute it,
11238# with or without modifications, as long as this notice is preserved.
11239
11240# serial 2
11241
11242# Check whether the underlying file-system supports filenames
11243# with a leading dot.  For instance MS-DOS doesn't.
11244AC_DEFUN([AM_SET_LEADING_DOT],
11245[rm -rf .tst 2>/dev/null
11246mkdir .tst 2>/dev/null
11247if test -d .tst; then
11248  am__leading_dot=.
11249else
11250  am__leading_dot=_
11251fi
11252rmdir .tst 2>/dev/null
11253AC_SUBST([am__leading_dot])])
11254
11255# Check to see how 'make' treats includes.	            -*- Autoconf -*-
11256
11257# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
11258#
11259# This file is free software; the Free Software Foundation
11260# gives unlimited permission to copy and/or distribute it,
11261# with or without modifications, as long as this notice is preserved.
11262
11263# serial 4
11264
11265# AM_MAKE_INCLUDE()
11266# -----------------
11267# Check to see how make treats includes.
11268AC_DEFUN([AM_MAKE_INCLUDE],
11269[am_make=${MAKE-make}
11270cat > confinc << 'END'
11271am__doit:
11272	@echo this is the am__doit target
11273.PHONY: am__doit
11274END
11275# If we don't find an include directive, just comment out the code.
11276AC_MSG_CHECKING([for style of include used by $am_make])
11277am__include="#"
11278am__quote=
11279_am_result=none
11280# First try GNU make style include.
11281echo "include confinc" > confmf
11282# Ignore all kinds of additional output from `make'.
11283case `$am_make -s -f confmf 2> /dev/null` in #(
11284*the\ am__doit\ target*)
11285  am__include=include
11286  am__quote=
11287  _am_result=GNU
11288  ;;
11289esac
11290# Now try BSD make style include.
11291if test "$am__include" = "#"; then
11292   echo '.include "confinc"' > confmf
11293   case `$am_make -s -f confmf 2> /dev/null` in #(
11294   *the\ am__doit\ target*)
11295     am__include=.include
11296     am__quote="\""
11297     _am_result=BSD
11298     ;;
11299   esac
11300fi
11301AC_SUBST([am__include])
11302AC_SUBST([am__quote])
11303AC_MSG_RESULT([$_am_result])
11304rm -f confinc confmf
11305])
11306
11307# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
11308
11309# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
11310# Free Software Foundation, Inc.
11311#
11312# This file is free software; the Free Software Foundation
11313# gives unlimited permission to copy and/or distribute it,
11314# with or without modifications, as long as this notice is preserved.
11315
11316# serial 6
11317
11318# AM_MISSING_PROG(NAME, PROGRAM)
11319# ------------------------------
11320AC_DEFUN([AM_MISSING_PROG],
11321[AC_REQUIRE([AM_MISSING_HAS_RUN])
11322$1=${$1-"${am_missing_run}$2"}
11323AC_SUBST($1)])
11324
11325
11326# AM_MISSING_HAS_RUN
11327# ------------------
11328# Define MISSING if not defined so far and test if it supports --run.
11329# If it does, set am_missing_run to use it, otherwise, to nothing.
11330AC_DEFUN([AM_MISSING_HAS_RUN],
11331[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
11332AC_REQUIRE_AUX_FILE([missing])dnl
11333if test x"${MISSING+set}" != xset; then
11334  case $am_aux_dir in
11335  *\ * | *\	*)
11336    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
11337  *)
11338    MISSING="\${SHELL} $am_aux_dir/missing" ;;
11339  esac
11340fi
11341# Use eval to expand $SHELL
11342if eval "$MISSING --run true"; then
11343  am_missing_run="$MISSING --run "
11344else
11345  am_missing_run=
11346  AC_MSG_WARN([`missing' script is too old or missing])
11347fi
11348])
11349
11350# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
11351# Inc.
11352#
11353# This file is free software; the Free Software Foundation
11354# gives unlimited permission to copy and/or distribute it,
11355# with or without modifications, as long as this notice is preserved.
11356
11357# serial 1
11358
11359# AM_PROG_MKDIR_P
11360# ---------------
11361# Check for `mkdir -p'.
11362AC_DEFUN([AM_PROG_MKDIR_P],
11363[AC_PREREQ([2.60])dnl
11364AC_REQUIRE([AC_PROG_MKDIR_P])dnl
11365dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
11366dnl while keeping a definition of mkdir_p for backward compatibility.
11367dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
11368dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
11369dnl Makefile.ins that do not define MKDIR_P, so we do our own
11370dnl adjustment using top_builddir (which is defined more often than
11371dnl MKDIR_P).
11372AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
11373case $mkdir_p in
11374  [[\\/$]]* | ?:[[\\/]]*) ;;
11375  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
11376esac
11377])
11378
11379# Helper functions for option handling.                     -*- Autoconf -*-
11380
11381# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
11382# Foundation, Inc.
11383#
11384# This file is free software; the Free Software Foundation
11385# gives unlimited permission to copy and/or distribute it,
11386# with or without modifications, as long as this notice is preserved.
11387
11388# serial 5
11389
11390# _AM_MANGLE_OPTION(NAME)
11391# -----------------------
11392AC_DEFUN([_AM_MANGLE_OPTION],
11393[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
11394
11395# _AM_SET_OPTION(NAME)
11396# --------------------
11397# Set option NAME.  Presently that only means defining a flag for this option.
11398AC_DEFUN([_AM_SET_OPTION],
11399[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
11400
11401# _AM_SET_OPTIONS(OPTIONS)
11402# ------------------------
11403# OPTIONS is a space-separated list of Automake options.
11404AC_DEFUN([_AM_SET_OPTIONS],
11405[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
11406
11407# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
11408# -------------------------------------------
11409# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
11410AC_DEFUN([_AM_IF_OPTION],
11411[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
11412
11413# Check to make sure that the build environment is sane.    -*- Autoconf -*-
11414
11415# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
11416# Free Software Foundation, Inc.
11417#
11418# This file is free software; the Free Software Foundation
11419# gives unlimited permission to copy and/or distribute it,
11420# with or without modifications, as long as this notice is preserved.
11421
11422# serial 5
11423
11424# AM_SANITY_CHECK
11425# ---------------
11426AC_DEFUN([AM_SANITY_CHECK],
11427[AC_MSG_CHECKING([whether build environment is sane])
11428# Just in case
11429sleep 1
11430echo timestamp > conftest.file
11431# Reject unsafe characters in $srcdir or the absolute working directory
11432# name.  Accept space and tab only in the latter.
11433am_lf='
11434'
11435case `pwd` in
11436  *[[\\\"\#\$\&\'\`$am_lf]]*)
11437    AC_MSG_ERROR([unsafe absolute working directory name]);;
11438esac
11439case $srcdir in
11440  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
11441    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
11442esac
11443
11444# Do `set' in a subshell so we don't clobber the current shell's
11445# arguments.  Must try -L first in case configure is actually a
11446# symlink; some systems play weird games with the mod time of symlinks
11447# (eg FreeBSD returns the mod time of the symlink's containing
11448# directory).
11449if (
11450   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
11451   if test "$[*]" = "X"; then
11452      # -L didn't work.
11453      set X `ls -t "$srcdir/configure" conftest.file`
11454   fi
11455   rm -f conftest.file
11456   if test "$[*]" != "X $srcdir/configure conftest.file" \
11457      && test "$[*]" != "X conftest.file $srcdir/configure"; then
11458
11459      # If neither matched, then we have a broken ls.  This can happen
11460      # if, for instance, CONFIG_SHELL is bash and it inherits a
11461      # broken ls alias from the environment.  This has actually
11462      # happened.  Such a system could not be considered "sane".
11463      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
11464alias in your environment])
11465   fi
11466
11467   test "$[2]" = conftest.file
11468   )
11469then
11470   # Ok.
11471   :
11472else
11473   AC_MSG_ERROR([newly created file is older than distributed files!
11474Check your system clock])
11475fi
11476AC_MSG_RESULT(yes)])
11477
11478# Copyright (C) 2009, 2011  Free Software Foundation, Inc.
11479#
11480# This file is free software; the Free Software Foundation
11481# gives unlimited permission to copy and/or distribute it,
11482# with or without modifications, as long as this notice is preserved.
11483
11484# serial 2
11485
11486# AM_SILENT_RULES([DEFAULT])
11487# --------------------------
11488# Enable less verbose build rules; with the default set to DEFAULT
11489# (`yes' being less verbose, `no' or empty being verbose).
11490AC_DEFUN([AM_SILENT_RULES],
11491[AC_ARG_ENABLE([silent-rules],
11492[  --enable-silent-rules          less verbose build output (undo: `make V=1')
11493  --disable-silent-rules         verbose build output (undo: `make V=0')])
11494case $enable_silent_rules in
11495yes) AM_DEFAULT_VERBOSITY=0;;
11496no)  AM_DEFAULT_VERBOSITY=1;;
11497*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
11498esac
11499dnl
11500dnl A few `make' implementations (e.g., NonStop OS and NextStep)
11501dnl do not support nested variable expansions.
11502dnl See automake bug#9928 and bug#10237.
11503am_make=${MAKE-make}
11504AC_CACHE_CHECK([whether $am_make supports nested variables],
11505   [am_cv_make_support_nested_variables],
11506   [if AS_ECHO([['TRUE=$(BAR$(V))
11507BAR0=false
11508BAR1=true
11509V=1
11510am__doit:
11511	@$(TRUE)
11512.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
11513  am_cv_make_support_nested_variables=yes
11514else
11515  am_cv_make_support_nested_variables=no
11516fi])
11517if test $am_cv_make_support_nested_variables = yes; then
11518  dnl Using `$V' instead of `$(V)' breaks IRIX make.
11519  AM_V='$(V)'
11520  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
11521else
11522  AM_V=$AM_DEFAULT_VERBOSITY
11523  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
11524fi
11525AC_SUBST([AM_V])dnl
11526AM_SUBST_NOTMAKE([AM_V])dnl
11527AC_SUBST([AM_DEFAULT_V])dnl
11528AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
11529AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
11530AM_BACKSLASH='\'
11531AC_SUBST([AM_BACKSLASH])dnl
11532_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
11533])
11534
11535# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
11536#
11537# This file is free software; the Free Software Foundation
11538# gives unlimited permission to copy and/or distribute it,
11539# with or without modifications, as long as this notice is preserved.
11540
11541# serial 1
11542
11543# AM_PROG_INSTALL_STRIP
11544# ---------------------
11545# One issue with vendor `install' (even GNU) is that you can't
11546# specify the program used to strip binaries.  This is especially
11547# annoying in cross-compiling environments, where the build's strip
11548# is unlikely to handle the host's binaries.
11549# Fortunately install-sh will honor a STRIPPROG variable, so we
11550# always use install-sh in `make install-strip', and initialize
11551# STRIPPROG with the value of the STRIP variable (set by the user).
11552AC_DEFUN([AM_PROG_INSTALL_STRIP],
11553[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
11554# Installed binaries are usually stripped using `strip' when the user
11555# run `make install-strip'.  However `strip' might not be the right
11556# tool to use in cross-compilation environments, therefore Automake
11557# will honor the `STRIP' environment variable to overrule this program.
11558dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
11559if test "$cross_compiling" != no; then
11560  AC_CHECK_TOOL([STRIP], [strip], :)
11561fi
11562INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
11563AC_SUBST([INSTALL_STRIP_PROGRAM])])
11564
11565# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
11566#
11567# This file is free software; the Free Software Foundation
11568# gives unlimited permission to copy and/or distribute it,
11569# with or without modifications, as long as this notice is preserved.
11570
11571# serial 3
11572
11573# _AM_SUBST_NOTMAKE(VARIABLE)
11574# ---------------------------
11575# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
11576# This macro is traced by Automake.
11577AC_DEFUN([_AM_SUBST_NOTMAKE])
11578
11579# AM_SUBST_NOTMAKE(VARIABLE)
11580# --------------------------
11581# Public sister of _AM_SUBST_NOTMAKE.
11582AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
11583
11584# Check how to create a tarball.                            -*- Autoconf -*-
11585
11586# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
11587#
11588# This file is free software; the Free Software Foundation
11589# gives unlimited permission to copy and/or distribute it,
11590# with or without modifications, as long as this notice is preserved.
11591
11592# serial 2
11593
11594# _AM_PROG_TAR(FORMAT)
11595# --------------------
11596# Check how to create a tarball in format FORMAT.
11597# FORMAT should be one of `v7', `ustar', or `pax'.
11598#
11599# Substitute a variable $(am__tar) that is a command
11600# writing to stdout a FORMAT-tarball containing the directory
11601# $tardir.
11602#     tardir=directory && $(am__tar) > result.tar
11603#
11604# Substitute a variable $(am__untar) that extract such
11605# a tarball read from stdin.
11606#     $(am__untar) < result.tar
11607AC_DEFUN([_AM_PROG_TAR],
11608[# Always define AMTAR for backward compatibility.  Yes, it's still used
11609# in the wild :-(  We should find a proper way to deprecate it ...
11610AC_SUBST([AMTAR], ['$${TAR-tar}'])
11611m4_if([$1], [v7],
11612     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
11613     [m4_case([$1], [ustar],, [pax],,
11614              [m4_fatal([Unknown tar format])])
11615AC_MSG_CHECKING([how to create a $1 tar archive])
11616# Loop over all known methods to create a tar archive until one works.
11617_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
11618_am_tools=${am_cv_prog_tar_$1-$_am_tools}
11619# Do not fold the above two line into one, because Tru64 sh and
11620# Solaris sh will not grok spaces in the rhs of `-'.
11621for _am_tool in $_am_tools
11622do
11623  case $_am_tool in
11624  gnutar)
11625    for _am_tar in tar gnutar gtar;
11626    do
11627      AM_RUN_LOG([$_am_tar --version]) && break
11628    done
11629    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
11630    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
11631    am__untar="$_am_tar -xf -"
11632    ;;
11633  plaintar)
11634    # Must skip GNU tar: if it does not support --format= it doesn't create
11635    # ustar tarball either.
11636    (tar --version) >/dev/null 2>&1 && continue
11637    am__tar='tar chf - "$$tardir"'
11638    am__tar_='tar chf - "$tardir"'
11639    am__untar='tar xf -'
11640    ;;
11641  pax)
11642    am__tar='pax -L -x $1 -w "$$tardir"'
11643    am__tar_='pax -L -x $1 -w "$tardir"'
11644    am__untar='pax -r'
11645    ;;
11646  cpio)
11647    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
11648    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
11649    am__untar='cpio -i -H $1 -d'
11650    ;;
11651  none)
11652    am__tar=false
11653    am__tar_=false
11654    am__untar=false
11655    ;;
11656  esac
11657
11658  # If the value was cached, stop now.  We just wanted to have am__tar
11659  # and am__untar set.
11660  test -n "${am_cv_prog_tar_$1}" && break
11661
11662  # tar/untar a dummy directory, and stop if the command works
11663  rm -rf conftest.dir
11664  mkdir conftest.dir
11665  echo GrepMe > conftest.dir/file
11666  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
11667  rm -rf conftest.dir
11668  if test -s conftest.tar; then
11669    AM_RUN_LOG([$am__untar <conftest.tar])
11670    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
11671  fi
11672done
11673rm -rf conftest.dir
11674
11675AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
11676AC_MSG_RESULT([$am_cv_prog_tar_$1])])
11677AC_SUBST([am__tar])
11678AC_SUBST([am__untar])
11679]) # _AM_PROG_TAR
11680
11681