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