OSDN Git Service

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