1# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
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# serial 47 AC_PROG_LIBTOOL
26
27# AC_PROG_LIBTOOL
28# ---------------
29AC_DEFUN([AC_PROG_LIBTOOL],
30[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
31dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
32dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
33  AC_PROVIDE_IFELSE([AC_PROG_CXX],
34    [AC_LIBTOOL_CXX],
35    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
36  ])])
37
38dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
39dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
40dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
41  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
42    [AC_LIBTOOL_GCJ],
43    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
44      [AC_LIBTOOL_GCJ],
45      [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
46	[AC_LIBTOOL_GCJ],
47      [ifdef([AC_PROG_GCJ],
48	     [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
49       ifdef([A][M_PROG_GCJ],
50	     [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
51       ifdef([LT_AC_PROG_GCJ],
52	     [define([LT_AC_PROG_GCJ],
53		defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
54])])# AC_PROG_LIBTOOL
55
56
57# _AC_PROG_LIBTOOL
58# ----------------
59AC_DEFUN([_AC_PROG_LIBTOOL],
60[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
61AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
62AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
63
64# This can be used to rebuild libtool when needed
65LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
66
67# Always use our own libtool.
68LIBTOOL='$(SHELL) $(top_builddir)/libtool --silent'
69AC_SUBST(LIBTOOL)dnl
70
71# Prevent multiple expansion
72define([AC_PROG_LIBTOOL], [])
73])# _AC_PROG_LIBTOOL
74
75
76# AC_LIBTOOL_SETUP
77# ----------------
78AC_DEFUN([AC_LIBTOOL_SETUP],
79[AC_PREREQ(2.50)dnl
80AC_REQUIRE([AC_ENABLE_SHARED])dnl
81AC_REQUIRE([AC_ENABLE_STATIC])dnl
82AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
83AC_REQUIRE([AC_CANONICAL_HOST])dnl
84AC_REQUIRE([AC_CANONICAL_BUILD])dnl
85AC_REQUIRE([AC_PROG_CC])dnl
86AC_REQUIRE([AC_PROG_LD])dnl
87AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
88AC_REQUIRE([AC_PROG_NM])dnl
89AC_REQUIRE([LT_AC_PROG_SED])dnl
90
91AC_REQUIRE([AC_PROG_LN_S])dnl
92AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
93# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
94AC_REQUIRE([AC_OBJEXT])dnl
95AC_REQUIRE([AC_EXEEXT])dnl
96dnl
97
98AC_LIBTOOL_SYS_MAX_CMD_LEN
99AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
100AC_LIBTOOL_OBJDIR
101
102AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
103_LT_AC_PROG_ECHO_BACKSLASH
104
105case $host_os in
106aix3*)
107  # AIX sometimes has problems with the GCC collect2 program.  For some
108  # reason, if we set the COLLECT_NAMES environment variable, the problems
109  # vanish in a puff of smoke.
110  if test "X${COLLECT_NAMES+set}" != Xset; then
111    COLLECT_NAMES=
112    export COLLECT_NAMES
113  fi
114  ;;
115esac
116
117# Sed substitution that helps us do robust quoting.  It backslashifies
118# metacharacters that are still active within double-quoted strings.
119Xsed='sed -e s/^X//'
120[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
121
122# Same as above, but do not quote variable references.
123[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
124
125# Sed substitution to delay expansion of an escaped shell variable in a
126# double_quote_subst'ed string.
127delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
128
129# Sed substitution to avoid accidental globbing in evaled expressions
130no_glob_subst='s/\*/\\\*/g'
131
132# Constants:
133rm="rm -f"
134
135# Global variables:
136default_ofile=libtool
137can_build_shared=yes
138
139# All known linkers require a `.a' archive for static linking (except M$VC,
140# which needs '.lib').
141libext=a
142ltmain="$ac_aux_dir/ltmain.sh"
143ofile="$default_ofile"
144with_gnu_ld="$lt_cv_prog_gnu_ld"
145
146AC_CHECK_TOOL(RANLIB, ranlib, :)
147AC_CHECK_TOOL(STRIP, strip, :)
148
149old_CC="$CC"
150old_CFLAGS="$CFLAGS"
151
152# Set sane defaults for various variables
153test -z "$AR" && AR=ar
154test -z "$AR_FLAGS" && AR_FLAGS=cru
155test -z "$AS" && AS=as
156test -z "$CC" && CC=cc
157test -z "$LTCC" && LTCC=$CC
158test -z "$DLLTOOL" && DLLTOOL=dlltool
159test -z "$LD" && LD=ld
160test -z "$LN_S" && LN_S="ln -s"
161test -z "$MAGIC_CMD" && MAGIC_CMD=file
162test -z "$NM" && NM=nm
163test -z "$SED" && SED=sed
164test -z "$OBJDUMP" && OBJDUMP=objdump
165test -z "$RANLIB" && RANLIB=:
166test -z "$STRIP" && STRIP=:
167test -z "$ac_objext" && ac_objext=o
168
169# Determine commands to create old-style static archives.
170old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
171old_postinstall_cmds='chmod 644 $oldlib'
172old_postuninstall_cmds=
173
174if test -n "$RANLIB"; then
175  case $host_os in
176  openbsd*)
177    old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
178    ;;
179  *)
180    old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
181    ;;
182  esac
183  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
184fi
185
186# Only perform the check for file, if the check method requires it
187case $deplibs_check_method in
188file_magic*)
189  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
190    AC_PATH_MAGIC
191  fi
192  ;;
193esac
194
195ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
196ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
197enable_win32_dll=yes, enable_win32_dll=no)
198
199AC_ARG_ENABLE([libtool-lock],
200    [AC_HELP_STRING([--disable-libtool-lock],
201	[avoid locking (might break parallel builds)])])
202test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
203
204AC_ARG_WITH([pic],
205    [AC_HELP_STRING([--with-pic],
206	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
207    [pic_mode="$withval"],
208    [pic_mode=default])
209test -z "$pic_mode" && pic_mode=default
210
211# Use C for the default configuration in the libtool script
212tagname=
213AC_LIBTOOL_LANG_C_CONFIG
214_LT_AC_TAGCONFIG
215])# AC_LIBTOOL_SETUP
216
217
218# _LT_AC_SYS_COMPILER
219# -------------------
220AC_DEFUN([_LT_AC_SYS_COMPILER],
221[AC_REQUIRE([AC_PROG_CC])dnl
222
223# If no C compiler was specified, use CC.
224LTCC=${LTCC-"$CC"}
225
226# Allow CC to be a program name with arguments.
227set dummy $CC
228compiler="[$]2"
229])# _LT_AC_SYS_COMPILER
230
231
232# _LT_AC_SYS_LIBPATH_AIX
233# ----------------------
234# Links a minimal program and checks the executable
235# for the system default hardcoded library path. In most cases,
236# this is /usr/lib:/lib, but when the MPI compilers are used
237# the location of the communication and MPI libs are included too.
238# If we don't find anything, use the default library path according
239# to the aix ld manual.
240AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
241[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
242aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
243}'`
244# Check for a 64-bit object if we didn't find anything.
245if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
246}'`; fi],[])
247if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
248])# _LT_AC_SYS_LIBPATH_AIX
249
250
251# _LT_AC_PROG_ECHO_BACKSLASH
252# --------------------------
253# Add some code to the start of the generated configure script which
254# will find an echo command which doesn't interpret backslashes.
255AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
256[ifdef([AC_DIVERSION_NOTICE],
257	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
258	 [AC_DIVERT_PUSH(NOTICE)])
259
260# Check that we are running under the correct shell.
261SHELL=${CONFIG_SHELL-/bin/sh}
262
263case X$ECHO in
264X*--fallback-echo)
265  # Remove one level of quotation (which was required for Make).
266  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
267  ;;
268esac
269
270echo=${ECHO-echo}
271if test "X[$]1" = X--no-reexec; then
272  # Discard the --no-reexec flag, and continue.
273  shift
274elif test "X[$]1" = X--fallback-echo; then
275  # Avoid inline document here, it may be left over
276  :
277elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
278  # Yippee, $echo works!
279  :
280else
281  # Restart under the correct shell.
282  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
283fi
284
285if test "X[$]1" = X--fallback-echo; then
286  # used as fallback echo
287  shift
288  cat <<EOF
289[$]*
290EOF
291  exit 0
292fi
293
294# The HP-UX ksh and POSIX shell print the target directory to stdout
295# if CDPATH is set.
296if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
297
298if test -z "$ECHO"; then
299if test "X${echo_test_string+set}" != Xset; then
300# find a string as large as possible, as long as the shell can cope with it
301  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
302    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
303    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
304       echo_test_string="`eval $cmd`" &&
305       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
306    then
307      break
308    fi
309  done
310fi
311
312if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
313   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
314   test "X$echo_testing_string" = "X$echo_test_string"; then
315  :
316else
317  # The Solaris, AIX, and Digital Unix default echo programs unquote
318  # backslashes.  This makes it impossible to quote backslashes using
319  #   echo "$something" | sed 's/\\/\\\\/g'
320  #
321  # So, first we look for a working echo in the user's PATH.
322
323  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
324  for dir in $PATH /usr/ucb; do
325    IFS="$lt_save_ifs"
326    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
327       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
328       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
329       test "X$echo_testing_string" = "X$echo_test_string"; then
330      echo="$dir/echo"
331      break
332    fi
333  done
334  IFS="$lt_save_ifs"
335
336  if test "X$echo" = Xecho; then
337    # We didn't find a better echo, so look for alternatives.
338    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
339       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
340       test "X$echo_testing_string" = "X$echo_test_string"; then
341      # This shell has a builtin print -r that does the trick.
342      echo='print -r'
343    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
344	 test "X$CONFIG_SHELL" != X/bin/ksh; then
345      # If we have ksh, try running configure again with it.
346      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
347      export ORIGINAL_CONFIG_SHELL
348      CONFIG_SHELL=/bin/ksh
349      export CONFIG_SHELL
350      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
351    else
352      # Try using printf.
353      echo='printf %s\n'
354      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
355	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
356	 test "X$echo_testing_string" = "X$echo_test_string"; then
357	# Cool, printf works
358	:
359      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
360	   test "X$echo_testing_string" = 'X\t' &&
361	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
362	   test "X$echo_testing_string" = "X$echo_test_string"; then
363	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
364	export CONFIG_SHELL
365	SHELL="$CONFIG_SHELL"
366	export SHELL
367	echo="$CONFIG_SHELL [$]0 --fallback-echo"
368      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
369	   test "X$echo_testing_string" = 'X\t' &&
370	   echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
371	   test "X$echo_testing_string" = "X$echo_test_string"; then
372	echo="$CONFIG_SHELL [$]0 --fallback-echo"
373      else
374	# maybe with a smaller string...
375	prev=:
376
377	for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
378	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
379	  then
380	    break
381	  fi
382	  prev="$cmd"
383	done
384
385	if test "$prev" != 'sed 50q "[$]0"'; then
386	  echo_test_string=`eval $prev`
387	  export echo_test_string
388	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
389	else
390	  # Oops.  We lost completely, so just stick with echo.
391	  echo=echo
392	fi
393      fi
394    fi
395  fi
396fi
397fi
398
399# Copy echo and quote the copy suitably for passing to libtool from
400# the Makefile, instead of quoting the original, which is used later.
401ECHO=$echo
402if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
403   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
404fi
405
406AC_SUBST(ECHO)
407AC_DIVERT_POP
408])# _LT_AC_PROG_ECHO_BACKSLASH
409
410
411# _LT_AC_LOCK
412# -----------
413AC_DEFUN([_LT_AC_LOCK],
414[AC_ARG_ENABLE([libtool-lock],
415    [AC_HELP_STRING([--disable-libtool-lock],
416	[avoid locking (might break parallel builds)])])
417test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
418
419# Some flags need to be propagated to the compiler or linker for good
420# libtool support.
421case $host in
422ia64-*-hpux*)
423  # Find out which ABI we are using.
424  echo 'int i;' > conftest.$ac_ext
425  if AC_TRY_EVAL(ac_compile); then
426    case `/usr/bin/file conftest.$ac_objext` in
427    *ELF-32*)
428      HPUX_IA64_MODE="32"
429      ;;
430    *ELF-64*)
431      HPUX_IA64_MODE="64"
432      ;;
433    esac
434  fi
435  rm -rf conftest*
436  ;;
437*-*-irix6*)
438  # Find out which ABI we are using.
439  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
440  if AC_TRY_EVAL(ac_compile); then
441    case `/usr/bin/file conftest.$ac_objext` in
442    *32-bit*)
443      LD="${LD-ld} -32"
444      ;;
445    *N32*)
446      LD="${LD-ld} -n32"
447      ;;
448    *64-bit*)
449      LD="${LD-ld} -64"
450      ;;
451    esac
452  fi
453  rm -rf conftest*
454  ;;
455
456*-*-linux*)
457  # Test if the compiler is 64bit
458  echo 'int i;' > conftest.$ac_ext
459  if AC_TRY_EVAL(ac_compile); then
460    case `/usr/bin/file conftest.$ac_objext` in
461    *"ELF 32"*)
462      LINUX_64_MODE="32"
463      ;;
464    *"ELF 64"*)
465      LINUX_64_MODE="64"
466      ;;
467    esac
468  fi
469  rm -rf conftest*
470  ;;
471
472*-*-sco3.2v5*)
473  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
474  SAVE_CFLAGS="$CFLAGS"
475  CFLAGS="$CFLAGS -belf"
476  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
477    [AC_LANG_PUSH(C)
478     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
479     AC_LANG_POP])
480  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
481    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
482    CFLAGS="$SAVE_CFLAGS"
483  fi
484  ;;
485ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
486[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
487  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
488  AC_CHECK_TOOL(AS, as, false)
489  AC_CHECK_TOOL(OBJDUMP, objdump, false)
490
491  # recent cygwin and mingw systems supply a stub DllMain which the user
492  # can override, but on older systems we have to supply one
493  AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
494    [AC_TRY_LINK([],
495      [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
496      DllMain (0, 0, 0);],
497      [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
498
499  case $host/$CC in
500  *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
501    # old mingw systems require "-dll" to link a DLL, while more recent ones
502    # require "-mdll"
503    SAVE_CFLAGS="$CFLAGS"
504    CFLAGS="$CFLAGS -mdll"
505    AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
506      [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
507    CFLAGS="$SAVE_CFLAGS" ;;
508  *-*-cygwin* | *-*-pw32*)
509    # cygwin systems need to pass --dll to the linker, and not link
510    # crt.o which will require a WinMain@16 definition.
511    lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
512  esac
513  ;;
514  ])
515esac
516
517need_locks="$enable_libtool_lock"
518
519])# _LT_AC_LOCK
520
521
522# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
523#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
524# ----------------------------------------------------------------
525# Check whether the given compiler option works
526AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
527[AC_CACHE_CHECK([$1], [$2],
528  [$2=no
529  ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
530   save_CFLAGS="$CFLAGS"
531   CFLAGS="$CFLAGS $3"
532   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
533   if (eval $ac_compile 2>conftest.err) && test -s $ac_outfile; then
534     # The compiler can only warn and ignore the option if not recognized
535     # So say no if there are warnings
536     if test -s conftest.err; then
537       # Append any errors to the config.log.
538       cat conftest.err 1>&AS_MESSAGE_LOG_FD
539     else
540       $2=yes
541     fi
542   fi
543   $rm conftest*
544   CFLAGS="$save_CFLAGS"
545])
546
547if test x"[$]$2" = xyes; then
548    ifelse([$5], , :, [$5])
549else
550    ifelse([$6], , :, [$6])
551fi
552])# AC_LIBTOOL_COMPILER_OPTION
553
554
555# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
556#                          [ACTION-SUCCESS], [ACTION-FAILURE])
557# ------------------------------------------------------------
558# Check whether the given compiler option works
559AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
560[AC_CACHE_CHECK([$1], [$2],
561  [$2=no
562   save_LDFLAGS="$LDFLAGS"
563   LDFLAGS="$LDFLAGS $3"
564   echo "$lt_simple_link_test_code" > conftest.$ac_ext
565   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
566     # The compiler can only warn and ignore the option if not recognized
567     # So say no if there are warnings
568     if test -s conftest.err; then
569       # Append any errors to the config.log.
570       cat conftest.err 1>&AS_MESSAGE_LOG_FD
571     else
572       $2=yes
573     fi
574   fi
575   $rm conftest*
576   LDFLAGS="$save_LDFLAGS"
577])
578
579if test x"[$]$2" = xyes; then
580    ifelse([$4], , :, [$4])
581else
582    ifelse([$5], , :, [$5])
583fi
584])# AC_LIBTOOL_LINKER_OPTION
585
586
587# AC_LIBTOOL_SYS_MAX_CMD_LEN
588# --------------------------
589AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
590[# find the maximum length of command line arguments
591AC_MSG_CHECKING([the maximum length of command line arguments])
592AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
593  i=0
594  testring="ABCD"
595
596  case $host_os in
597  msdosdjgpp*)
598    # On DJGPP, this test can blow up pretty badly due to problems in libc
599    # (any single argument exceeding 2000 bytes causes a buffer overrun
600    # during glob expansion).  Even if it were fixed, the result of this
601    # check would be larger than it should be.
602    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
603    ;;
604
605  gnu*)
606    # Under GNU Hurd, this test is not required because there is
607    # no limit to the length of command line arguments.
608    # Libtool will interpret -1 as no limit whatsoever
609    lt_cv_sys_max_cmd_len=-1;
610    ;;
611
612  *)
613    # If test is not a shell built-in, we'll probably end up computing a
614    # maximum length that is only half of the actual maximum length, but
615    # we can't tell.
616    while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \
617	       = "XX$testring") >/dev/null 2>&1 &&
618	    new_result=`expr "X$testring" : ".*" 2>&1` &&
619	    lt_cv_sys_max_cmd_len=$new_result &&
620	    test $i != 17 # 1/2 MB should be enough
621    do
622      i=`expr $i + 1`
623      testring=$testring$testring
624    done
625    testring=
626    # Add a significant safety factor because C++ compilers can tack on massive
627    # amounts of additional arguments before passing them to the linker.
628    # It appears as though 1/2 is a usable value.
629    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
630    ;;
631  esac
632])
633if test -n $lt_cv_sys_max_cmd_len ; then
634  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
635else
636  AC_MSG_RESULT(none)
637fi
638])# AC_LIBTOOL_SYS_MAX_CMD_LEN
639
640
641# _LT_AC_CHECK_DLFCN
642# --------------------
643AC_DEFUN([_LT_AC_CHECK_DLFCN],
644[AC_CHECK_HEADERS(dlfcn.h)dnl
645])# _LT_AC_CHECK_DLFCN
646
647
648# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
649#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
650# ------------------------------------------------------------------
651AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
652[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
653if test "$cross_compiling" = yes; then :
654  [$4]
655else
656  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
657  lt_status=$lt_dlunknown
658  cat > conftest.$ac_ext <<EOF
659[#line __oline__ "configure"
660#include "confdefs.h"
661
662#if HAVE_DLFCN_H
663#include <dlfcn.h>
664#endif
665
666#include <stdio.h>
667
668#ifdef RTLD_GLOBAL
669#  define LT_DLGLOBAL		RTLD_GLOBAL
670#else
671#  ifdef DL_GLOBAL
672#    define LT_DLGLOBAL		DL_GLOBAL
673#  else
674#    define LT_DLGLOBAL		0
675#  endif
676#endif
677
678/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
679   find out it does not work in some platform. */
680#ifndef LT_DLLAZY_OR_NOW
681#  ifdef RTLD_LAZY
682#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
683#  else
684#    ifdef DL_LAZY
685#      define LT_DLLAZY_OR_NOW		DL_LAZY
686#    else
687#      ifdef RTLD_NOW
688#        define LT_DLLAZY_OR_NOW	RTLD_NOW
689#      else
690#        ifdef DL_NOW
691#          define LT_DLLAZY_OR_NOW	DL_NOW
692#        else
693#          define LT_DLLAZY_OR_NOW	0
694#        endif
695#      endif
696#    endif
697#  endif
698#endif
699
700#ifdef __cplusplus
701extern "C" void exit (int);
702#endif
703
704void fnord() { int i=42;}
705int main ()
706{
707  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
708  int status = $lt_dlunknown;
709
710  if (self)
711    {
712      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
713      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
714      /* dlclose (self); */
715    }
716
717    exit (status);
718}]
719EOF
720  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
721    (./conftest; exit; ) 2>/dev/null
722    lt_status=$?
723    case x$lt_status in
724      x$lt_dlno_uscore) $1 ;;
725      x$lt_dlneed_uscore) $2 ;;
726      x$lt_unknown|x*) $3 ;;
727    esac
728  else :
729    # compilation failed
730    $3
731  fi
732fi
733rm -fr conftest*
734])# _LT_AC_TRY_DLOPEN_SELF
735
736
737# AC_LIBTOOL_DLOPEN_SELF
738# -------------------
739AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
740[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
741if test "x$enable_dlopen" != xyes; then
742  enable_dlopen=unknown
743  enable_dlopen_self=unknown
744  enable_dlopen_self_static=unknown
745else
746  lt_cv_dlopen=no
747  lt_cv_dlopen_libs=
748
749  case $host_os in
750  beos*)
751    lt_cv_dlopen="load_add_on"
752    lt_cv_dlopen_libs=
753    lt_cv_dlopen_self=yes
754    ;;
755
756  cygwin* | mingw* | pw32*)
757    lt_cv_dlopen="LoadLibrary"
758    lt_cv_dlopen_libs=
759   ;;
760
761  *)
762    AC_CHECK_FUNC([shl_load],
763	  [lt_cv_dlopen="shl_load"],
764      [AC_CHECK_LIB([dld], [shl_load],
765	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
766	[AC_CHECK_FUNC([dlopen],
767	      [lt_cv_dlopen="dlopen"],
768	  [AC_CHECK_LIB([dl], [dlopen],
769		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
770	    [AC_CHECK_LIB([svld], [dlopen],
771		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
772	      [AC_CHECK_LIB([dld], [dld_link],
773		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
774	      ])
775	    ])
776	  ])
777	])
778      ])
779    ;;
780  esac
781
782  if test "x$lt_cv_dlopen" != xno; then
783    enable_dlopen=yes
784  else
785    enable_dlopen=no
786  fi
787
788  case $lt_cv_dlopen in
789  dlopen)
790    save_CPPFLAGS="$CPPFLAGS"
791    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
792
793    save_LDFLAGS="$LDFLAGS"
794    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
795
796    save_LIBS="$LIBS"
797    LIBS="$lt_cv_dlopen_libs $LIBS"
798
799    AC_CACHE_CHECK([whether a program can dlopen itself],
800	  lt_cv_dlopen_self, [dnl
801	  _LT_AC_TRY_DLOPEN_SELF(
802	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
803	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
804    ])
805
806    if test "x$lt_cv_dlopen_self" = xyes; then
807      LDFLAGS="$LDFLAGS $link_static_flag"
808      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
809    	  lt_cv_dlopen_self_static, [dnl
810	  _LT_AC_TRY_DLOPEN_SELF(
811	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
812	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
813      ])
814    fi
815
816    CPPFLAGS="$save_CPPFLAGS"
817    LDFLAGS="$save_LDFLAGS"
818    LIBS="$save_LIBS"
819    ;;
820  esac
821
822  case $lt_cv_dlopen_self in
823  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
824  *) enable_dlopen_self=unknown ;;
825  esac
826
827  case $lt_cv_dlopen_self_static in
828  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
829  *) enable_dlopen_self_static=unknown ;;
830  esac
831fi
832])# AC_LIBTOOL_DLOPEN_SELF
833
834
835# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
836# ---------------------------------
837# Check to see if options -c and -o are simultaneously supported by compiler
838AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
839[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
840AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
841  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
842  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
843   $rm -r conftest 2>/dev/null
844   mkdir conftest
845   cd conftest
846   mkdir out
847   ifelse([$1],[],[save_CFLAGS="$CFLAGS"
848		   CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"],
849	  [$1],[CXX],[save_CXXFLAGS="$CXXFLAGS"
850		   CXXFLAGS="$CXXFLAGS -o out/conftest2.$ac_objext"],
851	  [$1],[GCJ],[save_GCJFLAGS="$GCJFLAGS"
852		   GCJFLAGS="$GCJFLAGS -o out/conftest2.$ac_objext"])
853   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
854
855   # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
856   # that will create temporary files in the current directory regardless of
857   # the output directory.  Thus, making CWD read-only will cause this test
858   # to fail, enabling locking or at least warning the user not to do parallel
859   # builds.
860   chmod -w .
861
862   if (eval $ac_compile 2>out/conftest.err) && test -s out/conftest2.$ac_objext
863   then
864     # The compiler can only warn and ignore the option if not recognized
865     # So say no if there are warnings
866     if test -s out/conftest.err; then
867       # Append any errors to the config.log.
868       cat out/conftest.err 1>&AS_MESSAGE_LOG_FD
869     else
870       _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
871     fi
872   fi
873   ifelse([$1],[],[CFLAGS="$save_CFLAGS"],
874	  [$1],[CXX],[CXXFLAGS="$save_CXXFLAGS"],
875	  [$1],[GCJ],[GCJFLAGS="$save_GCJFLAGS"])
876   chmod u+w .
877   $rm conftest* out/*
878   rmdir out
879   cd ..
880   rmdir conftest
881   $rm conftest*
882])
883])# AC_LIBTOOL_PROG_CC_C_O
884
885
886# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
887# -----------------------------------------
888# Check to see if we can do hard links to lock some files if needed
889AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
890[AC_REQUIRE([_LT_AC_LOCK])dnl
891
892hard_links="nottested"
893if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
894  # do not overwrite the value of need_locks provided by the user
895  AC_MSG_CHECKING([if we can lock with hard links])
896  hard_links=yes
897  $rm conftest*
898  ln conftest.a conftest.b 2>/dev/null && hard_links=no
899  touch conftest.a
900  ln conftest.a conftest.b 2>&5 || hard_links=no
901  ln conftest.a conftest.b 2>/dev/null && hard_links=no
902  AC_MSG_RESULT([$hard_links])
903  if test "$hard_links" = no; then
904    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
905    need_locks=warn
906  fi
907else
908  need_locks=no
909fi
910])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
911
912
913# AC_LIBTOOL_OBJDIR
914# -----------------
915AC_DEFUN([AC_LIBTOOL_OBJDIR],
916[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
917[rm -f .libs 2>/dev/null
918mkdir .libs 2>/dev/null
919if test -d .libs; then
920  lt_cv_objdir=.libs
921else
922  # MS-DOS does not allow filenames that begin with a dot.
923  lt_cv_objdir=_libs
924fi
925rmdir .libs 2>/dev/null])
926objdir=$lt_cv_objdir
927])# AC_LIBTOOL_OBJDIR
928
929
930# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
931# ----------------------------------------------
932# Check hardcoding attributes.
933AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
934[AC_MSG_CHECKING([how to hardcode library paths into programs])
935_LT_AC_TAGVAR(hardcode_action, $1)=
936if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
937   test -n "$_LT_AC_TAGVAR(runpath_var $1)"; then
938
939  # We can hardcode non-existant directories.
940  if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
941     # If the only mechanism to avoid hardcoding is shlibpath_var, we
942     # have to relink, otherwise we might link with an installed library
943     # when we should be linking with a yet-to-be-installed one
944     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
945     test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
946    # Linking always hardcodes the temporary library directory.
947    _LT_AC_TAGVAR(hardcode_action, $1)=relink
948  else
949    # We can link without hardcoding, and we can hardcode nonexisting dirs.
950    _LT_AC_TAGVAR(hardcode_action, $1)=immediate
951  fi
952else
953  # We cannot hardcode anything, or else we can only hardcode existing
954  # directories.
955  _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
956fi
957AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
958
959if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
960  # Fast installation is not supported
961  enable_fast_install=no
962elif test "$shlibpath_overrides_runpath" = yes ||
963     test "$enable_shared" = no; then
964  # Fast installation is not necessary
965  enable_fast_install=needless
966fi
967])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
968
969
970# AC_LIBTOOL_SYS_LIB_STRIP
971# ------------------------
972AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
973[striplib=
974old_striplib=
975AC_MSG_CHECKING([whether stripping libraries is possible])
976if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
977  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
978  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
979  AC_MSG_RESULT([yes])
980else
981  AC_MSG_RESULT([no])
982fi
983])# AC_LIBTOOL_SYS_LIB_STRIP
984
985
986# AC_LIBTOOL_SYS_DYNAMIC_LINKER
987# -----------------------------
988# PORTME Fill in your ld.so characteristics
989AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
990[AC_MSG_CHECKING([dynamic linker characteristics])
991library_names_spec=
992libname_spec='lib$name'
993soname_spec=
994postinstall_cmds=
995postuninstall_cmds=
996finish_cmds=
997finish_eval=
998shlibpath_var=
999shlibpath_overrides_runpath=unknown
1000version_type=none
1001dynamic_linker="$host_os ld.so"
1002sys_lib_dlsearch_path_spec="/lib /usr/lib"
1003sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
1004need_lib_prefix=unknown
1005hardcode_into_libs=no
1006
1007# when you set need_version to no, make sure it does not cause -set_version
1008# flags to be left without arguments
1009need_version=unknown
1010
1011case $host_os in
1012aix3*)
1013  version_type=linux
1014  library_names_spec='${libname}${release}.so$versuffix $libname.a'
1015  shlibpath_var=LIBPATH
1016
1017  # AIX 3 has no versioning support, so we append a major version to the name.
1018  soname_spec='${libname}${release}.so$major'
1019  ;;
1020
1021aix4* | aix5*)
1022  version_type=linux
1023  if test "$host_cpu" = ia64; then
1024    # AIX 5 supports IA64
1025    library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
1026    shlibpath_var=LD_LIBRARY_PATH
1027  else
1028    # With GCC up to 2.95.x, collect2 would create an import file
1029    # for dependence libraries.  The import file would start with
1030    # the line `#! .'.  This would cause the generated library to
1031    # depend on `.', always an invalid library.  This was fixed in
1032    # development snapshots of GCC prior to 3.0.
1033    case $host_os in
1034      aix4 | aix4.[[01]] | aix4.[[01]].*)
1035      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
1036	   echo ' yes '
1037	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
1038	:
1039      else
1040	can_build_shared=no
1041      fi
1042      ;;
1043    esac
1044    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
1045    # soname into executable. Probably we can add versioning support to
1046    # collect2, so additional links can be useful in future.
1047    if test "$aix_use_runtimelinking" = yes; then
1048      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
1049      # instead of lib<name>.a to let people know that these are not
1050      # typical AIX shared libraries.
1051      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1052    else
1053      # We preserve .a as extension for shared libraries through AIX4.2
1054      # and later when we are not doing run time linking.
1055      library_names_spec='${libname}${release}.a $libname.a'
1056      soname_spec='${libname}${release}.so$major'
1057    fi
1058    shlibpath_var=LIBPATH
1059  fi
1060  ;;
1061
1062amigaos*)
1063  library_names_spec='$libname.ixlibrary $libname.a'
1064  # Create ${libname}_ixlibrary.a entries in /sys/libs.
1065  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'
1066  ;;
1067
1068beos*)
1069  library_names_spec='${libname}.so'
1070  dynamic_linker="$host_os ld.so"
1071  shlibpath_var=LIBRARY_PATH
1072  ;;
1073
1074bsdi4*)
1075  version_type=linux
1076  need_version=no
1077  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1078  soname_spec='${libname}${release}.so$major'
1079  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
1080  shlibpath_var=LD_LIBRARY_PATH
1081  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
1082  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
1083  # the default ld.so.conf also contains /usr/contrib/lib and
1084  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
1085  # libtool to hard-code these into programs
1086  ;;
1087
1088cygwin* | mingw* | pw32*)
1089  version_type=windows
1090  need_version=no
1091  need_lib_prefix=no
1092  case $GCC,$host_os in
1093  yes,cygwin*)
1094    library_names_spec='$libname.dll.a'
1095    sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib"
1096    soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
1097    postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
1098      dldir=$destdir/`dirname \$dlpath`~
1099      test -d \$dldir || mkdir -p \$dldir~
1100      $install_prog .libs/$dlname \$dldir/$dlname'
1101    postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
1102      dlpath=$dir/\$dldll~
1103       $rm \$dlpath'
1104    ;;
1105  yes,mingw*)
1106    library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
1107    sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://"`
1108    if echo "$sys_lib_search_path_spec" | [egrep ';[C-Z]:/' >/dev/null]; then
1109      # It is most probably a Windows format PATH printed by
1110      # mingw gcc, but we are running on Cygwin. Gcc prints its search
1111      # path with ; separators, and with drive letters. We can handle the
1112      # drive letters (cygwin fileutils understands them), so leave them,
1113      # especially as we might pass files found there to a mingw objdump,
1114      # which wouldn't understand a cygwinified path. Ahh.
1115      sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed -e 's/;/ /g'`
1116    else
1117      sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed  -e "s/$PATH_SEPARATOR/ /g"`
1118    fi
1119    ;;
1120  yes,pw32*)
1121    library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
1122    ;;
1123  *)
1124    library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib'
1125    ;;
1126  esac
1127  dynamic_linker='Win32 ld.exe'
1128  # FIXME: first we should search . and the directory the executable is in
1129  shlibpath_var=PATH
1130  ;;
1131
1132darwin* | rhapsody*)
1133  dynamic_linker="$host_os dyld"
1134  version_type=darwin
1135  need_lib_prefix=no
1136  need_version=no
1137  # FIXME: Relying on posixy $() will cause problems for
1138  #        cross-compilation, but unfortunately the echo tests do not
1139  #        yet detect zsh echo's removal of \ escapes.
1140  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)'
1141  soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)'
1142  shlibpath_overrides_runpath=yes
1143  shlibpath_var=DYLD_LIBRARY_PATH
1144  ;;
1145
1146dgux*)
1147  version_type=linux
1148  need_lib_prefix=no
1149  need_version=no
1150  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1151  soname_spec='${libname}${release}.so$major'
1152  shlibpath_var=LD_LIBRARY_PATH
1153  ;;
1154
1155freebsd1*)
1156  dynamic_linker=no
1157  ;;
1158
1159freebsd*)
1160  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
1161  version_type=freebsd-$objformat
1162  case $version_type in
1163    freebsd-elf*)
1164      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
1165      need_version=no
1166      need_lib_prefix=no
1167      ;;
1168    freebsd-*)
1169      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
1170      need_version=yes
1171      ;;
1172  esac
1173  shlibpath_var=LD_LIBRARY_PATH
1174  case $host_os in
1175  freebsd2*)
1176    shlibpath_overrides_runpath=yes
1177    ;;
1178  freebsd3.[01]* | freebsdelf3.[01]*)
1179    shlibpath_overrides_runpath=yes
1180    hardcode_into_libs=yes
1181    ;;
1182  *) # from 3.2 on
1183    shlibpath_overrides_runpath=no
1184    hardcode_into_libs=yes
1185    ;;
1186  esac
1187  ;;
1188
1189gnu*)
1190  version_type=linux
1191  need_lib_prefix=no
1192  need_version=no
1193  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
1194  soname_spec='${libname}${release}.so$major'
1195  shlibpath_var=LD_LIBRARY_PATH
1196  hardcode_into_libs=yes
1197  ;;
1198
1199hpux9* | hpux10* | hpux11*)
1200  # Give a soname corresponding to the major version so that dld.sl refuses to
1201  # link against other versions.
1202  version_type=sunos
1203  need_lib_prefix=no
1204  need_version=no
1205  if test "$host_cpu" = ia64; then
1206    hardcode_into_libs=yes
1207    dynamic_linker="$host_os dld.so"
1208    shlibpath_var=LD_LIBRARY_PATH
1209    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
1210    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1211    soname_spec='${libname}${release}.so$major'
1212    if test "X$HPUX_IA64_MODE" = X32; then
1213      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
1214    else
1215      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
1216    fi
1217    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
1218  else
1219    dynamic_linker="$host_os dld.sl"
1220    shlibpath_var=SHLIB_PATH
1221    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
1222    library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
1223    soname_spec='${libname}${release}.sl$major'
1224  fi
1225  # HP-UX runs *really* slowly unless shared libraries are mode 555.
1226  postinstall_cmds='chmod 555 $lib'
1227  ;;
1228
1229irix5* | irix6* | nonstopux*)
1230  case $host_os in
1231    nonstopux*) version_type=nonstopux ;;
1232    *)          version_type=irix ;;
1233  esac
1234  need_lib_prefix=no
1235  need_version=no
1236  soname_spec='${libname}${release}.so$major'
1237  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
1238  case $host_os in
1239  irix5* | nonstopux*)
1240    libsuff= shlibsuff=
1241    ;;
1242  *)
1243    case $LD in # libtool.m4 will add one of these switches to LD
1244    *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
1245    *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
1246    *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
1247    *) libsuff= shlibsuff= libmagic=never-match;;
1248    esac
1249    ;;
1250  esac
1251  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
1252  shlibpath_overrides_runpath=no
1253  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
1254  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
1255  ;;
1256
1257# No shared lib support for Linux oldld, aout, or coff.
1258linux*oldld* | linux*aout* | linux*coff*)
1259  dynamic_linker=no
1260  ;;
1261
1262# This must be Linux ELF.
1263linux*)
1264  version_type=linux
1265  need_lib_prefix=no
1266  need_version=no
1267  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1268  soname_spec='${libname}${release}.so$major'
1269  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
1270  libsuff=
1271  if test "x$LINUX_64_MODE" = x64; then
1272    # Some platforms are per default 64-bit, so there's no /lib64
1273    if test -d /lib64; then
1274      libsuff=64
1275    fi
1276  fi
1277  shlibpath_var=LD_LIBRARY_PATH
1278  shlibpath_overrides_runpath=no
1279  sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
1280  sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
1281  # This implies no fast_install, which is unacceptable.
1282  # Some rework will be needed to allow for fast_install
1283  # before this can be enabled.
1284  hardcode_into_libs=yes
1285
1286  # We used to test for /lib/ld.so.1 and disable shared libraries on
1287  # powerpc, because MkLinux only supported shared libraries with the
1288  # GNU dynamic linker.  Since this was broken with cross compilers,
1289  # most powerpc-linux boxes support dynamic linking these days and
1290  # people can always --disable-shared, the test was removed, and we
1291  # assume the GNU/Linux dynamic linker is in use.
1292  dynamic_linker='GNU/Linux ld.so'
1293  ;;
1294
1295netbsd*)
1296  version_type=sunos
1297  need_lib_prefix=no
1298  need_version=no
1299  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
1300    library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
1301    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
1302    dynamic_linker='NetBSD (a.out) ld.so'
1303  else
1304    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
1305    soname_spec='${libname}${release}.so$major'
1306    dynamic_linker='NetBSD ld.elf_so'
1307  fi
1308  shlibpath_var=LD_LIBRARY_PATH
1309  shlibpath_overrides_runpath=yes
1310  hardcode_into_libs=yes
1311  ;;
1312
1313newsos6)
1314  version_type=linux
1315  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1316  shlibpath_var=LD_LIBRARY_PATH
1317  shlibpath_overrides_runpath=yes
1318  ;;
1319
1320nto-qnx)
1321  version_type=linux
1322  need_lib_prefix=no
1323  need_version=no
1324  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1325  soname_spec='${libname}${release}.so$major'
1326  shlibpath_var=LD_LIBRARY_PATH
1327  shlibpath_overrides_runpath=yes
1328  ;;
1329
1330openbsd*)
1331  version_type=sunos
1332  need_lib_prefix=no
1333  need_version=no
1334  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
1335  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
1336  shlibpath_var=LD_LIBRARY_PATH
1337  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
1338    case $host_os in
1339      openbsd2.[[89]] | openbsd2.[[89]].*)
1340	shlibpath_overrides_runpath=no
1341	;;
1342      *)
1343	shlibpath_overrides_runpath=yes
1344	;;
1345      esac
1346  else
1347    shlibpath_overrides_runpath=yes
1348  fi
1349  ;;
1350
1351os2*)
1352  libname_spec='$name'
1353  need_lib_prefix=no
1354  library_names_spec='$libname.dll $libname.a'
1355  dynamic_linker='OS/2 ld.exe'
1356  shlibpath_var=LIBPATH
1357  ;;
1358
1359osf3* | osf4* | osf5*)
1360  version_type=osf
1361  need_lib_prefix=no
1362  need_version=no
1363  soname_spec='${libname}${release}.so'
1364  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
1365  shlibpath_var=LD_LIBRARY_PATH
1366  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
1367  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
1368  ;;
1369
1370sco3.2v5*)
1371  version_type=osf
1372  soname_spec='${libname}${release}.so$major'
1373  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1374  shlibpath_var=LD_LIBRARY_PATH
1375  ;;
1376
1377solaris*)
1378  version_type=linux
1379  need_lib_prefix=no
1380  need_version=no
1381  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1382  soname_spec='${libname}${release}.so$major'
1383  shlibpath_var=LD_LIBRARY_PATH
1384  shlibpath_overrides_runpath=yes
1385  hardcode_into_libs=yes
1386  # ldd complains unless libraries are executable
1387  postinstall_cmds='chmod +x $lib'
1388  ;;
1389
1390sunos4*)
1391  version_type=sunos
1392  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
1393  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
1394  shlibpath_var=LD_LIBRARY_PATH
1395  shlibpath_overrides_runpath=yes
1396  if test "$with_gnu_ld" = yes; then
1397    need_lib_prefix=no
1398  fi
1399  need_version=yes
1400  ;;
1401
1402sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
1403  version_type=linux
1404  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1405  soname_spec='${libname}${release}.so$major'
1406  shlibpath_var=LD_LIBRARY_PATH
1407  case $host_vendor in
1408    sni)
1409      shlibpath_overrides_runpath=no
1410      ;;
1411    motorola)
1412      need_lib_prefix=no
1413      need_version=no
1414      shlibpath_overrides_runpath=no
1415      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
1416      ;;
1417  esac
1418  ;;
1419
1420sysv4*MP*)
1421  if test -d /usr/nec ;then
1422    version_type=linux
1423    library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
1424    soname_spec='$libname.so.$major'
1425    shlibpath_var=LD_LIBRARY_PATH
1426  fi
1427  ;;
1428
1429uts4*)
1430  version_type=linux
1431  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
1432  soname_spec='${libname}${release}.so$major'
1433  shlibpath_var=LD_LIBRARY_PATH
1434  ;;
1435
1436*)
1437  dynamic_linker=no
1438  ;;
1439esac
1440AC_MSG_RESULT([$dynamic_linker])
1441test "$dynamic_linker" = no && can_build_shared=no
1442])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
1443
1444
1445# _LT_AC_TAGCONFIG
1446# ----------------
1447AC_DEFUN([_LT_AC_TAGCONFIG],
1448[AC_ARG_WITH([tags],
1449    [AC_HELP_STRING([--with-tags=TAGS],
1450	[include additional configurations @<:@CXX,GCJ@:>@])],
1451    [tagnames="$withval"],
1452    [tagnames="CXX,GCJ"
1453    case $host_os in
1454      mingw*|cygwin*) tagnames="$tagnames,RC" ;;
1455    esac])
1456
1457if test -f "$ltmain" && test -n "$tagnames"; then
1458  if test ! -f "${ofile}"; then
1459    AC_MSG_WARN([output file `$ofile' does not exist])
1460  fi
1461
1462  if test -z "$LTCC"; then
1463    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
1464    if test -z "$LTCC"; then
1465      AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
1466    else
1467      AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
1468    fi
1469  fi
1470
1471  # Extract list of available tagged configurations in $ofile.
1472  # Note that this assumes the entire list is on one line.
1473  available_tags=`grep "^available_tags=" "${ofile}" | sed -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
1474
1475  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1476  for tagname in $tagnames; do
1477    IFS="$lt_save_ifs"
1478    # Check whether tagname contains only valid characters
1479    case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
1480    "") ;;
1481    *)  AC_MSG_ERROR([invalid tag name: $tagname])
1482	;;
1483    esac
1484
1485    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
1486    then
1487      AC_MSG_ERROR([tag name \"$tagname\" already exists])
1488    fi
1489
1490    # Update the list of available tags.
1491    if test -n "$tagname"; then
1492      echo appending configuration tag \"$tagname\" to $ofile
1493
1494      case $tagname in
1495      CXX)
1496	AC_LIBTOOL_LANG_CXX_CONFIG
1497	;;
1498
1499      GCJ)
1500	AC_LIBTOOL_LANG_GCJ_CONFIG
1501	;;
1502
1503      RC)
1504	AC_LIBTOOL_LANG_RC_CONFIG
1505	;;
1506
1507      *)
1508	AC_MSG_ERROR([Unsupported tag name: $tagname])
1509	;;
1510      esac
1511
1512      # Append the new tag name to the list of available tags.
1513      available_tags="$available_tags $tagname"
1514    fi
1515  done
1516  IFS="$lt_save_ifs"
1517
1518  # Now substitute the updated list of available tags.
1519  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
1520    mv "${ofile}T" "$ofile"
1521    chmod +x "$ofile"
1522  else
1523    rm -f "${ofile}T"
1524    AC_MSG_ERROR([unable to update list of available tagged configurations.])
1525  fi
1526fi
1527])# _LT_AC_TAGCONFIG
1528
1529
1530# AC_LIBTOOL_DLOPEN
1531# -----------------
1532# enable checks for dlopen support
1533AC_DEFUN([AC_LIBTOOL_DLOPEN],
1534 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
1535])# AC_LIBTOOL_DLOPEN
1536
1537
1538# AC_LIBTOOL_WIN32_DLL
1539# --------------------
1540# declare package support for building win32 dll's
1541AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
1542[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
1543])# AC_LIBTOOL_WIN32_DLL
1544
1545
1546# AC_ENABLE_SHARED([DEFAULT])
1547# ---------------------------
1548# implement the --enable-shared flag
1549# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
1550AC_DEFUN([AC_ENABLE_SHARED],
1551[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
1552AC_ARG_ENABLE([shared],
1553    [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
1554	[build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
1555    [p=${PACKAGE-default}
1556    case $enableval in
1557    yes) enable_shared=yes ;;
1558    no) enable_shared=no ;;
1559    *)
1560      enable_shared=no
1561      # Look at the argument we got.  We use all the common list separators.
1562      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1563      for pkg in $enableval; do
1564	IFS="$lt_save_ifs"
1565	if test "X$pkg" = "X$p"; then
1566	  enable_shared=yes
1567	fi
1568      done
1569      IFS="$lt_save_ifs"
1570      ;;
1571    esac],
1572    [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
1573])# AC_ENABLE_SHARED
1574
1575
1576# AC_DISABLE_SHARED
1577# -----------------
1578#- set the default shared flag to --disable-shared
1579AC_DEFUN([AC_DISABLE_SHARED],
1580[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1581AC_ENABLE_SHARED(no)
1582])# AC_DISABLE_SHARED
1583
1584
1585# AC_ENABLE_STATIC([DEFAULT])
1586# ---------------------------
1587# implement the --enable-static flag
1588# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
1589AC_DEFUN([AC_ENABLE_STATIC],
1590[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
1591AC_ARG_ENABLE([static],
1592    [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
1593	[build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
1594    [p=${PACKAGE-default}
1595    case $enableval in
1596    yes) enable_static=yes ;;
1597    no) enable_static=no ;;
1598    *)
1599     enable_static=no
1600      # Look at the argument we got.  We use all the common list separators.
1601      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1602      for pkg in $enableval; do
1603	IFS="$lt_save_ifs"
1604	if test "X$pkg" = "X$p"; then
1605	  enable_static=yes
1606	fi
1607      done
1608      IFS="$lt_save_ifs"
1609      ;;
1610    esac],
1611    [enable_static=]AC_ENABLE_STATIC_DEFAULT)
1612])# AC_ENABLE_STATIC
1613
1614
1615# AC_DISABLE_STATIC
1616# -----------------
1617# set the default static flag to --disable-static
1618AC_DEFUN([AC_DISABLE_STATIC],
1619[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1620AC_ENABLE_STATIC(no)
1621])# AC_DISABLE_STATIC
1622
1623
1624# AC_ENABLE_FAST_INSTALL([DEFAULT])
1625# ---------------------------------
1626# implement the --enable-fast-install flag
1627# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
1628AC_DEFUN([AC_ENABLE_FAST_INSTALL],
1629[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
1630AC_ARG_ENABLE([fast-install],
1631    [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
1632    [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
1633    [p=${PACKAGE-default}
1634    case $enableval in
1635    yes) enable_fast_install=yes ;;
1636    no) enable_fast_install=no ;;
1637    *)
1638      enable_fast_install=no
1639      # Look at the argument we got.  We use all the common list separators.
1640      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1641      for pkg in $enableval; do
1642	IFS="$lt_save_ifs"
1643	if test "X$pkg" = "X$p"; then
1644	  enable_fast_install=yes
1645	fi
1646      done
1647      IFS="$lt_save_ifs"
1648      ;;
1649    esac],
1650    [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
1651])# AC_ENABLE_FAST_INSTALL
1652
1653
1654# AC_DISABLE_FAST_INSTALL
1655# -----------------------
1656# set the default to --disable-fast-install
1657AC_DEFUN([AC_DISABLE_FAST_INSTALL],
1658[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1659AC_ENABLE_FAST_INSTALL(no)
1660])# AC_DISABLE_FAST_INSTALL
1661
1662
1663# AC_LIBTOOL_PICMODE([MODE])
1664# --------------------------
1665# implement the --with-pic flag
1666# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
1667AC_DEFUN([AC_LIBTOOL_PICMODE],
1668[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1669pic_mode=ifelse($#,1,$1,default)
1670])# AC_LIBTOOL_PICMODE
1671
1672
1673# AC_PATH_TOOL_PREFIX
1674# -------------------
1675# find a file program which can recognise shared library
1676AC_DEFUN([AC_PATH_TOOL_PREFIX],
1677[AC_MSG_CHECKING([for $1])
1678AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
1679[case $MAGIC_CMD in
1680[[\\/*] |  ?:[\\/]*])
1681  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
1682  ;;
1683*)
1684  lt_save_MAGIC_CMD="$MAGIC_CMD"
1685  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1686dnl $ac_dummy forces splitting on constant user-supplied paths.
1687dnl POSIX.2 word splitting is done only on the output of word expansions,
1688dnl not every word.  This closes a longstanding sh security hole.
1689  ac_dummy="ifelse([$2], , $PATH, [$2])"
1690  for ac_dir in $ac_dummy; do
1691    IFS="$lt_save_ifs"
1692    test -z "$ac_dir" && ac_dir=.
1693    if test -f $ac_dir/$1; then
1694      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
1695      if test -n "$file_magic_test_file"; then
1696	case $deplibs_check_method in
1697	"file_magic "*)
1698	  file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
1699	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
1700	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
1701	    egrep "$file_magic_regex" > /dev/null; then
1702	    :
1703	  else
1704	    cat <<EOF 1>&2
1705
1706*** Warning: the command libtool uses to detect shared libraries,
1707*** $file_magic_cmd, produces output that libtool cannot recognize.
1708*** The result is that libtool may fail to recognize shared libraries
1709*** as such.  This will affect the creation of libtool libraries that
1710*** depend on shared libraries, but programs linked with such libtool
1711*** libraries will work regardless of this problem.  Nevertheless, you
1712*** may want to report the problem to your system manager and/or to
1713*** bug-libtool@gnu.org
1714
1715EOF
1716	  fi ;;
1717	esac
1718      fi
1719      break
1720    fi
1721  done
1722  IFS="$lt_save_ifs"
1723  MAGIC_CMD="$lt_save_MAGIC_CMD"
1724  ;;
1725esac])
1726MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
1727if test -n "$MAGIC_CMD"; then
1728  AC_MSG_RESULT($MAGIC_CMD)
1729else
1730  AC_MSG_RESULT(no)
1731fi
1732])# AC_PATH_TOOL_PREFIX
1733
1734
1735# AC_PATH_MAGIC
1736# -------------
1737# find a file program which can recognise a shared library
1738AC_DEFUN([AC_PATH_MAGIC],
1739[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
1740if test -z "$lt_cv_path_MAGIC_CMD"; then
1741  if test -n "$ac_tool_prefix"; then
1742    AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
1743  else
1744    MAGIC_CMD=:
1745  fi
1746fi
1747])# AC_PATH_MAGIC
1748
1749
1750# AC_PROG_LD
1751# ----------
1752# find the path to the GNU or non-GNU linker
1753AC_DEFUN([AC_PROG_LD],
1754[AC_ARG_WITH([gnu-ld],
1755    [AC_HELP_STRING([--with-gnu-ld],
1756	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
1757    [test "$withval" = no || with_gnu_ld=yes],
1758    [with_gnu_ld=no])
1759AC_REQUIRE([AC_PROG_CC])dnl
1760AC_REQUIRE([AC_CANONICAL_HOST])dnl
1761AC_REQUIRE([AC_CANONICAL_BUILD])dnl
1762ac_prog=ld
1763if test "$GCC" = yes; then
1764  # Check if gcc -print-prog-name=ld gives a path.
1765  AC_MSG_CHECKING([for ld used by GCC])
1766  case $host in
1767  *-*-mingw*)
1768    # gcc leaves a trailing carriage return which upsets mingw
1769    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
1770  *)
1771    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
1772  esac
1773  case $ac_prog in
1774    # Accept absolute paths.
1775    [[\\/]]* | ?:[[\\/]]*)
1776      re_direlt='/[[^/]][[^/]]*/\.\./'
1777      # Canonicalize the path of ld
1778      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
1779      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
1780	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
1781      done
1782      test -z "$LD" && LD="$ac_prog"
1783      ;;
1784  "")
1785    # If it fails, then pretend we aren't using GCC.
1786    ac_prog=ld
1787    ;;
1788  *)
1789    # If it is relative, then search for the first ld in PATH.
1790    with_gnu_ld=unknown
1791    ;;
1792  esac
1793elif test "$with_gnu_ld" = yes; then
1794  AC_MSG_CHECKING([for GNU ld])
1795else
1796  AC_MSG_CHECKING([for non-GNU ld])
1797fi
1798AC_CACHE_VAL(lt_cv_path_LD,
1799[if test -z "$LD"; then
1800  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1801  for ac_dir in $PATH; do
1802    IFS="$lt_save_ifs"
1803    test -z "$ac_dir" && ac_dir=.
1804    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
1805      lt_cv_path_LD="$ac_dir/$ac_prog"
1806      # Check to see if the program is GNU ld.  I'd rather use --version,
1807      # but apparently some GNU ld's only accept -v.
1808      # Break only if it was the GNU/non-GNU ld that we prefer.
1809      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
1810	test "$with_gnu_ld" != no && break
1811      else
1812	test "$with_gnu_ld" != yes && break
1813      fi
1814    fi
1815  done
1816  IFS="$lt_save_ifs"
1817else
1818  lt_cv_path_LD="$LD" # Let the user override the test with a path.
1819fi])
1820LD="$lt_cv_path_LD"
1821if test -n "$LD"; then
1822  AC_MSG_RESULT($LD)
1823else
1824  AC_MSG_RESULT(no)
1825fi
1826test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
1827AC_PROG_LD_GNU
1828])# AC_PROG_LD
1829
1830
1831# AC_PROG_LD_GNU
1832# --------------
1833AC_DEFUN([AC_PROG_LD_GNU],
1834[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
1835[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
1836if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
1837  lt_cv_prog_gnu_ld=yes
1838else
1839  lt_cv_prog_gnu_ld=no
1840fi])
1841with_gnu_ld=$lt_cv_prog_gnu_ld
1842])# AC_PROG_LD_GNU
1843
1844
1845# AC_PROG_LD_RELOAD_FLAG
1846# ----------------------
1847# find reload flag for linker
1848#   -- PORTME Some linkers may need a different reload flag.
1849AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
1850[AC_CACHE_CHECK([for $LD option to reload object files],
1851  lt_cv_ld_reload_flag,
1852  [lt_cv_ld_reload_flag='-r'])
1853reload_flag=$lt_cv_ld_reload_flag
1854case $reload_flag in
1855"" | " "*) ;;
1856*) reload_flag=" $reload_flag" ;;
1857esac
1858reload_cmds='$LD$reload_flag -o $output$reload_objs'
1859])# AC_PROG_LD_RELOAD_FLAG
1860
1861
1862# AC_DEPLIBS_CHECK_METHOD
1863# -----------------------
1864# how to check for library dependencies
1865#  -- PORTME fill in with the dynamic library characteristics
1866AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
1867[AC_CACHE_CHECK([how to recognise dependant libraries],
1868lt_cv_deplibs_check_method,
1869[lt_cv_file_magic_cmd='$MAGIC_CMD'
1870lt_cv_file_magic_test_file=
1871lt_cv_deplibs_check_method='unknown'
1872# Need to set the preceding variable on all platforms that support
1873# interlibrary dependencies.
1874# 'none' -- dependencies not supported.
1875# `unknown' -- same as none, but documents that we really don't know.
1876# 'pass_all' -- all dependencies passed with no checks.
1877# 'test_compile' -- check by making test program.
1878# 'file_magic [[regex]]' -- check by looking for files in library path
1879# which responds to the $file_magic_cmd with a given egrep regex.
1880# If you have `file' or equivalent on your system and you're not sure
1881# whether `pass_all' will *always* work, you probably want this one.
1882
1883case $host_os in
1884aix4* | aix5*)
1885  lt_cv_deplibs_check_method=pass_all
1886  ;;
1887
1888beos*)
1889  lt_cv_deplibs_check_method=pass_all
1890  ;;
1891
1892bsdi4*)
1893  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
1894  lt_cv_file_magic_cmd='/usr/bin/file -L'
1895  lt_cv_file_magic_test_file=/shlib/libc.so
1896  ;;
1897
1898cygwin* | mingw* | pw32*)
1899  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
1900  lt_cv_file_magic_cmd='$OBJDUMP -f'
1901  ;;
1902
1903darwin* | rhapsody*)
1904  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
1905  lt_cv_file_magic_cmd='/usr/bin/file -L'
1906  case "$host_os" in
1907  rhapsody* | darwin1.[[012]])
1908    lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System`
1909    ;;
1910  *) # Darwin 1.3 on
1911    lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
1912    ;;
1913  esac
1914  ;;
1915
1916freebsd*)
1917  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
1918    case $host_cpu in
1919    i*86 )
1920      # Not sure whether the presence of OpenBSD here was a mistake.
1921      # Let's accept both of them until this is cleared up.
1922      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
1923      lt_cv_file_magic_cmd=/usr/bin/file
1924      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
1925      ;;
1926    esac
1927  else
1928    lt_cv_deplibs_check_method=pass_all
1929  fi
1930  ;;
1931
1932gnu*)
1933  lt_cv_deplibs_check_method=pass_all
1934  ;;
1935
1936hpux10.20* | hpux11*)
1937  lt_cv_file_magic_cmd=/usr/bin/file
1938  if test "$host_cpu" = ia64; then
1939    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
1940    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
1941  else
1942    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
1943    lt_cv_file_magic_test_file=/usr/lib/libc.sl
1944  fi
1945  ;;
1946
1947irix5* | irix6* | nonstopux*)
1948  case $host_os in
1949  irix5* | nonstopux*)
1950    # this will be overridden with pass_all, but let us keep it just in case
1951    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
1952    ;;
1953  *)
1954    case $LD in
1955    *-32|*"-32 ") libmagic=32-bit;;
1956    *-n32|*"-n32 ") libmagic=N32;;
1957    *-64|*"-64 ") libmagic=64-bit;;
1958    *) libmagic=never-match;;
1959    esac
1960    # this will be overridden with pass_all, but let us keep it just in case
1961    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1"
1962    ;;
1963  esac
1964  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
1965  lt_cv_deplibs_check_method=pass_all
1966  ;;
1967
1968# This must be Linux ELF.
1969linux*)
1970  case $host_cpu in
1971  alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh* | x86_64* )
1972    lt_cv_deplibs_check_method=pass_all ;;
1973  *)
1974    # glibc up to 2.1.1 does not perform some relocations on ARM
1975    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
1976  esac
1977  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
1978  ;;
1979
1980netbsd*)
1981  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
1982    lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$'
1983  else
1984    lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$'
1985  fi
1986  ;;
1987
1988newos6*)
1989  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
1990  lt_cv_file_magic_cmd=/usr/bin/file
1991  lt_cv_file_magic_test_file=/usr/lib/libnls.so
1992  ;;
1993
1994nto-qnx)
1995  lt_cv_deplibs_check_method=unknown
1996  ;;
1997
1998openbsd*)
1999  lt_cv_file_magic_cmd=/usr/bin/file
2000  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
2001  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2002    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
2003  else
2004    lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
2005  fi
2006  ;;
2007
2008osf3* | osf4* | osf5*)
2009  # this will be overridden with pass_all, but let us keep it just in case
2010  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
2011  lt_cv_file_magic_test_file=/shlib/libc.so
2012  lt_cv_deplibs_check_method=pass_all
2013  ;;
2014
2015sco3.2v5*)
2016  lt_cv_deplibs_check_method=pass_all
2017  ;;
2018
2019solaris*)
2020  lt_cv_deplibs_check_method=pass_all
2021  lt_cv_file_magic_test_file=/lib/libc.so
2022  ;;
2023
2024sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
2025  case $host_vendor in
2026  motorola)
2027    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]]'
2028    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
2029    ;;
2030  ncr)
2031    lt_cv_deplibs_check_method=pass_all
2032    ;;
2033  sequent)
2034    lt_cv_file_magic_cmd='/bin/file'
2035    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
2036    ;;
2037  sni)
2038    lt_cv_file_magic_cmd='/bin/file'
2039    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
2040    lt_cv_file_magic_test_file=/lib/libc.so
2041    ;;
2042  esac
2043  ;;
2044
2045sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*)
2046  lt_cv_deplibs_check_method=pass_all
2047  ;;
2048esac
2049])
2050file_magic_cmd=$lt_cv_file_magic_cmd
2051deplibs_check_method=$lt_cv_deplibs_check_method
2052test -z "$deplibs_check_method" && deplibs_check_method=unknown
2053])# AC_DEPLIBS_CHECK_METHOD
2054
2055
2056# AC_PROG_NM
2057# ----------
2058# find the path to a BSD-compatible name lister
2059AC_DEFUN([AC_PROG_NM],
2060[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
2061[if test -n "$NM"; then
2062  # Let the user override the test.
2063  lt_cv_path_NM="$NM"
2064else
2065  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2066  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
2067    IFS="$lt_save_ifs"
2068    test -z "$ac_dir" && ac_dir=.
2069    tmp_nm="$ac_dir/${ac_tool_prefix}nm"
2070    if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
2071      # Check to see if the nm accepts a BSD-compat flag.
2072      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
2073      #   nm: unknown option "B" ignored
2074      # Tru64's nm complains that /dev/null is an invalid object file
2075      if ("$tmp_nm" -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
2076	lt_cv_path_NM="$tmp_nm -B"
2077	break
2078      elif ("$tmp_nm" -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
2079	lt_cv_path_NM="$tmp_nm -p"
2080	break
2081      else
2082	lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
2083	continue # so that we can try to find one that supports BSD flags
2084      fi
2085    fi
2086  done
2087  IFS="$lt_save_ifs"
2088  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
2089fi])
2090NM="$lt_cv_path_NM"
2091])# AC_PROG_NM
2092
2093
2094# AC_CHECK_LIBM
2095# -------------
2096# check for math library
2097AC_DEFUN([AC_CHECK_LIBM],
2098[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2099LIBM=
2100case $host in
2101*-*-beos* | *-*-cygwin* | *-*-pw32*)
2102  # These system don't have libm
2103  ;;
2104*-ncr-sysv4.3*)
2105  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
2106  AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
2107  ;;
2108*)
2109  AC_CHECK_LIB(m, main, LIBM="-lm")
2110  ;;
2111esac
2112])# AC_CHECK_LIBM
2113
2114
2115# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
2116# -----------------------------------
2117# sets LIBLTDL to the link flags for the libltdl convenience library and
2118# LTDLINCL to the include flags for the libltdl header and adds
2119# --enable-ltdl-convenience to the configure arguments.  Note that LIBLTDL
2120# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If
2121# DIRECTORY is not provided, it is assumed to be `libltdl'.  LIBLTDL will
2122# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with
2123# '${top_srcdir}/' (note the single quotes!).  If your package is not
2124# flat and you're not using automake, define top_builddir and
2125# top_srcdir appropriately in the Makefiles.
2126AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
2127[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2128  case $enable_ltdl_convenience in
2129  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
2130  "") enable_ltdl_convenience=yes
2131      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
2132  esac
2133  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
2134  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
2135  # For backwards non-gettext consistent compatibility...
2136  INCLTDL="$LTDLINCL"
2137])# AC_LIBLTDL_CONVENIENCE
2138
2139
2140# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
2141# -----------------------------------
2142# sets LIBLTDL to the link flags for the libltdl installable library and
2143# LTDLINCL to the include flags for the libltdl header and adds
2144# --enable-ltdl-install to the configure arguments.  Note that LIBLTDL
2145# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If
2146# DIRECTORY is not provided and an installed libltdl is not found, it is
2147# assumed to be `libltdl'.  LIBLTDL will be prefixed with '${top_builddir}/'
2148# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
2149# quotes!).  If your package is not flat and you're not using automake,
2150# define top_builddir and top_srcdir appropriately in the Makefiles.
2151# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
2152AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
2153[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
2154  AC_CHECK_LIB(ltdl, main,
2155  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
2156  [if test x"$enable_ltdl_install" = xno; then
2157     AC_MSG_WARN([libltdl not installed, but installation disabled])
2158   else
2159     enable_ltdl_install=yes
2160   fi
2161  ])
2162  if test x"$enable_ltdl_install" = x"yes"; then
2163    ac_configure_args="$ac_configure_args --enable-ltdl-install"
2164    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
2165    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
2166  else
2167    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
2168    LIBLTDL="-lltdl"
2169    LTDLINCL=
2170  fi
2171  # For backwards non-gettext consistent compatibility...
2172  INCLTDL="$LTDLINCL"
2173])# AC_LIBLTDL_INSTALLABLE
2174
2175
2176# If this macro is not defined by Autoconf, define it here.
2177ifdef([AC_PROVIDE_IFELSE],
2178      [],
2179      [define([AC_PROVIDE_IFELSE],
2180	      [ifdef([AC_PROVIDE_$1],
2181		     [$2], [$3])])])
2182
2183
2184# AC_LIBTOOL_CXX
2185# --------------
2186# enable support for C++ libraries
2187AC_DEFUN([AC_LIBTOOL_CXX],
2188[AC_REQUIRE([_LT_AC_LANG_CXX])
2189])# AC_LIBTOOL_CXX
2190
2191
2192# _LT_AC_LANG_CXX
2193# ---------------
2194AC_DEFUN([_LT_AC_LANG_CXX],
2195[AC_REQUIRE([AC_PROG_CXX])
2196AC_REQUIRE([AC_PROG_CXXCPP])
2197])# _LT_AC_LANG_CXX
2198
2199
2200# AC_LIBTOOL_GCJ
2201# --------------
2202# enable support for GCJ libraries
2203AC_DEFUN([AC_LIBTOOL_GCJ],
2204[AC_REQUIRE([_LT_AC_LANG_GCJ])
2205])# AC_LIBTOOL_GCJ
2206
2207
2208# _LT_AC_LANG_GCJ
2209# ---------------
2210AC_DEFUN([_LT_AC_LANG_GCJ],
2211[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
2212  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
2213    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
2214      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
2215	 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
2216	   [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
2217])# _LT_AC_LANG_GCJ
2218
2219
2220# AC_LIBTOOL_RC
2221# --------------
2222# enable support for Windows resource files
2223AC_DEFUN([AC_LIBTOOL_RC],
2224[AC_REQUIRE([AC_PROG_RC])
2225])# AC_LIBTOOL_RC
2226
2227
2228# AC_LIBTOOL_LANG_C_CONFIG
2229# ------------------------
2230# Ensure that the configuration vars for the C compiler are
2231# suitably defined.  Those variables are subsequently used by
2232# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
2233AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
2234AC_DEFUN([_LT_AC_LANG_C_CONFIG],
2235[lt_save_CC="$CC"
2236AC_LANG_PUSH(C)
2237
2238# Source file extension for C test sources.
2239ac_ext=c
2240
2241# Object file extension for compiled C test sources.
2242objext=o
2243_LT_AC_TAGVAR(objext, $1)=$objext
2244
2245# Code to be used in simple compile tests
2246lt_simple_compile_test_code="int some_variable = 0;"
2247
2248# Code to be used in simple link tests
2249lt_simple_link_test_code='main(){return(0);}'
2250
2251_LT_AC_SYS_COMPILER
2252
2253#
2254# Check for any special shared library compilation flags.
2255#
2256_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)=
2257if test "$GCC" = no; then
2258  case $host_os in
2259  sco3.2v5*)
2260    _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf'
2261    ;;
2262  esac
2263fi
2264if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then
2265  AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries])
2266  if echo "$old_CC $old_CFLAGS " | egrep -e "[[ 	]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ 	]]" >/dev/null; then :
2267  else
2268    AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure])
2269    _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no
2270  fi
2271fi
2272
2273
2274#
2275# Check to make sure the static flag actually works.
2276#
2277AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works],
2278  _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
2279  $_LT_AC_TAGVAR(lt_prog_compiler_static, $1),
2280  [],
2281  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
2282
2283
2284## CAVEAT EMPTOR:
2285## There is no encapsulation within the following macros, do not change
2286## the running order or otherwise move them around unless you know exactly
2287## what you are doing...
2288AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
2289AC_LIBTOOL_PROG_COMPILER_PIC($1)
2290AC_LIBTOOL_PROG_CC_C_O($1)
2291AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
2292AC_LIBTOOL_PROG_LD_SHLIBS($1)
2293AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
2294AC_LIBTOOL_SYS_LIB_STRIP
2295AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
2296AC_LIBTOOL_DLOPEN_SELF($1)
2297
2298# Report which librarie types wil actually be built
2299AC_MSG_CHECKING([if libtool supports shared libraries])
2300AC_MSG_RESULT([$can_build_shared])
2301
2302AC_MSG_CHECKING([whether to build shared libraries])
2303test "$can_build_shared" = "no" && enable_shared=no
2304
2305# On AIX, shared libraries and static libraries use the same namespace, and
2306# are all built from PIC.
2307case "$host_os" in
2308aix3*)
2309  test "$enable_shared" = yes && enable_static=no
2310  if test -n "$RANLIB"; then
2311    archive_cmds="$archive_cmds~\$RANLIB \$lib"
2312    postinstall_cmds='$RANLIB $lib'
2313  fi
2314  ;;
2315
2316aix4*)
2317  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
2318    test "$enable_shared" = yes && enable_static=no
2319  fi
2320  ;;
2321esac
2322AC_MSG_RESULT([$enable_shared])
2323
2324AC_MSG_CHECKING([whether to build static libraries])
2325# Make sure either enable_shared or enable_static is yes.
2326test "$enable_shared" = yes || enable_static=yes
2327AC_MSG_RESULT([$enable_static])
2328
2329AC_LIBTOOL_CONFIG($1)
2330
2331AC_LANG_POP
2332CC="$lt_save_CC"
2333])# AC_LIBTOOL_LANG_C_CONFIG
2334
2335
2336# AC_LIBTOOL_LANG_CXX_CONFIG
2337# --------------------------
2338# Ensure that the configuration vars for the C compiler are
2339# suitably defined.  Those variables are subsequently used by
2340# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
2341AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
2342AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
2343[AC_LANG_PUSH(C++)
2344AC_REQUIRE([AC_PROG_CXX])
2345AC_REQUIRE([AC_PROG_CXXCPP])
2346
2347_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
2348_LT_AC_TAGVAR(allow_undefined_flag, $1)=
2349_LT_AC_TAGVAR(always_export_symbols, $1)=no
2350_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
2351_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
2352_LT_AC_TAGVAR(hardcode_direct, $1)=no
2353_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
2354_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
2355_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
2356_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
2357_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
2358_LT_AC_TAGVAR(no_undefined_flag, $1)=
2359_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
2360
2361# Dependencies to place before and after the object being linked:
2362_LT_AC_TAGVAR(predep_objects, $1)=
2363_LT_AC_TAGVAR(postdep_objects, $1)=
2364_LT_AC_TAGVAR(predeps, $1)=
2365_LT_AC_TAGVAR(postdeps, $1)=
2366_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
2367
2368# Source file extension for C test sources.
2369ac_ext=cc
2370
2371# Object file extension for compiled C test sources.
2372objext=o
2373_LT_AC_TAGVAR(objext, $1)=$objext
2374
2375# Code to be used in simple compile tests
2376lt_simple_compile_test_code="int some_variable = 0;"
2377
2378# Code to be used in simple link tests
2379lt_simple_link_test_code='int main(int char *[]) { return(0); }'
2380
2381# ltmain only uses $CC for tagged configurations so make sure $CC is set.
2382_LT_AC_SYS_COMPILER
2383
2384# Allow CC to be a program name with arguments.
2385lt_save_CC="$CC"
2386CC=${CXX-"c++"}
2387set dummy $CC
2388compiler="[$]2"
2389_LT_AC_TAGVAR(compiler, $1)=$CC
2390cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
2391
2392# We don't want -fno-exception wen compiling C++ code, so set the
2393# no_builtin_flag separately
2394if test "$GXX" = yes; then
2395  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
2396else
2397  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
2398fi
2399
2400if test "$GXX" = yes; then
2401  # Set up default GNU C++ configuration
2402
2403  # Check if GNU C++ uses GNU ld as the underlying linker, since the
2404  # archiving commands below assume that GNU ld is being used.
2405  if eval "`$CC -print-prog-name=ld` --version 2>&1" | \
2406      egrep 'GNU ld' > /dev/null; then
2407    with_gnu_ld=yes
2408
2409    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
2410    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
2411
2412    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
2413    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
2414
2415    # If archive_cmds runs LD, not CC, wlarc should be empty
2416    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
2417    #     investigate it a little bit more. (MM)
2418    wlarc='${wl}'
2419
2420    # ancient GNU ld didn't support --whole-archive et. al.
2421    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
2422	egrep 'no-whole-archive' > /dev/null; then
2423      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
2424    else
2425      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
2426    fi
2427  else
2428    with_gnu_ld=no
2429    wlarc=
2430
2431    # A generic and very simple default shared library creation
2432    # command for GNU C++ for the case where it uses the native
2433    # linker, instead of GNU ld.  If possible, this setting should
2434    # overridden to take advantage of the native linker features on
2435    # the platform it is being used on.
2436    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
2437  fi
2438
2439  # Commands to make compiler produce verbose output that lists
2440  # what "hidden" libraries, object files and flags are used when
2441  # linking a shared library.
2442  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
2443
2444else
2445  GXX=no
2446  with_gnu_ld=no
2447  wlarc=
2448fi
2449
2450# PORTME: fill in a description of your system's C++ link characteristics
2451AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
2452_LT_AC_TAGVAR(ld_shlibs, $1)=yes
2453case $host_os in
2454  aix3*)
2455    # FIXME: insert proper C++ library support
2456    _LT_AC_TAGVAR(ld_shlibs, $1)=no
2457    ;;
2458  aix4* | aix5*)
2459    if test "$host_cpu" = ia64; then
2460      # On IA64, the linker does run time linking by default, so we don't
2461      # have to do anything special.
2462      aix_use_runtimelinking=no
2463      exp_sym_flag='-Bexport'
2464      no_entry_flag=""
2465    else
2466      # KDE requires run time linking.  Make it the default.
2467      aix_use_runtimelinking=yes
2468      exp_sym_flag='-bexport'
2469      no_entry_flag='-bnoentry'
2470    fi
2471
2472    # When large executables or shared objects are built, AIX ld can
2473    # have problems creating the table of contents.  If linking a library
2474    # or program results in "error TOC overflow" add -mminimal-toc to
2475    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
2476    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
2477
2478    _LT_AC_TAGVAR(archive_cmds, $1)=''
2479    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
2480    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
2481    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
2482
2483    if test "$GXX" = yes; then
2484      case $host_os in aix4.[012]|aix4.[012].*)
2485      # We only want to do this on AIX 4.2 and lower, the check
2486      # below for broken collect2 doesn't work under 4.3+
2487	collect2name=`${CC} -print-prog-name=collect2`
2488	if test -f "$collect2name" && \
2489	   strings "$collect2name" | grep resolve_lib_name >/dev/null
2490	then
2491	  # We have reworked collect2
2492	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
2493	else
2494	  # We have old collect2
2495	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
2496	  # It fails to find uninstalled libraries when the uninstalled
2497	  # path is not listed in the libpath.  Setting hardcode_minus_L
2498	  # to unsupported forces relinking
2499	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
2500	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2501	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
2502	fi
2503      esac
2504      shared_flag='-shared'
2505    else
2506      # not using gcc
2507      if test "$host_cpu" = ia64; then
2508	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
2509	# chokes on -Wl,-G. The following line is correct:
2510	shared_flag='-G'
2511      else
2512	if test "$aix_use_runtimelinking" = yes; then
2513	  shared_flag='-qmkshrobj ${wl}-G'
2514	else
2515	  shared_flag='-qmkshrobj'
2516	fi
2517      fi
2518    fi
2519
2520    # Let the compiler handle the export list.
2521    _LT_AC_TAGVAR(always_export_symbols, $1)=no
2522    if test "$aix_use_runtimelinking" = yes; then
2523      # Warning - without using the other runtime loading flags (-brtl),
2524      # -berok will link without error, but may produce a broken library.
2525      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
2526      # Determine the default libpath from the value encoded in an empty executable.
2527      _LT_AC_SYS_LIBPATH_AIX
2528      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
2529
2530      _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
2531      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$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}$exp_sym_flag:\$export_symbols $shared_flag"
2532     else
2533      if test "$host_cpu" = ia64; then
2534	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
2535	_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
2536	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
2537      else
2538	# Determine the default libpath from the value encoded in an empty executable.
2539	_LT_AC_SYS_LIBPATH_AIX
2540	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
2541	# Warning - without using the other run time loading flags,
2542	# -berok will link without error, but may produce a broken library.
2543	_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
2544	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
2545	# -bexpall does not export symbols beginning with underscore (_)
2546	_LT_AC_TAGVAR(always_export_symbols, $1)=yes
2547	# Exported symbols can be pulled into shared objects from archives
2548	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
2549	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
2550	# This is similar to how AIX traditionally builds it's shared libraries.
2551	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
2552      fi
2553    fi
2554    ;;
2555  chorus*)
2556    case $cc_basename in
2557      *)
2558	# FIXME: insert proper C++ library support
2559	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2560	;;
2561    esac
2562    ;;
2563  dgux*)
2564    case $cc_basename in
2565      ec++)
2566	# FIXME: insert proper C++ library support
2567	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2568	;;
2569      ghcx)
2570	# Green Hills C++ Compiler
2571	# FIXME: insert proper C++ library support
2572	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2573	;;
2574      *)
2575	# FIXME: insert proper C++ library support
2576	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2577	;;
2578    esac
2579    ;;
2580  freebsd[12]*)
2581    # C++ shared libraries reported to be fairly broken before switch to ELF
2582    _LT_AC_TAGVAR(ld_shlibs, $1)=no
2583    ;;
2584  freebsd-elf*)
2585    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
2586    ;;
2587  freebsd*)
2588    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
2589    # conventions
2590    _LT_AC_TAGVAR(ld_shlibs, $1)=yes
2591    ;;
2592  gnu*)
2593    ;;
2594  hpux*)
2595    if test $with_gnu_ld = no; then
2596      if test "$host_cpu" = ia64; then
2597	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2598      else
2599	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
2600	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2601	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
2602      fi
2603    fi
2604    if test "$host_cpu" = ia64; then
2605      _LT_AC_TAGVAR(hardcode_direct, $1)=no
2606      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
2607    else
2608      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
2609    fi
2610    _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
2611					    # but as the default
2612					    # location of the library.
2613
2614    case $cc_basename in
2615      CC)
2616	# FIXME: insert proper C++ library support
2617	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2618	;;
2619      aCC)
2620	case $host_os in
2621	hpux9*)
2622	  _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
2623	  ;;
2624	*)
2625	  if test "$host_cpu" = ia64; then
2626	    _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
2627	  else
2628	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
2629	  fi
2630	  ;;
2631	esac
2632	# Commands to make compiler produce verbose output that lists
2633	# what "hidden" libraries, object files and flags are used when
2634	# linking a shared library.
2635	#
2636	# There doesn't appear to be a way to prevent this compiler from
2637	# explicitly linking system object files so we need to strip them
2638	# from the output so that they don't get included in the library
2639	# dependencies.
2640	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
2641	;;
2642      *)
2643	if test "$GXX" = yes; then
2644	  if test $with_gnu_ld = no; then
2645	    case $host_os in
2646	    hpux9*)
2647	      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
2648	      ;;
2649	    *)
2650	      if test "$host_cpu" = ia64; then
2651		_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
2652	      else
2653		_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
2654	      fi
2655	      ;;
2656	    esac
2657	  fi
2658	else
2659	  # FIXME: insert proper C++ library support
2660	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
2661	fi
2662	;;
2663    esac
2664    ;;
2665  irix5* | irix6*)
2666    case $cc_basename in
2667      CC)
2668	# SGI C++
2669	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
2670
2671	# Archives containing C++ object files must be created using
2672	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
2673	# necessary to make sure instantiated templates are included
2674	# in the archive.
2675	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
2676	;;
2677      *)
2678	if test "$GXX" = yes; then
2679	  if test "$with_gnu_ld" = no; then
2680	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
2681	  else
2682	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib'
2683	  fi
2684	fi
2685	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
2686	;;
2687    esac
2688    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
2689    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2690    ;;
2691  linux*)
2692    case $cc_basename in
2693      KCC)
2694	# Kuck and Associates, Inc. (KAI) C++ Compiler
2695
2696	# KCC will only create a shared library if the output file
2697	# ends with ".so" (or ".sl" for HP-UX), so rename the library
2698	# to its proper name (with version) after linking.
2699	_LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
2700	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
2701
2702	# Commands to make compiler produce verbose output that lists
2703	# what "hidden" libraries, object files and flags are used when
2704	# linking a shared library.
2705	#
2706	# There doesn't appear to be a way to prevent this compiler from
2707	# explicitly linking system object files so we need to strip them
2708	# from the output so that they don't get included in the library
2709	# dependencies.
2710	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest.so 2>&1 | egrep "ld"`; rm -f libconftest.so; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
2711
2712	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
2713	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
2714
2715	# Archives containing C++ object files must be created using
2716	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
2717	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
2718	;;
2719      cxx)
2720	# Compaq C++
2721	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
2722	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
2723
2724	runpath_var=LD_RUN_PATH
2725	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
2726	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2727
2728	# Commands to make compiler produce verbose output that lists
2729	# what "hidden" libraries, object files and flags are used when
2730	# linking a shared library.
2731	#
2732	# There doesn't appear to be a way to prevent this compiler from
2733	# explicitly linking system object files so we need to strip them
2734	# from the output so that they don't get included in the library
2735	# dependencies.
2736	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
2737	;;
2738    esac
2739    ;;
2740  lynxos*)
2741    # FIXME: insert proper C++ library support
2742    _LT_AC_TAGVAR(ld_shlibs, $1)=no
2743    ;;
2744  m88k*)
2745    # FIXME: insert proper C++ library support
2746    _LT_AC_TAGVAR(ld_shlibs, $1)=no
2747    ;;
2748  mvs*)
2749    case $cc_basename in
2750      cxx)
2751	# FIXME: insert proper C++ library support
2752	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2753	;;
2754      *)
2755	# FIXME: insert proper C++ library support
2756	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2757	;;
2758    esac
2759    ;;
2760  netbsd*)
2761    # NetBSD uses g++ - do we need to do anything?
2762    ;;
2763  osf3*)
2764    case $cc_basename in
2765      KCC)
2766	# Kuck and Associates, Inc. (KAI) C++ Compiler
2767
2768	# KCC will only create a shared library if the output file
2769	# ends with ".so" (or ".sl" for HP-UX), so rename the library
2770	# to its proper name (with version) after linking.
2771	_LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
2772
2773	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
2774	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2775
2776	# Archives containing C++ object files must be created using
2777	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
2778	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
2779
2780	;;
2781      RCC)
2782	# Rational C++ 2.4.1
2783	# FIXME: insert proper C++ library support
2784	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2785	;;
2786      cxx)
2787	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
2788	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
2789
2790	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
2791	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2792
2793	# Commands to make compiler produce verbose output that lists
2794	# what "hidden" libraries, object files and flags are used when
2795	# linking a shared library.
2796	#
2797	# There doesn't appear to be a way to prevent this compiler from
2798	# explicitly linking system object files so we need to strip them
2799	# from the output so that they don't get included in the library
2800	# dependencies.
2801	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
2802	;;
2803      *)
2804	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
2805	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
2806	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
2807
2808	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
2809	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2810
2811	  # Commands to make compiler produce verbose output that lists
2812	  # what "hidden" libraries, object files and flags are used when
2813	  # linking a shared library.
2814	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
2815
2816	else
2817	  # FIXME: insert proper C++ library support
2818	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
2819	fi
2820	;;
2821    esac
2822    ;;
2823  osf4* | osf5*)
2824    case $cc_basename in
2825      KCC)
2826	# Kuck and Associates, Inc. (KAI) C++ Compiler
2827
2828	# KCC will only create a shared library if the output file
2829	# ends with ".so" (or ".sl" for HP-UX), so rename the library
2830	# to its proper name (with version) after linking.
2831	_LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
2832
2833	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
2834	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2835
2836	# Archives containing C++ object files must be created using
2837	# the KAI C++ compiler.
2838	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
2839	;;
2840      RCC)
2841	# Rational C++ 2.4.1
2842	# FIXME: insert proper C++ library support
2843	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2844	;;
2845      cxx)
2846	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
2847	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
2848	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done~
2849	  echo "-hidden">> $lib.exp~
2850	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry $objdir/so_locations -o $lib~
2851	  $rm $lib.exp'
2852
2853	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
2854	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2855
2856	# Commands to make compiler produce verbose output that lists
2857	# what "hidden" libraries, object files and flags are used when
2858	# linking a shared library.
2859	#
2860	# There doesn't appear to be a way to prevent this compiler from
2861	# explicitly linking system object files so we need to strip them
2862	# from the output so that they don't get included in the library
2863	# dependencies.
2864	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
2865	;;
2866      *)
2867	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
2868	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
2869	 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
2870
2871	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
2872	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
2873
2874	  # Commands to make compiler produce verbose output that lists
2875	  # what "hidden" libraries, object files and flags are used when
2876	  # linking a shared library.
2877	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
2878
2879	else
2880	  # FIXME: insert proper C++ library support
2881	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
2882	fi
2883	;;
2884    esac
2885    ;;
2886  psos*)
2887    # FIXME: insert proper C++ library support
2888    _LT_AC_TAGVAR(ld_shlibs, $1)=no
2889    ;;
2890  sco*)
2891    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
2892    case $cc_basename in
2893      CC)
2894	# FIXME: insert proper C++ library support
2895	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2896	;;
2897      *)
2898	# FIXME: insert proper C++ library support
2899	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2900	;;
2901    esac
2902    ;;
2903  sunos4*)
2904    case $cc_basename in
2905      CC)
2906	# Sun C++ 4.x
2907	# FIXME: insert proper C++ library support
2908	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2909	;;
2910      lcc)
2911	# Lucid
2912	# FIXME: insert proper C++ library support
2913	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2914	;;
2915      *)
2916	# FIXME: insert proper C++ library support
2917	_LT_AC_TAGVAR(ld_shlibs, $1)=no
2918	;;
2919    esac
2920    ;;
2921  solaris*)
2922    case $cc_basename in
2923      CC)
2924	# Sun C++ 4.2, 5.x and Centerline C++
2925	_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
2926	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
2927	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
2928	$CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
2929
2930	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
2931	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
2932	case $host_os in
2933	  solaris2.[0-5] | solaris2.[0-5].*) ;;
2934	  *)
2935	    # The C++ compiler is used as linker so we must use $wl
2936	    # flag to pass the commands to the underlying system
2937	    # linker.
2938	    # Supported since Solaris 2.6 (maybe 2.5.1?)
2939	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
2940	    ;;
2941	esac
2942	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
2943
2944	# Commands to make compiler produce verbose output that lists
2945	# what "hidden" libraries, object files and flags are used when
2946	# linking a shared library.
2947	#
2948	# There doesn't appear to be a way to prevent this compiler from
2949	# explicitly linking system object files so we need to strip them
2950	# from the output so that they don't get included in the library
2951	# dependencies.
2952	output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep "\-R|\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
2953
2954	# Archives containing C++ object files must be created using
2955	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
2956	# necessary to make sure instantiated templates are included
2957	# in the archive.
2958	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
2959	;;
2960      gcx)
2961	# Green Hills C++ Compiler
2962	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
2963
2964	# The C++ compiler must be used to create the archive.
2965	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
2966	;;
2967      *)
2968	# GNU C++ compiler with Solaris linker
2969	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
2970	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
2971	  if $CC --version | egrep -v '^2\.7' > /dev/null; then
2972	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib'
2973	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
2974		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp'
2975
2976	    # Commands to make compiler produce verbose output that lists
2977	    # what "hidden" libraries, object files and flags are used when
2978	    # linking a shared library.
2979	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\""
2980	  else
2981	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
2982	    # platform.
2983	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib'
2984	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
2985		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp'
2986
2987	    # Commands to make compiler produce verbose output that lists
2988	    # what "hidden" libraries, object files and flags are used when
2989	    # linking a shared library.
2990	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\""
2991	  fi
2992
2993	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
2994	fi
2995	;;
2996    esac
2997    ;;
2998  sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
2999    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3000    ;;
3001  tandem*)
3002    case $cc_basename in
3003      NCC)
3004	# NonStop-UX NCC 3.20
3005	# FIXME: insert proper C++ library support
3006	_LT_AC_TAGVAR(ld_shlibs, $1)=no
3007	;;
3008      *)
3009	# FIXME: insert proper C++ library support
3010	_LT_AC_TAGVAR(ld_shlibs, $1)=no
3011	;;
3012    esac
3013    ;;
3014  vxworks*)
3015    # FIXME: insert proper C++ library support
3016    _LT_AC_TAGVAR(ld_shlibs, $1)=no
3017    ;;
3018  *)
3019    # FIXME: insert proper C++ library support
3020    _LT_AC_TAGVAR(ld_shlibs, $1)=no
3021    ;;
3022esac
3023AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
3024test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
3025
3026# Figure out "hidden" C++ library dependencies from verbose
3027# compiler output whening linking a shared library.
3028cat > conftest.$ac_ext <<EOF
3029class Foo
3030{
3031public:
3032  Foo (void) { a = 0; }
3033private:
3034  int a;
3035};
3036EOF
3037
3038
3039if AC_TRY_EVAL(ac_compile); then
3040  # Parse the compiler output and extract the necessary
3041  # objects, libraries and library flags.
3042
3043  # Sentinel used to keep track of whether or not we are before
3044  # the conftest object file.
3045  pre_test_object_deps_done=no
3046
3047  # The `*' in the case matches for architectures that use `case' in
3048  # $output_verbose_cmd can trigger glob expansion during the loop
3049  # eval without this substitution.
3050  output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
3051
3052  for p in `eval $output_verbose_link_cmd`; do
3053    case $p in
3054
3055    -L* | -R* | -l*)
3056       # Some compilers place space between "-{L,R}" and the path.
3057       # Remove the space.
3058       if test $p = "-L" \
3059	  || test $p = "-R"; then
3060	 prev=$p
3061	 continue
3062       else
3063	 prev=
3064       fi
3065
3066       if test "$pre_test_object_deps_done" = no; then
3067	 case $p in
3068	 -L* | -R*)
3069	   # Internal compiler library paths should come after those
3070	   # provided the user.  The postdeps already come after the
3071	   # user supplied libs so there is no need to process them.
3072	   if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
3073	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
3074	   else
3075	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
3076	   fi
3077	   ;;
3078	 # The "-l" case would never come before the object being
3079	 # linked, so don't bother handling this case.
3080	 esac
3081       else
3082	 if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
3083	   _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
3084	 else
3085	   _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
3086	 fi
3087       fi
3088       ;;
3089
3090    *.$objext|*.$libext)
3091       # This assumes that the test object file only shows up
3092       # once in the compiler output.
3093       if test "$p" = "conftest.$objext"; then
3094	 pre_test_object_deps_done=yes
3095	 continue
3096       fi
3097
3098       if test "$pre_test_object_deps_done" = no; then
3099	 if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
3100	   _LT_AC_TAGVAR(predep_objects, $1)="$p"
3101	 else
3102	   _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
3103	 fi
3104       else
3105	 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
3106	   _LT_AC_TAGVAR(postdep_objects, $1)="$p"
3107	 else
3108	   _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
3109	 fi
3110       fi
3111       ;;
3112
3113    *) ;; # Ignore the rest.
3114
3115    esac
3116  done
3117
3118  # Clean up.
3119  rm -f a.out
3120else
3121  echo "libtool.m4: error: problem compiling C++ test program"
3122fi
3123
3124$rm -f confest.$objext
3125
3126case " $_LT_AC_TAGVAR(postdeps, $1) " in
3127*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
3128*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes ;;
3129esac
3130
3131_LT_AC_TAGVAR(GCC, $1)="$GXX"
3132_LT_AC_TAGVAR(LD, $1)="$LD"
3133
3134## CAVEAT EMPTOR:
3135## There is no encapsulation within the following macros, do not change
3136## the running order or otherwise move them around unless you know exactly
3137## what you are doing...
3138AC_LIBTOOL_PROG_COMPILER_PIC($1)
3139AC_LIBTOOL_PROG_CC_C_O($1)
3140AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
3141AC_LIBTOOL_PROG_LD_SHLIBS($1)
3142AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
3143AC_LIBTOOL_SYS_LIB_STRIP
3144AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
3145AC_LIBTOOL_DLOPEN_SELF($1)
3146
3147AC_LIBTOOL_CONFIG($1)
3148
3149AC_LANG_POP
3150CC="$lt_save_CC"
3151])# AC_LIBTOOL_LANG_CXX_CONFIG
3152
3153
3154# AC_LIBTOOL_LANG_GCJ_CONFIG
3155# --------------------------
3156# Ensure that the configuration vars for the C compiler are
3157# suitably defined.  Those variables are subsequently used by
3158# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3159AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
3160AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
3161[AC_LANG_SAVE
3162
3163# Source file extension for C test sources.
3164ac_ext=java
3165
3166# Object file extension for compiled C test sources.
3167objext=o
3168_LT_AC_TAGVAR(objext, $1)=$objext
3169
3170# Code to be used in simple compile tests
3171lt_simple_compile_test_code="class foo {}"
3172
3173# Code to be used in simple link tests
3174lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
3175
3176# ltmain only uses $CC for tagged configurations so make sure $CC is set.
3177_LT_AC_SYS_COMPILER
3178
3179# Allow CC to be a program name with arguments.
3180lt_save_CC="$CC"
3181CC=${GCJ-"gcj"}
3182set dummy $CC
3183compiler="[$]2"
3184_LT_AC_TAGVAR(compiler, $1)=$CC
3185
3186# GCJ did not exist at the time GCC didn't implicitly link libc in.
3187_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3188
3189## CAVEAT EMPTOR:
3190## There is no encapsulation within the following macros, do not change
3191## the running order or otherwise move them around unless you know exactly
3192## what you are doing...
3193AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
3194AC_LIBTOOL_PROG_COMPILER_PIC($1)
3195AC_LIBTOOL_PROG_CC_C_O($1)
3196AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
3197AC_LIBTOOL_PROG_LD_SHLIBS($1)
3198AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
3199AC_LIBTOOL_SYS_LIB_STRIP
3200AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
3201AC_LIBTOOL_DLOPEN_SELF($1)
3202
3203AC_LIBTOOL_CONFIG($1)
3204
3205AC_LANG_RESTORE
3206CC="$lt_save_CC"
3207])# AC_LIBTOOL_LANG_GCJ_CONFIG
3208
3209
3210# AC_LIBTOOL_LANG_RC_CONFIG
3211# --------------------------
3212# Ensure that the configuration vars for the Windows resource compiler are
3213# suitably defined.  Those variables are subsequently used by
3214# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3215AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
3216AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
3217[AC_LANG_SAVE
3218
3219# Source file extension for RC test sources.
3220ac_ext=rc
3221
3222# Object file extension for compiled RC test sources.
3223objext=o
3224_LT_AC_TAGVAR(objext, $1)=$objext
3225
3226# Code to be used in simple compile tests
3227lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
3228
3229# Code to be used in simple link tests
3230lt_simple_link_test_code="$lt_simple_compile_test_code"
3231
3232# ltmain only uses $CC for tagged configurations so make sure $CC is set.
3233_LT_AC_SYS_COMPILER
3234
3235# Allow CC to be a program name with arguments.
3236lt_save_CC="$CC"
3237CC=${RC-"windres"}
3238set dummy $CC
3239compiler="[$]2"
3240_LT_AC_TAGVAR(compiler, $1)=$CC
3241_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
3242
3243AC_LIBTOOL_CONFIG($1)
3244
3245AC_LANG_RESTORE
3246CC="$lt_save_CC"
3247])# AC_LIBTOOL_LANG_RC_CONFIG
3248
3249
3250# AC_LIBTOOL_CONFIG([TAGNAME])
3251# ----------------------------
3252# If TAGNAME is not passed, then create an initial libtool script
3253# with a default configuration from the untagged config vars.  Otherwise
3254# add code to config.status for appending the configuration named by
3255# TAGNAME from the matching tagged config vars.
3256AC_DEFUN([AC_LIBTOOL_CONFIG],
3257[# The else clause should only fire when bootstrapping the
3258# libtool distribution, otherwise you forgot to ship ltmain.sh
3259# with your package, and you will get complaints that there are
3260# no rules to generate ltmain.sh.
3261if test -f "$ltmain"; then
3262  # Now quote all the things that may contain metacharacters while being
3263  # careful not to overquote the AC_SUBSTed values.  We take copies of the
3264  # variables and quote the copies for generation of the libtool script.
3265  for var in echo old_CC old_CFLAGS AR AR_FLAGS RANLIB LN_S LTCC NM SED SHELL \
3266    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
3267    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
3268    deplibs_check_method reload_flag reload_cmds need_locks \
3269    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
3270    lt_cv_sys_global_symbol_to_c_name_address \
3271    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
3272    old_postinstall_cmds old_postuninstall_cmds \
3273    _LT_AC_TAGVAR(compiler, $1) \
3274    _LT_AC_TAGVAR(CC, $1) \
3275    _LT_AC_TAGVAR(LD, $1) \
3276    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
3277    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
3278    _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
3279    _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
3280    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
3281    _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
3282    _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
3283    _LT_AC_TAGVAR(old_archive_cmds, $1) \
3284    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
3285    _LT_AC_TAGVAR(predep_objects, $1) \
3286    _LT_AC_TAGVAR(postdep_objects, $1) \
3287    _LT_AC_TAGVAR(predeps, $1) \
3288    _LT_AC_TAGVAR(postdeps, $1) \
3289    _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
3290    _LT_AC_TAGVAR(archive_cmds, $1) \
3291    _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
3292    _LT_AC_TAGVAR(postinstall_cmds, $1) \
3293    _LT_AC_TAGVAR(postuninstall_cmds, $1) \
3294    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
3295    _LT_AC_TAGVAR(allow_undefined_flag, $1) \
3296    _LT_AC_TAGVAR(no_undefined_flag, $1) \
3297    _LT_AC_TAGVAR(export_symbols_cmds, $1) \
3298    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
3299    _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
3300    _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
3301    _LT_AC_TAGVAR(exclude_expsyms, $1) \
3302    _LT_AC_TAGVAR(include_expsyms, $1); do
3303
3304    case $var in
3305    _LT_AC_TAGVAR(old_archive_cmds, $1) | \
3306    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
3307    _LT_AC_TAGVAR(archive_cmds, $1) | \
3308    _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
3309    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
3310    _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
3311    extract_expsyms_cmds | reload_cmds | finish_cmds | \
3312    postinstall_cmds | postuninstall_cmds | \
3313    old_postinstall_cmds | old_postuninstall_cmds | \
3314    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
3315      # Double-quote double-evaled strings.
3316      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
3317      ;;
3318    *)
3319      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
3320      ;;
3321    esac
3322  done
3323
3324  case $lt_echo in
3325  *'\[$]0 --fallback-echo"')
3326    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
3327    ;;
3328  esac
3329
3330ifelse([$1], [],
3331  [cfgfile="${ofile}T"
3332  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
3333  $rm -f "$cfgfile"
3334  AC_MSG_NOTICE([creating $ofile])],
3335  [cfgfile="$ofile"])
3336
3337  cat <<__EOF__ >> "$cfgfile"
3338ifelse([$1], [],
3339[#! $SHELL
3340
3341# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
3342# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
3343# NOTE: Changes made to this file will be lost: look at ltmain.sh.
3344#
3345# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
3346# Free Software Foundation, Inc.
3347#
3348# This file is part of GNU Libtool:
3349# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
3350#
3351# This program is free software; you can redistribute it and/or modify
3352# it under the terms of the GNU General Public License as published by
3353# the Free Software Foundation; either version 2 of the License, or
3354# (at your option) any later version.
3355#
3356# This program is distributed in the hope that it will be useful, but
3357# WITHOUT ANY WARRANTY; without even the implied warranty of
3358# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
3359# General Public License for more details.
3360#
3361# You should have received a copy of the GNU General Public License
3362# along with this program; if not, write to the Free Software
3363# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
3364#
3365# As a special exception to the GNU General Public License, if you
3366# distribute this file as part of a program that contains a
3367# configuration script generated by Autoconf, you may include it under
3368# the same distribution terms that you use for the rest of that program.
3369
3370# Sed that helps us avoid accidentally triggering echo(1) options like -n.
3371Xsed="sed -e s/^X//"
3372
3373# The HP-UX ksh and POSIX shell print the target directory to stdout
3374# if CDPATH is set.
3375if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
3376
3377# The names of the tagged configurations supported by this script.
3378available_tags=
3379
3380# ### BEGIN LIBTOOL CONFIG],
3381[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
3382
3383# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
3384
3385# Shell to use when invoking shell scripts.
3386SHELL=$lt_SHELL
3387
3388# Whether or not to build shared libraries.
3389build_libtool_libs=$enable_shared
3390
3391# Whether or not to build static libraries.
3392build_old_libs=$enable_static
3393
3394# Whether or not to add -lc for building shared libraries.
3395build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
3396
3397# Whether or not to optimize for fast installation.
3398fast_install=$enable_fast_install
3399
3400# The host system.
3401host_alias=$host_alias
3402host=$host
3403
3404# An echo program that does not interpret backslashes.
3405echo=$lt_echo
3406
3407# The archiver.
3408AR=$lt_AR
3409AR_FLAGS=$lt_AR_FLAGS
3410
3411# A C compiler.
3412LTCC=$lt_LTCC
3413
3414# A language-specific compiler.
3415CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
3416
3417# Is the compiler the GNU C compiler?
3418with_gcc=$_LT_AC_TAGVAR(GCC, $1)
3419
3420# The linker used to build libraries.
3421LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
3422
3423# Whether we need hard or soft links.
3424LN_S=$lt_LN_S
3425
3426# A BSD-compatible nm program.
3427NM=$lt_NM
3428
3429# A sed program that does not truncate output.
3430SED=$lt_SED
3431
3432# A symbol stripping program
3433STRIP=$STRIP
3434
3435# Used to examine libraries when file_magic_cmd begins "file"
3436MAGIC_CMD=$MAGIC_CMD
3437
3438# Used on cygwin: DLL creation program.
3439DLLTOOL="$DLLTOOL"
3440
3441# Used on cygwin: object dumper.
3442OBJDUMP="$OBJDUMP"
3443
3444# Used on cygwin: assembler.
3445AS="$AS"
3446
3447# The name of the directory that contains temporary libtool files.
3448objdir=$objdir
3449
3450# How to create reloadable object files.
3451reload_flag=$lt_reload_flag
3452reload_cmds=$lt_reload_cmds
3453
3454# How to pass a linker flag through the compiler.
3455wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
3456
3457# Object file suffix (normally "o").
3458objext="$ac_objext"
3459
3460# Old archive suffix (normally "a").
3461libext="$libext"
3462
3463# Executable file suffix (normally "").
3464exeext="$exeext"
3465
3466# Additional compiler flags for building library objects.
3467pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
3468pic_mode=$pic_mode
3469
3470# What is the maximum length of a command?
3471max_cmd_len=$lt_cv_sys_max_cmd_len
3472
3473# Does compiler simultaneously support -c and -o options?
3474compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
3475
3476# Must we lock files when doing compilation ?
3477need_locks=$lt_need_locks
3478
3479# Do we need the lib prefix for modules?
3480need_lib_prefix=$need_lib_prefix
3481
3482# Do we need a version for libraries?
3483need_version=$need_version
3484
3485# Whether dlopen is supported.
3486dlopen_support=$enable_dlopen
3487
3488# Whether dlopen of programs is supported.
3489dlopen_self=$enable_dlopen_self
3490
3491# Whether dlopen of statically linked programs is supported.
3492dlopen_self_static=$enable_dlopen_self_static
3493
3494# Compiler flag to prevent dynamic linking.
3495link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
3496
3497# Compiler flag to turn off builtin functions.
3498no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
3499
3500# Compiler flag to allow reflexive dlopens.
3501export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
3502
3503# Compiler flag to generate shared objects directly from archives.
3504whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
3505
3506# Compiler flag to generate thread-safe objects.
3507thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
3508
3509# Library versioning type.
3510version_type=$version_type
3511
3512# Format of library name prefix.
3513libname_spec=$lt_libname_spec
3514
3515# List of archive names.  First name is the real one, the rest are links.
3516# The last name is the one that the linker finds with -lNAME.
3517library_names_spec=$lt_library_names_spec
3518
3519# The coded name of the library, if different from the real name.
3520soname_spec=$lt_soname_spec
3521
3522# Commands used to build and install an old-style archive.
3523RANLIB=$lt_RANLIB
3524old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
3525old_postinstall_cmds=$lt_old_postinstall_cmds
3526old_postuninstall_cmds=$lt_old_postuninstall_cmds
3527
3528# Create an old-style archive from a shared archive.
3529old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
3530
3531# Create a temporary old-style archive to link instead of a shared archive.
3532old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
3533
3534# Commands used to build and install a shared archive.
3535archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
3536archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
3537postinstall_cmds=$lt_postinstall_cmds
3538postuninstall_cmds=$lt_postuninstall_cmds
3539
3540# Commands to strip libraries.
3541old_striplib=$lt_old_striplib
3542striplib=$lt_striplib
3543
3544# Dependencies to place before the objects being linked to create a
3545# shared library.
3546predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
3547
3548# Dependencies to place after the objects being linked to create a
3549# shared library.
3550postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
3551
3552# Dependencies to place before the objects being linked to create a
3553# shared library.
3554predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
3555
3556# Dependencies to place after the objects being linked to create a
3557# shared library.
3558postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
3559
3560# The library search path used internally by the compiler when linking
3561# a shared library.
3562compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
3563
3564# Method to check whether dependent libraries are shared objects.
3565deplibs_check_method=$lt_deplibs_check_method
3566
3567# Command to use when deplibs_check_method == file_magic.
3568file_magic_cmd=$lt_file_magic_cmd
3569
3570# Flag that allows shared libraries with undefined symbols to be built.
3571allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
3572
3573# Flag that forces no undefined symbols.
3574no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
3575
3576# Commands used to finish a libtool library installation in a directory.
3577finish_cmds=$lt_finish_cmds
3578
3579# Same as above, but a single script fragment to be evaled but not shown.
3580finish_eval=$lt_finish_eval
3581
3582# Take the output of nm and produce a listing of raw symbols and C names.
3583global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
3584
3585# Transform the output of nm in a proper C declaration
3586global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
3587
3588# Transform the output of nm in a C name address pair
3589global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
3590
3591# This is the shared library runtime path variable.
3592runpath_var=$runpath_var
3593
3594# This is the shared library path variable.
3595shlibpath_var=$shlibpath_var
3596
3597# Is shlibpath searched before the hard-coded library search path?
3598shlibpath_overrides_runpath=$shlibpath_overrides_runpath
3599
3600# How to hardcode a shared library path into an executable.
3601hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
3602
3603# Whether we should hardcode library paths into libraries.
3604hardcode_into_libs=$hardcode_into_libs
3605
3606# Flag to hardcode \$libdir into a binary during linking.
3607# This must work even if \$libdir does not exist.
3608hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
3609
3610# Whether we need a single -rpath flag with a separated argument.
3611hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
3612
3613# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
3614# resulting binary.
3615hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
3616
3617# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
3618# resulting binary.
3619hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
3620
3621# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
3622# the resulting binary.
3623hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
3624
3625# Variables whose values should be saved in libtool wrapper scripts and
3626# restored at relink time.
3627variables_saved_for_relink="$variables_saved_for_relink"
3628
3629# Whether libtool must link a program against all its dependency libraries.
3630link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
3631
3632# Compile-time system search path for libraries
3633sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
3634
3635# Run-time system search path for libraries
3636sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
3637
3638# Fix the shell variable \$srcfile for the compiler.
3639fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
3640
3641# Set to yes if exported symbols are required.
3642always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
3643
3644# The commands to list exported symbols.
3645export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
3646
3647# The commands to extract the exported symbol list from a shared archive.
3648extract_expsyms_cmds=$lt_extract_expsyms_cmds
3649
3650# Symbols that should not be listed in the preloaded symbols.
3651exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
3652
3653# Symbols that must always be exported.
3654include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
3655
3656ifelse([$1],[],
3657[# ### END LIBTOOL CONFIG],
3658[# ### END LIBTOOL TAG CONFIG: $tagname])
3659
3660__EOF__
3661
3662ifelse([$1],[], [
3663  case $host_os in
3664  aix3*)
3665    cat <<\EOF >> "$cfgfile"
3666
3667# AIX sometimes has problems with the GCC collect2 program.  For some
3668# reason, if we set the COLLECT_NAMES environment variable, the problems
3669# vanish in a puff of smoke.
3670if test "X${COLLECT_NAMES+set}" != Xset; then
3671  COLLECT_NAMES=
3672  export COLLECT_NAMES
3673fi
3674EOF
3675    ;;
3676
3677  cygwin* | mingw* | pw32* | os2*)
3678    cat <<'EOF' >> "$cfgfile"
3679    # This is a source program that is used to create dlls on Windows
3680    # Don't remove nor modify the starting and closing comments
3681    _LT_AC_FILE_LTDLL_C
3682    # This is a source program that is used to create import libraries
3683    # on Windows for dlls which lack them. Don't remove nor modify the
3684    # starting and closing comments
3685    _LT_AC_FILE_IMPGEN_C
3686EOF
3687    ;;
3688  esac
3689
3690  # We use sed instead of cat because bash on DJGPP gets confused if
3691  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
3692  # text mode, it properly converts lines to CR/LF.  This bash problem
3693  # is reportedly fixed, but why not run on old versions too?
3694  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
3695
3696  mv -f "$cfgfile" "$ofile" || \
3697    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
3698  chmod +x "$ofile"
3699])
3700else
3701  # If there is no Makefile yet, we rely on a make rule to execute
3702  # `config.status --recheck' to rerun these tests and create the
3703  # libtool script then.
3704  test -f Makefile && make "$ltmain"
3705fi
3706])# AC_LIBTOOL_CONFIG
3707
3708
3709# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
3710# -------------------------------------------
3711AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
3712[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
3713
3714_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3715
3716if test "$GCC" = yes; then
3717  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
3718
3719  AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3720    lt_cv_prog_compiler_rtti_exceptions,
3721    [-fno-rtti -fno-exceptions -c conftest.$ac_ext], [],
3722    [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3723fi
3724])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
3725
3726
3727# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
3728# ---------------------------------
3729AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
3730[AC_REQUIRE([AC_CANONICAL_HOST])
3731AC_REQUIRE([AC_PROG_NM])
3732AC_REQUIRE([AC_OBJEXT])
3733# Check for command to grab the raw symbol name followed by C symbol from nm.
3734AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3735AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3736[
3737# These are sane defaults that work on at least a few old systems.
3738# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
3739
3740# Character class describing NM global symbol codes.
3741symcode='[[BCDEGRST]]'
3742
3743# Regexp to match symbols that can be accessed directly from C.
3744sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3745
3746# Transform the above into a raw symbol and a C symbol.
3747symxfrm='\1 \2\3 \3'
3748
3749# Transform an extracted symbol line into a proper C declaration
3750lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
3751
3752# Transform an extracted symbol line into symbol name and symbol address
3753lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
3754
3755# Define system-specific variables.
3756case $host_os in
3757aix*)
3758  symcode='[[BCDT]]'
3759  ;;
3760cygwin* | mingw* | pw32*)
3761  symcode='[[ABCDGISTW]]'
3762  ;;
3763hpux*) # Its linker distinguishes data from code symbols
3764  if test "$host_cpu" = ia64; then
3765    symcode='[[ABCDEGRST]]'
3766  fi
3767  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3768  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
3769  ;;
3770irix* | nonstopux*)
3771  symcode='[[BCDEGRST]]'
3772  ;;
3773solaris* | sysv5*)
3774  symcode='[[BDT]]'
3775  ;;
3776sysv4)
3777  symcode='[[DFNSTU]]'
3778  ;;
3779esac
3780
3781# Handle CRLF in mingw tool chain
3782opt_cr=
3783case $host_os in
3784mingw*)
3785  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3786  ;;
3787esac
3788
3789# If we're using GNU nm, then use its standard symbol codes.
3790if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
3791  symcode='[[ABCDGISTW]]'
3792fi
3793
3794# Try without a prefix undercore, then with it.
3795for ac_symprfx in "" "_"; do
3796
3797  # Write the raw and C identifiers.
3798  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ 	]]\($symcode$symcode*\)[[ 	]][[ 	]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
3799
3800  # Check to see that the pipe works correctly.
3801  pipe_works=no
3802
3803  rm -f conftest*
3804  cat > conftest.$ac_ext <<EOF
3805#ifdef __cplusplus
3806extern "C" {
3807#endif
3808char nm_test_var;
3809void nm_test_func(){}
3810#ifdef __cplusplus
3811}
3812#endif
3813int main(){nm_test_var='a';nm_test_func();return(0);}
3814EOF
3815
3816  if AC_TRY_EVAL(ac_compile); then
3817    # Now try to grab the symbols.
3818    nlist=conftest.nm
3819    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
3820      # Try sorting and uniquifying the output.
3821      if sort "$nlist" | uniq > "$nlist"T; then
3822	mv -f "$nlist"T "$nlist"
3823      else
3824	rm -f "$nlist"T
3825      fi
3826
3827      # Make sure that we snagged all the symbols we need.
3828      if egrep ' nm_test_var$' "$nlist" >/dev/null; then
3829	if egrep ' nm_test_func$' "$nlist" >/dev/null; then
3830	  cat <<EOF > conftest.$ac_ext
3831#ifdef __cplusplus
3832extern "C" {
3833#endif
3834
3835EOF
3836	  # Now generate the symbol file.
3837	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
3838
3839	  cat <<EOF >> conftest.$ac_ext
3840#if defined (__STDC__) && __STDC__
3841# define lt_ptr_t void *
3842#else
3843# define lt_ptr_t char *
3844# define const
3845#endif
3846
3847/* The mapping between symbol names and symbols. */
3848const struct {
3849  const char *name;
3850  lt_ptr_t address;
3851}
3852lt_preloaded_symbols[[]] =
3853{
3854EOF
3855	  sed "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
3856	  cat <<\EOF >> conftest.$ac_ext
3857  {0, (lt_ptr_t) 0}
3858};
3859
3860#ifdef __cplusplus
3861}
3862#endif
3863EOF
3864	  # Now try linking the two files.
3865	  mv conftest.$ac_objext conftstm.$ac_objext
3866	  lt_save_LIBS="$LIBS"
3867	  lt_save_CFLAGS="$CFLAGS"
3868	  LIBS="conftstm.$ac_objext"
3869	  CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3870	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3871	    pipe_works=yes
3872	  fi
3873	  LIBS="$lt_save_LIBS"
3874	  CFLAGS="$lt_save_CFLAGS"
3875	else
3876	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3877	fi
3878      else
3879	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3880      fi
3881    else
3882      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3883    fi
3884  else
3885    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3886    cat conftest.$ac_ext >&5
3887  fi
3888  rm -f conftest* conftst*
3889
3890  # Do not use the global_symbol_pipe unless it works.
3891  if test "$pipe_works" = yes; then
3892    break
3893  else
3894    lt_cv_sys_global_symbol_pipe=
3895  fi
3896done
3897])
3898if test -z "$lt_cv_sys_global_symbol_pipe"; then
3899  lt_cv_sys_global_symbol_to_cdecl=
3900fi
3901if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3902  AC_MSG_RESULT(failed)
3903else
3904  AC_MSG_RESULT(ok)
3905fi
3906]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
3907
3908
3909# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
3910# ---------------------------------------
3911AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
3912[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
3913_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
3914_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
3915
3916AC_MSG_CHECKING([for $compiler option to produce PIC])
3917 ifelse([$1],[CXX],[
3918  # C++ specific cases for pic, static, wl, etc.
3919  if test "$GXX" = yes; then
3920    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3921    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
3922
3923    case $host_os in
3924    aix*)
3925      # All AIX code is PIC.
3926      if test "$host_cpu" = ia64; then
3927	# AIX 5 now supports IA64 processor
3928	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3929      fi
3930      ;;
3931    amigaos*)
3932      # FIXME: we need at least 68020 code to build shared libraries, but
3933      # adding the `-m68020' flag to GCC prevents building anything better,
3934      # like `-m68040'.
3935      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3936      ;;
3937    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3938      # PIC is the default for these OSes.
3939      ;;
3940    cygwin* | mingw* | os2*)
3941      # This hack is so that the source file can tell whether it is being
3942      # built for inclusion in a dll (and should export symbols for example).
3943      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
3944      ;;
3945    darwin* | rhapsody*)
3946      # PIC is the default on this platform
3947      # Common symbols not allowed in MH_DYLIB files
3948      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3949      ;;
3950    *djgpp*)
3951      # DJGPP does not support shared libraries at all
3952      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
3953      ;;
3954    sysv4*MP*)
3955      if test -d /usr/nec; then
3956	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3957      fi
3958      ;;
3959    hpux*)
3960      # PIC is the default for IA64 HP-UX, but not for PA HP-UX.
3961      if test "$host_cpu" != ia64; then
3962	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3963      fi
3964      ;;
3965    *)
3966      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3967      ;;
3968    esac
3969  else
3970    case $host_os in
3971      aix4* | aix5*)
3972	# All AIX code is PIC.
3973	if test "$host_cpu" = ia64; then
3974	  # AIX 5 now supports IA64 processor
3975	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3976	else
3977	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3978	fi
3979	;;
3980      chorus*)
3981	case $cc_basename in
3982	cxch68)
3983	  # Green Hills C++ Compiler
3984	  # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
3985	  ;;
3986	esac
3987	;;
3988      dgux*)
3989	case $cc_basename in
3990	  ec++)
3991	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3992	    ;;
3993	  ghcx)
3994	    # Green Hills C++ Compiler
3995	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3996	    ;;
3997	  *)
3998	    ;;
3999	esac
4000	;;
4001      freebsd*)
4002	# FreeBSD uses GNU C++
4003	;;
4004      hpux9* | hpux10* | hpux11*)
4005	case $cc_basename in
4006	  CC)
4007	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4008	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
4009	    if test "$host_cpu" != ia64; then
4010	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4011	    fi
4012	    ;;
4013	  aCC)
4014	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4015	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
4016	    if test "$host_cpu" != ia64; then
4017	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4018	    fi
4019	    ;;
4020	  *)
4021	    ;;
4022	esac
4023	;;
4024      irix5* | irix6* | nonstopux*)
4025	case $cc_basename in
4026	  CC)
4027	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4028	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4029	    # CC pic flag -KPIC is the default.
4030	    ;;
4031	  *)
4032	    ;;
4033	esac
4034	;;
4035      linux*)
4036	case $cc_basename in
4037	  KCC)
4038	    # KAI C++ Compiler
4039	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4040	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4041	    ;;
4042	  cxx)
4043	    # Compaq C++
4044	    # Make sure the PIC flag is empty.  It appears that all Alpha
4045	    # Linux and Compaq Tru64 Unix objects are PIC.
4046	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4047	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4048	    ;;
4049	  *)
4050	    ;;
4051	esac
4052	;;
4053      lynxos*)
4054	;;
4055      m88k*)
4056	;;
4057      mvs*)
4058	case $cc_basename in
4059	  cxx)
4060	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4061	    ;;
4062	  *)
4063	    ;;
4064	esac
4065	;;
4066      netbsd*)
4067	;;
4068      osf3* | osf4* | osf5*)
4069	case $cc_basename in
4070	  KCC)
4071	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4072	    ;;
4073	  RCC)
4074	    # Rational C++ 2.4.1
4075	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4076	    ;;
4077	  cxx)
4078	    # Digital/Compaq C++
4079	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4080	    # Make sure the PIC flag is empty.  It appears that all Alpha
4081	    # Linux and Compaq Tru64 Unix objects are PIC.
4082	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4083	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4084	    ;;
4085	  *)
4086	    ;;
4087	esac
4088	;;
4089      psos*)
4090	;;
4091      sco*)
4092	case $cc_basename in
4093	  CC)
4094	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4095	    ;;
4096	  *)
4097	    ;;
4098	esac
4099	;;
4100      solaris*)
4101	case $cc_basename in
4102	  CC)
4103	    # Sun C++ 4.2, 5.x and Centerline C++
4104	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4105	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4106	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4107	    ;;
4108	  gcx)
4109	    # Green Hills C++ Compiler
4110	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4111	    ;;
4112	  *)
4113	    ;;
4114	esac
4115	;;
4116      sunos4*)
4117	case $cc_basename in
4118	  CC)
4119	    # Sun C++ 4.x
4120	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4121	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4122	    ;;
4123	  lcc)
4124	    # Lucid
4125	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4126	    ;;
4127	  *)
4128	    ;;
4129	esac
4130	;;
4131      tandem*)
4132	case $cc_basename in
4133	  NCC)
4134	    # NonStop-UX NCC 3.20
4135	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4136	    ;;
4137	  *)
4138	    ;;
4139	esac
4140	;;
4141      unixware*)
4142	;;
4143      vxworks*)
4144	;;
4145      *)
4146	_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4147	;;
4148    esac
4149  fi
4150],
4151[
4152  if test "$GCC" = yes; then
4153    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4154    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4155
4156    case $host_os in
4157      aix*)
4158      # All AIX code is PIC.
4159      if test "$host_cpu" = ia64; then
4160	# AIX 5 now supports IA64 processor
4161	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4162      fi
4163      ;;
4164
4165    amigaos*)
4166      # FIXME: we need at least 68020 code to build shared libraries, but
4167      # adding the `-m68020' flag to GCC prevents building anything better,
4168      # like `-m68040'.
4169      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4170      ;;
4171
4172    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4173      # PIC is the default for these OSes.
4174      ;;
4175
4176    cygwin* | mingw* | pw32* | os2*)
4177      # This hack is so that the source file can tell whether it is being
4178      # built for inclusion in a dll (and should export symbols for example).
4179      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
4180      ;;
4181
4182    darwin* | rhapsody*)
4183      # PIC is the default on this platform
4184      # Common symbols not allowed in MH_DYLIB files
4185      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4186      ;;
4187
4188    msdosdjgpp*)
4189      # Just because we use GCC doesn't mean we suddenly get shared libraries
4190      # on systems that don't support them.
4191      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4192      enable_shared=no
4193      ;;
4194
4195    sysv4*MP*)
4196      if test -d /usr/nec; then
4197	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4198      fi
4199      ;;
4200
4201    hpux*)
4202      # PIC is the default for IA64 HP-UX, but not for PA HP-UX.
4203      if test "$host_cpu" != ia64; then
4204	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4205      fi
4206      ;;
4207
4208    *)
4209      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4210      ;;
4211    esac
4212  else
4213    # PORTME Check for flag to pass linker flags through the system compiler.
4214    case $host_os in
4215    aix*)
4216      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4217      if test "$host_cpu" = ia64; then
4218	# AIX 5 now supports IA64 processor
4219	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4220      else
4221	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4222      fi
4223      ;;
4224
4225    cygwin* | mingw* | pw32* | os2*)
4226      # This hack is so that the source file can tell whether it is being
4227      # built for inclusion in a dll (and should export symbols for example).
4228      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
4229      ;;
4230
4231    hpux9* | hpux10* | hpux11*)
4232      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4233      if test "$host_cpu" != ia64; then
4234	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4235      fi
4236      # Is there a better lt_prog_compiler_static that works with the bundled CC?
4237      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4238      ;;
4239
4240    irix5* | irix6* | nonstopux*)
4241      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4242      # PIC (with -KPIC) is the default.
4243      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4244      ;;
4245
4246    newsos6)
4247      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4248      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4249      ;;
4250
4251    osf3* | osf4* | osf5*)
4252      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4253      # All OSF/1 code is PIC.
4254      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4255      ;;
4256
4257    sco3.2v5*)
4258      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic'
4259      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn'
4260      ;;
4261
4262    solaris*)
4263      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4264      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4265      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4266      ;;
4267
4268    sunos4*)
4269      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4270      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4271      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4272      ;;
4273
4274    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
4275      if test "x$host_vendor" = xsni; then
4276	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-LD'
4277      else
4278	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4279      fi
4280      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4281      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4282      ;;
4283
4284    sysv4*MP*)
4285      if test -d /usr/nec ;then
4286	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4287	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4288      fi
4289      ;;
4290
4291    uts4*)
4292      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4293      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4294      ;;
4295
4296    *)
4297      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4298      ;;
4299    esac
4300  fi
4301])
4302AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
4303
4304#
4305# Check to make sure the PIC flag actually works.
4306#
4307if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
4308  AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
4309    _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
4310    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC], [],
4311    [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
4312     "" | " "*) ;;
4313     *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4314     esac],
4315    [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4316     _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4317fi
4318case "$host_os" in
4319  # For platforms which do not support PIC, -DPIC is meaningless:
4320  *djgpp*)
4321    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4322    ;;
4323  *)
4324    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC"
4325    ;;
4326esac
4327])
4328
4329
4330# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
4331# ------------------------------------
4332# See if the linker supports building shared libraries.
4333AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
4334[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4335ifelse([$1],[CXX],[
4336  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
4337  case $host_os in
4338  aix4* | aix5*)
4339    # If we're using GNU nm, then we don't want the "-C" option.
4340    # -C means demangle to AIX nm, but means don't demangle with GNU nm
4341    if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then
4342      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
4343    else
4344      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
4345    fi
4346    ;;
4347  cygwin* | mingw* | pw32*)
4348    _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4349  ;;
4350  *)
4351    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
4352  ;;
4353  esac
4354],[
4355  runpath_var=
4356  _LT_AC_TAGVAR(allow_undefined_flag, $1)=
4357
4358  _LT_AC_TAGVAR(archive_cmds, $1)=
4359  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=
4360  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
4361  _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
4362  _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4363  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
4364  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
4365  _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
4366  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
4367  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
4368  _LT_AC_TAGVAR(hardcode_direct, $1)=no
4369  _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
4370  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4371  _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
4372  _LT_AC_TAGVAR(always_export_symbols, $1)=no
4373  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
4374  # include_expsyms should be a list of space-separated symbols to be *always*
4375  # included in the symbol list
4376  _LT_AC_TAGVAR(include_expsyms, $1)=
4377  # exclude_expsyms can be an egrep regular expression of symbols to exclude
4378  # it will be wrapped by ` (' and `)$', so one must not match beginning or
4379  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4380  # as well as any symbol that contains `d'.
4381  _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
4382  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4383  # platforms (ab)use it in PIC code, but their linkers get confused if
4384  # the symbol is explicitly referenced.  Since portable code cannot
4385  # rely on this symbol name, it's probably fine to never include it in
4386  # preloaded symbol tables.
4387  extract_expsyms_cmds=
4388
4389  case $host_os in
4390  cygwin* | mingw* | pw32*)
4391    # FIXME: the MSVC++ port hasn't been tested in a loooong time
4392    # When not using gcc, we currently assume that we are using
4393    # Microsoft Visual C++.
4394    if test "$GCC" != yes; then
4395      with_gnu_ld=no
4396    fi
4397    ;;
4398  openbsd*)
4399    with_gnu_ld=no
4400    ;;
4401  esac
4402
4403  _LT_AC_TAGVAR(ld_shlibs, $1)=yes
4404  if test "$with_gnu_ld" = yes; then
4405    # If archive_cmds runs LD, not CC, wlarc should be empty
4406    wlarc='${wl}'
4407
4408    # See if GNU ld supports shared libraries.
4409    case $host_os in
4410    aix3* | aix4* | aix5*)
4411      # On AIX/PPC, the GNU linker is very broken
4412      if test "$host_cpu" != ia64; then
4413	_LT_AC_TAGVAR(ld_shlibs, $1)=no
4414	cat <<EOF 1>&2
4415
4416*** Warning: the GNU linker, at least up to release 2.9.1, is reported
4417*** to be unable to reliably create shared libraries on AIX.
4418*** Therefore, libtool is disabling shared libraries support.  If you
4419*** really care for shared libraries, you may want to modify your PATH
4420*** so that a non-GNU linker is found, and then restart.
4421
4422EOF
4423      fi
4424      ;;
4425
4426    amigaos*)
4427      _LT_AC_TAGVAR(archive_cmds, $1)='$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)'
4428      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4429      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4430
4431      # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
4432      # that the semantics of dynamic libraries on AmigaOS, at least up
4433      # to version 4, is to share data among multiple programs linked
4434      # with the same dynamic library.  Since this doesn't match the
4435      # behavior of shared libraries on other platforms, we can't use
4436      # them.
4437      _LT_AC_TAGVAR(ld_shlibs, $1)=no
4438      ;;
4439
4440    beos*)
4441      if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
4442	_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4443	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4444	# support --undefined.  This deserves some investigation.  FIXME
4445	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4446      else
4447	_LT_AC_TAGVAR(ld_shlibs, $1)=no
4448      fi
4449      ;;
4450
4451    cygwin* | mingw* | pw32*)
4452      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, as there is
4453      # no search path for DLLs.
4454      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4455      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4456      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
4457
4458      extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
4459	sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~
4460	test -f $output_objdir/impgen.exe || (cd $output_objdir && \
4461	if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
4462	else $CC -o impgen impgen.c ; fi)~
4463	$output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
4464
4465      _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
4466
4467      # cygwin and mingw dlls have different entry points and sets of symbols
4468      # to exclude.
4469      # FIXME: what about values for MSVC?
4470      dll_entry=__cygwin_dll_entry@12
4471      dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
4472      case $host_os in
4473      mingw*)
4474	# mingw values
4475	dll_entry=_DllMainCRTStartup@12
4476	dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
4477	;;
4478      esac
4479
4480      # mingw and cygwin differ, and it's simplest to just exclude the union
4481      # of the two symbol sets.
4482      dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
4483
4484      # recent cygwin and mingw systems supply a stub DllMain which the user
4485      # can override, but on older systems we have to supply one (in ltdll.c)
4486      if test "x$lt_cv_need_dllmain" = "xyes"; then
4487	ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
4488	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~
4489  	test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
4490      else
4491	ltdll_obj=
4492	ltdll_cmds=
4493      fi
4494
4495      # Extract the symbol export list from an `--export-all' def file,
4496      # then regenerate the def file from the symbol export list, so that
4497      # the compiled dll only exports the symbol export list.
4498      # Be careful not to strip the DATA tag left by newer dlltools.
4499      _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"'
4500	$DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
4501	sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
4502
4503      # If the export-symbols file already is a .def file (1st line
4504      # is EXPORTS), use it as is.
4505      # If DATA tags from a recent dlltool are present, honour them!
4506      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`head -1 $export_symbols`" = xEXPORTS; then
4507	  cp $export_symbols $output_objdir/$soname-def;
4508	else
4509	  echo EXPORTS > $output_objdir/$soname-def;
4510	  _lt_hint=1;
4511	  cat $export_symbols | while read symbol; do
4512	   set dummy \$symbol;
4513	   case \[$]# in
4514	     2) echo "   \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
4515	     *) echo "   \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
4516	   esac;
4517	   _lt_hint=`expr 1 + \$_lt_hint`;
4518	  done;
4519	fi~
4520	'"$ltdll_cmds"'
4521	$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~
4522	$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~
4523	$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~
4524	$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~
4525	$CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
4526      ;;
4527
4528    netbsd*)
4529      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
4530	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4531	wlarc=
4532      else
4533	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4534	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4535      fi
4536      ;;
4537
4538    solaris* | sysv5*)
4539      if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
4540	_LT_AC_TAGVAR(ld_shlibs, $1)=no
4541	cat <<EOF 1>&2
4542
4543*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4544*** create shared libraries on Solaris systems.  Therefore, libtool
4545*** is disabling shared libraries support.  We urge you to upgrade GNU
4546*** binutils to release 2.9.1 or newer.  Another option is to modify
4547*** your PATH or compiler configuration so that the native linker is
4548*** used, and then restart.
4549
4550EOF
4551      elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
4552	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4553	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4554      else
4555	_LT_AC_TAGVAR(ld_shlibs, $1)=no
4556      fi
4557      ;;
4558
4559    sunos4*)
4560      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4561      wlarc=
4562      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4563      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4564      ;;
4565
4566    *)
4567      if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
4568	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4569	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4570      else
4571	_LT_AC_TAGVAR(ld_shlibs, $1)=no
4572      fi
4573      ;;
4574    esac
4575
4576    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then
4577      runpath_var=LD_RUN_PATH
4578      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
4579      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4580      case $host_os in
4581      cygwin* | mingw* | pw32*)
4582	# dlltool doesn't understand --whole-archive et. al.
4583	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
4584	;;
4585      *)
4586	# ancient GNU ld didn't support --whole-archive et. al.
4587	if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
4588  	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4589	else
4590  	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
4591	fi
4592	;;
4593      esac
4594    fi
4595  else
4596    # PORTME fill in a description of your system's linker (not GNU ld)
4597    case $host_os in
4598    aix3*)
4599      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4600      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
4601      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
4602      # Note: this linker hardcodes the directories in LIBPATH if there
4603      # are no directories specified by -L.
4604      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4605      if test "$GCC" = yes && test -z "$link_static_flag"; then
4606	# Neither direct hardcoding nor static linking is supported with a
4607	# broken collect2.
4608	_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
4609      fi
4610      ;;
4611
4612    aix4* | aix5*)
4613      if test "$host_cpu" = ia64; then
4614	# On IA64, the linker does run time linking by default, so we don't
4615	# have to do anything special.
4616	aix_use_runtimelinking=no
4617	exp_sym_flag='-Bexport'
4618	no_entry_flag=""
4619      else
4620	# If we're using GNU nm, then we don't want the "-C" option.
4621	# -C means demangle to AIX nm, but means don't demangle with GNU nm
4622	if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then
4623	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
4624	else
4625	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
4626	fi
4627
4628	# KDE requires run time linking.  Make it the default.
4629	aix_use_runtimelinking=yes
4630	exp_sym_flag='-bexport'
4631	no_entry_flag='-bnoentry'
4632      fi
4633
4634      # When large executables or shared objects are built, AIX ld can
4635      # have problems creating the table of contents.  If linking a library
4636      # or program results in "error TOC overflow" add -mminimal-toc to
4637      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
4638      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
4639
4640      _LT_AC_TAGVAR(archive_cmds, $1)=''
4641      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4642      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
4643      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4644
4645      if test "$GCC" = yes; then
4646	case $host_os in aix4.[012]|aix4.[012].*)
4647	# We only want to do this on AIX 4.2 and lower, the check
4648	# below for broken collect2 doesn't work under 4.3+
4649	  collect2name=`${CC} -print-prog-name=collect2`
4650	  if test -f "$collect2name" && \
4651  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
4652	  then
4653  	  # We have reworked collect2
4654  	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4655	  else
4656  	  # We have old collect2
4657  	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
4658  	  # It fails to find uninstalled libraries when the uninstalled
4659  	  # path is not listed in the libpath.  Setting hardcode_minus_L
4660  	  # to unsupported forces relinking
4661  	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4662  	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4663  	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
4664	  fi
4665	esac
4666	shared_flag='-shared'
4667      else
4668	# not using gcc
4669	if test "$host_cpu" = ia64; then
4670  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4671  	# chokes on -Wl,-G. The following line is correct:
4672	  shared_flag='-G'
4673	else
4674  	if test "$aix_use_runtimelinking" = yes; then
4675	    shared_flag='-qmkshrobj ${wl}-G'
4676	  else
4677	    shared_flag='-qmkshrobj'
4678  	fi
4679	fi
4680      fi
4681
4682      # Let the compiler handle the export list.
4683      _LT_AC_TAGVAR(always_export_symbols, $1)=no
4684      if test "$aix_use_runtimelinking" = yes; then
4685	# Warning - without using the other runtime loading flags (-brtl),
4686	# -berok will link without error, but may produce a broken library.
4687	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
4688       # Determine the default libpath from the value encoded in an empty executable.
4689	_LT_AC_SYS_LIBPATH_AIX
4690	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4691	_LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
4692	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$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}$exp_sym_flag:\$export_symbols $shared_flag"
4693       else
4694	if test "$host_cpu" = ia64; then
4695	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4696	  _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4697	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
4698	else
4699	 # Determine the default libpath from the value encoded in an empty executable.
4700	 _LT_AC_SYS_LIBPATH_AIX
4701	 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4702	  # Warning - without using the other run time loading flags,
4703	  # -berok will link without error, but may produce a broken library.
4704	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4705	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
4706	  # -bexpall does not export symbols beginning with underscore (_)
4707	  _LT_AC_TAGVAR(always_export_symbols, $1)=yes
4708	  # Exported symbols can be pulled into shared objects from archives
4709	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
4710	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
4711	  # This is similar to how AIX traditionally builds it's shared libraries.
4712	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
4713	fi
4714      fi
4715      ;;
4716
4717    amigaos*)
4718      _LT_AC_TAGVAR(archive_cmds, $1)='$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)'
4719      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4720      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4721      # see comment about different semantics on the GNU ld section
4722      _LT_AC_TAGVAR(ld_shlibs, $1)=no
4723      ;;
4724
4725    bsdi4*)
4726      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
4727      ;;
4728
4729    cygwin* | mingw* | pw32*)
4730      # When not using gcc, we currently assume that we are using
4731      # Microsoft Visual C++.
4732      # hardcode_libdir_flag_spec is actually meaningless, as there is
4733      # no search path for DLLs.
4734      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
4735      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4736      # Tell ltmain to make .lib files, not .a files.
4737      libext=lib
4738      # FIXME: Setting linknames here is a bad hack.
4739      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
4740      # The linker will automatically build a .lib file if we build a DLL.
4741      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
4742      # FIXME: Should let the user specify the lib program.
4743      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
4744      fix_srcfile_path='`cygpath -w "$srcfile"`'
4745      ;;
4746
4747    darwin* | rhapsody*)
4748      case "$host_os" in
4749      rhapsody* | darwin1.[[012]])
4750	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress'
4751	;;
4752      *) # Darwin 1.3 on
4753	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress'
4754	;;
4755      esac
4756
4757      # FIXME: Relying on posixy $() will cause problems for
4758      #        cross-compilation, but unfortunately the echo tests do not
4759      #        yet detect zsh echo's removal of \ escapes.  Also zsh mangles
4760      #	       `"' quotes if we put them in here... so don't!
4761      _LT_AC_TAGVAR(archive_cmds, $1)='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring'
4762      # We need to add '_' to the symbols in $export_symbols first
4763      #_LT_AC_TAGVAR(archive_expsym_cmds, $1)="$_LT_AC_TAGVAR(archive_cmds, $1)"' && strip -s $export_symbols'
4764      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4765      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4766      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
4767      ;;
4768
4769    dgux*)
4770      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4771      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4772      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4773      ;;
4774
4775    freebsd1*)
4776      _LT_AC_TAGVAR(ld_shlibs, $1)=no
4777      ;;
4778
4779    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
4780    # support.  Future versions do this automatically, but an explicit c++rt0.o
4781    # does not break anything, and helps significantly (at the cost of a little
4782    # extra space).
4783    freebsd2.2*)
4784      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
4785      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4786      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4787      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4788      ;;
4789
4790    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
4791    freebsd2*)
4792      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4793      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4794      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4795      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4796      ;;
4797
4798    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
4799    freebsd*)
4800      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
4801      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4802      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4803      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4804      ;;
4805
4806    hpux9* | hpux10* | hpux11*)
4807      if test "$GCC" = yes; then
4808	case $host_os in
4809	  hpux9*)
4810	    _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
4811	    ;;
4812	  *)
4813	    if test "$host_cpu" = ia64; then
4814	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4815	    else
4816	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4817	    fi
4818	    ;;
4819	esac
4820      else
4821	case $host_os in
4822	  hpux9*)
4823	    _LT_AC_TAGVAR(archive_cmds, $1)='$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'
4824	    ;;
4825	  *)
4826	    if test "$host_cpu" = ia64; then
4827	      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
4828	    else
4829	      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
4830	    fi
4831	    ;;
4832	esac
4833      fi
4834      if test "$host_cpu" = ia64; then
4835	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4836	_LT_AC_TAGVAR(hardcode_direct, $1)=no
4837	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4838      else
4839	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4840	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4841	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
4842      fi
4843      # hardcode_minus_L: Not really in the search PATH,
4844      # but as the default location of the library.
4845      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4846      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4847      ;;
4848
4849    irix5* | irix6* | nonstopux*)
4850      if test "$GCC" = yes; then
4851	_LT_AC_TAGVAR(archive_cmds, $1)='$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'
4852      else
4853	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
4854      fi
4855      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4856      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4857      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4858      ;;
4859
4860    netbsd*)
4861      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
4862	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
4863      else
4864	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
4865      fi
4866      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4867      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4868      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4869      ;;
4870
4871    newsos6)
4872      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4873      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4874      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4875      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4876      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4877      ;;
4878
4879    openbsd*)
4880      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4881      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4882
4883      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4884	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
4885	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4886	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4887      else
4888       case $host_os in
4889	 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
4890	   _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4891	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4892	   ;;
4893	 *)
4894	   _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
4895	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4896	   ;;
4897       esac
4898      fi
4899      ;;
4900
4901    os2*)
4902      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4903      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4904      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4905      _LT_AC_TAGVAR(archive_cmds, $1)='$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'
4906      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
4907      ;;
4908
4909    osf3*)
4910      if test "$GCC" = yes; then
4911	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4912	_LT_AC_TAGVAR(archive_cmds, $1)='$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'
4913      else
4914	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4915	_LT_AC_TAGVAR(archive_cmds, $1)='$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'
4916      fi
4917      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4918      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4919      ;;
4920
4921    osf4* | osf5*)	# as osf3* with the addition of -msym flag
4922      if test "$GCC" = yes; then
4923	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4924	_LT_AC_TAGVAR(archive_cmds, $1)='$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'
4925	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4926      else
4927	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4928	_LT_AC_TAGVAR(archive_cmds, $1)='$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'
4929	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
4930	$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'
4931
4932	# Both c and cxx compiler support -rpath directly
4933	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4934      fi
4935      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4936      ;;
4937
4938    sco3.2v5*)
4939      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4940      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4941      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
4942      runpath_var=LD_RUN_PATH
4943      hardcode_runpath_var=yes
4944      ;;
4945
4946    solaris*)
4947      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
4948      if test "$GCC" = yes; then
4949	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4950	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4951	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
4952      else
4953	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
4954	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4955  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
4956      fi
4957      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4958      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4959      case $host_os in
4960      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4961      *) # Supported since Solaris 2.6 (maybe 2.5.1?)
4962	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
4963      esac
4964      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4965      ;;
4966
4967    sunos4*)
4968      if test "x$host_vendor" = xsequent; then
4969	# Use $CC to link under sequent, because it throws in some extra .o
4970	# files that make .init and .fini sections work.
4971	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
4972      else
4973	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
4974      fi
4975      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4976      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4977      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4978      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4979      ;;
4980
4981    sysv4)
4982      if test "x$host_vendor" = xsni; then
4983	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags'
4984	_LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
4985      else
4986	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4987	_LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
4988      fi
4989      runpath_var='LD_RUN_PATH'
4990      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4991      ;;
4992
4993    sysv4.3*)
4994      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4995      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4996      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
4997      ;;
4998
4999    sysv4*MP*)
5000      if test -d /usr/nec; then
5001	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5002	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5003	runpath_var=LD_RUN_PATH
5004	hardcode_runpath_var=yes
5005	_LT_AC_TAGVAR(ld_shlibs, $1)=yes
5006      fi
5007      ;;
5008
5009    sysv4.2uw2*)
5010      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5011      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5012      _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
5013      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5014      hardcode_runpath_var=yes
5015      runpath_var=LD_RUN_PATH
5016      ;;
5017
5018   sysv5OpenUNIX8* | sysv5UnixWare7* |  sysv5uw[[78]]* | unixware7*)
5019      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text'
5020      if test "$GCC" = yes; then
5021	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5022      else
5023	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5024      fi
5025      runpath_var='LD_RUN_PATH'
5026      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5027      ;;
5028
5029    sysv5*)
5030      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
5031      # $CC -shared without GNU ld will not create a library from C++
5032      # object files and a static libstdc++, better avoid it by now
5033      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
5034      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
5035  		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
5036      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
5037      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5038      runpath_var='LD_RUN_PATH'
5039      ;;
5040
5041    uts4*)
5042      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5043      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5044      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5045      ;;
5046
5047    *)
5048      _LT_AC_TAGVAR(ld_shlibs, $1)=no
5049      ;;
5050    esac
5051  fi
5052])
5053AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
5054test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5055
5056variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
5057if test "$GCC" = yes; then
5058  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
5059fi
5060
5061#
5062# Do we need to explicitly link libc?
5063#
5064_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
5065if test "$enable_shared" = yes && test "$GCC" = yes; then
5066  case $_LT_AC_TAGVAR(archive_cmds, $1) in
5067  *'~'*)
5068    # FIXME: we may have to deal with multi-command sequences.
5069    ;;
5070  '$CC '*)
5071    # Test whether the compiler implicitly links with -lc since on some
5072    # systems, -lgcc has to come before -lc. If gcc already passes -lc
5073    # to ld, don't add -lc before -lgcc.
5074    AC_MSG_CHECKING([whether -lc should be explicitly linked in])
5075    $rm conftest*
5076    echo 'static int dummy;' > conftest.$ac_ext
5077
5078    if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5079      soname=conftest
5080      lib=conftest
5081      libobjs=conftest.$ac_objext
5082      deplibs=
5083      wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
5084      compiler_flags=-v
5085      linker_flags=-v
5086      verstring=
5087      output_objdir=.
5088      libname=conftest
5089      lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
5090      _LT_AC_TAGVAR(allow_undefined_flag, $1)=
5091      if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
5092      then
5093	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
5094      else
5095	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
5096      fi
5097      _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5098    else
5099      cat conftest.err 1>&5
5100    fi
5101    $rm conftest*
5102    AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
5103    ;;
5104  esac
5105fi
5106])# AC_LIBTOOL_PROG_LD_SHLIBS
5107
5108
5109# _LT_AC_FILE_LTDLL_C
5110# -------------------
5111# Be careful that the start marker always follows a newline.
5112AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
5113# /* ltdll.c starts here */
5114# #define WIN32_LEAN_AND_MEAN
5115# #include <windows.h>
5116# #undef WIN32_LEAN_AND_MEAN
5117# #include <stdio.h>
5118#
5119# #ifndef __CYGWIN__
5120# #  ifdef __CYGWIN32__
5121# #    define __CYGWIN__ __CYGWIN32__
5122# #  endif
5123# #endif
5124#
5125# #ifdef __cplusplus
5126# extern "C" {
5127# #endif
5128# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
5129# #ifdef __cplusplus
5130# }
5131# #endif
5132#
5133# #ifdef __CYGWIN__
5134# #include <cygwin/cygwin_dll.h>
5135# DECLARE_CYGWIN_DLL( DllMain );
5136# #endif
5137# HINSTANCE __hDllInstance_base;
5138#
5139# BOOL APIENTRY
5140# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
5141# {
5142#   __hDllInstance_base = hInst;
5143#   return TRUE;
5144# }
5145# /* ltdll.c ends here */
5146])# _LT_AC_FILE_LTDLL_C
5147
5148
5149# _LT_AC_FILE_IMPGEN_C
5150# --------------------
5151# Be careful that the start marker always follows a newline.
5152AC_DEFUN([_LT_AC_FILE_IMPGEN_C], [
5153# /* impgen.c starts here */
5154# /*   Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
5155#
5156#  This file is part of GNU libtool.
5157#
5158#  This program is free software; you can redistribute it and/or modify
5159#  it under the terms of the GNU General Public License as published by
5160#  the Free Software Foundation; either version 2 of the License, or
5161#  (at your option) any later version.
5162#
5163#  This program is distributed in the hope that it will be useful,
5164#  but WITHOUT ANY WARRANTY; without even the implied warranty of
5165#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5166#  GNU General Public License for more details.
5167#
5168#  You should have received a copy of the GNU General Public License
5169#  along with this program; if not, write to the Free Software
5170#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
5171#  */
5172#
5173# #include <stdio.h>		/* for printf() */
5174# #include <unistd.h>		/* for open(), lseek(), read() */
5175# #include <fcntl.h>		/* for O_RDONLY, O_BINARY */
5176# #include <string.h>		/* for strdup() */
5177#
5178# /* O_BINARY isn't required (or even defined sometimes) under Unix */
5179# #ifndef O_BINARY
5180# #define O_BINARY 0
5181# #endif
5182#
5183# static unsigned int
5184# pe_get16 (fd, offset)
5185#      int fd;
5186#      int offset;
5187# {
5188#   unsigned char b[2];
5189#   lseek (fd, offset, SEEK_SET);
5190#   read (fd, b, 2);
5191#   return b[0] + (b[1]<<8);
5192# }
5193#
5194# static unsigned int
5195# pe_get32 (fd, offset)
5196#     int fd;
5197#     int offset;
5198# {
5199#   unsigned char b[4];
5200#   lseek (fd, offset, SEEK_SET);
5201#   read (fd, b, 4);
5202#   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
5203# }
5204#
5205# static unsigned int
5206# pe_as32 (ptr)
5207#      void *ptr;
5208# {
5209#   unsigned char *b = ptr;
5210#   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
5211# }
5212#
5213# int
5214# main (argc, argv)
5215#     int argc;
5216#     char *argv[];
5217# {
5218#     int dll;
5219#     unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
5220#     unsigned long export_rva, export_size, nsections, secptr, expptr;
5221#     unsigned long name_rvas, nexp;
5222#     unsigned char *expdata, *erva;
5223#     char *filename, *dll_name;
5224#
5225#     filename = argv[1];
5226#
5227#     dll = open(filename, O_RDONLY|O_BINARY);
5228#     if (dll < 1)
5229# 	return 1;
5230#
5231#     dll_name = filename;
5232#
5233#     for (i=0; filename[i]; i++)
5234# 	if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')
5235# 	    dll_name = filename + i +1;
5236#
5237#     pe_header_offset = pe_get32 (dll, 0x3c);
5238#     opthdr_ofs = pe_header_offset + 4 + 20;
5239#     num_entries = pe_get32 (dll, opthdr_ofs + 92);
5240#
5241#     if (num_entries < 1) /* no exports */
5242# 	return 1;
5243#
5244#     export_rva = pe_get32 (dll, opthdr_ofs + 96);
5245#     export_size = pe_get32 (dll, opthdr_ofs + 100);
5246#     nsections = pe_get16 (dll, pe_header_offset + 4 +2);
5247#     secptr = (pe_header_offset + 4 + 20 +
5248# 	      pe_get16 (dll, pe_header_offset + 4 + 16));
5249#
5250#     expptr = 0;
5251#     for (i = 0; i < nsections; i++)
5252#     {
5253# 	char sname[8];
5254# 	unsigned long secptr1 = secptr + 40 * i;
5255# 	unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
5256# 	unsigned long vsize = pe_get32 (dll, secptr1 + 16);
5257# 	unsigned long fptr = pe_get32 (dll, secptr1 + 20);
5258# 	lseek(dll, secptr1, SEEK_SET);
5259# 	read(dll, sname, 8);
5260# 	if (vaddr <= export_rva && vaddr+vsize > export_rva)
5261# 	{
5262# 	    expptr = fptr + (export_rva - vaddr);
5263# 	    if (export_rva + export_size > vaddr + vsize)
5264# 		export_size = vsize - (export_rva - vaddr);
5265# 	    break;
5266# 	}
5267#     }
5268#
5269#     expdata = (unsigned char*)malloc(export_size);
5270#     lseek (dll, expptr, SEEK_SET);
5271#     read (dll, expdata, export_size);
5272#     erva = expdata - export_rva;
5273#
5274#     nexp = pe_as32 (expdata+24);
5275#     name_rvas = pe_as32 (expdata+32);
5276#
5277#     printf ("EXPORTS\n");
5278#     for (i = 0; i<nexp; i++)
5279#     {
5280# 	unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
5281# 	printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
5282#     }
5283#
5284#     return 0;
5285# }
5286# /* impgen.c ends here */
5287])# _LT_AC_FILE_IMPGEN_C
5288
5289# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
5290# ---------------------------------
5291AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
5292
5293
5294# old names
5295AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
5296AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
5297AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
5298AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
5299AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
5300AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
5301AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
5302
5303# This is just to silence aclocal about the macro not being used
5304ifelse([AC_DISABLE_FAST_INSTALL])
5305
5306AC_DEFUN([LT_AC_PROG_GCJ],
5307[AC_CHECK_TOOL(GCJ, gcj, no)
5308  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
5309  AC_SUBST(GCJFLAGS)
5310])
5311
5312AC_DEFUN([LT_AC_PROG_RC],
5313[AC_CHECK_TOOL(RC, windres, no)
5314])
5315
5316############################################################
5317# NOTE: This macro has been submitted for inclusion into   #
5318#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
5319#  a released version of Autoconf we should remove this    #
5320#  macro and use it instead.                               #
5321############################################################
5322# LT_AC_PROG_SED
5323# --------------
5324# Check for a fully-functional sed program, that truncates
5325# as few characters as possible.  Prefer GNU sed if found.
5326AC_DEFUN([LT_AC_PROG_SED],
5327[AC_MSG_CHECKING([for a sed that does not truncate output])
5328AC_CACHE_VAL(lt_cv_path_SED,
5329[# Loop through the user's path and test for sed and gsed.
5330# Then use that list of sed's as ones to test for truncation.
5331as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5332for as_dir in $PATH
5333do
5334  IFS=$as_save_IFS
5335  test -z "$as_dir" && as_dir=.
5336  for ac_prog in sed gsed; do
5337    for ac_exec_ext in '' $ac_executable_extensions; do
5338      if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
5339        _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext"
5340      fi
5341    done
5342  done
5343done
5344
5345  # Create a temporary directory, and hook for its removal unless debugging.
5346$debug ||
5347{
5348  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
5349  trap '{ (exit 1); exit 1; }' 1 2 13 15
5350}
5351
5352# Create a (secure) tmp directory for tmp files.
5353: ${TMPDIR=/tmp}
5354{
5355  tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` &&
5356  test -n "$tmp" && test -d "$tmp"
5357}  ||
5358{
5359  tmp=$TMPDIR/sed$$-$RANDOM
5360  (umask 077 && mkdir $tmp)
5361} ||
5362{
5363   echo "$me: cannot create a temporary directory in $TMPDIR" >&2
5364   { (exit 1); exit 1; }
5365}
5366  _max=0
5367  _count=0
5368  # Add /usr/xpg4/bin/sed as it is typically found on Solaris
5369  # along with /bin/sed that truncates output.
5370  for _sed in $_sed_list /usr/xpg4/bin/sed; do
5371    test ! -f ${_sed} && break
5372    cat /dev/null > "$tmp/sed.in"
5373    _count=0
5374    echo $ECHO_N "0123456789$ECHO_C" >"$tmp/sed.in"
5375    # Check for GNU sed and select it if it is found.
5376    if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then
5377      lt_cv_path_SED=${_sed}
5378      break;
5379    fi
5380    while true; do
5381      cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp"
5382      mv "$tmp/sed.tmp" "$tmp/sed.in"
5383      cp "$tmp/sed.in" "$tmp/sed.nl"
5384      echo >>"$tmp/sed.nl"
5385      ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break
5386      cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break
5387      # 10000 chars as input seems more than enough
5388      test $_count -gt 10 && break
5389      _count=`expr $_count + 1`
5390      if test $_count -gt $_max; then
5391        _max=$_count
5392        lt_cv_path_SED=$_sed
5393      fi
5394    done
5395  done
5396  rm -rf "$tmp"
5397])
5398AC_MSG_RESULT([$SED])
5399])
5400