Broke freeglut.h into glut.h and freeglut_ext.h
[freeglut] / aclocal.m4
1 # aclocal.m4 generated automatically by aclocal 1.5
2
3 # Copyright 1996, 1997, 1998, 1999, 2000, 2001
4 # Free Software Foundation, Inc.
5 # This file is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 # Do all the work for Automake.  This macro actually does too much --
15 # some checks are only needed if your package does certain things.
16 # But this isn't really a big deal.
17
18 # serial 5
19
20 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
21 # written in clear, in which case automake, when reading aclocal.m4,
22 # will think it sees a *use*, and therefore will trigger all it's
23 # C support machinery.  Also note that it means that autoscan, seeing
24 # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
25
26
27 # We require 2.13 because we rely on SHELL being computed by configure.
28 AC_PREREQ([2.13])
29
30 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
31 # -----------------------------------------------------------
32 # If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
33 # The purpose of this macro is to provide the user with a means to
34 # check macros which are provided without letting her know how the
35 # information is coded.
36 # If this macro is not defined by Autoconf, define it here.
37 ifdef([AC_PROVIDE_IFELSE],
38       [],
39       [define([AC_PROVIDE_IFELSE],
40               [ifdef([AC_PROVIDE_$1],
41                      [$2], [$3])])])
42
43
44 # AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
45 # ----------------------------------------------
46 AC_DEFUN([AM_INIT_AUTOMAKE],
47 [AC_REQUIRE([AC_PROG_INSTALL])dnl
48 # test to see if srcdir already configured
49 if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" &&
50    test -f $srcdir/config.status; then
51   AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first])
52 fi
53
54 # Define the identity of the package.
55 PACKAGE=$1
56 AC_SUBST(PACKAGE)dnl
57 VERSION=$2
58 AC_SUBST(VERSION)dnl
59 ifelse([$3],,
60 [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
61 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
62
63 # Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
64 # the ones we care about.
65 ifdef([m4_pattern_allow],
66       [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
67
68 # Autoconf 2.50 always computes EXEEXT.  However we need to be
69 # compatible with 2.13, for now.  So we always define EXEEXT, but we
70 # don't compute it.
71 AC_SUBST(EXEEXT)
72 # Similar for OBJEXT -- only we only use OBJEXT if the user actually
73 # requests that it be used.  This is a bit dumb.
74 : ${OBJEXT=o}
75 AC_SUBST(OBJEXT)
76
77 # Some tools Automake needs.
78 AC_REQUIRE([AM_SANITY_CHECK])dnl
79 AC_REQUIRE([AC_ARG_PROGRAM])dnl
80 AM_MISSING_PROG(ACLOCAL, aclocal)
81 AM_MISSING_PROG(AUTOCONF, autoconf)
82 AM_MISSING_PROG(AUTOMAKE, automake)
83 AM_MISSING_PROG(AUTOHEADER, autoheader)
84 AM_MISSING_PROG(MAKEINFO, makeinfo)
85 AM_MISSING_PROG(AMTAR, tar)
86 AM_PROG_INSTALL_SH
87 AM_PROG_INSTALL_STRIP
88 # We need awk for the "check" target.  The system "awk" is bad on
89 # some platforms.
90 AC_REQUIRE([AC_PROG_AWK])dnl
91 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
92 AC_REQUIRE([AM_DEP_TRACK])dnl
93 AC_REQUIRE([AM_SET_DEPDIR])dnl
94 AC_PROVIDE_IFELSE([AC_PROG_][CC],
95                   [_AM_DEPENDENCIES(CC)],
96                   [define([AC_PROG_][CC],
97                           defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
98 AC_PROVIDE_IFELSE([AC_PROG_][CXX],
99                   [_AM_DEPENDENCIES(CXX)],
100                   [define([AC_PROG_][CXX],
101                           defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
102 ])
103
104 #
105 # Check to make sure that the build environment is sane.
106 #
107
108 # serial 3
109
110 # AM_SANITY_CHECK
111 # ---------------
112 AC_DEFUN([AM_SANITY_CHECK],
113 [AC_MSG_CHECKING([whether build environment is sane])
114 # Just in case
115 sleep 1
116 echo timestamp > conftest.file
117 # Do `set' in a subshell so we don't clobber the current shell's
118 # arguments.  Must try -L first in case configure is actually a
119 # symlink; some systems play weird games with the mod time of symlinks
120 # (eg FreeBSD returns the mod time of the symlink's containing
121 # directory).
122 if (
123    set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
124    if test "$[*]" = "X"; then
125       # -L didn't work.
126       set X `ls -t $srcdir/configure conftest.file`
127    fi
128    rm -f conftest.file
129    if test "$[*]" != "X $srcdir/configure conftest.file" \
130       && test "$[*]" != "X conftest.file $srcdir/configure"; then
131
132       # If neither matched, then we have a broken ls.  This can happen
133       # if, for instance, CONFIG_SHELL is bash and it inherits a
134       # broken ls alias from the environment.  This has actually
135       # happened.  Such a system could not be considered "sane".
136       AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
137 alias in your environment])
138    fi
139
140    test "$[2]" = conftest.file
141    )
142 then
143    # Ok.
144    :
145 else
146    AC_MSG_ERROR([newly created file is older than distributed files!
147 Check your system clock])
148 fi
149 AC_MSG_RESULT(yes)])
150
151
152 # serial 2
153
154 # AM_MISSING_PROG(NAME, PROGRAM)
155 # ------------------------------
156 AC_DEFUN([AM_MISSING_PROG],
157 [AC_REQUIRE([AM_MISSING_HAS_RUN])
158 $1=${$1-"${am_missing_run}$2"}
159 AC_SUBST($1)])
160
161
162 # AM_MISSING_HAS_RUN
163 # ------------------
164 # Define MISSING if not defined so far and test if it supports --run.
165 # If it does, set am_missing_run to use it, otherwise, to nothing.
166 AC_DEFUN([AM_MISSING_HAS_RUN],
167 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
168 test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
169 # Use eval to expand $SHELL
170 if eval "$MISSING --run true"; then
171   am_missing_run="$MISSING --run "
172 else
173   am_missing_run=
174   am_backtick='`'
175   AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
176 fi
177 ])
178
179 # AM_AUX_DIR_EXPAND
180
181 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
182 # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
183 # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
184 #
185 # Of course, Automake must honor this variable whenever it calls a
186 # tool from the auxiliary directory.  The problem is that $srcdir (and
187 # therefore $ac_aux_dir as well) can be either absolute or relative,
188 # depending on how configure is run.  This is pretty annoying, since
189 # it makes $ac_aux_dir quite unusable in subdirectories: in the top
190 # source directory, any form will work fine, but in subdirectories a
191 # relative path needs to be adjusted first.
192 #
193 # $ac_aux_dir/missing
194 #    fails when called from a subdirectory if $ac_aux_dir is relative
195 # $top_srcdir/$ac_aux_dir/missing
196 #    fails if $ac_aux_dir is absolute,
197 #    fails when called from a subdirectory in a VPATH build with
198 #          a relative $ac_aux_dir
199 #
200 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
201 # are both prefixed by $srcdir.  In an in-source build this is usually
202 # harmless because $srcdir is `.', but things will broke when you
203 # start a VPATH build or use an absolute $srcdir.
204 #
205 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
206 # iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
207 #   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
208 # and then we would define $MISSING as
209 #   MISSING="\${SHELL} $am_aux_dir/missing"
210 # This will work as long as MISSING is not called from configure, because
211 # unfortunately $(top_srcdir) has no meaning in configure.
212 # However there are other variables, like CC, which are often used in
213 # configure, and could therefore not use this "fixed" $ac_aux_dir.
214 #
215 # Another solution, used here, is to always expand $ac_aux_dir to an
216 # absolute PATH.  The drawback is that using absolute paths prevent a
217 # configured tree to be moved without reconfiguration.
218
219 AC_DEFUN([AM_AUX_DIR_EXPAND], [
220 # expand $ac_aux_dir to an absolute path
221 am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
222 ])
223
224 # AM_PROG_INSTALL_SH
225 # ------------------
226 # Define $install_sh.
227 AC_DEFUN([AM_PROG_INSTALL_SH],
228 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
229 install_sh=${install_sh-"$am_aux_dir/install-sh"}
230 AC_SUBST(install_sh)])
231
232 # One issue with vendor `install' (even GNU) is that you can't
233 # specify the program used to strip binaries.  This is especially
234 # annoying in cross-compiling environments, where the build's strip
235 # is unlikely to handle the host's binaries.
236 # Fortunately install-sh will honor a STRIPPROG variable, so we
237 # always use install-sh in `make install-strip', and initialize
238 # STRIPPROG with the value of the STRIP variable (set by the user).
239 AC_DEFUN([AM_PROG_INSTALL_STRIP],
240 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
241 INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
242 AC_SUBST([INSTALL_STRIP_PROGRAM])])
243
244 # serial 4                                              -*- Autoconf -*-
245
246
247
248 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
249 # written in clear, in which case automake, when reading aclocal.m4,
250 # will think it sees a *use*, and therefore will trigger all it's
251 # C support machinery.  Also note that it means that autoscan, seeing
252 # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
253
254
255
256 # _AM_DEPENDENCIES(NAME)
257 # ---------------------
258 # See how the compiler implements dependency checking.
259 # NAME is "CC", "CXX" or "OBJC".
260 # We try a few techniques and use that to set a single cache variable.
261 #
262 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
263 # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
264 # dependency, and given that the user is not expected to run this macro,
265 # just rely on AC_PROG_CC.
266 AC_DEFUN([_AM_DEPENDENCIES],
267 [AC_REQUIRE([AM_SET_DEPDIR])dnl
268 AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
269 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
270 AC_REQUIRE([AM_DEP_TRACK])dnl
271
272 ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
273        [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
274        [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
275        [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
276                    [depcc="$$1"   am_compiler_list=])
277
278 AC_CACHE_CHECK([dependency style of $depcc],
279                [am_cv_$1_dependencies_compiler_type],
280 [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
281   # We make a subdir and do the tests there.  Otherwise we can end up
282   # making bogus files that we don't know about and never remove.  For
283   # instance it was reported that on HP-UX the gcc test will end up
284   # making a dummy file named `D' -- because `-MD' means `put the output
285   # in D'.
286   mkdir conftest.dir
287   # Copy depcomp to subdir because otherwise we won't find it if we're
288   # using a relative directory.
289   cp "$am_depcomp" conftest.dir
290   cd conftest.dir
291
292   am_cv_$1_dependencies_compiler_type=none
293   if test "$am_compiler_list" = ""; then
294      am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
295   fi
296   for depmode in $am_compiler_list; do
297     # We need to recreate these files for each test, as the compiler may
298     # overwrite some of them when testing with obscure command lines.
299     # This happens at least with the AIX C compiler.
300     echo '#include "conftest.h"' > conftest.c
301     echo 'int i;' > conftest.h
302     echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
303
304     case $depmode in
305     nosideeffect)
306       # after this tag, mechanisms are not by side-effect, so they'll
307       # only be used when explicitly requested
308       if test "x$enable_dependency_tracking" = xyes; then
309         continue
310       else
311         break
312       fi
313       ;;
314     none) break ;;
315     esac
316     # We check with `-c' and `-o' for the sake of the "dashmstdout"
317     # mode.  It turns out that the SunPro C++ compiler does not properly
318     # handle `-M -o', and we need to detect this.
319     if depmode=$depmode \
320        source=conftest.c object=conftest.o \
321        depfile=conftest.Po tmpdepfile=conftest.TPo \
322        $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
323        grep conftest.h conftest.Po > /dev/null 2>&1 &&
324        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
325       am_cv_$1_dependencies_compiler_type=$depmode
326       break
327     fi
328   done
329
330   cd ..
331   rm -rf conftest.dir
332 else
333   am_cv_$1_dependencies_compiler_type=none
334 fi
335 ])
336 $1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"
337 AC_SUBST([$1DEPMODE])
338 ])
339
340
341 # AM_SET_DEPDIR
342 # -------------
343 # Choose a directory name for dependency files.
344 # This macro is AC_REQUIREd in _AM_DEPENDENCIES
345 AC_DEFUN([AM_SET_DEPDIR],
346 [rm -f .deps 2>/dev/null
347 mkdir .deps 2>/dev/null
348 if test -d .deps; then
349   DEPDIR=.deps
350 else
351   # MS-DOS does not allow filenames that begin with a dot.
352   DEPDIR=_deps
353 fi
354 rmdir .deps 2>/dev/null
355 AC_SUBST(DEPDIR)
356 ])
357
358
359 # AM_DEP_TRACK
360 # ------------
361 AC_DEFUN([AM_DEP_TRACK],
362 [AC_ARG_ENABLE(dependency-tracking,
363 [  --disable-dependency-tracking Speeds up one-time builds
364   --enable-dependency-tracking  Do not reject slow dependency extractors])
365 if test "x$enable_dependency_tracking" != xno; then
366   am_depcomp="$ac_aux_dir/depcomp"
367   AMDEPBACKSLASH='\'
368 fi
369 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
370 pushdef([subst], defn([AC_SUBST]))
371 subst(AMDEPBACKSLASH)
372 popdef([subst])
373 ])
374
375 # Generate code to set up dependency tracking.
376 # This macro should only be invoked once -- use via AC_REQUIRE.
377 # Usage:
378 # AM_OUTPUT_DEPENDENCY_COMMANDS
379
380 #
381 # This code is only required when automatic dependency tracking
382 # is enabled.  FIXME.  This creates each `.P' file that we will
383 # need in order to bootstrap the dependency handling code.
384 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
385 AC_OUTPUT_COMMANDS([
386 test x"$AMDEP_TRUE" != x"" ||
387 for mf in $CONFIG_FILES; do
388   case "$mf" in
389   Makefile) dirpart=.;;
390   */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
391   *) continue;;
392   esac
393   grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
394   # Extract the definition of DEP_FILES from the Makefile without
395   # running `make'.
396   DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
397   test -z "$DEPDIR" && continue
398   # When using ansi2knr, U may be empty or an underscore; expand it
399   U=`sed -n -e '/^U = / s///p' < "$mf"`
400   test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
401   # We invoke sed twice because it is the simplest approach to
402   # changing $(DEPDIR) to its actual value in the expansion.
403   for file in `sed -n -e '
404     /^DEP_FILES = .*\\\\$/ {
405       s/^DEP_FILES = //
406       :loop
407         s/\\\\$//
408         p
409         n
410         /\\\\$/ b loop
411       p
412     }
413     /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
414        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
415     # Make sure the directory exists.
416     test -f "$dirpart/$file" && continue
417     fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
418     $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
419     # echo "creating $dirpart/$file"
420     echo '# dummy' > "$dirpart/$file"
421   done
422 done
423 ], [AMDEP_TRUE="$AMDEP_TRUE"
424 ac_aux_dir="$ac_aux_dir"])])
425
426 # AM_MAKE_INCLUDE()
427 # -----------------
428 # Check to see how make treats includes.
429 AC_DEFUN([AM_MAKE_INCLUDE],
430 [am_make=${MAKE-make}
431 cat > confinc << 'END'
432 doit:
433         @echo done
434 END
435 # If we don't find an include directive, just comment out the code.
436 AC_MSG_CHECKING([for style of include used by $am_make])
437 am__include='#'
438 am__quote=
439 _am_result=none
440 # First try GNU make style include.
441 echo "include confinc" > confmf
442 # We grep out `Entering directory' and `Leaving directory'
443 # messages which can occur if `w' ends up in MAKEFLAGS.
444 # In particular we don't look at `^make:' because GNU make might
445 # be invoked under some other name (usually "gmake"), in which
446 # case it prints its new name instead of `make'.
447 if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
448    am__include=include
449    am__quote=
450    _am_result=GNU
451 fi
452 # Now try BSD make style include.
453 if test "$am__include" = "#"; then
454    echo '.include "confinc"' > confmf
455    if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
456       am__include=.include
457       am__quote='"'
458       _am_result=BSD
459    fi
460 fi
461 AC_SUBST(am__include)
462 AC_SUBST(am__quote)
463 AC_MSG_RESULT($_am_result)
464 rm -f confinc confmf
465 ])
466
467 # serial 3
468
469 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
470 # -------------------------------------
471 # Define a conditional.
472 #
473 # FIXME: Once using 2.50, use this:
474 # m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
475 AC_DEFUN([AM_CONDITIONAL],
476 [ifelse([$1], [TRUE],
477         [errprint(__file__:__line__: [$0: invalid condition: $1
478 ])dnl
479 m4exit(1)])dnl
480 ifelse([$1], [FALSE],
481        [errprint(__file__:__line__: [$0: invalid condition: $1
482 ])dnl
483 m4exit(1)])dnl
484 AC_SUBST([$1_TRUE])
485 AC_SUBST([$1_FALSE])
486 if $2; then
487   $1_TRUE=
488   $1_FALSE='#'
489 else
490   $1_TRUE='#'
491   $1_FALSE=
492 fi])
493
494 # Like AC_CONFIG_HEADER, but automatically create stamp file.
495
496 # serial 3
497
498 # When config.status generates a header, we must update the stamp-h file.
499 # This file resides in the same directory as the config header
500 # that is generated.  We must strip everything past the first ":",
501 # and everything past the last "/".
502
503 AC_PREREQ([2.12])
504
505 AC_DEFUN([AM_CONFIG_HEADER],
506 [ifdef([AC_FOREACH],dnl
507          [dnl init our file count if it isn't already
508          m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
509          dnl prepare to store our destination file list for use in config.status
510          AC_FOREACH([_AM_File], [$1],
511                     [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
512                     m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
513                     dnl and add it to the list of files AC keeps track of, along
514                     dnl with our hook
515                     AC_CONFIG_HEADERS(_AM_File,
516 dnl COMMANDS, [, INIT-CMDS]
517 [# update the timestamp
518 echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
519 ][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
520                     m4_popdef([_AM_Dest])])],dnl
521 [AC_CONFIG_HEADER([$1])
522   AC_OUTPUT_COMMANDS(
523    ifelse(patsubst([$1], [[^ ]], []),
524           [],
525           [test -z "$CONFIG_HEADERS" || echo timestamp >dnl
526            patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
527 [am_indx=1
528 for am_file in $1; do
529   case " \$CONFIG_HEADERS " in
530   *" \$am_file "*)
531     am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
532     if test -n "\$am_dir"; then
533       am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
534       for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
535         am_tmpdir=\$am_tmpdir\$am_subdir/
536         if test ! -d \$am_tmpdir; then
537           mkdir \$am_tmpdir
538         fi
539       done
540     fi
541     echo timestamp > "\$am_dir"stamp-h\$am_indx
542     ;;
543   esac
544   am_indx=\`expr \$am_indx + 1\`
545 done])
546 ])]) # AM_CONFIG_HEADER
547
548 # _AM_DIRNAME(PATH)
549 # -----------------
550 # Like AS_DIRNAME, only do it during macro expansion
551 AC_DEFUN([_AM_DIRNAME],
552        [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
553               m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
554                     m4_if(m4_regexp([$1], [^/.*]), -1,
555                           [.],
556                           m4_patsubst([$1], [^\(/\).*], [\1])),
557                     m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
558               m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
559 ]) # _AM_DIRNAME
560
561 # libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
562
563 # serial 46 AC_PROG_LIBTOOL
564
565 AC_DEFUN([AC_PROG_LIBTOOL],
566 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
567
568 # This can be used to rebuild libtool when needed
569 LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
570
571 # Always use our own libtool.
572 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
573 AC_SUBST(LIBTOOL)dnl
574
575 # Prevent multiple expansion
576 define([AC_PROG_LIBTOOL], [])
577 ])
578
579 AC_DEFUN([AC_LIBTOOL_SETUP],
580 [AC_PREREQ(2.13)dnl
581 AC_REQUIRE([AC_ENABLE_SHARED])dnl
582 AC_REQUIRE([AC_ENABLE_STATIC])dnl
583 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
584 AC_REQUIRE([AC_CANONICAL_HOST])dnl
585 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
586 AC_REQUIRE([AC_PROG_CC])dnl
587 AC_REQUIRE([AC_PROG_LD])dnl
588 AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
589 AC_REQUIRE([AC_PROG_NM])dnl
590 AC_REQUIRE([AC_PROG_LN_S])dnl
591 AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
592 AC_REQUIRE([AC_OBJEXT])dnl
593 AC_REQUIRE([AC_EXEEXT])dnl
594 dnl
595
596 _LT_AC_PROG_ECHO_BACKSLASH
597 # Only perform the check for file, if the check method requires it
598 case $deplibs_check_method in
599 file_magic*)
600   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
601     AC_PATH_MAGIC
602   fi
603   ;;
604 esac
605
606 AC_CHECK_TOOL(RANLIB, ranlib, :)
607 AC_CHECK_TOOL(STRIP, strip, :)
608
609 ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
610 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
611 enable_win32_dll=yes, enable_win32_dll=no)
612
613 AC_ARG_ENABLE(libtool-lock,
614   [  --disable-libtool-lock  avoid locking (might break parallel builds)])
615 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
616
617 # Some flags need to be propagated to the compiler or linker for good
618 # libtool support.
619 case $host in
620 *-*-irix6*)
621   # Find out which ABI we are using.
622   echo '[#]line __oline__ "configure"' > conftest.$ac_ext
623   if AC_TRY_EVAL(ac_compile); then
624     case `/usr/bin/file conftest.$ac_objext` in
625     *32-bit*)
626       LD="${LD-ld} -32"
627       ;;
628     *N32*)
629       LD="${LD-ld} -n32"
630       ;;
631     *64-bit*)
632       LD="${LD-ld} -64"
633       ;;
634     esac
635   fi
636   rm -rf conftest*
637   ;;
638
639 *-*-sco3.2v5*)
640   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
641   SAVE_CFLAGS="$CFLAGS"
642   CFLAGS="$CFLAGS -belf"
643   AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
644     [AC_LANG_SAVE
645      AC_LANG_C
646      AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
647      AC_LANG_RESTORE])
648   if test x"$lt_cv_cc_needs_belf" != x"yes"; then
649     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
650     CFLAGS="$SAVE_CFLAGS"
651   fi
652   ;;
653
654 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
655 [*-*-cygwin* | *-*-mingw* | *-*-pw32*)
656   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
657   AC_CHECK_TOOL(AS, as, false)
658   AC_CHECK_TOOL(OBJDUMP, objdump, false)
659
660   # recent cygwin and mingw systems supply a stub DllMain which the user
661   # can override, but on older systems we have to supply one
662   AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
663     [AC_TRY_LINK([],
664       [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
665       DllMain (0, 0, 0);],
666       [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
667
668   case $host/$CC in
669   *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
670     # old mingw systems require "-dll" to link a DLL, while more recent ones
671     # require "-mdll"
672     SAVE_CFLAGS="$CFLAGS"
673     CFLAGS="$CFLAGS -mdll"
674     AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
675       [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
676     CFLAGS="$SAVE_CFLAGS" ;;
677   *-*-cygwin* | *-*-pw32*)
678     # cygwin systems need to pass --dll to the linker, and not link
679     # crt.o which will require a WinMain@16 definition.
680     lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
681   esac
682   ;;
683   ])
684 esac
685
686 _LT_AC_LTCONFIG_HACK
687
688 ])
689
690 # AC_LIBTOOL_HEADER_ASSERT
691 # ------------------------
692 AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT],
693 [AC_CACHE_CHECK([whether $CC supports assert without backlinking],
694     [lt_cv_func_assert_works],
695     [case $host in
696     *-*-solaris*)
697       if test "$GCC" = yes && test "$with_gnu_ld" != yes; then
698         case `$CC --version 2>/dev/null` in
699         [[12]].*) lt_cv_func_assert_works=no ;;
700         *)        lt_cv_func_assert_works=yes ;;
701         esac
702       fi
703       ;;
704     esac])
705
706 if test "x$lt_cv_func_assert_works" = xyes; then
707   AC_CHECK_HEADERS(assert.h)
708 fi
709 ])# AC_LIBTOOL_HEADER_ASSERT
710
711 # _LT_AC_CHECK_DLFCN
712 # --------------------
713 AC_DEFUN([_LT_AC_CHECK_DLFCN],
714 [AC_CHECK_HEADERS(dlfcn.h)
715 ])# _LT_AC_CHECK_DLFCN
716
717 # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
718 # ---------------------------------
719 AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
720 [AC_REQUIRE([AC_CANONICAL_HOST])
721 AC_REQUIRE([AC_PROG_NM])
722 AC_REQUIRE([AC_OBJEXT])
723 # Check for command to grab the raw symbol name followed by C symbol from nm.
724 AC_MSG_CHECKING([command to parse $NM output])
725 AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [dnl
726
727 # These are sane defaults that work on at least a few old systems.
728 # [They come from Ultrix.  What could be older than Ultrix?!! ;)]
729
730 # Character class describing NM global symbol codes.
731 symcode='[[BCDEGRST]]'
732
733 # Regexp to match symbols that can be accessed directly from C.
734 sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
735
736 # Transform the above into a raw symbol and a C symbol.
737 symxfrm='\1 \2\3 \3'
738
739 # Transform an extracted symbol line into a proper C declaration
740 lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
741
742 # Transform an extracted symbol line into symbol name and symbol address
743 lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
744
745 # Define system-specific variables.
746 case $host_os in
747 aix*)
748   symcode='[[BCDT]]'
749   ;;
750 cygwin* | mingw* | pw32*)
751   symcode='[[ABCDGISTW]]'
752   ;;
753 hpux*) # Its linker distinguishes data from code symbols
754   lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
755   lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
756   ;;
757 irix*)
758   symcode='[[BCDEGRST]]'
759   ;;
760 solaris* | sysv5*)
761   symcode='[[BDT]]'
762   ;;
763 sysv4)
764   symcode='[[DFNSTU]]'
765   ;;
766 esac
767
768 # Handle CRLF in mingw tool chain
769 opt_cr=
770 case $host_os in
771 mingw*)
772   opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
773   ;;
774 esac
775
776 # If we're using GNU nm, then use its standard symbol codes.
777 if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
778   symcode='[[ABCDGISTW]]'
779 fi
780
781 # Try without a prefix undercore, then with it.
782 for ac_symprfx in "" "_"; do
783
784   # Write the raw and C identifiers.
785 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[        ]]\($symcode$symcode*\)[[       ]][[    ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
786
787   # Check to see that the pipe works correctly.
788   pipe_works=no
789   rm -f conftest*
790   cat > conftest.$ac_ext <<EOF
791 #ifdef __cplusplus
792 extern "C" {
793 #endif
794 char nm_test_var;
795 void nm_test_func(){}
796 #ifdef __cplusplus
797 }
798 #endif
799 int main(){nm_test_var='a';nm_test_func();return(0);}
800 EOF
801
802   if AC_TRY_EVAL(ac_compile); then
803     # Now try to grab the symbols.
804     nlist=conftest.nm
805     if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
806       # Try sorting and uniquifying the output.
807       if sort "$nlist" | uniq > "$nlist"T; then
808         mv -f "$nlist"T "$nlist"
809       else
810         rm -f "$nlist"T
811       fi
812
813       # Make sure that we snagged all the symbols we need.
814       if egrep ' nm_test_var$' "$nlist" >/dev/null; then
815         if egrep ' nm_test_func$' "$nlist" >/dev/null; then
816           cat <<EOF > conftest.$ac_ext
817 #ifdef __cplusplus
818 extern "C" {
819 #endif
820
821 EOF
822           # Now generate the symbol file.
823           eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext'
824
825           cat <<EOF >> conftest.$ac_ext
826 #if defined (__STDC__) && __STDC__
827 # define lt_ptr void *
828 #else
829 # define lt_ptr char *
830 # define const
831 #endif
832
833 /* The mapping between symbol names and symbols. */
834 const struct {
835   const char *name;
836   lt_ptr address;
837 }
838 lt_preloaded_symbols[[]] =
839 {
840 EOF
841           sed "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
842           cat <<\EOF >> conftest.$ac_ext
843   {0, (lt_ptr) 0}
844 };
845
846 #ifdef __cplusplus
847 }
848 #endif
849 EOF
850           # Now try linking the two files.
851           mv conftest.$ac_objext conftstm.$ac_objext
852           save_LIBS="$LIBS"
853           save_CFLAGS="$CFLAGS"
854           LIBS="conftstm.$ac_objext"
855           CFLAGS="$CFLAGS$no_builtin_flag"
856           if AC_TRY_EVAL(ac_link) && test -s conftest; then
857             pipe_works=yes
858           fi
859           LIBS="$save_LIBS"
860           CFLAGS="$save_CFLAGS"
861         else
862           echo "cannot find nm_test_func in $nlist" >&AC_FD_CC
863         fi
864       else
865         echo "cannot find nm_test_var in $nlist" >&AC_FD_CC
866       fi
867     else
868       echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC
869     fi
870   else
871     echo "$progname: failed program was:" >&AC_FD_CC
872     cat conftest.$ac_ext >&5
873   fi
874   rm -f conftest* conftst*
875
876   # Do not use the global_symbol_pipe unless it works.
877   if test "$pipe_works" = yes; then
878     break
879   else
880     lt_cv_sys_global_symbol_pipe=
881   fi
882 done
883 ])
884 global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
885 if test -z "$lt_cv_sys_global_symbol_pipe"; then
886   global_symbol_to_cdecl=
887   global_symbol_to_c_name_address=
888 else
889   global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
890   global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
891 fi
892 if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
893 then
894   AC_MSG_RESULT(failed)
895 else
896   AC_MSG_RESULT(ok)
897 fi
898 ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
899
900 # _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
901 # ---------------------------------
902 AC_DEFUN([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR],
903 [# Find the correct PATH separator.  Usually this is `:', but
904 # DJGPP uses `;' like DOS.
905 if test "X${PATH_SEPARATOR+set}" != Xset; then
906   UNAME=${UNAME-`uname 2>/dev/null`}
907   case X$UNAME in
908     *-DOS) lt_cv_sys_path_separator=';' ;;
909     *)     lt_cv_sys_path_separator=':' ;;
910   esac
911   PATH_SEPARATOR=$lt_cv_sys_path_separator
912 fi
913 ])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
914
915 # _LT_AC_PROG_ECHO_BACKSLASH
916 # --------------------------
917 # Add some code to the start of the generated configure script which
918 # will find an echo command which doesn't interpret backslashes.
919 AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
920 [ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
921                               [AC_DIVERT_PUSH(NOTICE)])
922 _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
923
924 # Check that we are running under the correct shell.
925 SHELL=${CONFIG_SHELL-/bin/sh}
926
927 case X$ECHO in
928 X*--fallback-echo)
929   # Remove one level of quotation (which was required for Make).
930   ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
931   ;;
932 esac
933
934 echo=${ECHO-echo}
935 if test "X[$]1" = X--no-reexec; then
936   # Discard the --no-reexec flag, and continue.
937   shift
938 elif test "X[$]1" = X--fallback-echo; then
939   # Avoid inline document here, it may be left over
940   :
941 elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
942   # Yippee, $echo works!
943   :
944 else
945   # Restart under the correct shell.
946   exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
947 fi
948
949 if test "X[$]1" = X--fallback-echo; then
950   # used as fallback echo
951   shift
952   cat <<EOF
953 $*
954 EOF
955   exit 0
956 fi
957
958 # The HP-UX ksh and POSIX shell print the target directory to stdout
959 # if CDPATH is set.
960 if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
961
962 if test -z "$ECHO"; then
963 if test "X${echo_test_string+set}" != Xset; then
964 # find a string as large as possible, as long as the shell can cope with it
965   for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
966     # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
967     if (echo_test_string="`eval $cmd`") 2>/dev/null &&
968        echo_test_string="`eval $cmd`" &&
969        (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
970     then
971       break
972     fi
973   done
974 fi
975
976 if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
977    echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
978    test "X$echo_testing_string" = "X$echo_test_string"; then
979   :
980 else
981   # The Solaris, AIX, and Digital Unix default echo programs unquote
982   # backslashes.  This makes it impossible to quote backslashes using
983   #   echo "$something" | sed 's/\\/\\\\/g'
984   #
985   # So, first we look for a working echo in the user's PATH.
986
987   IFS="${IFS=   }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
988   for dir in $PATH /usr/ucb; do
989     if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
990        test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
991        echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
992        test "X$echo_testing_string" = "X$echo_test_string"; then
993       echo="$dir/echo"
994       break
995     fi
996   done
997   IFS="$save_ifs"
998
999   if test "X$echo" = Xecho; then
1000     # We didn't find a better echo, so look for alternatives.
1001     if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
1002        echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
1003        test "X$echo_testing_string" = "X$echo_test_string"; then
1004       # This shell has a builtin print -r that does the trick.
1005       echo='print -r'
1006     elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
1007          test "X$CONFIG_SHELL" != X/bin/ksh; then
1008       # If we have ksh, try running configure again with it.
1009       ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1010       export ORIGINAL_CONFIG_SHELL
1011       CONFIG_SHELL=/bin/ksh
1012       export CONFIG_SHELL
1013       exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1014     else
1015       # Try using printf.
1016       echo='printf %s\n'
1017       if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
1018          echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
1019          test "X$echo_testing_string" = "X$echo_test_string"; then
1020         # Cool, printf works
1021         :
1022       elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1023            test "X$echo_testing_string" = 'X\t' &&
1024            echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1025            test "X$echo_testing_string" = "X$echo_test_string"; then
1026         CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1027         export CONFIG_SHELL
1028         SHELL="$CONFIG_SHELL"
1029         export SHELL
1030         echo="$CONFIG_SHELL [$]0 --fallback-echo"
1031       elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1032            test "X$echo_testing_string" = 'X\t' &&
1033            echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1034            test "X$echo_testing_string" = "X$echo_test_string"; then
1035         echo="$CONFIG_SHELL [$]0 --fallback-echo"
1036       else
1037         # maybe with a smaller string...
1038         prev=:
1039
1040         for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1041           if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
1042           then
1043             break
1044           fi
1045           prev="$cmd"
1046         done
1047
1048         if test "$prev" != 'sed 50q "[$]0"'; then
1049           echo_test_string=`eval $prev`
1050           export echo_test_string
1051           exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1052         else
1053           # Oops.  We lost completely, so just stick with echo.
1054           echo=echo
1055         fi
1056       fi
1057     fi
1058   fi
1059 fi
1060 fi
1061
1062 # Copy echo and quote the copy suitably for passing to libtool from
1063 # the Makefile, instead of quoting the original, which is used later.
1064 ECHO=$echo
1065 if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1066    ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
1067 fi
1068
1069 AC_SUBST(ECHO)
1070 AC_DIVERT_POP
1071 ])# _LT_AC_PROG_ECHO_BACKSLASH
1072
1073 # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1074 #                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1075 # ------------------------------------------------------------------
1076 AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
1077 [if test "$cross_compiling" = yes; then :
1078   [$4]
1079 else
1080   AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
1081   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1082   lt_status=$lt_dlunknown
1083   cat > conftest.$ac_ext <<EOF
1084 [#line __oline__ "configure"
1085 #include "confdefs.h"
1086
1087 #if HAVE_DLFCN_H
1088 #include <dlfcn.h>
1089 #endif
1090
1091 #include <stdio.h>
1092
1093 #ifdef RTLD_GLOBAL
1094 #  define LT_DLGLOBAL           RTLD_GLOBAL
1095 #else
1096 #  ifdef DL_GLOBAL
1097 #    define LT_DLGLOBAL         DL_GLOBAL
1098 #  else
1099 #    define LT_DLGLOBAL         0
1100 #  endif
1101 #endif
1102
1103 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1104    find out it does not work in some platform. */
1105 #ifndef LT_DLLAZY_OR_NOW
1106 #  ifdef RTLD_LAZY
1107 #    define LT_DLLAZY_OR_NOW            RTLD_LAZY
1108 #  else
1109 #    ifdef DL_LAZY
1110 #      define LT_DLLAZY_OR_NOW          DL_LAZY
1111 #    else
1112 #      ifdef RTLD_NOW
1113 #        define LT_DLLAZY_OR_NOW        RTLD_NOW
1114 #      else
1115 #        ifdef DL_NOW
1116 #          define LT_DLLAZY_OR_NOW      DL_NOW
1117 #        else
1118 #          define LT_DLLAZY_OR_NOW      0
1119 #        endif
1120 #      endif
1121 #    endif
1122 #  endif
1123 #endif
1124
1125 #ifdef __cplusplus
1126 extern "C" void exit (int);
1127 #endif
1128
1129 void fnord() { int i=42;}
1130 int main ()
1131 {
1132   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1133   int status = $lt_dlunknown;
1134
1135   if (self)
1136     {
1137       if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
1138       else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1139       /* dlclose (self); */
1140     }
1141
1142     exit (status);
1143 }]
1144 EOF
1145   if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1146     (./conftest; exit; ) 2>/dev/null
1147     lt_status=$?
1148     case x$lt_status in
1149       x$lt_dlno_uscore) $1 ;;
1150       x$lt_dlneed_uscore) $2 ;;
1151       x$lt_unknown|x*) $3 ;;
1152     esac
1153   else :
1154     # compilation failed
1155     $3
1156   fi
1157 fi
1158 rm -fr conftest*
1159 ])# _LT_AC_TRY_DLOPEN_SELF
1160
1161 # AC_LIBTOOL_DLOPEN_SELF
1162 # -------------------
1163 AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
1164 [if test "x$enable_dlopen" != xyes; then
1165   enable_dlopen=unknown
1166   enable_dlopen_self=unknown
1167   enable_dlopen_self_static=unknown
1168 else
1169   lt_cv_dlopen=no
1170   lt_cv_dlopen_libs=
1171
1172   case $host_os in
1173   beos*)
1174     lt_cv_dlopen="load_add_on"
1175     lt_cv_dlopen_libs=
1176     lt_cv_dlopen_self=yes
1177     ;;
1178
1179   cygwin* | mingw* | pw32*)
1180     lt_cv_dlopen="LoadLibrary"
1181     lt_cv_dlopen_libs=
1182    ;;
1183
1184   *)
1185     AC_CHECK_FUNC([shl_load],
1186           [lt_cv_dlopen="shl_load"],
1187       [AC_CHECK_LIB([dld], [shl_load],
1188             [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
1189         [AC_CHECK_FUNC([dlopen],
1190               [lt_cv_dlopen="dlopen"],
1191           [AC_CHECK_LIB([dl], [dlopen],
1192                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1193             [AC_CHECK_LIB([svld], [dlopen],
1194                   [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1195               [AC_CHECK_LIB([dld], [dld_link],
1196                     [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
1197               ])
1198             ])
1199           ])
1200         ])
1201       ])
1202     ;;
1203   esac
1204
1205   if test "x$lt_cv_dlopen" != xno; then
1206     enable_dlopen=yes
1207   else
1208     enable_dlopen=no
1209   fi
1210
1211   case $lt_cv_dlopen in
1212   dlopen)
1213     save_CPPFLAGS="$CPPFLAGS"
1214     AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
1215     test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1216
1217     save_LDFLAGS="$LDFLAGS"
1218     eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1219
1220     save_LIBS="$LIBS"
1221     LIBS="$lt_cv_dlopen_libs $LIBS"
1222
1223     AC_CACHE_CHECK([whether a program can dlopen itself],
1224           lt_cv_dlopen_self, [dnl
1225           _LT_AC_TRY_DLOPEN_SELF(
1226             lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1227             lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1228     ])
1229
1230     if test "x$lt_cv_dlopen_self" = xyes; then
1231       LDFLAGS="$LDFLAGS $link_static_flag"
1232       AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1233           lt_cv_dlopen_self_static, [dnl
1234           _LT_AC_TRY_DLOPEN_SELF(
1235             lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1236             lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
1237       ])
1238     fi
1239
1240     CPPFLAGS="$save_CPPFLAGS"
1241     LDFLAGS="$save_LDFLAGS"
1242     LIBS="$save_LIBS"
1243     ;;
1244   esac
1245
1246   case $lt_cv_dlopen_self in
1247   yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1248   *) enable_dlopen_self=unknown ;;
1249   esac
1250
1251   case $lt_cv_dlopen_self_static in
1252   yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1253   *) enable_dlopen_self_static=unknown ;;
1254   esac
1255 fi
1256 ])# AC_LIBTOOL_DLOPEN_SELF
1257
1258 AC_DEFUN([_LT_AC_LTCONFIG_HACK],
1259 [AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl
1260 # Sed substitution that helps us do robust quoting.  It backslashifies
1261 # metacharacters that are still active within double-quoted strings.
1262 Xsed='sed -e s/^X//'
1263 sed_quote_subst='s/\([[\\"\\`$\\\\]]\)/\\\1/g'
1264
1265 # Same as above, but do not quote variable references.
1266 double_quote_subst='s/\([[\\"\\`\\\\]]\)/\\\1/g'
1267
1268 # Sed substitution to delay expansion of an escaped shell variable in a
1269 # double_quote_subst'ed string.
1270 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
1271
1272 # Constants:
1273 rm="rm -f"
1274
1275 # Global variables:
1276 default_ofile=libtool
1277 can_build_shared=yes
1278
1279 # All known linkers require a `.a' archive for static linking (except M$VC,
1280 # which needs '.lib').
1281 libext=a
1282 ltmain="$ac_aux_dir/ltmain.sh"
1283 ofile="$default_ofile"
1284 with_gnu_ld="$lt_cv_prog_gnu_ld"
1285 need_locks="$enable_libtool_lock"
1286
1287 old_CC="$CC"
1288 old_CFLAGS="$CFLAGS"
1289
1290 # Set sane defaults for various variables
1291 test -z "$AR" && AR=ar
1292 test -z "$AR_FLAGS" && AR_FLAGS=cru
1293 test -z "$AS" && AS=as
1294 test -z "$CC" && CC=cc
1295 test -z "$DLLTOOL" && DLLTOOL=dlltool
1296 test -z "$LD" && LD=ld
1297 test -z "$LN_S" && LN_S="ln -s"
1298 test -z "$MAGIC_CMD" && MAGIC_CMD=file
1299 test -z "$NM" && NM=nm
1300 test -z "$OBJDUMP" && OBJDUMP=objdump
1301 test -z "$RANLIB" && RANLIB=:
1302 test -z "$STRIP" && STRIP=:
1303 test -z "$ac_objext" && ac_objext=o
1304
1305 if test x"$host" != x"$build"; then
1306   ac_tool_prefix=${host_alias}-
1307 else
1308   ac_tool_prefix=
1309 fi
1310
1311 case $host_os in
1312 aix3*)
1313   # AIX sometimes has problems with the GCC collect2 program.  For some
1314   # reason, if we set the COLLECT_NAMES environment variable, the problems
1315   # vanish in a puff of smoke.
1316   if test "X${COLLECT_NAMES+set}" != Xset; then
1317     COLLECT_NAMES=
1318     export COLLECT_NAMES
1319   fi
1320   ;;
1321 esac
1322
1323 # Determine commands to create old-style static archives.
1324 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
1325 old_postinstall_cmds='chmod 644 $oldlib'
1326 old_postuninstall_cmds=
1327
1328 if test -n "$RANLIB"; then
1329   case $host_os in
1330   openbsd*)
1331     old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
1332     ;;
1333   *)
1334     old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
1335     ;;
1336   esac
1337   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1338 fi
1339
1340 # Allow CC to be a program name with arguments.
1341 set dummy $CC
1342 compiler="[$]2"
1343
1344 AC_MSG_CHECKING([for objdir])
1345 rm -f .libs 2>/dev/null
1346 mkdir .libs 2>/dev/null
1347 if test -d .libs; then
1348   objdir=.libs
1349 else
1350   # MS-DOS does not allow filenames that begin with a dot.
1351   objdir=_libs
1352 fi
1353 rmdir .libs 2>/dev/null
1354 AC_MSG_RESULT($objdir)
1355
1356
1357 AC_ARG_WITH(pic,
1358 [  --with-pic              try to use only PIC/non-PIC objects [default=use both]],
1359 pic_mode="$withval", pic_mode=default)
1360 test -z "$pic_mode" && pic_mode=default
1361
1362 # We assume here that the value for lt_cv_prog_cc_pic will not be cached
1363 # in isolation, and that seeing it set (from the cache) indicates that
1364 # the associated values are set (in the cache) correctly too.
1365 AC_MSG_CHECKING([for $compiler option to produce PIC])
1366 AC_CACHE_VAL(lt_cv_prog_cc_pic,
1367 [ lt_cv_prog_cc_pic=
1368   lt_cv_prog_cc_shlib=
1369   lt_cv_prog_cc_wl=
1370   lt_cv_prog_cc_static=
1371   lt_cv_prog_cc_no_builtin=
1372   lt_cv_prog_cc_can_build_shared=$can_build_shared
1373
1374   if test "$GCC" = yes; then
1375     lt_cv_prog_cc_wl='-Wl,'
1376     lt_cv_prog_cc_static='-static'
1377
1378     case $host_os in
1379     aix*)
1380       # Below there is a dirty hack to force normal static linking with -ldl
1381       # The problem is because libdl dynamically linked with both libc and
1382       # libC (AIX C++ library), which obviously doesn't included in libraries
1383       # list by gcc. This cause undefined symbols with -static flags.
1384       # This hack allows C programs to be linked with "-static -ldl", but
1385       # not sure about C++ programs.
1386       lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
1387       ;;
1388     amigaos*)
1389       # FIXME: we need at least 68020 code to build shared libraries, but
1390       # adding the `-m68020' flag to GCC prevents building anything better,
1391       # like `-m68040'.
1392       lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
1393       ;;
1394     beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
1395       # PIC is the default for these OSes.
1396       ;;
1397     darwin* | rhapsody*)
1398       # PIC is the default on this platform
1399       # Common symbols not allowed in MH_DYLIB files
1400       lt_cv_prog_cc_pic='-fno-common'
1401       ;;
1402     cygwin* | mingw* | pw32* | os2*)
1403       # This hack is so that the source file can tell whether it is being
1404       # built for inclusion in a dll (and should export symbols for example).
1405       lt_cv_prog_cc_pic='-DDLL_EXPORT'
1406       ;;
1407     sysv4*MP*)
1408       if test -d /usr/nec; then
1409          lt_cv_prog_cc_pic=-Kconform_pic
1410       fi
1411       ;;
1412     *)
1413       lt_cv_prog_cc_pic='-fPIC'
1414       ;;
1415     esac
1416   else
1417     # PORTME Check for PIC flags for the system compiler.
1418     case $host_os in
1419     aix3* | aix4* | aix5*)
1420       lt_cv_prog_cc_wl='-Wl,'
1421       # All AIX code is PIC.
1422       if test "$host_cpu" = ia64; then
1423         # AIX 5 now supports IA64 processor
1424         lt_cv_prog_cc_static='-Bstatic'
1425       else
1426         lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
1427       fi
1428       ;;
1429
1430     hpux9* | hpux10* | hpux11*)
1431       # Is there a better lt_cv_prog_cc_static that works with the bundled CC?
1432       lt_cv_prog_cc_wl='-Wl,'
1433       lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive"
1434       lt_cv_prog_cc_pic='+Z'
1435       ;;
1436
1437     irix5* | irix6*)
1438       lt_cv_prog_cc_wl='-Wl,'
1439       lt_cv_prog_cc_static='-non_shared'
1440       # PIC (with -KPIC) is the default.
1441       ;;
1442
1443     cygwin* | mingw* | pw32* | os2*)
1444       # This hack is so that the source file can tell whether it is being
1445       # built for inclusion in a dll (and should export symbols for example).
1446       lt_cv_prog_cc_pic='-DDLL_EXPORT'
1447       ;;
1448
1449     newsos6)
1450       lt_cv_prog_cc_pic='-KPIC'
1451       lt_cv_prog_cc_static='-Bstatic'
1452       ;;
1453
1454     osf3* | osf4* | osf5*)
1455       # All OSF/1 code is PIC.
1456       lt_cv_prog_cc_wl='-Wl,'
1457       lt_cv_prog_cc_static='-non_shared'
1458       ;;
1459
1460     sco3.2v5*)
1461       lt_cv_prog_cc_pic='-Kpic'
1462       lt_cv_prog_cc_static='-dn'
1463       lt_cv_prog_cc_shlib='-belf'
1464       ;;
1465
1466     solaris*)
1467       lt_cv_prog_cc_pic='-KPIC'
1468       lt_cv_prog_cc_static='-Bstatic'
1469       lt_cv_prog_cc_wl='-Wl,'
1470       ;;
1471
1472     sunos4*)
1473       lt_cv_prog_cc_pic='-PIC'
1474       lt_cv_prog_cc_static='-Bstatic'
1475       lt_cv_prog_cc_wl='-Qoption ld '
1476       ;;
1477
1478     sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
1479       lt_cv_prog_cc_pic='-KPIC'
1480       lt_cv_prog_cc_static='-Bstatic'
1481       if test "x$host_vendor" = xsni; then
1482         lt_cv_prog_cc_wl='-LD'
1483       else
1484         lt_cv_prog_cc_wl='-Wl,'
1485       fi
1486       ;;
1487
1488     uts4*)
1489       lt_cv_prog_cc_pic='-pic'
1490       lt_cv_prog_cc_static='-Bstatic'
1491       ;;
1492
1493     sysv4*MP*)
1494       if test -d /usr/nec ;then
1495         lt_cv_prog_cc_pic='-Kconform_pic'
1496         lt_cv_prog_cc_static='-Bstatic'
1497       fi
1498       ;;
1499
1500     *)
1501       lt_cv_prog_cc_can_build_shared=no
1502       ;;
1503     esac
1504   fi
1505 ])
1506 if test -z "$lt_cv_prog_cc_pic"; then
1507   AC_MSG_RESULT([none])
1508 else
1509   AC_MSG_RESULT([$lt_cv_prog_cc_pic])
1510
1511   # Check to make sure the pic_flag actually works.
1512   AC_MSG_CHECKING([if $compiler PIC flag $lt_cv_prog_cc_pic works])
1513   AC_CACHE_VAL(lt_cv_prog_cc_pic_works, [dnl
1514     save_CFLAGS="$CFLAGS"
1515     CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC"
1516     AC_TRY_COMPILE([], [], [dnl
1517       case $host_os in
1518       hpux9* | hpux10* | hpux11*)
1519         # On HP-UX, both CC and GCC only warn that PIC is supported... then
1520         # they create non-PIC objects.  So, if there were any warnings, we
1521         # assume that PIC is not supported.
1522         if test -s conftest.err; then
1523           lt_cv_prog_cc_pic_works=no
1524         else
1525           lt_cv_prog_cc_pic_works=yes
1526         fi
1527         ;;
1528       *)
1529         lt_cv_prog_cc_pic_works=yes
1530         ;;
1531       esac
1532     ], [dnl
1533       lt_cv_prog_cc_pic_works=no
1534     ])
1535     CFLAGS="$save_CFLAGS"
1536   ])
1537
1538   if test "X$lt_cv_prog_cc_pic_works" = Xno; then
1539     lt_cv_prog_cc_pic=
1540     lt_cv_prog_cc_can_build_shared=no
1541   else
1542     lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic"
1543   fi
1544
1545   AC_MSG_RESULT([$lt_cv_prog_cc_pic_works])
1546 fi
1547
1548 # Check for any special shared library compilation flags.
1549 if test -n "$lt_cv_prog_cc_shlib"; then
1550   AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries])
1551   if echo "$old_CC $old_CFLAGS " | egrep -e "[[         ]]$lt_cv_prog_cc_shlib[[        ]]" >/dev/null; then :
1552   else
1553    AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure])
1554     lt_cv_prog_cc_can_build_shared=no
1555   fi
1556 fi
1557
1558 AC_MSG_CHECKING([if $compiler static flag $lt_cv_prog_cc_static works])
1559 AC_CACHE_VAL([lt_cv_prog_cc_static_works], [dnl
1560   lt_cv_prog_cc_static_works=no
1561   save_LDFLAGS="$LDFLAGS"
1562   LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static"
1563   AC_TRY_LINK([], [], [lt_cv_prog_cc_static_works=yes])
1564   LDFLAGS="$save_LDFLAGS"
1565 ])
1566
1567 # Belt *and* braces to stop my trousers falling down:
1568 test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static=
1569 AC_MSG_RESULT([$lt_cv_prog_cc_static_works])
1570
1571 pic_flag="$lt_cv_prog_cc_pic"
1572 special_shlib_compile_flags="$lt_cv_prog_cc_shlib"
1573 wl="$lt_cv_prog_cc_wl"
1574 link_static_flag="$lt_cv_prog_cc_static"
1575 no_builtin_flag="$lt_cv_prog_cc_no_builtin"
1576 can_build_shared="$lt_cv_prog_cc_can_build_shared"
1577
1578
1579 # Check to see if options -o and -c are simultaneously supported by compiler
1580 AC_MSG_CHECKING([if $compiler supports -c -o file.$ac_objext])
1581 AC_CACHE_VAL([lt_cv_compiler_c_o], [
1582 $rm -r conftest 2>/dev/null
1583 mkdir conftest
1584 cd conftest
1585 echo "int some_variable = 0;" > conftest.$ac_ext
1586 mkdir out
1587 # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
1588 # that will create temporary files in the current directory regardless of
1589 # the output directory.  Thus, making CWD read-only will cause this test
1590 # to fail, enabling locking or at least warning the user not to do parallel
1591 # builds.
1592 chmod -w .
1593 save_CFLAGS="$CFLAGS"
1594 CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
1595 compiler_c_o=no
1596 if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
1597   # The compiler can only warn and ignore the option if not recognized
1598   # So say no if there are warnings
1599   if test -s out/conftest.err; then
1600     lt_cv_compiler_c_o=no
1601   else
1602     lt_cv_compiler_c_o=yes
1603   fi
1604 else
1605   # Append any errors to the config.log.
1606   cat out/conftest.err 1>&AC_FD_CC
1607   lt_cv_compiler_c_o=no
1608 fi
1609 CFLAGS="$save_CFLAGS"
1610 chmod u+w .
1611 $rm conftest* out/*
1612 rmdir out
1613 cd ..
1614 rmdir conftest
1615 $rm -r conftest 2>/dev/null
1616 ])
1617 compiler_c_o=$lt_cv_compiler_c_o
1618 AC_MSG_RESULT([$compiler_c_o])
1619
1620 if test x"$compiler_c_o" = x"yes"; then
1621   # Check to see if we can write to a .lo
1622   AC_MSG_CHECKING([if $compiler supports -c -o file.lo])
1623   AC_CACHE_VAL([lt_cv_compiler_o_lo], [
1624   lt_cv_compiler_o_lo=no
1625   save_CFLAGS="$CFLAGS"
1626   CFLAGS="$CFLAGS -c -o conftest.lo"
1627   save_objext="$ac_objext"
1628   ac_objext=lo
1629   AC_TRY_COMPILE([], [int some_variable = 0;], [dnl
1630     # The compiler can only warn and ignore the option if not recognized
1631     # So say no if there are warnings
1632     if test -s conftest.err; then
1633       lt_cv_compiler_o_lo=no
1634     else
1635       lt_cv_compiler_o_lo=yes
1636     fi
1637   ])
1638   ac_objext="$save_objext"
1639   CFLAGS="$save_CFLAGS"
1640   ])
1641   compiler_o_lo=$lt_cv_compiler_o_lo
1642   AC_MSG_RESULT([$compiler_o_lo])
1643 else
1644   compiler_o_lo=no
1645 fi
1646
1647 # Check to see if we can do hard links to lock some files if needed
1648 hard_links="nottested"
1649 if test "$compiler_c_o" = no && test "$need_locks" != no; then
1650   # do not overwrite the value of need_locks provided by the user
1651   AC_MSG_CHECKING([if we can lock with hard links])
1652   hard_links=yes
1653   $rm conftest*
1654   ln conftest.a conftest.b 2>/dev/null && hard_links=no
1655   touch conftest.a
1656   ln conftest.a conftest.b 2>&5 || hard_links=no
1657   ln conftest.a conftest.b 2>/dev/null && hard_links=no
1658   AC_MSG_RESULT([$hard_links])
1659   if test "$hard_links" = no; then
1660     AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe])
1661     need_locks=warn
1662   fi
1663 else
1664   need_locks=no
1665 fi
1666
1667 if test "$GCC" = yes; then
1668   # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
1669   AC_MSG_CHECKING([if $compiler supports -fno-rtti -fno-exceptions])
1670   echo "int some_variable = 0;" > conftest.$ac_ext
1671   save_CFLAGS="$CFLAGS"
1672   CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
1673   compiler_rtti_exceptions=no
1674   AC_TRY_COMPILE([], [int some_variable = 0;], [dnl
1675     # The compiler can only warn and ignore the option if not recognized
1676     # So say no if there are warnings
1677     if test -s conftest.err; then
1678       compiler_rtti_exceptions=no
1679     else
1680       compiler_rtti_exceptions=yes
1681     fi
1682   ])
1683   CFLAGS="$save_CFLAGS"
1684   AC_MSG_RESULT([$compiler_rtti_exceptions])
1685
1686   if test "$compiler_rtti_exceptions" = "yes"; then
1687     no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
1688   else
1689     no_builtin_flag=' -fno-builtin'
1690   fi
1691 fi
1692
1693 # See if the linker supports building shared libraries.
1694 AC_MSG_CHECKING([whether the linker ($LD) supports shared libraries])
1695
1696 allow_undefined_flag=
1697 no_undefined_flag=
1698 need_lib_prefix=unknown
1699 need_version=unknown
1700 # when you set need_version to no, make sure it does not cause -set_version
1701 # flags to be left without arguments
1702 archive_cmds=
1703 archive_expsym_cmds=
1704 old_archive_from_new_cmds=
1705 old_archive_from_expsyms_cmds=
1706 export_dynamic_flag_spec=
1707 whole_archive_flag_spec=
1708 thread_safe_flag_spec=
1709 hardcode_into_libs=no
1710 hardcode_libdir_flag_spec=
1711 hardcode_libdir_separator=
1712 hardcode_direct=no
1713 hardcode_minus_L=no
1714 hardcode_shlibpath_var=unsupported
1715 runpath_var=
1716 link_all_deplibs=unknown
1717 always_export_symbols=no
1718 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
1719 # include_expsyms should be a list of space-separated symbols to be *always*
1720 # included in the symbol list
1721 include_expsyms=
1722 # exclude_expsyms can be an egrep regular expression of symbols to exclude
1723 # it will be wrapped by ` (' and `)$', so one must not match beginning or
1724 # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
1725 # as well as any symbol that contains `d'.
1726 exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
1727 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
1728 # platforms (ab)use it in PIC code, but their linkers get confused if
1729 # the symbol is explicitly referenced.  Since portable code cannot
1730 # rely on this symbol name, it's probably fine to never include it in
1731 # preloaded symbol tables.
1732 extract_expsyms_cmds=
1733
1734 case $host_os in
1735 cygwin* | mingw* | pw32*)
1736   # FIXME: the MSVC++ port hasn't been tested in a loooong time
1737   # When not using gcc, we currently assume that we are using
1738   # Microsoft Visual C++.
1739   if test "$GCC" != yes; then
1740     with_gnu_ld=no
1741   fi
1742   ;;
1743 openbsd*)
1744   with_gnu_ld=no
1745   ;;
1746 esac
1747
1748 ld_shlibs=yes
1749 if test "$with_gnu_ld" = yes; then
1750   # If archive_cmds runs LD, not CC, wlarc should be empty
1751   wlarc='${wl}'
1752
1753   # See if GNU ld supports shared libraries.
1754   case $host_os in
1755   aix3* | aix4* | aix5*)
1756     # On AIX, the GNU linker is very broken
1757     # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available.
1758     ld_shlibs=no
1759     cat <<EOF 1>&2
1760
1761 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
1762 *** to be unable to reliably create shared libraries on AIX.
1763 *** Therefore, libtool is disabling shared libraries support.  If you
1764 *** really care for shared libraries, you may want to modify your PATH
1765 *** so that a non-GNU linker is found, and then restart.
1766
1767 EOF
1768     ;;
1769
1770   amigaos*)
1771     archive_cmds='$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)'
1772     hardcode_libdir_flag_spec='-L$libdir'
1773     hardcode_minus_L=yes
1774
1775     # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
1776     # that the semantics of dynamic libraries on AmigaOS, at least up
1777     # to version 4, is to share data among multiple programs linked
1778     # with the same dynamic library.  Since this doesn't match the
1779     # behavior of shared libraries on other platforms, we can use
1780     # them.
1781     ld_shlibs=no
1782     ;;
1783
1784   beos*)
1785     if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
1786       allow_undefined_flag=unsupported
1787       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
1788       # support --undefined.  This deserves some investigation.  FIXME
1789       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1790     else
1791       ld_shlibs=no
1792     fi
1793     ;;
1794
1795   cygwin* | mingw* | pw32*)
1796     # hardcode_libdir_flag_spec is actually meaningless, as there is
1797     # no search path for DLLs.
1798     hardcode_libdir_flag_spec='-L$libdir'
1799     allow_undefined_flag=unsupported
1800     always_export_symbols=yes
1801
1802     extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
1803       sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~
1804       test -f $output_objdir/impgen.exe || (cd $output_objdir && \
1805       if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
1806       else $CC -o impgen impgen.c ; fi)~
1807       $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
1808
1809     old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
1810
1811     # cygwin and mingw dlls have different entry points and sets of symbols
1812     # to exclude.
1813     # FIXME: what about values for MSVC?
1814     dll_entry=__cygwin_dll_entry@12
1815     dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
1816     case $host_os in
1817     mingw*)
1818       # mingw values
1819       dll_entry=_DllMainCRTStartup@12
1820       dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
1821       ;;
1822     esac
1823
1824     # mingw and cygwin differ, and it's simplest to just exclude the union
1825     # of the two symbol sets.
1826     dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
1827
1828     # recent cygwin and mingw systems supply a stub DllMain which the user
1829     # can override, but on older systems we have to supply one (in ltdll.c)
1830     if test "x$lt_cv_need_dllmain" = "xyes"; then
1831       ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
1832       ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
1833         test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
1834     else
1835       ltdll_obj=
1836       ltdll_cmds=
1837     fi
1838
1839     # Extract the symbol export list from an `--export-all' def file,
1840     # then regenerate the def file from the symbol export list, so that
1841     # the compiled dll only exports the symbol export list.
1842     # Be careful not to strip the DATA tag left be newer dlltools.
1843     export_symbols_cmds="$ltdll_cmds"'
1844       $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
1845       sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
1846
1847     # If the export-symbols file already is a .def file (1st line
1848     # is EXPORTS), use it as is.
1849     # If DATA tags from a recent dlltool are present, honour them!
1850     archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
1851         cp $export_symbols $output_objdir/$soname-def;
1852       else
1853         echo EXPORTS > $output_objdir/$soname-def;
1854         _lt_hint=1;
1855         cat $export_symbols | while read symbol; do
1856          set dummy \$symbol;
1857          case \[$]# in
1858            2) echo "   \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
1859            *) echo "     \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
1860          esac;
1861          _lt_hint=`expr 1 + \$_lt_hint`;
1862         done;
1863       fi~
1864       '"$ltdll_cmds"'
1865       $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
1866       $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
1867       $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
1868       $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~
1869       $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
1870     ;;
1871
1872   netbsd*)
1873     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1874       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
1875       wlarc=
1876     else
1877       archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1878       archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
1879     fi
1880     ;;
1881
1882   solaris* | sysv5*)
1883     if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
1884       ld_shlibs=no
1885       cat <<EOF 1>&2
1886
1887 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
1888 *** create shared libraries on Solaris systems.  Therefore, libtool
1889 *** is disabling shared libraries support.  We urge you to upgrade GNU
1890 *** binutils to release 2.9.1 or newer.  Another option is to modify
1891 *** your PATH or compiler configuration so that the native linker is
1892 *** used, and then restart.
1893
1894 EOF
1895     elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
1896       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1897       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
1898     else
1899       ld_shlibs=no
1900     fi
1901     ;;
1902
1903   sunos4*)
1904     archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
1905     wlarc=
1906     hardcode_direct=yes
1907     hardcode_shlibpath_var=no
1908     ;;
1909
1910   *)
1911     if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
1912       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
1913       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
1914     else
1915       ld_shlibs=no
1916     fi
1917     ;;
1918   esac
1919
1920   if test "$ld_shlibs" = yes; then
1921     runpath_var=LD_RUN_PATH
1922     hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
1923     export_dynamic_flag_spec='${wl}--export-dynamic'
1924     case $host_os in
1925     cygwin* | mingw* | pw32*)
1926       # dlltool doesn't understand --whole-archive et. al.
1927       whole_archive_flag_spec=
1928       ;;
1929     *)
1930       # ancient GNU ld didn't support --whole-archive et. al.
1931       if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
1932         whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
1933       else
1934         whole_archive_flag_spec=
1935       fi
1936       ;;
1937     esac
1938   fi
1939 else
1940   # PORTME fill in a description of your system's linker (not GNU ld)
1941   case $host_os in
1942   aix3*)
1943     allow_undefined_flag=unsupported
1944     always_export_symbols=yes
1945     archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
1946     # Note: this linker hardcodes the directories in LIBPATH if there
1947     # are no directories specified by -L.
1948     hardcode_minus_L=yes
1949     if test "$GCC" = yes && test -z "$link_static_flag"; then
1950       # Neither direct hardcoding nor static linking is supported with a
1951       # broken collect2.
1952       hardcode_direct=unsupported
1953     fi
1954     ;;
1955
1956   aix4* | aix5*)
1957     if test "$host_cpu" = ia64; then
1958       # On IA64, the linker does run time linking by default, so we don't
1959       # have to do anything special.
1960       aix_use_runtimelinking=no
1961       exp_sym_flag='-Bexport'
1962       no_entry_flag=""
1963     else
1964       aix_use_runtimelinking=no
1965
1966       # Test if we are trying to use run time linking or normal
1967       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
1968       # need to do runtime linking.
1969       case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
1970         for ld_flag in $LDFLAGS; do
1971           if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
1972             aix_use_runtimelinking=yes
1973             break
1974           fi
1975         done
1976       esac
1977
1978       exp_sym_flag='-bexport'
1979       no_entry_flag='-bnoentry'
1980     fi
1981
1982     # When large executables or shared objects are built, AIX ld can
1983     # have problems creating the table of contents.  If linking a library
1984     # or program results in "error TOC overflow" add -mminimal-toc to
1985     # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
1986     # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
1987
1988     hardcode_direct=yes
1989     archive_cmds=''
1990     hardcode_libdir_separator=':'
1991     if test "$GCC" = yes; then
1992       case $host_os in aix4.[[012]]|aix4.[[012]].*)
1993         collect2name=`${CC} -print-prog-name=collect2`
1994         if test -f "$collect2name" && \
1995           strings "$collect2name" | grep resolve_lib_name >/dev/null
1996         then
1997           # We have reworked collect2
1998           hardcode_direct=yes
1999         else
2000           # We have old collect2
2001           hardcode_direct=unsupported
2002           # It fails to find uninstalled libraries when the uninstalled
2003           # path is not listed in the libpath.  Setting hardcode_minus_L
2004           # to unsupported forces relinking
2005           hardcode_minus_L=yes
2006           hardcode_libdir_flag_spec='-L$libdir'
2007           hardcode_libdir_separator=
2008         fi
2009       esac
2010
2011       shared_flag='-shared'
2012     else
2013       # not using gcc
2014       if test "$host_cpu" = ia64; then
2015         shared_flag='${wl}-G'
2016       else
2017         if test "$aix_use_runtimelinking" = yes; then
2018           shared_flag='${wl}-G'
2019         else
2020           shared_flag='${wl}-bM:SRE'
2021         fi
2022       fi
2023     fi
2024
2025     # It seems that -bexpall can do strange things, so it is better to
2026     # generate a list of symbols to export.
2027     always_export_symbols=yes
2028     if test "$aix_use_runtimelinking" = yes; then
2029       # Warning - without using the other runtime loading flags (-brtl),
2030       # -berok will link without error, but may produce a broken library.
2031       allow_undefined_flag='-berok'
2032       hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
2033       archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
2034     else
2035       if test "$host_cpu" = ia64; then
2036         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
2037         allow_undefined_flag="-z nodefs"
2038         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
2039       else
2040         hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
2041         # Warning - without using the other run time loading flags,
2042         # -berok will link without error, but may produce a broken library.
2043         allow_undefined_flag='${wl}-berok'
2044         # This is a bit strange, but is similar to how AIX traditionally builds
2045         # it's shared libraries.
2046         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
2047       fi
2048     fi
2049     ;;
2050
2051   amigaos*)
2052     archive_cmds='$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)'
2053     hardcode_libdir_flag_spec='-L$libdir'
2054     hardcode_minus_L=yes
2055     # see comment about different semantics on the GNU ld section
2056     ld_shlibs=no
2057     ;;
2058
2059   cygwin* | mingw* | pw32*)
2060     # When not using gcc, we currently assume that we are using
2061     # Microsoft Visual C++.
2062     # hardcode_libdir_flag_spec is actually meaningless, as there is
2063     # no search path for DLLs.
2064     hardcode_libdir_flag_spec=' '
2065     allow_undefined_flag=unsupported
2066     # Tell ltmain to make .lib files, not .a files.
2067     libext=lib
2068     # FIXME: Setting linknames here is a bad hack.
2069     archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
2070     # The linker will automatically build a .lib file if we build a DLL.
2071     old_archive_from_new_cmds='true'
2072     # FIXME: Should let the user specify the lib program.
2073     old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
2074     fix_srcfile_path='`cygpath -w "$srcfile"`'
2075     ;;
2076
2077   darwin* | rhapsody*)
2078     case "$host_os" in
2079     rhapsody* | darwin1.[[012]])
2080       allow_undefined_flag='-undefined suppress'
2081       ;;
2082     *) # Darwin 1.3 on
2083       allow_undefined_flag='-flat_namespace -undefined suppress'
2084       ;;
2085     esac
2086     # FIXME: Relying on posixy $() will cause problems for
2087     #        cross-compilation, but unfortunately the echo tests do not
2088     #        yet detect zsh echo's removal of \ escapes.
2089     archive_cmds='$nonopt $(test "x$module" = xyes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring'
2090     # We need to add '_' to the symbols in $export_symbols first
2091     #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
2092     hardcode_direct=yes
2093     hardcode_shlibpath_var=no
2094     whole_archive_flag_spec='-all_load $convenience'
2095     ;;
2096
2097   freebsd1*)
2098     ld_shlibs=no
2099     ;;
2100
2101   # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
2102   # support.  Future versions do this automatically, but an explicit c++rt0.o
2103   # does not break anything, and helps significantly (at the cost of a little
2104   # extra space).
2105   freebsd2.2*)
2106     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
2107     hardcode_libdir_flag_spec='-R$libdir'
2108     hardcode_direct=yes
2109     hardcode_shlibpath_var=no
2110     ;;
2111
2112   # Unfortunately, older versions of FreeBSD 2 do not have this feature.
2113   freebsd2*)
2114     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
2115     hardcode_direct=yes
2116     hardcode_minus_L=yes
2117     hardcode_shlibpath_var=no
2118     ;;
2119
2120   # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
2121   freebsd*)
2122     archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
2123     hardcode_libdir_flag_spec='-R$libdir'
2124     hardcode_direct=yes
2125     hardcode_shlibpath_var=no
2126     ;;
2127
2128   hpux9* | hpux10* | hpux11*)
2129     case $host_os in
2130     hpux9*) archive_cmds='$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' ;;
2131     *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
2132     esac
2133     hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
2134     hardcode_libdir_separator=:
2135     hardcode_direct=yes
2136     hardcode_minus_L=yes # Not in the search PATH, but as the default
2137                          # location of the library.
2138     export_dynamic_flag_spec='${wl}-E'
2139     ;;
2140
2141   irix5* | irix6*)
2142     if test "$GCC" = yes; then
2143       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
2144     else
2145       archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
2146     fi
2147     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
2148     hardcode_libdir_separator=:
2149     link_all_deplibs=yes
2150     ;;
2151
2152   netbsd*)
2153     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
2154       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
2155     else
2156       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
2157     fi
2158     hardcode_libdir_flag_spec='-R$libdir'
2159     hardcode_direct=yes
2160     hardcode_shlibpath_var=no
2161     ;;
2162
2163   newsos6)
2164     archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
2165     hardcode_direct=yes
2166     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
2167     hardcode_libdir_separator=:
2168     hardcode_shlibpath_var=no
2169     ;;
2170
2171   openbsd*)
2172     hardcode_direct=yes
2173     hardcode_shlibpath_var=no
2174     if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2175       archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
2176       hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
2177       export_dynamic_flag_spec='${wl}-E'
2178     else
2179       case "$host_os" in
2180       openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
2181         archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
2182         hardcode_libdir_flag_spec='-R$libdir'
2183         ;;
2184       *)
2185         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
2186         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
2187         ;;
2188       esac
2189     fi
2190     ;;
2191
2192   os2*)
2193     hardcode_libdir_flag_spec='-L$libdir'
2194     hardcode_minus_L=yes
2195     allow_undefined_flag=unsupported
2196     archive_cmds='$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'
2197     old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
2198     ;;
2199
2200   osf3*)
2201     if test "$GCC" = yes; then
2202       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
2203       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
2204     else
2205       allow_undefined_flag=' -expect_unresolved \*'
2206       archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
2207     fi
2208     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
2209     hardcode_libdir_separator=:
2210     ;;
2211
2212   osf4* | osf5*)        # as osf3* with the addition of -msym flag
2213     if test "$GCC" = yes; then
2214       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
2215       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
2216       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
2217     else
2218       allow_undefined_flag=' -expect_unresolved \*'
2219       archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
2220       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
2221       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
2222
2223       #Both c and cxx compiler support -rpath directly
2224       hardcode_libdir_flag_spec='-rpath $libdir'
2225     fi
2226     hardcode_libdir_separator=:
2227     ;;
2228
2229   sco3.2v5*)
2230     archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
2231     hardcode_shlibpath_var=no
2232     runpath_var=LD_RUN_PATH
2233     hardcode_runpath_var=yes
2234     export_dynamic_flag_spec='${wl}-Bexport'
2235     ;;
2236
2237   solaris*)
2238     # gcc --version < 3.0 without binutils cannot create self contained
2239     # shared libraries reliably, requiring libgcc.a to resolve some of
2240     # the object symbols generated in some cases.  Libraries that use
2241     # assert need libgcc.a to resolve __eprintf, for example.  Linking
2242     # a copy of libgcc.a into every shared library to guarantee resolving
2243     # such symbols causes other problems:  According to Tim Van Holder
2244     # <tim.van.holder@pandora.be>, C++ libraries end up with a separate
2245     # (to the application) exception stack for one thing.
2246     no_undefined_flag=' -z defs'
2247     if test "$GCC" = yes; then
2248       case `$CC --version 2>/dev/null` in
2249       [[12]].*)
2250         cat <<EOF 1>&2
2251
2252 *** Warning: Releases of GCC earlier than version 3.0 cannot reliably
2253 *** create self contained shared libraries on Solaris systems, without
2254 *** introducing a dependency on libgcc.a.  Therefore, libtool is disabling
2255 *** -no-undefined support, which will at least allow you to build shared
2256 *** libraries.  However, you may find that when you link such libraries
2257 *** into an application without using GCC, you have to manually add
2258 *** \`gcc --print-libgcc-file-name\` to the link command.  We urge you to
2259 *** upgrade to a newer version of GCC.  Another option is to rebuild your
2260 *** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
2261
2262 EOF
2263         no_undefined_flag=
2264         ;;
2265       esac
2266     fi
2267     # $CC -shared without GNU ld will not create a library from C++
2268     # object files and a static libstdc++, better avoid it by now
2269     archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
2270     archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
2271                 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
2272     hardcode_libdir_flag_spec='-R$libdir'
2273     hardcode_shlibpath_var=no
2274     case $host_os in
2275     solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
2276     *) # Supported since Solaris 2.6 (maybe 2.5.1?)
2277       whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
2278     esac
2279     link_all_deplibs=yes
2280     ;;
2281
2282   sunos4*)
2283     if test "x$host_vendor" = xsequent; then
2284       # Use $CC to link under sequent, because it throws in some extra .o
2285       # files that make .init and .fini sections work.
2286       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
2287     else
2288       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
2289     fi
2290     hardcode_libdir_flag_spec='-L$libdir'
2291     hardcode_direct=yes
2292     hardcode_minus_L=yes
2293     hardcode_shlibpath_var=no
2294     ;;
2295
2296   sysv4)
2297     if test "x$host_vendor" = xsno; then
2298       archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags'
2299       hardcode_direct=yes # is this really true???
2300     else
2301       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
2302       hardcode_direct=no #Motorola manual says yes, but my tests say they lie
2303     fi
2304     runpath_var='LD_RUN_PATH'
2305     hardcode_shlibpath_var=no
2306     ;;
2307
2308   sysv4.3*)
2309     archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
2310     hardcode_shlibpath_var=no
2311     export_dynamic_flag_spec='-Bexport'
2312     ;;
2313
2314   sysv5*)
2315     no_undefined_flag=' -z text'
2316     # $CC -shared without GNU ld will not create a library from C++
2317     # object files and a static libstdc++, better avoid it by now
2318     archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
2319     archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
2320                 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
2321     hardcode_libdir_flag_spec=
2322     hardcode_shlibpath_var=no
2323     runpath_var='LD_RUN_PATH'
2324     ;;
2325
2326   uts4*)
2327     archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
2328     hardcode_libdir_flag_spec='-L$libdir'
2329     hardcode_shlibpath_var=no
2330     ;;
2331
2332   dgux*)
2333     archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
2334     hardcode_libdir_flag_spec='-L$libdir'
2335     hardcode_shlibpath_var=no
2336     ;;
2337
2338   sysv4*MP*)
2339     if test -d /usr/nec; then
2340       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
2341       hardcode_shlibpath_var=no
2342       runpath_var=LD_RUN_PATH
2343       hardcode_runpath_var=yes
2344       ld_shlibs=yes
2345     fi
2346     ;;
2347
2348   sysv4.2uw2*)
2349     archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
2350     hardcode_direct=yes
2351     hardcode_minus_L=no
2352     hardcode_shlibpath_var=no
2353     hardcode_runpath_var=yes
2354     runpath_var=LD_RUN_PATH
2355     ;;
2356
2357   sysv5uw7* | unixware7*)
2358     no_undefined_flag='${wl}-z ${wl}text'
2359     if test "$GCC" = yes; then
2360       archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
2361     else
2362       archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
2363     fi
2364     runpath_var='LD_RUN_PATH'
2365     hardcode_shlibpath_var=no
2366     ;;
2367
2368   *)
2369     ld_shlibs=no
2370     ;;
2371   esac
2372 fi
2373 AC_MSG_RESULT([$ld_shlibs])
2374 test "$ld_shlibs" = no && can_build_shared=no
2375
2376 # Check hardcoding attributes.
2377 AC_MSG_CHECKING([how to hardcode library paths into programs])
2378 hardcode_action=
2379 if test -n "$hardcode_libdir_flag_spec" || \
2380    test -n "$runpath_var"; then
2381
2382   # We can hardcode non-existant directories.
2383   if test "$hardcode_direct" != no &&
2384      # If the only mechanism to avoid hardcoding is shlibpath_var, we
2385      # have to relink, otherwise we might link with an installed library
2386      # when we should be linking with a yet-to-be-installed one
2387      ## test "$hardcode_shlibpath_var" != no &&
2388      test "$hardcode_minus_L" != no; then
2389     # Linking always hardcodes the temporary library directory.
2390     hardcode_action=relink
2391   else
2392     # We can link without hardcoding, and we can hardcode nonexisting dirs.
2393     hardcode_action=immediate
2394   fi
2395 else
2396   # We cannot hardcode anything, or else we can only hardcode existing
2397   # directories.
2398   hardcode_action=unsupported
2399 fi
2400 AC_MSG_RESULT([$hardcode_action])
2401
2402 striplib=
2403 old_striplib=
2404 AC_MSG_CHECKING([whether stripping libraries is possible])
2405 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
2406   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2407   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2408   AC_MSG_RESULT([yes])
2409 else
2410   AC_MSG_RESULT([no])
2411 fi
2412
2413 reload_cmds='$LD$reload_flag -o $output$reload_objs'
2414 test -z "$deplibs_check_method" && deplibs_check_method=unknown
2415
2416 # PORTME Fill in your ld.so characteristics
2417 AC_MSG_CHECKING([dynamic linker characteristics])
2418 library_names_spec=
2419 libname_spec='lib$name'
2420 soname_spec=
2421 postinstall_cmds=
2422 postuninstall_cmds=
2423 finish_cmds=
2424 finish_eval=
2425 shlibpath_var=
2426 shlibpath_overrides_runpath=unknown
2427 version_type=none
2428 dynamic_linker="$host_os ld.so"
2429 sys_lib_dlsearch_path_spec="/lib /usr/lib"
2430 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2431
2432 case $host_os in
2433 aix3*)
2434   version_type=linux
2435   library_names_spec='${libname}${release}.so$versuffix $libname.a'
2436   shlibpath_var=LIBPATH
2437
2438   # AIX has no versioning support, so we append a major version to the name.
2439   soname_spec='${libname}${release}.so$major'
2440   ;;
2441
2442 aix4* | aix5*)
2443   version_type=linux
2444   if test "$host_cpu" = ia64; then
2445     # AIX 5 supports IA64
2446     library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
2447     shlibpath_var=LD_LIBRARY_PATH
2448   else
2449     # With GCC up to 2.95.x, collect2 would create an import file
2450     # for dependence libraries.  The import file would start with
2451     # the line `#! .'.  This would cause the generated library to
2452     # depend on `.', always an invalid library.  This was fixed in
2453     # development snapshots of GCC prior to 3.0.
2454     case $host_os in
2455       aix4 | aix4.[[01]] | aix4.[[01]].*)
2456         if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2457              echo ' yes '
2458              echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
2459           :
2460         else
2461           can_build_shared=no
2462         fi
2463         ;;
2464     esac
2465     # AIX (on Power*) has no versioning support, so currently we can
2466     # not hardcode correct soname into executable. Probably we can
2467     # add versioning support to collect2, so additional links can
2468     # be useful in future.
2469     if test "$aix_use_runtimelinking" = yes; then
2470       # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2471       # instead of lib<name>.a to let people know that these are not
2472       # typical AIX shared libraries.
2473       library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2474     else
2475       # We preserve .a as extension for shared libraries through AIX4.2
2476       # and later when we are not doing run time linking.
2477       library_names_spec='${libname}${release}.a $libname.a'
2478       soname_spec='${libname}${release}.so$major'
2479     fi
2480     shlibpath_var=LIBPATH
2481   fi
2482   ;;
2483
2484 amigaos*)
2485   library_names_spec='$libname.ixlibrary $libname.a'
2486   # Create ${libname}_ixlibrary.a entries in /sys/libs.
2487   finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''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'
2488   ;;
2489
2490 beos*)
2491   library_names_spec='${libname}.so'
2492   dynamic_linker="$host_os ld.so"
2493   shlibpath_var=LIBRARY_PATH
2494   ;;
2495
2496 bsdi4*)
2497   version_type=linux
2498   need_version=no
2499   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2500   soname_spec='${libname}${release}.so$major'
2501   finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2502   shlibpath_var=LD_LIBRARY_PATH
2503   sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2504   sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2505   export_dynamic_flag_spec=-rdynamic
2506   # the default ld.so.conf also contains /usr/contrib/lib and
2507   # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2508   # libtool to hard-code these into programs
2509   ;;
2510
2511 cygwin* | mingw* | pw32*)
2512   version_type=windows
2513   need_version=no
2514   need_lib_prefix=no
2515   case $GCC,$host_os in
2516   yes,cygwin*)
2517     library_names_spec='$libname.dll.a'
2518     soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
2519     postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
2520       dldir=$destdir/`dirname \$dlpath`~
2521       test -d \$dldir || mkdir -p \$dldir~
2522       $install_prog .libs/$dlname \$dldir/$dlname'
2523     postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
2524       dlpath=$dir/\$dldll~
2525        $rm \$dlpath'
2526     ;;
2527   yes,mingw*)
2528     library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
2529     sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
2530     ;;
2531   yes,pw32*)
2532     library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
2533     ;;
2534   *)
2535     library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib'
2536     ;;
2537   esac
2538   dynamic_linker='Win32 ld.exe'
2539   # FIXME: first we should search . and the directory the executable is in
2540   shlibpath_var=PATH
2541   ;;
2542
2543 darwin* | rhapsody*)
2544   dynamic_linker="$host_os dyld"
2545   version_type=darwin
2546   need_lib_prefix=no
2547   need_version=no
2548   # FIXME: Relying on posixy $() will cause problems for
2549   #        cross-compilation, but unfortunately the echo tests do not
2550   #        yet detect zsh echo's removal of \ escapes.
2551   library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)'
2552   soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)'
2553   shlibpath_overrides_runpath=yes
2554   shlibpath_var=DYLD_LIBRARY_PATH
2555   ;;
2556
2557 freebsd1*)
2558   dynamic_linker=no
2559   ;;
2560
2561 freebsd*)
2562   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
2563   version_type=freebsd-$objformat
2564   case $version_type in
2565     freebsd-elf*)
2566       library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
2567       need_version=no
2568       need_lib_prefix=no
2569       ;;
2570     freebsd-*)
2571       library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
2572       need_version=yes
2573       ;;
2574   esac
2575   shlibpath_var=LD_LIBRARY_PATH
2576   case $host_os in
2577   freebsd2*)
2578     shlibpath_overrides_runpath=yes
2579     ;;
2580   *)
2581     shlibpath_overrides_runpath=no
2582     hardcode_into_libs=yes
2583     ;;
2584   esac
2585   ;;
2586
2587 gnu*)
2588   version_type=linux
2589   need_lib_prefix=no
2590   need_version=no
2591   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
2592   soname_spec='${libname}${release}.so$major'
2593   shlibpath_var=LD_LIBRARY_PATH
2594   hardcode_into_libs=yes
2595   ;;
2596
2597 hpux9* | hpux10* | hpux11*)
2598   # Give a soname corresponding to the major version so that dld.sl refuses to
2599   # link against other versions.
2600   dynamic_linker="$host_os dld.sl"
2601   version_type=sunos
2602   need_lib_prefix=no
2603   need_version=no
2604   shlibpath_var=SHLIB_PATH
2605   shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2606   library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
2607   soname_spec='${libname}${release}.sl$major'
2608   # HP-UX runs *really* slowly unless shared libraries are mode 555.
2609   postinstall_cmds='chmod 555 $lib'
2610   ;;
2611
2612 irix5* | irix6*)
2613   version_type=irix
2614   need_lib_prefix=no
2615   need_version=no
2616   soname_spec='${libname}${release}.so$major'
2617   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
2618   case $host_os in
2619   irix5*)
2620     libsuff= shlibsuff=
2621     ;;
2622   *)
2623     case $LD in # libtool.m4 will add one of these switches to LD
2624     *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
2625     *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
2626     *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
2627     *) libsuff= shlibsuff= libmagic=never-match;;
2628     esac
2629     ;;
2630   esac
2631   shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2632   shlibpath_overrides_runpath=no
2633   sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2634   sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2635   ;;
2636
2637 # No shared lib support for Linux oldld, aout, or coff.
2638 linux*oldld* | linux*aout* | linux*coff*)
2639   dynamic_linker=no
2640   ;;
2641
2642 # This must be Linux ELF.
2643 linux*)
2644   version_type=linux
2645   need_lib_prefix=no
2646   need_version=no
2647   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2648   soname_spec='${libname}${release}.so$major'
2649   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2650   shlibpath_var=LD_LIBRARY_PATH
2651   shlibpath_overrides_runpath=no
2652   # This implies no fast_install, which is unacceptable.
2653   # Some rework will be needed to allow for fast_install
2654   # before this can be enabled.
2655   hardcode_into_libs=yes
2656
2657   # We used to test for /lib/ld.so.1 and disable shared libraries on
2658   # powerpc, because MkLinux only supported shared libraries with the
2659   # GNU dynamic linker.  Since this was broken with cross compilers,
2660   # most powerpc-linux boxes support dynamic linking these days and
2661   # people can always --disable-shared, the test was removed, and we
2662   # assume the GNU/Linux dynamic linker is in use.
2663   dynamic_linker='GNU/Linux ld.so'
2664   ;;
2665
2666 netbsd*)
2667   version_type=sunos
2668   need_lib_prefix=no
2669   need_version=no
2670   if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
2671     library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
2672     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2673     dynamic_linker='NetBSD (a.out) ld.so'
2674   else
2675     library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
2676     soname_spec='${libname}${release}.so$major'
2677     dynamic_linker='NetBSD ld.elf_so'
2678   fi
2679   shlibpath_var=LD_LIBRARY_PATH
2680   shlibpath_overrides_runpath=yes
2681   hardcode_into_libs=yes
2682   ;;
2683
2684 newsos6)
2685   version_type=linux
2686   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2687   shlibpath_var=LD_LIBRARY_PATH
2688   shlibpath_overrides_runpath=yes
2689   ;;
2690
2691 openbsd*)
2692   version_type=sunos
2693   need_lib_prefix=no
2694   need_version=no
2695   if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2696     case "$host_os" in
2697     openbsd2.[[89]] | openbsd2.[[89]].*)
2698       shlibpath_overrides_runpath=no
2699       ;;
2700     *)
2701       shlibpath_overrides_runpath=yes
2702       ;;
2703     esac
2704   else
2705     shlibpath_overrides_runpath=yes
2706   fi
2707   library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
2708   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2709   shlibpath_var=LD_LIBRARY_PATH
2710   ;;
2711
2712 os2*)
2713   libname_spec='$name'
2714   need_lib_prefix=no
2715   library_names_spec='$libname.dll $libname.a'
2716   dynamic_linker='OS/2 ld.exe'
2717   shlibpath_var=LIBPATH
2718   ;;
2719
2720 osf3* | osf4* | osf5*)
2721   version_type=osf
2722   need_version=no
2723   soname_spec='${libname}${release}.so'
2724   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
2725   shlibpath_var=LD_LIBRARY_PATH
2726   sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2727   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2728   ;;
2729
2730 sco3.2v5*)
2731   version_type=osf
2732   soname_spec='${libname}${release}.so$major'
2733   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2734   shlibpath_var=LD_LIBRARY_PATH
2735   ;;
2736
2737 solaris*)
2738   version_type=linux
2739   need_lib_prefix=no
2740   need_version=no
2741   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2742   soname_spec='${libname}${release}.so$major'
2743   shlibpath_var=LD_LIBRARY_PATH
2744   shlibpath_overrides_runpath=yes
2745   hardcode_into_libs=yes
2746   # ldd complains unless libraries are executable
2747   postinstall_cmds='chmod +x $lib'
2748   ;;
2749
2750 sunos4*)
2751   version_type=sunos
2752   library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
2753   finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2754   shlibpath_var=LD_LIBRARY_PATH
2755   shlibpath_overrides_runpath=yes
2756   if test "$with_gnu_ld" = yes; then
2757     need_lib_prefix=no
2758   fi
2759   need_version=yes
2760   ;;
2761
2762 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
2763   version_type=linux
2764   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2765   soname_spec='${libname}${release}.so$major'
2766   shlibpath_var=LD_LIBRARY_PATH
2767   case $host_vendor in
2768     sni)
2769       shlibpath_overrides_runpath=no
2770       ;;
2771     motorola)
2772       need_lib_prefix=no
2773       need_version=no
2774       shlibpath_overrides_runpath=no
2775       sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2776       ;;
2777   esac
2778   ;;
2779
2780 uts4*)
2781   version_type=linux
2782   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2783   soname_spec='${libname}${release}.so$major'
2784   shlibpath_var=LD_LIBRARY_PATH
2785   ;;
2786
2787 dgux*)
2788   version_type=linux
2789   need_lib_prefix=no
2790   need_version=no
2791   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
2792   soname_spec='${libname}${release}.so$major'
2793   shlibpath_var=LD_LIBRARY_PATH
2794   ;;
2795
2796 sysv4*MP*)
2797   if test -d /usr/nec ;then
2798     version_type=linux
2799     library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
2800     soname_spec='$libname.so.$major'
2801     shlibpath_var=LD_LIBRARY_PATH
2802   fi
2803   ;;
2804
2805 *)
2806   dynamic_linker=no
2807   ;;
2808 esac
2809 AC_MSG_RESULT([$dynamic_linker])
2810 test "$dynamic_linker" = no && can_build_shared=no
2811
2812 # Report the final consequences.
2813 AC_MSG_CHECKING([if libtool supports shared libraries])
2814 AC_MSG_RESULT([$can_build_shared])
2815
2816 AC_MSG_CHECKING([whether to build shared libraries])
2817 test "$can_build_shared" = "no" && enable_shared=no
2818
2819 # On AIX, shared libraries and static libraries use the same namespace, and
2820 # are all built from PIC.
2821 case "$host_os" in
2822 aix3*)
2823   test "$enable_shared" = yes && enable_static=no
2824   if test -n "$RANLIB"; then
2825     archive_cmds="$archive_cmds~\$RANLIB \$lib"
2826     postinstall_cmds='$RANLIB $lib'
2827   fi
2828   ;;
2829
2830 aix4*)
2831   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
2832     test "$enable_shared" = yes && enable_static=no
2833   fi
2834   ;;
2835 esac
2836 AC_MSG_RESULT([$enable_shared])
2837
2838 AC_MSG_CHECKING([whether to build static libraries])
2839 # Make sure either enable_shared or enable_static is yes.
2840 test "$enable_shared" = yes || enable_static=yes
2841 AC_MSG_RESULT([$enable_static])
2842
2843 if test "$hardcode_action" = relink; then
2844   # Fast installation is not supported
2845   enable_fast_install=no
2846 elif test "$shlibpath_overrides_runpath" = yes ||
2847      test "$enable_shared" = no; then
2848   # Fast installation is not necessary
2849   enable_fast_install=needless
2850 fi
2851
2852 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2853 if test "$GCC" = yes; then
2854   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2855 fi
2856
2857 AC_LIBTOOL_DLOPEN_SELF
2858
2859 if test "$enable_shared" = yes && test "$GCC" = yes; then
2860   case $archive_cmds in
2861   *'~'*)
2862     # FIXME: we may have to deal with multi-command sequences.
2863     ;;
2864   '$CC '*)
2865     # Test whether the compiler implicitly links with -lc since on some
2866     # systems, -lgcc has to come before -lc. If gcc already passes -lc
2867     # to ld, don't add -lc before -lgcc.
2868     AC_MSG_CHECKING([whether -lc should be explicitly linked in])
2869     AC_CACHE_VAL([lt_cv_archive_cmds_need_lc],
2870     [$rm conftest*
2871     echo 'static int dummy;' > conftest.$ac_ext
2872
2873     if AC_TRY_EVAL(ac_compile); then
2874       soname=conftest
2875       lib=conftest
2876       libobjs=conftest.$ac_objext
2877       deplibs=
2878       wl=$lt_cv_prog_cc_wl
2879       compiler_flags=-v
2880       linker_flags=-v
2881       verstring=
2882       output_objdir=.
2883       libname=conftest
2884       save_allow_undefined_flag=$allow_undefined_flag
2885       allow_undefined_flag=
2886       if AC_TRY_EVAL(archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
2887       then
2888         lt_cv_archive_cmds_need_lc=no
2889       else
2890         lt_cv_archive_cmds_need_lc=yes
2891       fi
2892       allow_undefined_flag=$save_allow_undefined_flag
2893     else
2894       cat conftest.err 1>&5
2895     fi])
2896     AC_MSG_RESULT([$lt_cv_archive_cmds_need_lc])
2897     ;;
2898   esac
2899 fi
2900 need_lc=${lt_cv_archive_cmds_need_lc-yes}
2901
2902 # The second clause should only fire when bootstrapping the
2903 # libtool distribution, otherwise you forgot to ship ltmain.sh
2904 # with your package, and you will get complaints that there are
2905 # no rules to generate ltmain.sh.
2906 if test -f "$ltmain"; then
2907   :
2908 else
2909   # If there is no Makefile yet, we rely on a make rule to execute
2910   # `config.status --recheck' to rerun these tests and create the
2911   # libtool script then.
2912   test -f Makefile && make "$ltmain"
2913 fi
2914
2915 if test -f "$ltmain"; then
2916   trap "$rm \"${ofile}T\"; exit 1" 1 2 15
2917   $rm -f "${ofile}T"
2918
2919   echo creating $ofile
2920
2921   # Now quote all the things that may contain metacharacters while being
2922   # careful not to overquote the AC_SUBSTed values.  We take copies of the
2923   # variables and quote the copies for generation of the libtool script.
2924   for var in echo old_CC old_CFLAGS \
2925     AR AR_FLAGS AS CC LD LN_S NM SHELL \
2926     reload_flag reload_cmds wl \
2927     pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
2928     thread_safe_flag_spec whole_archive_flag_spec libname_spec \
2929     library_names_spec soname_spec \
2930     RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
2931     old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
2932     postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
2933     old_striplib striplib file_magic_cmd export_symbols_cmds \
2934     deplibs_check_method allow_undefined_flag no_undefined_flag \
2935     finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
2936     global_symbol_to_c_name_address \
2937     hardcode_libdir_flag_spec hardcode_libdir_separator  \
2938     sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
2939     compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
2940
2941     case $var in
2942     reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
2943     old_postinstall_cmds | old_postuninstall_cmds | \
2944     export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
2945     extract_expsyms_cmds | old_archive_from_expsyms_cmds | \
2946     postinstall_cmds | postuninstall_cmds | \
2947     finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
2948       # Double-quote double-evaled strings.
2949       eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
2950       ;;
2951     *)
2952       eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
2953       ;;
2954     esac
2955   done
2956
2957   cat <<__EOF__ > "${ofile}T"
2958 #! $SHELL
2959
2960 # `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
2961 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
2962 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
2963 #
2964 # Copyright (C) 1996-2000 Free Software Foundation, Inc.
2965 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
2966 #
2967 # This program is free software; you can redistribute it and/or modify
2968 # it under the terms of the GNU General Public License as published by
2969 # the Free Software Foundation; either version 2 of the License, or
2970 # (at your option) any later version.
2971 #
2972 # This program is distributed in the hope that it will be useful, but
2973 # WITHOUT ANY WARRANTY; without even the implied warranty of
2974 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
2975 # General Public License for more details.
2976 #
2977 # You should have received a copy of the GNU General Public License
2978 # along with this program; if not, write to the Free Software
2979 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2980 #
2981 # As a special exception to the GNU General Public License, if you
2982 # distribute this file as part of a program that contains a
2983 # configuration script generated by Autoconf, you may include it under
2984 # the same distribution terms that you use for the rest of that program.
2985
2986 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
2987 Xsed="sed -e s/^X//"
2988
2989 # The HP-UX ksh and POSIX shell print the target directory to stdout
2990 # if CDPATH is set.
2991 if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
2992
2993 # ### BEGIN LIBTOOL CONFIG
2994
2995 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
2996
2997 # Shell to use when invoking shell scripts.
2998 SHELL=$lt_SHELL
2999
3000 # Whether or not to build shared libraries.
3001 build_libtool_libs=$enable_shared
3002
3003 # Whether or not to build static libraries.
3004 build_old_libs=$enable_static
3005
3006 # Whether or not to add -lc for building shared libraries.
3007 build_libtool_need_lc=$need_lc
3008
3009 # Whether or not to optimize for fast installation.
3010 fast_install=$enable_fast_install
3011
3012 # The host system.
3013 host_alias=$host_alias
3014 host=$host
3015
3016 # An echo program that does not interpret backslashes.
3017 echo=$lt_echo
3018
3019 # The archiver.
3020 AR=$lt_AR
3021 AR_FLAGS=$lt_AR_FLAGS
3022
3023 # The default C compiler.
3024 CC=$lt_CC
3025
3026 # Is the compiler the GNU C compiler?
3027 with_gcc=$GCC
3028
3029 # The linker used to build libraries.
3030 LD=$lt_LD
3031
3032 # Whether we need hard or soft links.
3033 LN_S=$lt_LN_S
3034
3035 # A BSD-compatible nm program.
3036 NM=$lt_NM
3037
3038 # A symbol stripping program
3039 STRIP=$STRIP
3040
3041 # Used to examine libraries when file_magic_cmd begins "file"
3042 MAGIC_CMD=$MAGIC_CMD
3043
3044 # Used on cygwin: DLL creation program.
3045 DLLTOOL="$DLLTOOL"
3046
3047 # Used on cygwin: object dumper.
3048 OBJDUMP="$OBJDUMP"
3049
3050 # Used on cygwin: assembler.
3051 AS=$lt_AS
3052
3053 # The name of the directory that contains temporary libtool files.
3054 objdir=$objdir
3055
3056 # How to create reloadable object files.
3057 reload_flag=$lt_reload_flag
3058 reload_cmds=$lt_reload_cmds
3059
3060 # How to pass a linker flag through the compiler.
3061 wl=$lt_wl
3062
3063 # Object file suffix (normally "o").
3064 objext="$ac_objext"
3065
3066 # Old archive suffix (normally "a").
3067 libext="$libext"
3068
3069 # Executable file suffix (normally "").
3070 exeext="$exeext"
3071
3072 # Additional compiler flags for building library objects.
3073 pic_flag=$lt_pic_flag
3074 pic_mode=$pic_mode
3075
3076 # Does compiler simultaneously support -c and -o options?
3077 compiler_c_o=$lt_compiler_c_o
3078
3079 # Can we write directly to a .lo ?
3080 compiler_o_lo=$lt_compiler_o_lo
3081
3082 # Must we lock files when doing compilation ?
3083 need_locks=$lt_need_locks
3084
3085 # Do we need the lib prefix for modules?
3086 need_lib_prefix=$need_lib_prefix
3087
3088 # Do we need a version for libraries?
3089 need_version=$need_version
3090
3091 # Whether dlopen is supported.
3092 dlopen_support=$enable_dlopen
3093
3094 # Whether dlopen of programs is supported.
3095 dlopen_self=$enable_dlopen_self
3096
3097 # Whether dlopen of statically linked programs is supported.
3098 dlopen_self_static=$enable_dlopen_self_static
3099
3100 # Compiler flag to prevent dynamic linking.
3101 link_static_flag=$lt_link_static_flag
3102
3103 # Compiler flag to turn off builtin functions.
3104 no_builtin_flag=$lt_no_builtin_flag
3105
3106 # Compiler flag to allow reflexive dlopens.
3107 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
3108
3109 # Compiler flag to generate shared objects directly from archives.
3110 whole_archive_flag_spec=$lt_whole_archive_flag_spec
3111
3112 # Compiler flag to generate thread-safe objects.
3113 thread_safe_flag_spec=$lt_thread_safe_flag_spec
3114
3115 # Library versioning type.
3116 version_type=$version_type
3117
3118 # Format of library name prefix.
3119 libname_spec=$lt_libname_spec
3120
3121 # List of archive names.  First name is the real one, the rest are links.
3122 # The last name is the one that the linker finds with -lNAME.
3123 library_names_spec=$lt_library_names_spec
3124
3125 # The coded name of the library, if different from the real name.
3126 soname_spec=$lt_soname_spec
3127
3128 # Commands used to build and install an old-style archive.
3129 RANLIB=$lt_RANLIB
3130 old_archive_cmds=$lt_old_archive_cmds
3131 old_postinstall_cmds=$lt_old_postinstall_cmds
3132 old_postuninstall_cmds=$lt_old_postuninstall_cmds
3133
3134 # Create an old-style archive from a shared archive.
3135 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
3136
3137 # Create a temporary old-style archive to link instead of a shared archive.
3138 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
3139
3140 # Commands used to build and install a shared archive.
3141 archive_cmds=$lt_archive_cmds
3142 archive_expsym_cmds=$lt_archive_expsym_cmds
3143 postinstall_cmds=$lt_postinstall_cmds
3144 postuninstall_cmds=$lt_postuninstall_cmds
3145
3146 # Commands to strip libraries.
3147 old_striplib=$lt_old_striplib
3148 striplib=$lt_striplib
3149
3150 # Method to check whether dependent libraries are shared objects.
3151 deplibs_check_method=$lt_deplibs_check_method
3152
3153 # Command to use when deplibs_check_method == file_magic.
3154 file_magic_cmd=$lt_file_magic_cmd
3155
3156 # Flag that allows shared libraries with undefined symbols to be built.
3157 allow_undefined_flag=$lt_allow_undefined_flag
3158
3159 # Flag that forces no undefined symbols.
3160 no_undefined_flag=$lt_no_undefined_flag
3161
3162 # Commands used to finish a libtool library installation in a directory.
3163 finish_cmds=$lt_finish_cmds
3164
3165 # Same as above, but a single script fragment to be evaled but not shown.
3166 finish_eval=$lt_finish_eval
3167
3168 # Take the output of nm and produce a listing of raw symbols and C names.
3169 global_symbol_pipe=$lt_global_symbol_pipe
3170
3171 # Transform the output of nm in a proper C declaration
3172 global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
3173
3174 # Transform the output of nm in a C name address pair
3175 global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
3176
3177 # This is the shared library runtime path variable.
3178 runpath_var=$runpath_var
3179
3180 # This is the shared library path variable.
3181 shlibpath_var=$shlibpath_var
3182
3183 # Is shlibpath searched before the hard-coded library search path?
3184 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
3185
3186 # How to hardcode a shared library path into an executable.
3187 hardcode_action=$hardcode_action
3188
3189 # Whether we should hardcode library paths into libraries.
3190 hardcode_into_libs=$hardcode_into_libs
3191
3192 # Flag to hardcode \$libdir into a binary during linking.
3193 # This must work even if \$libdir does not exist.
3194 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
3195
3196 # Whether we need a single -rpath flag with a separated argument.
3197 hardcode_libdir_separator=$lt_hardcode_libdir_separator
3198
3199 # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
3200 # resulting binary.
3201 hardcode_direct=$hardcode_direct
3202
3203 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
3204 # resulting binary.
3205 hardcode_minus_L=$hardcode_minus_L
3206
3207 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
3208 # the resulting binary.
3209 hardcode_shlibpath_var=$hardcode_shlibpath_var
3210
3211 # Variables whose values should be saved in libtool wrapper scripts and
3212 # restored at relink time.
3213 variables_saved_for_relink="$variables_saved_for_relink"
3214
3215 # Whether libtool must link a program against all its dependency libraries.
3216 link_all_deplibs=$link_all_deplibs
3217
3218 # Compile-time system search path for libraries
3219 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
3220
3221 # Run-time system search path for libraries
3222 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
3223
3224 # Fix the shell variable \$srcfile for the compiler.
3225 fix_srcfile_path="$fix_srcfile_path"
3226
3227 # Set to yes if exported symbols are required.
3228 always_export_symbols=$always_export_symbols
3229
3230 # The commands to list exported symbols.
3231 export_symbols_cmds=$lt_export_symbols_cmds
3232
3233 # The commands to extract the exported symbol list from a shared archive.
3234 extract_expsyms_cmds=$lt_extract_expsyms_cmds
3235
3236 # Symbols that should not be listed in the preloaded symbols.
3237 exclude_expsyms=$lt_exclude_expsyms
3238
3239 # Symbols that must always be exported.
3240 include_expsyms=$lt_include_expsyms
3241
3242 # ### END LIBTOOL CONFIG
3243
3244 __EOF__
3245
3246   case $host_os in
3247   aix3*)
3248     cat <<\EOF >> "${ofile}T"
3249
3250 # AIX sometimes has problems with the GCC collect2 program.  For some
3251 # reason, if we set the COLLECT_NAMES environment variable, the problems
3252 # vanish in a puff of smoke.
3253 if test "X${COLLECT_NAMES+set}" != Xset; then
3254   COLLECT_NAMES=
3255   export COLLECT_NAMES
3256 fi
3257 EOF
3258     ;;
3259   esac
3260
3261   case $host_os in
3262   cygwin* | mingw* | pw32* | os2*)
3263     cat <<'EOF' >> "${ofile}T"
3264       # This is a source program that is used to create dlls on Windows
3265       # Don't remove nor modify the starting and closing comments
3266 # /* ltdll.c starts here */
3267 # #define WIN32_LEAN_AND_MEAN
3268 # #include <windows.h>
3269 # #undef WIN32_LEAN_AND_MEAN
3270 # #include <stdio.h>
3271 #
3272 # #ifndef __CYGWIN__
3273 # #  ifdef __CYGWIN32__
3274 # #    define __CYGWIN__ __CYGWIN32__
3275 # #  endif
3276 # #endif
3277 #
3278 # #ifdef __cplusplus
3279 # extern "C" {
3280 # #endif
3281 # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
3282 # #ifdef __cplusplus
3283 # }
3284 # #endif
3285 #
3286 # #ifdef __CYGWIN__
3287 # #include <cygwin/cygwin_dll.h>
3288 # DECLARE_CYGWIN_DLL( DllMain );
3289 # #endif
3290 # HINSTANCE __hDllInstance_base;
3291 #
3292 # BOOL APIENTRY
3293 # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
3294 # {
3295 #   __hDllInstance_base = hInst;
3296 #   return TRUE;
3297 # }
3298 # /* ltdll.c ends here */
3299         # This is a source program that is used to create import libraries
3300         # on Windows for dlls which lack them. Don't remove nor modify the
3301         # starting and closing comments
3302 # /* impgen.c starts here */
3303 # /*   Copyright (C) 1999-2000 Free Software Foundation, Inc.
3304 #
3305 #  This file is part of GNU libtool.
3306 #
3307 #  This program is free software; you can redistribute it and/or modify
3308 #  it under the terms of the GNU General Public License as published by
3309 #  the Free Software Foundation; either version 2 of the License, or
3310 #  (at your option) any later version.
3311 #
3312 #  This program is distributed in the hope that it will be useful,
3313 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
3314 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3315 #  GNU General Public License for more details.
3316 #
3317 #  You should have received a copy of the GNU General Public License
3318 #  along with this program; if not, write to the Free Software
3319 #  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
3320 #  */
3321 #
3322 # #include <stdio.h>            /* for printf() */
3323 # #include <unistd.h>           /* for open(), lseek(), read() */
3324 # #include <fcntl.h>            /* for O_RDONLY, O_BINARY */
3325 # #include <string.h>           /* for strdup() */
3326 #
3327 # /* O_BINARY isn't required (or even defined sometimes) under Unix */
3328 # #ifndef O_BINARY
3329 # #define O_BINARY 0
3330 # #endif
3331 #
3332 # static unsigned int
3333 # pe_get16 (fd, offset)
3334 #      int fd;
3335 #      int offset;
3336 # {
3337 #   unsigned char b[2];
3338 #   lseek (fd, offset, SEEK_SET);
3339 #   read (fd, b, 2);
3340 #   return b[0] + (b[1]<<8);
3341 # }
3342 #
3343 # static unsigned int
3344 # pe_get32 (fd, offset)
3345 #     int fd;
3346 #     int offset;
3347 # {
3348 #   unsigned char b[4];
3349 #   lseek (fd, offset, SEEK_SET);
3350 #   read (fd, b, 4);
3351 #   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
3352 # }
3353 #
3354 # static unsigned int
3355 # pe_as32 (ptr)
3356 #      void *ptr;
3357 # {
3358 #   unsigned char *b = ptr;
3359 #   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
3360 # }
3361 #
3362 # int
3363 # main (argc, argv)
3364 #     int argc;
3365 #     char *argv[];
3366 # {
3367 #     int dll;
3368 #     unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
3369 #     unsigned long export_rva, export_size, nsections, secptr, expptr;
3370 #     unsigned long name_rvas, nexp;
3371 #     unsigned char *expdata, *erva;
3372 #     char *filename, *dll_name;
3373 #
3374 #     filename = argv[1];
3375 #
3376 #     dll = open(filename, O_RDONLY|O_BINARY);
3377 #     if (dll < 1)
3378 #       return 1;
3379 #
3380 #     dll_name = filename;
3381 #
3382 #     for (i=0; filename[i]; i++)
3383 #       if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')
3384 #           dll_name = filename + i +1;
3385 #
3386 #     pe_header_offset = pe_get32 (dll, 0x3c);
3387 #     opthdr_ofs = pe_header_offset + 4 + 20;
3388 #     num_entries = pe_get32 (dll, opthdr_ofs + 92);
3389 #
3390 #     if (num_entries < 1) /* no exports */
3391 #       return 1;
3392 #
3393 #     export_rva = pe_get32 (dll, opthdr_ofs + 96);
3394 #     export_size = pe_get32 (dll, opthdr_ofs + 100);
3395 #     nsections = pe_get16 (dll, pe_header_offset + 4 +2);
3396 #     secptr = (pe_header_offset + 4 + 20 +
3397 #             pe_get16 (dll, pe_header_offset + 4 + 16));
3398 #
3399 #     expptr = 0;
3400 #     for (i = 0; i < nsections; i++)
3401 #     {
3402 #       char sname[8];
3403 #       unsigned long secptr1 = secptr + 40 * i;
3404 #       unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
3405 #       unsigned long vsize = pe_get32 (dll, secptr1 + 16);
3406 #       unsigned long fptr = pe_get32 (dll, secptr1 + 20);
3407 #       lseek(dll, secptr1, SEEK_SET);
3408 #       read(dll, sname, 8);
3409 #       if (vaddr <= export_rva && vaddr+vsize > export_rva)
3410 #       {
3411 #           expptr = fptr + (export_rva - vaddr);
3412 #           if (export_rva + export_size > vaddr + vsize)
3413 #               export_size = vsize - (export_rva - vaddr);
3414 #           break;
3415 #       }
3416 #     }
3417 #
3418 #     expdata = (unsigned char*)malloc(export_size);
3419 #     lseek (dll, expptr, SEEK_SET);
3420 #     read (dll, expdata, export_size);
3421 #     erva = expdata - export_rva;
3422 #
3423 #     nexp = pe_as32 (expdata+24);
3424 #     name_rvas = pe_as32 (expdata+32);
3425 #
3426 #     printf ("EXPORTS\n");
3427 #     for (i = 0; i<nexp; i++)
3428 #     {
3429 #       unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
3430 #       printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
3431 #     }
3432 #
3433 #     return 0;
3434 # }
3435 # /* impgen.c ends here */
3436
3437 EOF
3438     ;;
3439   esac
3440
3441   # We use sed instead of cat because bash on DJGPP gets confused if
3442   # if finds mixed CR/LF and LF-only lines.  Since sed operates in
3443   # text mode, it properly converts lines to CR/LF.  This bash problem
3444   # is reportedly fixed, but why not run on old versions too?
3445   sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1)
3446
3447   mv -f "${ofile}T" "$ofile" || \
3448     (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T")
3449   chmod +x "$ofile"
3450 fi
3451
3452 ])# _LT_AC_LTCONFIG_HACK
3453
3454 # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
3455 AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
3456
3457 # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
3458 AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
3459
3460 # AC_ENABLE_SHARED - implement the --enable-shared flag
3461 # Usage: AC_ENABLE_SHARED[(DEFAULT)]
3462 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
3463 #   `yes'.
3464 AC_DEFUN([AC_ENABLE_SHARED],
3465 [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
3466 AC_ARG_ENABLE(shared,
3467 changequote(<<, >>)dnl
3468 <<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
3469 changequote([, ])dnl
3470 [p=${PACKAGE-default}
3471 case $enableval in
3472 yes) enable_shared=yes ;;
3473 no) enable_shared=no ;;
3474 *)
3475   enable_shared=no
3476   # Look at the argument we got.  We use all the common list separators.
3477   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3478   for pkg in $enableval; do
3479     if test "X$pkg" = "X$p"; then
3480       enable_shared=yes
3481     fi
3482   done
3483   IFS="$ac_save_ifs"
3484   ;;
3485 esac],
3486 enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
3487 ])
3488
3489 # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
3490 AC_DEFUN([AC_DISABLE_SHARED],
3491 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3492 AC_ENABLE_SHARED(no)])
3493
3494 # AC_ENABLE_STATIC - implement the --enable-static flag
3495 # Usage: AC_ENABLE_STATIC[(DEFAULT)]
3496 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
3497 #   `yes'.
3498 AC_DEFUN([AC_ENABLE_STATIC],
3499 [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
3500 AC_ARG_ENABLE(static,
3501 changequote(<<, >>)dnl
3502 <<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
3503 changequote([, ])dnl
3504 [p=${PACKAGE-default}
3505 case $enableval in
3506 yes) enable_static=yes ;;
3507 no) enable_static=no ;;
3508 *)
3509   enable_static=no
3510   # Look at the argument we got.  We use all the common list separators.
3511   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3512   for pkg in $enableval; do
3513     if test "X$pkg" = "X$p"; then
3514       enable_static=yes
3515     fi
3516   done
3517   IFS="$ac_save_ifs"
3518   ;;
3519 esac],
3520 enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
3521 ])
3522
3523 # AC_DISABLE_STATIC - set the default static flag to --disable-static
3524 AC_DEFUN([AC_DISABLE_STATIC],
3525 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3526 AC_ENABLE_STATIC(no)])
3527
3528
3529 # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
3530 # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
3531 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
3532 #   `yes'.
3533 AC_DEFUN([AC_ENABLE_FAST_INSTALL],
3534 [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
3535 AC_ARG_ENABLE(fast-install,
3536 changequote(<<, >>)dnl
3537 <<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
3538 changequote([, ])dnl
3539 [p=${PACKAGE-default}
3540 case $enableval in
3541 yes) enable_fast_install=yes ;;
3542 no) enable_fast_install=no ;;
3543 *)
3544   enable_fast_install=no
3545   # Look at the argument we got.  We use all the common list separators.
3546   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
3547   for pkg in $enableval; do
3548     if test "X$pkg" = "X$p"; then
3549       enable_fast_install=yes
3550     fi
3551   done
3552   IFS="$ac_save_ifs"
3553   ;;
3554 esac],
3555 enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
3556 ])
3557
3558 # AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
3559 AC_DEFUN([AC_DISABLE_FAST_INSTALL],
3560 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3561 AC_ENABLE_FAST_INSTALL(no)])
3562
3563 # AC_LIBTOOL_PICMODE - implement the --with-pic flag
3564 # Usage: AC_LIBTOOL_PICMODE[(MODE)]
3565 #   Where MODE is either `yes' or `no'.  If omitted, it defaults to
3566 #   `both'.
3567 AC_DEFUN([AC_LIBTOOL_PICMODE],
3568 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3569 pic_mode=ifelse($#,1,$1,default)])
3570
3571
3572 # AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
3573 AC_DEFUN([AC_PATH_TOOL_PREFIX],
3574 [AC_MSG_CHECKING([for $1])
3575 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3576 [case $MAGIC_CMD in
3577   /*)
3578   lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
3579   ;;
3580   ?:/*)
3581   lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
3582   ;;
3583   *)
3584   ac_save_MAGIC_CMD="$MAGIC_CMD"
3585   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
3586 dnl $ac_dummy forces splitting on constant user-supplied paths.
3587 dnl POSIX.2 word splitting is done only on the output of word expansions,
3588 dnl not every word.  This closes a longstanding sh security hole.
3589   ac_dummy="ifelse([$2], , $PATH, [$2])"
3590   for ac_dir in $ac_dummy; do
3591     test -z "$ac_dir" && ac_dir=.
3592     if test -f $ac_dir/$1; then
3593       lt_cv_path_MAGIC_CMD="$ac_dir/$1"
3594       if test -n "$file_magic_test_file"; then
3595         case $deplibs_check_method in
3596         "file_magic "*)
3597           file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
3598           MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3599           if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3600             egrep "$file_magic_regex" > /dev/null; then
3601             :
3602           else
3603             cat <<EOF 1>&2
3604
3605 *** Warning: the command libtool uses to detect shared libraries,
3606 *** $file_magic_cmd, produces output that libtool cannot recognize.
3607 *** The result is that libtool may fail to recognize shared libraries
3608 *** as such.  This will affect the creation of libtool libraries that
3609 *** depend on shared libraries, but programs linked with such libtool
3610 *** libraries will work regardless of this problem.  Nevertheless, you
3611 *** may want to report the problem to your system manager and/or to
3612 *** bug-libtool@gnu.org
3613
3614 EOF
3615           fi ;;
3616         esac
3617       fi
3618       break
3619     fi
3620   done
3621   IFS="$ac_save_ifs"
3622   MAGIC_CMD="$ac_save_MAGIC_CMD"
3623   ;;
3624 esac])
3625 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3626 if test -n "$MAGIC_CMD"; then
3627   AC_MSG_RESULT($MAGIC_CMD)
3628 else
3629   AC_MSG_RESULT(no)
3630 fi
3631 ])
3632
3633
3634 # AC_PATH_MAGIC - find a file program which can recognise a shared library
3635 AC_DEFUN([AC_PATH_MAGIC],
3636 [AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
3637 AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
3638 if test -z "$lt_cv_path_MAGIC_CMD"; then
3639   if test -n "$ac_tool_prefix"; then
3640     AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
3641   else
3642     MAGIC_CMD=:
3643   fi
3644 fi
3645 ])
3646
3647
3648 # AC_PROG_LD - find the path to the GNU or non-GNU linker
3649 AC_DEFUN([AC_PROG_LD],
3650 [AC_ARG_WITH(gnu-ld,
3651 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
3652 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
3653 AC_REQUIRE([AC_PROG_CC])dnl
3654 AC_REQUIRE([AC_CANONICAL_HOST])dnl
3655 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3656 AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
3657 ac_prog=ld
3658 if test "$GCC" = yes; then
3659   # Check if gcc -print-prog-name=ld gives a path.
3660   AC_MSG_CHECKING([for ld used by GCC])
3661   case $host in
3662   *-*-mingw*)
3663     # gcc leaves a trailing carriage return which upsets mingw
3664     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3665   *)
3666     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3667   esac
3668   case $ac_prog in
3669     # Accept absolute paths.
3670     [[\\/]]* | [[A-Za-z]]:[[\\/]]*)
3671       re_direlt='/[[^/]][[^/]]*/\.\./'
3672       # Canonicalize the path of ld
3673       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
3674       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
3675         ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
3676       done
3677       test -z "$LD" && LD="$ac_prog"
3678       ;;
3679   "")
3680     # If it fails, then pretend we aren't using GCC.
3681     ac_prog=ld
3682     ;;
3683   *)
3684     # If it is relative, then search for the first ld in PATH.
3685     with_gnu_ld=unknown
3686     ;;
3687   esac
3688 elif test "$with_gnu_ld" = yes; then
3689   AC_MSG_CHECKING([for GNU ld])
3690 else
3691   AC_MSG_CHECKING([for non-GNU ld])
3692 fi
3693 AC_CACHE_VAL(lt_cv_path_LD,
3694 [if test -z "$LD"; then
3695   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3696   for ac_dir in $PATH; do
3697     test -z "$ac_dir" && ac_dir=.
3698     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3699       lt_cv_path_LD="$ac_dir/$ac_prog"
3700       # Check to see if the program is GNU ld.  I'd rather use --version,
3701       # but apparently some GNU ld's only accept -v.
3702       # Break only if it was the GNU/non-GNU ld that we prefer.
3703       if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
3704         test "$with_gnu_ld" != no && break
3705       else
3706         test "$with_gnu_ld" != yes && break
3707       fi
3708     fi
3709   done
3710   IFS="$ac_save_ifs"
3711 else
3712   lt_cv_path_LD="$LD" # Let the user override the test with a path.
3713 fi])
3714 LD="$lt_cv_path_LD"
3715 if test -n "$LD"; then
3716   AC_MSG_RESULT($LD)
3717 else
3718   AC_MSG_RESULT(no)
3719 fi
3720 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3721 AC_PROG_LD_GNU
3722 ])
3723
3724 # AC_PROG_LD_GNU -
3725 AC_DEFUN([AC_PROG_LD_GNU],
3726 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3727 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
3728 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
3729   lt_cv_prog_gnu_ld=yes
3730 else
3731   lt_cv_prog_gnu_ld=no
3732 fi])
3733 with_gnu_ld=$lt_cv_prog_gnu_ld
3734 ])
3735
3736 # AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
3737 #   -- PORTME Some linkers may need a different reload flag.
3738 AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
3739 [AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
3740 [lt_cv_ld_reload_flag='-r'])
3741 reload_flag=$lt_cv_ld_reload_flag
3742 test -n "$reload_flag" && reload_flag=" $reload_flag"
3743 ])
3744
3745 # AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
3746 #  -- PORTME fill in with the dynamic library characteristics
3747 AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
3748 [AC_CACHE_CHECK([how to recognise dependant libraries],
3749 lt_cv_deplibs_check_method,
3750 [lt_cv_file_magic_cmd='$MAGIC_CMD'
3751 lt_cv_file_magic_test_file=
3752 lt_cv_deplibs_check_method='unknown'
3753 # Need to set the preceding variable on all platforms that support
3754 # interlibrary dependencies.
3755 # 'none' -- dependencies not supported.
3756 # `unknown' -- same as none, but documents that we really don't know.
3757 # 'pass_all' -- all dependencies passed with no checks.
3758 # 'test_compile' -- check by making test program.
3759 # 'file_magic [[regex]]' -- check by looking for files in library path
3760 # which responds to the $file_magic_cmd with a given egrep regex.
3761 # If you have `file' or equivalent on your system and you're not sure
3762 # whether `pass_all' will *always* work, you probably want this one.
3763
3764 case $host_os in
3765 aix4* | aix5*)
3766   lt_cv_deplibs_check_method=pass_all
3767   ;;
3768
3769 beos*)
3770   lt_cv_deplibs_check_method=pass_all
3771   ;;
3772
3773 bsdi4*)
3774   lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3775   lt_cv_file_magic_cmd='/usr/bin/file -L'
3776   lt_cv_file_magic_test_file=/shlib/libc.so
3777   ;;
3778
3779 cygwin* | mingw* | pw32*)
3780   lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3781   lt_cv_file_magic_cmd='$OBJDUMP -f'
3782   ;;
3783
3784 darwin* | rhapsody*)
3785   lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
3786   lt_cv_file_magic_cmd='/usr/bin/file -L'
3787   case "$host_os" in
3788   rhapsody* | darwin1.[[012]])
3789     lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
3790     ;;
3791   *) # Darwin 1.3 on
3792     lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
3793     ;;
3794   esac
3795   ;;
3796
3797 freebsd*)
3798   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3799     case $host_cpu in
3800     i*86 )
3801       # Not sure whether the presence of OpenBSD here was a mistake.
3802       # Let's accept both of them until this is cleared up.
3803       lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
3804       lt_cv_file_magic_cmd=/usr/bin/file
3805       lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3806       ;;
3807     esac
3808   else
3809     lt_cv_deplibs_check_method=pass_all
3810   fi
3811   ;;
3812
3813 gnu*)
3814   lt_cv_deplibs_check_method=pass_all
3815   ;;
3816
3817 hpux10.20*|hpux11*)
3818   lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3819   lt_cv_file_magic_cmd=/usr/bin/file
3820   lt_cv_file_magic_test_file=/usr/lib/libc.sl
3821   ;;
3822
3823 irix5* | irix6*)
3824   case $host_os in
3825   irix5*)
3826     # this will be overridden with pass_all, but let us keep it just in case
3827     lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
3828     ;;
3829   *)
3830     case $LD in
3831     *-32|*"-32 ") libmagic=32-bit;;
3832     *-n32|*"-n32 ") libmagic=N32;;
3833     *-64|*"-64 ") libmagic=64-bit;;
3834     *) libmagic=never-match;;
3835     esac
3836     # this will be overridden with pass_all, but let us keep it just in case
3837     lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1"
3838     ;;
3839   esac
3840   lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
3841   lt_cv_deplibs_check_method=pass_all
3842   ;;
3843
3844 # This must be Linux ELF.
3845 linux*)
3846   case $host_cpu in
3847   alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | s390* | m68* | mips* )
3848     lt_cv_deplibs_check_method=pass_all ;;
3849   *)
3850     # glibc up to 2.1.1 does not perform some relocations on ARM
3851     lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
3852   esac
3853   lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
3854   ;;
3855
3856 netbsd*)
3857   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3858     lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$'
3859   else
3860     lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$'
3861   fi
3862   ;;
3863
3864 newos6*)
3865   lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3866   lt_cv_file_magic_cmd=/usr/bin/file
3867   lt_cv_file_magic_test_file=/usr/lib/libnls.so
3868   ;;
3869
3870 openbsd*)
3871   lt_cv_file_magic_cmd=/usr/bin/file
3872   lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3873   if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3874     lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
3875   else
3876     lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
3877   fi
3878   ;;
3879
3880 osf3* | osf4* | osf5*)
3881   # this will be overridden with pass_all, but let us keep it just in case
3882   lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
3883   lt_cv_file_magic_test_file=/shlib/libc.so
3884   lt_cv_deplibs_check_method=pass_all
3885   ;;
3886
3887 sco3.2v5*)
3888   lt_cv_deplibs_check_method=pass_all
3889   ;;
3890
3891 solaris*)
3892   lt_cv_deplibs_check_method=pass_all
3893   lt_cv_file_magic_test_file=/lib/libc.so
3894   ;;
3895
3896 sysv5uw[[78]]* | sysv4*uw2*)
3897   lt_cv_deplibs_check_method=pass_all
3898   ;;
3899
3900 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
3901   case $host_vendor in
3902   motorola)
3903     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]]'
3904     lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3905     ;;
3906   ncr)
3907     lt_cv_deplibs_check_method=pass_all
3908     ;;
3909   sequent)
3910     lt_cv_file_magic_cmd='/bin/file'
3911     lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3912     ;;
3913   sni)
3914     lt_cv_file_magic_cmd='/bin/file'
3915     lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3916     lt_cv_file_magic_test_file=/lib/libc.so
3917     ;;
3918   esac
3919   ;;
3920 esac
3921 ])
3922 file_magic_cmd=$lt_cv_file_magic_cmd
3923 deplibs_check_method=$lt_cv_deplibs_check_method
3924 ])
3925
3926
3927 # AC_PROG_NM - find the path to a BSD-compatible name lister
3928 AC_DEFUN([AC_PROG_NM],
3929 [AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
3930 AC_MSG_CHECKING([for BSD-compatible nm])
3931 AC_CACHE_VAL(lt_cv_path_NM,
3932 [if test -n "$NM"; then
3933   # Let the user override the test.
3934   lt_cv_path_NM="$NM"
3935 else
3936   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3937   for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
3938     test -z "$ac_dir" && ac_dir=.
3939     tmp_nm=$ac_dir/${ac_tool_prefix}nm
3940     if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
3941       # Check to see if the nm accepts a BSD-compat flag.
3942       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3943       #   nm: unknown option "B" ignored
3944       # Tru64's nm complains that /dev/null is an invalid object file
3945       if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
3946         lt_cv_path_NM="$tmp_nm -B"
3947         break
3948       elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
3949         lt_cv_path_NM="$tmp_nm -p"
3950         break
3951       else
3952         lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3953         continue # so that we can try to find one that supports BSD flags
3954       fi
3955     fi
3956   done
3957   IFS="$ac_save_ifs"
3958   test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
3959 fi])
3960 NM="$lt_cv_path_NM"
3961 AC_MSG_RESULT([$NM])
3962 ])
3963
3964 # AC_CHECK_LIBM - check for math library
3965 AC_DEFUN([AC_CHECK_LIBM],
3966 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3967 LIBM=
3968 case $host in
3969 *-*-beos* | *-*-cygwin* | *-*-pw32*)
3970   # These system don't have libm
3971   ;;
3972 *-ncr-sysv4.3*)
3973   AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3974   AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
3975   ;;
3976 *)
3977   AC_CHECK_LIB(m, main, LIBM="-lm")
3978   ;;
3979 esac
3980 ])
3981
3982 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
3983 # the libltdl convenience library and INCLTDL to the include flags for
3984 # the libltdl header and adds --enable-ltdl-convenience to the
3985 # configure arguments.  Note that LIBLTDL and INCLTDL are not
3986 # AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If DIR is not
3987 # provided, it is assumed to be `libltdl'.  LIBLTDL will be prefixed
3988 # with '${top_builddir}/' and INCLTDL will be prefixed with
3989 # '${top_srcdir}/' (note the single quotes!).  If your package is not
3990 # flat and you're not using automake, define top_builddir and
3991 # top_srcdir appropriately in the Makefiles.
3992 AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
3993 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3994   case $enable_ltdl_convenience in
3995   no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
3996   "") enable_ltdl_convenience=yes
3997       ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
3998   esac
3999   LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
4000   INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
4001 ])
4002
4003 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
4004 # the libltdl installable library and INCLTDL to the include flags for
4005 # the libltdl header and adds --enable-ltdl-install to the configure
4006 # arguments.  Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
4007 # AC_CONFIG_SUBDIRS called.  If DIR is not provided and an installed
4008 # libltdl is not found, it is assumed to be `libltdl'.  LIBLTDL will
4009 # be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
4010 # with '${top_srcdir}/' (note the single quotes!).  If your package is
4011 # not flat and you're not using automake, define top_builddir and
4012 # top_srcdir appropriately in the Makefiles.
4013 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
4014 AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
4015 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
4016   AC_CHECK_LIB(ltdl, main,
4017   [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
4018   [if test x"$enable_ltdl_install" = xno; then
4019      AC_MSG_WARN([libltdl not installed, but installation disabled])
4020    else
4021      enable_ltdl_install=yes
4022    fi
4023   ])
4024   if test x"$enable_ltdl_install" = x"yes"; then
4025     ac_configure_args="$ac_configure_args --enable-ltdl-install"
4026     LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
4027     INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
4028   else
4029     ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
4030     LIBLTDL="-lltdl"
4031     INCLTDL=
4032   fi
4033 ])
4034
4035 # old names
4036 AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
4037 AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
4038 AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
4039 AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
4040 AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
4041 AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
4042 AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
4043
4044 # This is just to silence aclocal about the macro not being used
4045 ifelse([AC_DISABLE_FAST_INSTALL])
4046