source: trunk/third/bind/libtool.m4 @ 21744

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