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