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