• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#! /bin/sh
2
3# libtoolT - Provide generalized library-building support services.
4# Generated automatically by  (GNU cmockery 0.1.2)
5# NOTE: Changes made to this file will be lost: look at ltmain.sh.
6#
7# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
8# Free Software Foundation, Inc.
9#
10# This file is part of GNU Libtool:
11# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
12#
13# This program is free software; you can redistribute it and/or modify
14# it under the terms of the GNU General Public License as published by
15# the Free Software Foundation; either version 2 of the License, or
16# (at your option) any later version.
17#
18# This program is distributed in the hope that it will be useful, but
19# WITHOUT ANY WARRANTY; without even the implied warranty of
20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21# General Public License for more details.
22#
23# You should have received a copy of the GNU General Public License
24# along with this program; if not, write to the Free Software
25# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26#
27# As a special exception to the GNU General Public License, if you
28# distribute this file as part of a program that contains a
29# configuration script generated by Autoconf, you may include it under
30# the same distribution terms that you use for the rest of that program.
31
32# A sed program that does not truncate output.
33SED="/bin/sed"
34
35# Sed that helps us avoid accidentally triggering echo(1) options like -n.
36Xsed="/bin/sed -e 1s/^X//"
37
38# The HP-UX ksh and POSIX shell print the target directory to stdout
39# if CDPATH is set.
40(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
41
42# The names of the tagged configurations supported by this script.
43available_tags=" CXX"
44
45# ### BEGIN LIBTOOL CONFIG
46
47# Libtool was configured on host battlefront.corp.google.com:
48
49# Shell to use when invoking shell scripts.
50SHELL="/bin/sh"
51
52# Whether or not to build shared libraries.
53build_libtool_libs=yes
54
55# Whether or not to build static libraries.
56build_old_libs=yes
57
58# Whether or not to add -lc for building shared libraries.
59build_libtool_need_lc=no
60
61# Whether or not to disallow shared libs when runtime libs are static
62allow_libtool_libs_with_static_runtimes=no
63
64# Whether or not to optimize for fast installation.
65fast_install=yes
66
67# The host system.
68host_alias=
69host=x86_64-unknown-linux-gnu
70host_os=linux-gnu
71
72# The build system.
73build_alias=
74build=x86_64-unknown-linux-gnu
75build_os=linux-gnu
76
77# An echo program that does not interpret backslashes.
78echo="echo"
79
80# The archiver.
81AR="ar"
82AR_FLAGS="cru"
83
84# A C compiler.
85LTCC="gcc"
86
87# LTCC compiler flags.
88LTCFLAGS="-g -O2"
89
90# A language-specific compiler.
91CC="gcc"
92
93# Is the compiler the GNU C compiler?
94with_gcc=yes
95
96# An ERE matcher.
97EGREP="grep -E"
98
99# The linker used to build libraries.
100LD="/usr/bin/ld -m elf_i386"
101
102# Whether we need hard or soft links.
103LN_S="ln -s"
104
105# A BSD-compatible nm program.
106NM="/usr/bin/nm -B"
107
108# A symbol stripping program
109STRIP="strip"
110
111# Used to examine libraries when file_magic_cmd begins "file"
112MAGIC_CMD=file
113
114# Used on cygwin: DLL creation program.
115DLLTOOL="dlltool"
116
117# Used on cygwin: object dumper.
118OBJDUMP="objdump"
119
120# Used on cygwin: assembler.
121AS="as"
122
123# The name of the directory that contains temporary libtool files.
124objdir=.libs
125
126# How to create reloadable object files.
127reload_flag=" -r"
128reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
129
130# How to pass a linker flag through the compiler.
131wl="-Wl,"
132
133# Object file suffix (normally "o").
134objext="o"
135
136# Old archive suffix (normally "a").
137libext="a"
138
139# Shared library suffix (normally ".so").
140shrext_cmds='.so'
141
142# Executable file suffix (normally "").
143exeext=""
144
145# Additional compiler flags for building library objects.
146pic_flag=" -fPIC -DPIC"
147pic_mode=default
148
149# What is the maximum length of a command?
150max_cmd_len=131072
151
152# Does compiler simultaneously support -c and -o options?
153compiler_c_o="yes"
154
155# Must we lock files when doing compilation?
156need_locks="no"
157
158# Do we need the lib prefix for modules?
159need_lib_prefix=no
160
161# Do we need a version for libraries?
162need_version=no
163
164# Whether dlopen is supported.
165dlopen_support=unknown
166
167# Whether dlopen of programs is supported.
168dlopen_self=unknown
169
170# Whether dlopen of statically linked programs is supported.
171dlopen_self_static=unknown
172
173# Compiler flag to prevent dynamic linking.
174link_static_flag="-static"
175
176# Compiler flag to turn off builtin functions.
177no_builtin_flag=" -fno-builtin"
178
179# Compiler flag to allow reflexive dlopens.
180export_dynamic_flag_spec="\${wl}--export-dynamic"
181
182# Compiler flag to generate shared objects directly from archives.
183whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
184
185# Compiler flag to generate thread-safe objects.
186thread_safe_flag_spec=""
187
188# Library versioning type.
189version_type=linux
190
191# Format of library name prefix.
192libname_spec="lib\$name"
193
194# List of archive names.  First name is the real one, the rest are links.
195# The last name is the one that the linker finds with -lNAME.
196library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
197
198# The coded name of the library, if different from the real name.
199soname_spec="\${libname}\${release}\${shared_ext}\$major"
200
201# Commands used to build and install an old-style archive.
202RANLIB="ranlib"
203old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
204old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
205old_postuninstall_cmds=""
206
207# Create an old-style archive from a shared archive.
208old_archive_from_new_cmds=""
209
210# Create a temporary old-style archive to link instead of a shared archive.
211old_archive_from_expsyms_cmds=""
212
213# Commands used to build and install a shared archive.
214archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
215archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
216  cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
217  \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
218	  \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
219postinstall_cmds=""
220postuninstall_cmds=""
221
222# Commands used to build a loadable module (assumed same as above if empty)
223module_cmds=""
224module_expsym_cmds=""
225
226# Commands to strip libraries.
227old_striplib="strip --strip-debug"
228striplib="strip --strip-unneeded"
229
230# Dependencies to place before the objects being linked to create a
231# shared library.
232predep_objects=""
233
234# Dependencies to place after the objects being linked to create a
235# shared library.
236postdep_objects=""
237
238# Dependencies to place before the objects being linked to create a
239# shared library.
240predeps=""
241
242# Dependencies to place after the objects being linked to create a
243# shared library.
244postdeps=""
245
246# The library search path used internally by the compiler when linking
247# a shared library.
248compiler_lib_search_path=""
249
250# Method to check whether dependent libraries are shared objects.
251deplibs_check_method="pass_all"
252
253# Command to use when deplibs_check_method == file_magic.
254file_magic_cmd="\$MAGIC_CMD"
255
256# Flag that allows shared libraries with undefined symbols to be built.
257allow_undefined_flag=""
258
259# Flag that forces no undefined symbols.
260no_undefined_flag=""
261
262# Commands used to finish a libtool library installation in a directory.
263finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
264
265# Same as above, but a single script fragment to be evaled but not shown.
266finish_eval=""
267
268# Take the output of nm and produce a listing of raw symbols and C names.
269global_symbol_pipe="sed -n -e 's/^.*[ 	]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ 	][ 	]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
270
271# Transform the output of nm in a proper C declaration
272global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
273
274# Transform the output of nm in a C name address pair
275global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (lt_ptr) \\&\\2},/p'"
276
277# This is the shared library runtime path variable.
278runpath_var=LD_RUN_PATH
279
280# This is the shared library path variable.
281shlibpath_var=LD_LIBRARY_PATH
282
283# Is shlibpath searched before the hard-coded library search path?
284shlibpath_overrides_runpath=no
285
286# How to hardcode a shared library path into an executable.
287hardcode_action=immediate
288
289# Whether we should hardcode library paths into libraries.
290hardcode_into_libs=yes
291
292# Flag to hardcode $libdir into a binary during linking.
293# This must work even if $libdir does not exist.
294hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
295
296# If ld is used when linking, flag to hardcode $libdir into
297# a binary during linking. This must work even if $libdir does
298# not exist.
299hardcode_libdir_flag_spec_ld=""
300
301# Whether we need a single -rpath flag with a separated argument.
302hardcode_libdir_separator=""
303
304# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
305# resulting binary.
306hardcode_direct=no
307
308# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
309# resulting binary.
310hardcode_minus_L=no
311
312# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
313# the resulting binary.
314hardcode_shlibpath_var=unsupported
315
316# Set to yes if building a shared library automatically hardcodes DIR into the library
317# and all subsequent libraries and executables linked against it.
318hardcode_automatic=no
319
320# Variables whose values should be saved in libtool wrapper scripts and
321# restored at relink time.
322variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
323
324# Whether libtool must link a program against all its dependency libraries.
325link_all_deplibs=no
326
327# Compile-time system search path for libraries
328sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.0.3/ /usr/lib/gcc/i486-linux-gnu/4.0.3/ /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.0.3/ /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../i486-linux-gnu/lib/ /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../i486-linux-gnu/4.0.3/ /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../ /lib/i486-linux-gnu/4.0.3/ /lib/ /usr/lib/i486-linux-gnu/4.0.3/ /usr/lib/"
329
330# Run-time system search path for libraries
331sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/atlas "
332
333# Fix the shell variable $srcfile for the compiler.
334fix_srcfile_path=""
335
336# Set to yes if exported symbols are required.
337always_export_symbols=no
338
339# The commands to list exported symbols.
340export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
341
342# The commands to extract the exported symbol list from a shared archive.
343extract_expsyms_cmds=""
344
345# Symbols that should not be listed in the preloaded symbols.
346exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
347
348# Symbols that must always be exported.
349include_expsyms=""
350
351# ### END LIBTOOL CONFIG
352
353# ltmain.sh - Provide generalized library-building support services.
354# NOTE: Changing this file will not affect anything until you rerun configure.
355#
356# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
357# Free Software Foundation, Inc.
358# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
359#
360# This program is free software; you can redistribute it and/or modify
361# it under the terms of the GNU General Public License as published by
362# the Free Software Foundation; either version 2 of the License, or
363# (at your option) any later version.
364#
365# This program is distributed in the hope that it will be useful, but
366# WITHOUT ANY WARRANTY; without even the implied warranty of
367# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
368# General Public License for more details.
369#
370# You should have received a copy of the GNU General Public License
371# along with this program; if not, write to the Free Software
372# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
373#
374# As a special exception to the GNU General Public License, if you
375# distribute this file as part of a program that contains a
376# configuration script generated by Autoconf, you may include it under
377# the same distribution terms that you use for the rest of that program.
378
379basename="s,^.*/,,g"
380
381# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
382# is ksh but when the shell is invoked as "sh" and the current value of
383# the _XPG environment variable is not equal to 1 (one), the special
384# positional parameter $0, within a function call, is the name of the
385# function.
386progpath="$0"
387
388# The name of this program:
389progname=`echo "$progpath" | $SED $basename`
390modename="$progname"
391
392# Global variables:
393EXIT_SUCCESS=0
394EXIT_FAILURE=1
395
396PROGRAM=ltmain.sh
397PACKAGE=libtool
398VERSION="1.5.22 Debian 1.5.22-2"
399TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
400
401# See if we are running on zsh, and set the options which allow our
402# commands through without removal of \ escapes.
403if test -n "${ZSH_VERSION+set}" ; then
404  setopt NO_GLOB_SUBST
405fi
406
407# Check that we have a working $echo.
408if test "X$1" = X--no-reexec; then
409  # Discard the --no-reexec flag, and continue.
410  shift
411elif test "X$1" = X--fallback-echo; then
412  # Avoid inline document here, it may be left over
413  :
414elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
415  # Yippee, $echo works!
416  :
417else
418  # Restart under the correct shell, and then maybe $echo will work.
419  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
420fi
421
422if test "X$1" = X--fallback-echo; then
423  # used as fallback echo
424  shift
425  cat <<EOF
426$*
427EOF
428  exit $EXIT_SUCCESS
429fi
430
431default_mode=
432help="Try \`$progname --help' for more information."
433magic="%%%MAGIC variable%%%"
434mkdir="mkdir"
435mv="mv -f"
436rm="rm -f"
437
438# Sed substitution that helps us do robust quoting.  It backslashifies
439# metacharacters that are still active within double-quoted strings.
440Xsed="${SED}"' -e 1s/^X//'
441sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
442# test EBCDIC or ASCII
443case `echo X|tr X '\101'` in
444 A) # ASCII based system
445    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
446  SP2NL='tr \040 \012'
447  NL2SP='tr \015\012 \040\040'
448  ;;
449 *) # EBCDIC based system
450  SP2NL='tr \100 \n'
451  NL2SP='tr \r\n \100\100'
452  ;;
453esac
454
455# NLS nuisances.
456# Only set LANG and LC_ALL to C if already set.
457# These must not be set unconditionally because not all systems understand
458# e.g. LANG=C (notably SCO).
459# We save the old values to restore during execute mode.
460if test "${LC_ALL+set}" = set; then
461  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
462fi
463if test "${LANG+set}" = set; then
464  save_LANG="$LANG"; LANG=C; export LANG
465fi
466
467# Make sure IFS has a sensible default
468lt_nl='
469'
470IFS=" 	$lt_nl"
471
472if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
473  $echo "$modename: not configured to build any kind of library" 1>&2
474  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
475  exit $EXIT_FAILURE
476fi
477
478# Global variables.
479mode=$default_mode
480nonopt=
481prev=
482prevopt=
483run=
484show="$echo"
485show_help=
486execute_dlfiles=
487duplicate_deps=no
488preserve_args=
489lo2o="s/\\.lo\$/.${objext}/"
490o2lo="s/\\.${objext}\$/.lo/"
491
492#####################################
493# Shell function definitions:
494# This seems to be the best place for them
495
496# func_mktempdir [string]
497# Make a temporary directory that won't clash with other running
498# libtool processes, and avoids race conditions if possible.  If
499# given, STRING is the basename for that directory.
500func_mktempdir ()
501{
502    my_template="${TMPDIR-/tmp}/${1-$progname}"
503
504    if test "$run" = ":"; then
505      # Return a directory name, but don't create it in dry-run mode
506      my_tmpdir="${my_template}-$$"
507    else
508
509      # If mktemp works, use that first and foremost
510      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
511
512      if test ! -d "$my_tmpdir"; then
513	# Failing that, at least try and use $RANDOM to avoid a race
514	my_tmpdir="${my_template}-${RANDOM-0}$$"
515
516	save_mktempdir_umask=`umask`
517	umask 0077
518	$mkdir "$my_tmpdir"
519	umask $save_mktempdir_umask
520      fi
521
522      # If we're not in dry-run mode, bomb out on failure
523      test -d "$my_tmpdir" || {
524        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
525	exit $EXIT_FAILURE
526      }
527    fi
528
529    $echo "X$my_tmpdir" | $Xsed
530}
531
532
533# func_win32_libid arg
534# return the library type of file 'arg'
535#
536# Need a lot of goo to handle *both* DLLs and import libs
537# Has to be a shell function in order to 'eat' the argument
538# that is supplied when $file_magic_command is called.
539func_win32_libid ()
540{
541  win32_libid_type="unknown"
542  win32_fileres=`file -L $1 2>/dev/null`
543  case $win32_fileres in
544  *ar\ archive\ import\ library*) # definitely import
545    win32_libid_type="x86 archive import"
546    ;;
547  *ar\ archive*) # could be an import, or static
548    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
549      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
550      win32_nmres=`eval $NM -f posix -A $1 | \
551	$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
552      case $win32_nmres in
553      import*)  win32_libid_type="x86 archive import";;
554      *)        win32_libid_type="x86 archive static";;
555      esac
556    fi
557    ;;
558  *DLL*)
559    win32_libid_type="x86 DLL"
560    ;;
561  *executable*) # but shell scripts are "executable" too...
562    case $win32_fileres in
563    *MS\ Windows\ PE\ Intel*)
564      win32_libid_type="x86 DLL"
565      ;;
566    esac
567    ;;
568  esac
569  $echo $win32_libid_type
570}
571
572
573# func_infer_tag arg
574# Infer tagged configuration to use if any are available and
575# if one wasn't chosen via the "--tag" command line option.
576# Only attempt this if the compiler in the base compile
577# command doesn't match the default compiler.
578# arg is usually of the form 'gcc ...'
579func_infer_tag ()
580{
581    if test -n "$available_tags" && test -z "$tagname"; then
582      CC_quoted=
583      for arg in $CC; do
584	case $arg in
585	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
586	  arg="\"$arg\""
587	  ;;
588	esac
589	CC_quoted="$CC_quoted $arg"
590      done
591      case $@ in
592      # Blanks in the command may have been stripped by the calling shell,
593      # but not from the CC environment variable when configure was run.
594      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
595      # Blanks at the start of $base_compile will cause this to fail
596      # if we don't check for them as well.
597      *)
598	for z in $available_tags; do
599	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
600	    # Evaluate the configuration.
601	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
602	    CC_quoted=
603	    for arg in $CC; do
604	    # Double-quote args containing other shell metacharacters.
605	    case $arg in
606	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
607	      arg="\"$arg\""
608	      ;;
609	    esac
610	    CC_quoted="$CC_quoted $arg"
611	  done
612	    case "$@ " in
613	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
614	      # The compiler in the base compile command matches
615	      # the one in the tagged configuration.
616	      # Assume this is the tagged configuration we want.
617	      tagname=$z
618	      break
619	      ;;
620	    esac
621	  fi
622	done
623	# If $tagname still isn't set, then no tagged configuration
624	# was found and let the user know that the "--tag" command
625	# line option must be used.
626	if test -z "$tagname"; then
627	  $echo "$modename: unable to infer tagged configuration"
628	  $echo "$modename: specify a tag with \`--tag'" 1>&2
629	  exit $EXIT_FAILURE
630#        else
631#          $echo "$modename: using $tagname tagged configuration"
632	fi
633	;;
634      esac
635    fi
636}
637
638
639# func_extract_an_archive dir oldlib
640func_extract_an_archive ()
641{
642    f_ex_an_ar_dir="$1"; shift
643    f_ex_an_ar_oldlib="$1"
644
645    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
646    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
647    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
648     :
649    else
650      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
651      exit $EXIT_FAILURE
652    fi
653}
654
655# func_extract_archives gentop oldlib ...
656func_extract_archives ()
657{
658    my_gentop="$1"; shift
659    my_oldlibs=${1+"$@"}
660    my_oldobjs=""
661    my_xlib=""
662    my_xabs=""
663    my_xdir=""
664    my_status=""
665
666    $show "${rm}r $my_gentop"
667    $run ${rm}r "$my_gentop"
668    $show "$mkdir $my_gentop"
669    $run $mkdir "$my_gentop"
670    my_status=$?
671    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
672      exit $my_status
673    fi
674
675    for my_xlib in $my_oldlibs; do
676      # Extract the objects.
677      case $my_xlib in
678	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
679	*) my_xabs=`pwd`"/$my_xlib" ;;
680      esac
681      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
682      my_xdir="$my_gentop/$my_xlib"
683
684      $show "${rm}r $my_xdir"
685      $run ${rm}r "$my_xdir"
686      $show "$mkdir $my_xdir"
687      $run $mkdir "$my_xdir"
688      exit_status=$?
689      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
690	exit $exit_status
691      fi
692      case $host in
693      *-darwin*)
694	$show "Extracting $my_xabs"
695	# Do not bother doing anything if just a dry run
696	if test -z "$run"; then
697	  darwin_orig_dir=`pwd`
698	  cd $my_xdir || exit $?
699	  darwin_archive=$my_xabs
700	  darwin_curdir=`pwd`
701	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
702	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
703	  if test -n "$darwin_arches"; then
704	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
705	    darwin_arch=
706	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
707	    for darwin_arch in  $darwin_arches ; do
708	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
709	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
710	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
711	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
712	      cd "$darwin_curdir"
713	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
714	    done # $darwin_arches
715      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
716	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
717	    darwin_file=
718	    darwin_files=
719	    for darwin_file in $darwin_filelist; do
720	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
721	      lipo -create -output "$darwin_file" $darwin_files
722	    done # $darwin_filelist
723	    ${rm}r unfat-$$
724	    cd "$darwin_orig_dir"
725	  else
726	    cd "$darwin_orig_dir"
727 	    func_extract_an_archive "$my_xdir" "$my_xabs"
728	  fi # $darwin_arches
729	fi # $run
730	;;
731      *)
732        func_extract_an_archive "$my_xdir" "$my_xabs"
733        ;;
734      esac
735      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
736    done
737    func_extract_archives_result="$my_oldobjs"
738}
739# End of Shell function definitions
740#####################################
741
742# Darwin sucks
743eval std_shrext=\"$shrext_cmds\"
744
745disable_libs=no
746
747# Parse our command line options once, thoroughly.
748while test "$#" -gt 0
749do
750  arg="$1"
751  shift
752
753  case $arg in
754  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
755  *) optarg= ;;
756  esac
757
758  # If the previous option needs an argument, assign it.
759  if test -n "$prev"; then
760    case $prev in
761    execute_dlfiles)
762      execute_dlfiles="$execute_dlfiles $arg"
763      ;;
764    tag)
765      tagname="$arg"
766      preserve_args="${preserve_args}=$arg"
767
768      # Check whether tagname contains only valid characters
769      case $tagname in
770      *[!-_A-Za-z0-9,/]*)
771	$echo "$progname: invalid tag name: $tagname" 1>&2
772	exit $EXIT_FAILURE
773	;;
774      esac
775
776      case $tagname in
777      CC)
778	# Don't test for the "default" C tag, as we know, it's there, but
779	# not specially marked.
780	;;
781      *)
782	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
783	  taglist="$taglist $tagname"
784	  # Evaluate the configuration.
785	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
786	else
787	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
788	fi
789	;;
790      esac
791      ;;
792    *)
793      eval "$prev=\$arg"
794      ;;
795    esac
796
797    prev=
798    prevopt=
799    continue
800  fi
801
802  # Have we seen a non-optional argument yet?
803  case $arg in
804  --help)
805    show_help=yes
806    ;;
807
808  --version)
809    $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
810    $echo
811    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
812    $echo "This is free software; see the source for copying conditions.  There is NO"
813    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
814    exit $?
815    ;;
816
817  --config)
818    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
819    # Now print the configurations for the tags.
820    for tagname in $taglist; do
821      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
822    done
823    exit $?
824    ;;
825
826  --debug)
827    $echo "$progname: enabling shell trace mode"
828    set -x
829    preserve_args="$preserve_args $arg"
830    ;;
831
832  --dry-run | -n)
833    run=:
834    ;;
835
836  --features)
837    $echo "host: $host"
838    if test "$build_libtool_libs" = yes; then
839      $echo "enable shared libraries"
840    else
841      $echo "disable shared libraries"
842    fi
843    if test "$build_old_libs" = yes; then
844      $echo "enable static libraries"
845    else
846      $echo "disable static libraries"
847    fi
848    exit $?
849    ;;
850
851  --finish) mode="finish" ;;
852
853  --mode) prevopt="--mode" prev=mode ;;
854  --mode=*) mode="$optarg" ;;
855
856  --preserve-dup-deps) duplicate_deps="yes" ;;
857
858  --quiet | --silent)
859    show=:
860    preserve_args="$preserve_args $arg"
861    ;;
862
863  --tag)
864    prevopt="--tag"
865    prev=tag
866    preserve_args="$preserve_args --tag"
867    ;;
868  --tag=*)
869    set tag "$optarg" ${1+"$@"}
870    shift
871    prev=tag
872    preserve_args="$preserve_args --tag"
873    ;;
874
875  -dlopen)
876    prevopt="-dlopen"
877    prev=execute_dlfiles
878    ;;
879
880  -*)
881    $echo "$modename: unrecognized option \`$arg'" 1>&2
882    $echo "$help" 1>&2
883    exit $EXIT_FAILURE
884    ;;
885
886  *)
887    nonopt="$arg"
888    break
889    ;;
890  esac
891done
892
893if test -n "$prevopt"; then
894  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
895  $echo "$help" 1>&2
896  exit $EXIT_FAILURE
897fi
898
899case $disable_libs in
900no)
901  ;;
902shared)
903  build_libtool_libs=no
904  build_old_libs=yes
905  ;;
906static)
907  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
908  ;;
909esac
910
911# If this variable is set in any of the actions, the command in it
912# will be execed at the end.  This prevents here-documents from being
913# left over by shells.
914exec_cmd=
915
916if test -z "$show_help"; then
917
918  # Infer the operation mode.
919  if test -z "$mode"; then
920    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
921    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
922    case $nonopt in
923    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
924      mode=link
925      for arg
926      do
927	case $arg in
928	-c)
929	   mode=compile
930	   break
931	   ;;
932	esac
933      done
934      ;;
935    *db | *dbx | *strace | *truss)
936      mode=execute
937      ;;
938    *install*|cp|mv)
939      mode=install
940      ;;
941    *rm)
942      mode=uninstall
943      ;;
944    *)
945      # If we have no mode, but dlfiles were specified, then do execute mode.
946      test -n "$execute_dlfiles" && mode=execute
947
948      # Just use the default operation mode.
949      if test -z "$mode"; then
950	if test -n "$nonopt"; then
951	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
952	else
953	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
954	fi
955      fi
956      ;;
957    esac
958  fi
959
960  # Only execute mode is allowed to have -dlopen flags.
961  if test -n "$execute_dlfiles" && test "$mode" != execute; then
962    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
963    $echo "$help" 1>&2
964    exit $EXIT_FAILURE
965  fi
966
967  # Change the help message to a mode-specific one.
968  generic_help="$help"
969  help="Try \`$modename --help --mode=$mode' for more information."
970
971  # These modes are in order of execution frequency so that they run quickly.
972  case $mode in
973  # libtool compile mode
974  compile)
975    modename="$modename: compile"
976    # Get the compilation command and the source file.
977    base_compile=
978    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
979    suppress_opt=yes
980    suppress_output=
981    arg_mode=normal
982    libobj=
983    later=
984
985    for arg
986    do
987      case $arg_mode in
988      arg  )
989	# do not "continue".  Instead, add this to base_compile
990	lastarg="$arg"
991	arg_mode=normal
992	;;
993
994      target )
995	libobj="$arg"
996	arg_mode=normal
997	continue
998	;;
999
1000      normal )
1001	# Accept any command-line options.
1002	case $arg in
1003	-o)
1004	  if test -n "$libobj" ; then
1005	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
1006	    exit $EXIT_FAILURE
1007	  fi
1008	  arg_mode=target
1009	  continue
1010	  ;;
1011
1012	-static | -prefer-pic | -prefer-non-pic)
1013	  later="$later $arg"
1014	  continue
1015	  ;;
1016
1017	-no-suppress)
1018	  suppress_opt=no
1019	  continue
1020	  ;;
1021
1022	-Xcompiler)
1023	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
1024	  continue      #  The current "srcfile" will either be retained or
1025	  ;;            #  replaced later.  I would guess that would be a bug.
1026
1027	-Wc,*)
1028	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
1029	  lastarg=
1030	  save_ifs="$IFS"; IFS=','
1031 	  for arg in $args; do
1032	    IFS="$save_ifs"
1033
1034	    # Double-quote args containing other shell metacharacters.
1035	    # Many Bourne shells cannot handle close brackets correctly
1036	    # in scan sets, so we specify it separately.
1037	    case $arg in
1038	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
1039	      arg="\"$arg\""
1040	      ;;
1041	    esac
1042	    lastarg="$lastarg $arg"
1043	  done
1044	  IFS="$save_ifs"
1045	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
1046
1047	  # Add the arguments to base_compile.
1048	  base_compile="$base_compile $lastarg"
1049	  continue
1050	  ;;
1051
1052	* )
1053	  # Accept the current argument as the source file.
1054	  # The previous "srcfile" becomes the current argument.
1055	  #
1056	  lastarg="$srcfile"
1057	  srcfile="$arg"
1058	  ;;
1059	esac  #  case $arg
1060	;;
1061      esac    #  case $arg_mode
1062
1063      # Aesthetically quote the previous argument.
1064      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
1065
1066      case $lastarg in
1067      # Double-quote args containing other shell metacharacters.
1068      # Many Bourne shells cannot handle close brackets correctly
1069      # in scan sets, and some SunOS ksh mistreat backslash-escaping
1070      # in scan sets (worked around with variable expansion),
1071      # and furthermore cannot handle '|' '&' '(' ')' in scan sets
1072      # at all, so we specify them separately.
1073      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
1074	lastarg="\"$lastarg\""
1075	;;
1076      esac
1077
1078      base_compile="$base_compile $lastarg"
1079    done # for arg
1080
1081    case $arg_mode in
1082    arg)
1083      $echo "$modename: you must specify an argument for -Xcompile"
1084      exit $EXIT_FAILURE
1085      ;;
1086    target)
1087      $echo "$modename: you must specify a target with \`-o'" 1>&2
1088      exit $EXIT_FAILURE
1089      ;;
1090    *)
1091      # Get the name of the library object.
1092      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
1093      ;;
1094    esac
1095
1096    # Recognize several different file suffixes.
1097    # If the user specifies -o file.o, it is replaced with file.lo
1098    xform='[cCFSifmso]'
1099    case $libobj in
1100    *.ada) xform=ada ;;
1101    *.adb) xform=adb ;;
1102    *.ads) xform=ads ;;
1103    *.asm) xform=asm ;;
1104    *.c++) xform=c++ ;;
1105    *.cc) xform=cc ;;
1106    *.ii) xform=ii ;;
1107    *.class) xform=class ;;
1108    *.cpp) xform=cpp ;;
1109    *.cxx) xform=cxx ;;
1110    *.f90) xform=f90 ;;
1111    *.for) xform=for ;;
1112    *.java) xform=java ;;
1113    esac
1114
1115    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
1116
1117    case $libobj in
1118    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
1119    *)
1120      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
1121      exit $EXIT_FAILURE
1122      ;;
1123    esac
1124
1125    func_infer_tag $base_compile
1126
1127    for arg in $later; do
1128      case $arg in
1129      -static)
1130	build_old_libs=yes
1131	continue
1132	;;
1133
1134      -prefer-pic)
1135	pic_mode=yes
1136	continue
1137	;;
1138
1139      -prefer-non-pic)
1140	pic_mode=no
1141	continue
1142	;;
1143      esac
1144    done
1145
1146    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
1147    case $qlibobj in
1148      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
1149	qlibobj="\"$qlibobj\"" ;;
1150    esac
1151    test "X$libobj" != "X$qlibobj" \
1152	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
1153	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
1154    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
1155    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
1156    if test "X$xdir" = "X$obj"; then
1157      xdir=
1158    else
1159      xdir=$xdir/
1160    fi
1161    lobj=${xdir}$objdir/$objname
1162
1163    if test -z "$base_compile"; then
1164      $echo "$modename: you must specify a compilation command" 1>&2
1165      $echo "$help" 1>&2
1166      exit $EXIT_FAILURE
1167    fi
1168
1169    # Delete any leftover library objects.
1170    if test "$build_old_libs" = yes; then
1171      removelist="$obj $lobj $libobj ${libobj}T"
1172    else
1173      removelist="$lobj $libobj ${libobj}T"
1174    fi
1175
1176    $run $rm $removelist
1177    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
1178
1179    # On Cygwin there's no "real" PIC flag so we must build both object types
1180    case $host_os in
1181    cygwin* | mingw* | pw32* | os2*)
1182      pic_mode=default
1183      ;;
1184    esac
1185    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
1186      # non-PIC code in shared libraries is not supported
1187      pic_mode=default
1188    fi
1189
1190    # Calculate the filename of the output object if compiler does
1191    # not support -o with -c
1192    if test "$compiler_c_o" = no; then
1193      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
1194      lockfile="$output_obj.lock"
1195      removelist="$removelist $output_obj $lockfile"
1196      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
1197    else
1198      output_obj=
1199      need_locks=no
1200      lockfile=
1201    fi
1202
1203    # Lock this critical section if it is needed
1204    # We use this script file to make the link, it avoids creating a new file
1205    if test "$need_locks" = yes; then
1206      until $run ln "$progpath" "$lockfile" 2>/dev/null; do
1207	$show "Waiting for $lockfile to be removed"
1208	sleep 2
1209      done
1210    elif test "$need_locks" = warn; then
1211      if test -f "$lockfile"; then
1212	$echo "\
1213*** ERROR, $lockfile exists and contains:
1214`cat $lockfile 2>/dev/null`
1215
1216This indicates that another process is trying to use the same
1217temporary object file, and libtool could not work around it because
1218your compiler does not support \`-c' and \`-o' together.  If you
1219repeat this compilation, it may succeed, by chance, but you had better
1220avoid parallel builds (make -j) in this platform, or get a better
1221compiler."
1222
1223	$run $rm $removelist
1224	exit $EXIT_FAILURE
1225      fi
1226      $echo "$srcfile" > "$lockfile"
1227    fi
1228
1229    if test -n "$fix_srcfile_path"; then
1230      eval srcfile=\"$fix_srcfile_path\"
1231    fi
1232    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
1233    case $qsrcfile in
1234      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
1235      qsrcfile="\"$qsrcfile\"" ;;
1236    esac
1237
1238    $run $rm "$libobj" "${libobj}T"
1239
1240    # Create a libtool object file (analogous to a ".la" file),
1241    # but don't create it if we're doing a dry run.
1242    test -z "$run" && cat > ${libobj}T <<EOF
1243# $libobj - a libtool object file
1244# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
1245#
1246# Please DO NOT delete this file!
1247# It is necessary for linking the library.
1248
1249# Name of the PIC object.
1250EOF
1251
1252    # Only build a PIC object if we are building libtool libraries.
1253    if test "$build_libtool_libs" = yes; then
1254      # Without this assignment, base_compile gets emptied.
1255      fbsd_hideous_sh_bug=$base_compile
1256
1257      if test "$pic_mode" != no; then
1258	command="$base_compile $qsrcfile $pic_flag"
1259      else
1260	# Don't build PIC code
1261	command="$base_compile $qsrcfile"
1262      fi
1263
1264      if test ! -d "${xdir}$objdir"; then
1265	$show "$mkdir ${xdir}$objdir"
1266	$run $mkdir ${xdir}$objdir
1267	exit_status=$?
1268	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
1269	  exit $exit_status
1270	fi
1271      fi
1272
1273      if test -z "$output_obj"; then
1274	# Place PIC objects in $objdir
1275	command="$command -o $lobj"
1276      fi
1277
1278      $run $rm "$lobj" "$output_obj"
1279
1280      $show "$command"
1281      if $run eval "$command"; then :
1282      else
1283	test -n "$output_obj" && $run $rm $removelist
1284	exit $EXIT_FAILURE
1285      fi
1286
1287      if test "$need_locks" = warn &&
1288	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1289	$echo "\
1290*** ERROR, $lockfile contains:
1291`cat $lockfile 2>/dev/null`
1292
1293but it should contain:
1294$srcfile
1295
1296This indicates that another process is trying to use the same
1297temporary object file, and libtool could not work around it because
1298your compiler does not support \`-c' and \`-o' together.  If you
1299repeat this compilation, it may succeed, by chance, but you had better
1300avoid parallel builds (make -j) in this platform, or get a better
1301compiler."
1302
1303	$run $rm $removelist
1304	exit $EXIT_FAILURE
1305      fi
1306
1307      # Just move the object if needed, then go on to compile the next one
1308      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
1309	$show "$mv $output_obj $lobj"
1310	if $run $mv $output_obj $lobj; then :
1311	else
1312	  error=$?
1313	  $run $rm $removelist
1314	  exit $error
1315	fi
1316      fi
1317
1318      # Append the name of the PIC object to the libtool object file.
1319      test -z "$run" && cat >> ${libobj}T <<EOF
1320pic_object='$objdir/$objname'
1321
1322EOF
1323
1324      # Allow error messages only from the first compilation.
1325      if test "$suppress_opt" = yes; then
1326        suppress_output=' >/dev/null 2>&1'
1327      fi
1328    else
1329      # No PIC object so indicate it doesn't exist in the libtool
1330      # object file.
1331      test -z "$run" && cat >> ${libobj}T <<EOF
1332pic_object=none
1333
1334EOF
1335    fi
1336
1337    # Only build a position-dependent object if we build old libraries.
1338    if test "$build_old_libs" = yes; then
1339      if test "$pic_mode" != yes; then
1340	# Don't build PIC code
1341	command="$base_compile $qsrcfile"
1342      else
1343	command="$base_compile $qsrcfile $pic_flag"
1344      fi
1345      if test "$compiler_c_o" = yes; then
1346	command="$command -o $obj"
1347      fi
1348
1349      # Suppress compiler output if we already did a PIC compilation.
1350      command="$command$suppress_output"
1351      $run $rm "$obj" "$output_obj"
1352      $show "$command"
1353      if $run eval "$command"; then :
1354      else
1355	$run $rm $removelist
1356	exit $EXIT_FAILURE
1357      fi
1358
1359      if test "$need_locks" = warn &&
1360	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1361	$echo "\
1362*** ERROR, $lockfile contains:
1363`cat $lockfile 2>/dev/null`
1364
1365but it should contain:
1366$srcfile
1367
1368This indicates that another process is trying to use the same
1369temporary object file, and libtool could not work around it because
1370your compiler does not support \`-c' and \`-o' together.  If you
1371repeat this compilation, it may succeed, by chance, but you had better
1372avoid parallel builds (make -j) in this platform, or get a better
1373compiler."
1374
1375	$run $rm $removelist
1376	exit $EXIT_FAILURE
1377      fi
1378
1379      # Just move the object if needed
1380      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
1381	$show "$mv $output_obj $obj"
1382	if $run $mv $output_obj $obj; then :
1383	else
1384	  error=$?
1385	  $run $rm $removelist
1386	  exit $error
1387	fi
1388      fi
1389
1390      # Append the name of the non-PIC object the libtool object file.
1391      # Only append if the libtool object file exists.
1392      test -z "$run" && cat >> ${libobj}T <<EOF
1393# Name of the non-PIC object.
1394non_pic_object='$objname'
1395
1396EOF
1397    else
1398      # Append the name of the non-PIC object the libtool object file.
1399      # Only append if the libtool object file exists.
1400      test -z "$run" && cat >> ${libobj}T <<EOF
1401# Name of the non-PIC object.
1402non_pic_object=none
1403
1404EOF
1405    fi
1406
1407    $run $mv "${libobj}T" "${libobj}"
1408
1409    # Unlock the critical section if it was locked
1410    if test "$need_locks" != no; then
1411      $run $rm "$lockfile"
1412    fi
1413
1414    exit $EXIT_SUCCESS
1415    ;;
1416
1417  # libtool link mode
1418  link | relink)
1419    modename="$modename: link"
1420    case $host in
1421    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1422      # It is impossible to link a dll without this setting, and
1423      # we shouldn't force the makefile maintainer to figure out
1424      # which system we are compiling for in order to pass an extra
1425      # flag for every libtool invocation.
1426      # allow_undefined=no
1427
1428      # FIXME: Unfortunately, there are problems with the above when trying
1429      # to make a dll which has undefined symbols, in which case not
1430      # even a static library is built.  For now, we need to specify
1431      # -no-undefined on the libtool link line when we can be certain
1432      # that all symbols are satisfied, otherwise we get a static library.
1433      allow_undefined=yes
1434      ;;
1435    *)
1436      allow_undefined=yes
1437      ;;
1438    esac
1439    libtool_args="$nonopt"
1440    base_compile="$nonopt $@"
1441    compile_command="$nonopt"
1442    finalize_command="$nonopt"
1443
1444    compile_rpath=
1445    finalize_rpath=
1446    compile_shlibpath=
1447    finalize_shlibpath=
1448    convenience=
1449    old_convenience=
1450    deplibs=
1451    old_deplibs=
1452    compiler_flags=
1453    linker_flags=
1454    dllsearchpath=
1455    lib_search_path=`pwd`
1456    inst_prefix_dir=
1457
1458    avoid_version=no
1459    dlfiles=
1460    dlprefiles=
1461    dlself=no
1462    export_dynamic=no
1463    export_symbols=
1464    export_symbols_regex=
1465    generated=
1466    libobjs=
1467    ltlibs=
1468    module=no
1469    no_install=no
1470    objs=
1471    non_pic_objects=
1472    notinst_path= # paths that contain not-installed libtool libraries
1473    precious_files_regex=
1474    prefer_static_libs=no
1475    preload=no
1476    prev=
1477    prevarg=
1478    release=
1479    rpath=
1480    xrpath=
1481    perm_rpath=
1482    temp_rpath=
1483    thread_safe=no
1484    vinfo=
1485    vinfo_number=no
1486
1487    func_infer_tag $base_compile
1488
1489    # We need to know -static, to get the right output filenames.
1490    for arg
1491    do
1492      case $arg in
1493      -all-static | -static)
1494	if test "X$arg" = "X-all-static"; then
1495	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
1496	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
1497	  fi
1498	  if test -n "$link_static_flag"; then
1499	    dlopen_self=$dlopen_self_static
1500	  fi
1501	  prefer_static_libs=yes
1502	else
1503	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
1504	    dlopen_self=$dlopen_self_static
1505	  fi
1506	  prefer_static_libs=built
1507	fi
1508	build_libtool_libs=no
1509	build_old_libs=yes
1510	break
1511	;;
1512      esac
1513    done
1514
1515    # See if our shared archives depend on static archives.
1516    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
1517
1518    # Go through the arguments, transforming them on the way.
1519    while test "$#" -gt 0; do
1520      arg="$1"
1521      shift
1522      case $arg in
1523      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
1524	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
1525	;;
1526      *) qarg=$arg ;;
1527      esac
1528      libtool_args="$libtool_args $qarg"
1529
1530      # If the previous option needs an argument, assign it.
1531      if test -n "$prev"; then
1532	case $prev in
1533	output)
1534	  compile_command="$compile_command @OUTPUT@"
1535	  finalize_command="$finalize_command @OUTPUT@"
1536	  ;;
1537	esac
1538
1539	case $prev in
1540	dlfiles|dlprefiles)
1541	  if test "$preload" = no; then
1542	    # Add the symbol object into the linking commands.
1543	    compile_command="$compile_command @SYMFILE@"
1544	    finalize_command="$finalize_command @SYMFILE@"
1545	    preload=yes
1546	  fi
1547	  case $arg in
1548	  *.la | *.lo) ;;  # We handle these cases below.
1549	  force)
1550	    if test "$dlself" = no; then
1551	      dlself=needless
1552	      export_dynamic=yes
1553	    fi
1554	    prev=
1555	    continue
1556	    ;;
1557	  self)
1558	    if test "$prev" = dlprefiles; then
1559	      dlself=yes
1560	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
1561	      dlself=yes
1562	    else
1563	      dlself=needless
1564	      export_dynamic=yes
1565	    fi
1566	    prev=
1567	    continue
1568	    ;;
1569	  *)
1570	    if test "$prev" = dlfiles; then
1571	      dlfiles="$dlfiles $arg"
1572	    else
1573	      dlprefiles="$dlprefiles $arg"
1574	    fi
1575	    prev=
1576	    continue
1577	    ;;
1578	  esac
1579	  ;;
1580	expsyms)
1581	  export_symbols="$arg"
1582	  if test ! -f "$arg"; then
1583	    $echo "$modename: symbol file \`$arg' does not exist"
1584	    exit $EXIT_FAILURE
1585	  fi
1586	  prev=
1587	  continue
1588	  ;;
1589	expsyms_regex)
1590	  export_symbols_regex="$arg"
1591	  prev=
1592	  continue
1593	  ;;
1594	inst_prefix)
1595	  inst_prefix_dir="$arg"
1596	  prev=
1597	  continue
1598	  ;;
1599	precious_regex)
1600	  precious_files_regex="$arg"
1601	  prev=
1602	  continue
1603	  ;;
1604	release)
1605	  release="-$arg"
1606	  prev=
1607	  continue
1608	  ;;
1609	objectlist)
1610	  if test -f "$arg"; then
1611	    save_arg=$arg
1612	    moreargs=
1613	    for fil in `cat $save_arg`
1614	    do
1615#	      moreargs="$moreargs $fil"
1616	      arg=$fil
1617	      # A libtool-controlled object.
1618
1619	      # Check to see that this really is a libtool object.
1620	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1621		pic_object=
1622		non_pic_object=
1623
1624		# Read the .lo file
1625		# If there is no directory component, then add one.
1626		case $arg in
1627		*/* | *\\*) . $arg ;;
1628		*) . ./$arg ;;
1629		esac
1630
1631		if test -z "$pic_object" || \
1632		   test -z "$non_pic_object" ||
1633		   test "$pic_object" = none && \
1634		   test "$non_pic_object" = none; then
1635		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
1636		  exit $EXIT_FAILURE
1637		fi
1638
1639		# Extract subdirectory from the argument.
1640		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1641		if test "X$xdir" = "X$arg"; then
1642		  xdir=
1643		else
1644		  xdir="$xdir/"
1645		fi
1646
1647		if test "$pic_object" != none; then
1648		  # Prepend the subdirectory the object is found in.
1649		  pic_object="$xdir$pic_object"
1650
1651		  if test "$prev" = dlfiles; then
1652		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
1653		      dlfiles="$dlfiles $pic_object"
1654		      prev=
1655		      continue
1656		    else
1657		      # If libtool objects are unsupported, then we need to preload.
1658		      prev=dlprefiles
1659		    fi
1660		  fi
1661
1662		  # CHECK ME:  I think I busted this.  -Ossama
1663		  if test "$prev" = dlprefiles; then
1664		    # Preload the old-style object.
1665		    dlprefiles="$dlprefiles $pic_object"
1666		    prev=
1667		  fi
1668
1669		  # A PIC object.
1670		  libobjs="$libobjs $pic_object"
1671		  arg="$pic_object"
1672		fi
1673
1674		# Non-PIC object.
1675		if test "$non_pic_object" != none; then
1676		  # Prepend the subdirectory the object is found in.
1677		  non_pic_object="$xdir$non_pic_object"
1678
1679		  # A standard non-PIC object
1680		  non_pic_objects="$non_pic_objects $non_pic_object"
1681		  if test -z "$pic_object" || test "$pic_object" = none ; then
1682		    arg="$non_pic_object"
1683		  fi
1684		else
1685		  # If the PIC object exists, use it instead.
1686		  # $xdir was prepended to $pic_object above.
1687		  non_pic_object="$pic_object"
1688		  non_pic_objects="$non_pic_objects $non_pic_object"
1689		fi
1690	      else
1691		# Only an error if not doing a dry-run.
1692		if test -z "$run"; then
1693		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
1694		  exit $EXIT_FAILURE
1695		else
1696		  # Dry-run case.
1697
1698		  # Extract subdirectory from the argument.
1699		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1700		  if test "X$xdir" = "X$arg"; then
1701		    xdir=
1702		  else
1703		    xdir="$xdir/"
1704		  fi
1705
1706		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
1707		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
1708		  libobjs="$libobjs $pic_object"
1709		  non_pic_objects="$non_pic_objects $non_pic_object"
1710		fi
1711	      fi
1712	    done
1713	  else
1714	    $echo "$modename: link input file \`$save_arg' does not exist"
1715	    exit $EXIT_FAILURE
1716	  fi
1717	  arg=$save_arg
1718	  prev=
1719	  continue
1720	  ;;
1721	rpath | xrpath)
1722	  # We need an absolute path.
1723	  case $arg in
1724	  [\\/]* | [A-Za-z]:[\\/]*) ;;
1725	  *)
1726	    $echo "$modename: only absolute run-paths are allowed" 1>&2
1727	    exit $EXIT_FAILURE
1728	    ;;
1729	  esac
1730	  if test "$prev" = rpath; then
1731	    case "$rpath " in
1732	    *" $arg "*) ;;
1733	    *) rpath="$rpath $arg" ;;
1734	    esac
1735	  else
1736	    case "$xrpath " in
1737	    *" $arg "*) ;;
1738	    *) xrpath="$xrpath $arg" ;;
1739	    esac
1740	  fi
1741	  prev=
1742	  continue
1743	  ;;
1744	xcompiler)
1745	  compiler_flags="$compiler_flags $qarg"
1746	  prev=
1747	  compile_command="$compile_command $qarg"
1748	  finalize_command="$finalize_command $qarg"
1749	  continue
1750	  ;;
1751	xlinker)
1752	  linker_flags="$linker_flags $qarg"
1753	  compiler_flags="$compiler_flags $wl$qarg"
1754	  prev=
1755	  compile_command="$compile_command $wl$qarg"
1756	  finalize_command="$finalize_command $wl$qarg"
1757	  continue
1758	  ;;
1759	xcclinker)
1760	  linker_flags="$linker_flags $qarg"
1761	  compiler_flags="$compiler_flags $qarg"
1762	  prev=
1763	  compile_command="$compile_command $qarg"
1764	  finalize_command="$finalize_command $qarg"
1765	  continue
1766	  ;;
1767	shrext)
1768  	  shrext_cmds="$arg"
1769	  prev=
1770	  continue
1771	  ;;
1772	darwin_framework|darwin_framework_skip)
1773	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
1774	  compile_command="$compile_command $arg"
1775	  finalize_command="$finalize_command $arg"
1776	  prev=
1777	  continue
1778	  ;;
1779	*)
1780	  eval "$prev=\"\$arg\""
1781	  prev=
1782	  continue
1783	  ;;
1784	esac
1785      fi # test -n "$prev"
1786
1787      prevarg="$arg"
1788
1789      case $arg in
1790      -all-static)
1791	if test -n "$link_static_flag"; then
1792	  compile_command="$compile_command $link_static_flag"
1793	  finalize_command="$finalize_command $link_static_flag"
1794	fi
1795	continue
1796	;;
1797
1798      -allow-undefined)
1799	# FIXME: remove this flag sometime in the future.
1800	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
1801	continue
1802	;;
1803
1804      -avoid-version)
1805	avoid_version=yes
1806	continue
1807	;;
1808
1809      -dlopen)
1810	prev=dlfiles
1811	continue
1812	;;
1813
1814      -dlpreopen)
1815	prev=dlprefiles
1816	continue
1817	;;
1818
1819      -export-dynamic)
1820	export_dynamic=yes
1821	continue
1822	;;
1823
1824      -export-symbols | -export-symbols-regex)
1825	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
1826	  $echo "$modename: more than one -exported-symbols argument is not allowed"
1827	  exit $EXIT_FAILURE
1828	fi
1829	if test "X$arg" = "X-export-symbols"; then
1830	  prev=expsyms
1831	else
1832	  prev=expsyms_regex
1833	fi
1834	continue
1835	;;
1836
1837      -framework|-arch|-isysroot)
1838	case " $CC " in
1839	  *" ${arg} ${1} "* | *" ${arg}	${1} "*)
1840		prev=darwin_framework_skip ;;
1841	  *) compiler_flags="$compiler_flags $arg"
1842	     prev=darwin_framework ;;
1843	esac
1844	compile_command="$compile_command $arg"
1845	finalize_command="$finalize_command $arg"
1846	continue
1847	;;
1848
1849      -inst-prefix-dir)
1850	prev=inst_prefix
1851	continue
1852	;;
1853
1854      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
1855      # so, if we see these flags be careful not to treat them like -L
1856      -L[A-Z][A-Z]*:*)
1857	case $with_gcc/$host in
1858	no/*-*-irix* | /*-*-irix*)
1859	  compile_command="$compile_command $arg"
1860	  finalize_command="$finalize_command $arg"
1861	  ;;
1862	esac
1863	continue
1864	;;
1865
1866      -L*)
1867	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
1868	# We need an absolute path.
1869	case $dir in
1870	[\\/]* | [A-Za-z]:[\\/]*) ;;
1871	*)
1872	  absdir=`cd "$dir" && pwd`
1873	  if test -z "$absdir"; then
1874	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
1875	    absdir="$dir"
1876	    notinst_path="$notinst_path $dir"
1877	  fi
1878	  dir="$absdir"
1879	  ;;
1880	esac
1881	case "$deplibs " in
1882	*" -L$dir "*) ;;
1883	*)
1884	  deplibs="$deplibs -L$dir"
1885	  lib_search_path="$lib_search_path $dir"
1886	  ;;
1887	esac
1888	case $host in
1889	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1890	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
1891	  case :$dllsearchpath: in
1892	  *":$dir:"*) ;;
1893	  *) dllsearchpath="$dllsearchpath:$dir";;
1894	  esac
1895	  case :$dllsearchpath: in
1896	  *":$testbindir:"*) ;;
1897	  *) dllsearchpath="$dllsearchpath:$testbindir";;
1898	  esac
1899	  ;;
1900	esac
1901	continue
1902	;;
1903
1904      -l*)
1905	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
1906	  case $host in
1907	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
1908	    # These systems don't actually have a C or math library (as such)
1909	    continue
1910	    ;;
1911	  *-*-os2*)
1912	    # These systems don't actually have a C library (as such)
1913	    test "X$arg" = "X-lc" && continue
1914	    ;;
1915	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
1916	    # Do not include libc due to us having libc/libc_r.
1917	    test "X$arg" = "X-lc" && continue
1918	    ;;
1919	  *-*-rhapsody* | *-*-darwin1.[012])
1920	    # Rhapsody C and math libraries are in the System framework
1921	    deplibs="$deplibs -framework System"
1922	    continue
1923	    ;;
1924	  *-*-sco3.2v5* | *-*-sco5v6*)
1925	    # Causes problems with __ctype
1926	    test "X$arg" = "X-lc" && continue
1927	    ;;
1928	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
1929	    # Compiler inserts libc in the correct place for threads to work
1930	    test "X$arg" = "X-lc" && continue
1931	    ;;
1932	  esac
1933	elif test "X$arg" = "X-lc_r"; then
1934	 case $host in
1935	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
1936	   # Do not include libc_r directly, use -pthread flag.
1937	   continue
1938	   ;;
1939	 esac
1940	fi
1941	deplibs="$deplibs $arg"
1942	continue
1943	;;
1944
1945      # Tru64 UNIX uses -model [arg] to determine the layout of C++
1946      # classes, name mangling, and exception handling.
1947      -model)
1948	compile_command="$compile_command $arg"
1949	compiler_flags="$compiler_flags $arg"
1950	finalize_command="$finalize_command $arg"
1951	prev=xcompiler
1952	continue
1953	;;
1954
1955     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
1956	compiler_flags="$compiler_flags $arg"
1957	compile_command="$compile_command $arg"
1958	finalize_command="$finalize_command $arg"
1959	continue
1960	;;
1961
1962      -module)
1963	module=yes
1964	continue
1965	;;
1966
1967      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
1968      # -r[0-9][0-9]* specifies the processor on the SGI compiler
1969      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
1970      # +DA*, +DD* enable 64-bit mode on the HP compiler
1971      # -q* pass through compiler args for the IBM compiler
1972      # -m* pass through architecture-specific compiler args for GCC
1973      # -m*, -t[45]*, -txscale* pass through architecture-specific
1974      # compiler args for GCC
1975      # -pg pass through profiling flag for GCC
1976      # @file GCC response files
1977      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
1978      -t[45]*|-txscale*|@*)
1979
1980	# Unknown arguments in both finalize_command and compile_command need
1981	# to be aesthetically quoted because they are evaled later.
1982	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1983	case $arg in
1984	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
1985	  arg="\"$arg\""
1986	  ;;
1987	esac
1988        compile_command="$compile_command $arg"
1989        finalize_command="$finalize_command $arg"
1990        compiler_flags="$compiler_flags $arg"
1991        continue
1992        ;;
1993
1994      -shrext)
1995	prev=shrext
1996	continue
1997	;;
1998
1999      -no-fast-install)
2000	fast_install=no
2001	continue
2002	;;
2003
2004      -no-install)
2005	case $host in
2006	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
2007	  # The PATH hackery in wrapper scripts is required on Windows
2008	  # in order for the loader to find any dlls it needs.
2009	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
2010	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
2011	  fast_install=no
2012	  ;;
2013	*) no_install=yes ;;
2014	esac
2015	continue
2016	;;
2017
2018      -no-undefined)
2019	allow_undefined=no
2020	continue
2021	;;
2022
2023      -objectlist)
2024	prev=objectlist
2025	continue
2026	;;
2027
2028      -o) prev=output ;;
2029
2030      -precious-files-regex)
2031	prev=precious_regex
2032	continue
2033	;;
2034
2035      -release)
2036	prev=release
2037	continue
2038	;;
2039
2040      -rpath)
2041	prev=rpath
2042	continue
2043	;;
2044
2045      -R)
2046	prev=xrpath
2047	continue
2048	;;
2049
2050      -R*)
2051	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
2052	# We need an absolute path.
2053	case $dir in
2054	[\\/]* | [A-Za-z]:[\\/]*) ;;
2055	*)
2056	  $echo "$modename: only absolute run-paths are allowed" 1>&2
2057	  exit $EXIT_FAILURE
2058	  ;;
2059	esac
2060	case "$xrpath " in
2061	*" $dir "*) ;;
2062	*) xrpath="$xrpath $dir" ;;
2063	esac
2064	continue
2065	;;
2066
2067      -static)
2068	# The effects of -static are defined in a previous loop.
2069	# We used to do the same as -all-static on platforms that
2070	# didn't have a PIC flag, but the assumption that the effects
2071	# would be equivalent was wrong.  It would break on at least
2072	# Digital Unix and AIX.
2073	continue
2074	;;
2075
2076      -thread-safe)
2077	thread_safe=yes
2078	continue
2079	;;
2080
2081      -version-info)
2082	prev=vinfo
2083	continue
2084	;;
2085      -version-number)
2086	prev=vinfo
2087	vinfo_number=yes
2088	continue
2089	;;
2090
2091      -Wc,*)
2092	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
2093	arg=
2094	save_ifs="$IFS"; IFS=','
2095	for flag in $args; do
2096	  IFS="$save_ifs"
2097	  case $flag in
2098	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
2099	    flag="\"$flag\""
2100	    ;;
2101	  esac
2102	  arg="$arg $wl$flag"
2103	  compiler_flags="$compiler_flags $flag"
2104	done
2105	IFS="$save_ifs"
2106	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
2107	;;
2108
2109      -Wl,*)
2110	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
2111	arg=
2112	save_ifs="$IFS"; IFS=','
2113	for flag in $args; do
2114	  IFS="$save_ifs"
2115	  case $flag in
2116	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
2117	    flag="\"$flag\""
2118	    ;;
2119	  esac
2120	  arg="$arg $wl$flag"
2121	  compiler_flags="$compiler_flags $wl$flag"
2122	  linker_flags="$linker_flags $flag"
2123	done
2124	IFS="$save_ifs"
2125	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
2126	;;
2127
2128      -Xcompiler)
2129	prev=xcompiler
2130	continue
2131	;;
2132
2133      -Xlinker)
2134	prev=xlinker
2135	continue
2136	;;
2137
2138      -XCClinker)
2139	prev=xcclinker
2140	continue
2141	;;
2142
2143      # Some other compiler flag.
2144      -* | +*)
2145	# Unknown arguments in both finalize_command and compile_command need
2146	# to be aesthetically quoted because they are evaled later.
2147	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
2148	case $arg in
2149	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
2150	  arg="\"$arg\""
2151	  ;;
2152	esac
2153	;;
2154
2155      *.$objext)
2156	# A standard object.
2157	objs="$objs $arg"
2158	;;
2159
2160      *.lo)
2161	# A libtool-controlled object.
2162
2163	# Check to see that this really is a libtool object.
2164	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
2165	  pic_object=
2166	  non_pic_object=
2167
2168	  # Read the .lo file
2169	  # If there is no directory component, then add one.
2170	  case $arg in
2171	  */* | *\\*) . $arg ;;
2172	  *) . ./$arg ;;
2173	  esac
2174
2175	  if test -z "$pic_object" || \
2176	     test -z "$non_pic_object" ||
2177	     test "$pic_object" = none && \
2178	     test "$non_pic_object" = none; then
2179	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
2180	    exit $EXIT_FAILURE
2181	  fi
2182
2183	  # Extract subdirectory from the argument.
2184	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
2185	  if test "X$xdir" = "X$arg"; then
2186	    xdir=
2187 	  else
2188	    xdir="$xdir/"
2189	  fi
2190
2191	  if test "$pic_object" != none; then
2192	    # Prepend the subdirectory the object is found in.
2193	    pic_object="$xdir$pic_object"
2194
2195	    if test "$prev" = dlfiles; then
2196	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
2197		dlfiles="$dlfiles $pic_object"
2198		prev=
2199		continue
2200	      else
2201		# If libtool objects are unsupported, then we need to preload.
2202		prev=dlprefiles
2203	      fi
2204	    fi
2205
2206	    # CHECK ME:  I think I busted this.  -Ossama
2207	    if test "$prev" = dlprefiles; then
2208	      # Preload the old-style object.
2209	      dlprefiles="$dlprefiles $pic_object"
2210	      prev=
2211	    fi
2212
2213	    # A PIC object.
2214	    libobjs="$libobjs $pic_object"
2215	    arg="$pic_object"
2216	  fi
2217
2218	  # Non-PIC object.
2219	  if test "$non_pic_object" != none; then
2220	    # Prepend the subdirectory the object is found in.
2221	    non_pic_object="$xdir$non_pic_object"
2222
2223	    # A standard non-PIC object
2224	    non_pic_objects="$non_pic_objects $non_pic_object"
2225	    if test -z "$pic_object" || test "$pic_object" = none ; then
2226	      arg="$non_pic_object"
2227	    fi
2228	  else
2229	    # If the PIC object exists, use it instead.
2230	    # $xdir was prepended to $pic_object above.
2231	    non_pic_object="$pic_object"
2232	    non_pic_objects="$non_pic_objects $non_pic_object"
2233	  fi
2234	else
2235	  # Only an error if not doing a dry-run.
2236	  if test -z "$run"; then
2237	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
2238	    exit $EXIT_FAILURE
2239	  else
2240	    # Dry-run case.
2241
2242	    # Extract subdirectory from the argument.
2243	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
2244	    if test "X$xdir" = "X$arg"; then
2245	      xdir=
2246	    else
2247	      xdir="$xdir/"
2248	    fi
2249
2250	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
2251	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
2252	    libobjs="$libobjs $pic_object"
2253	    non_pic_objects="$non_pic_objects $non_pic_object"
2254	  fi
2255	fi
2256	;;
2257
2258      *.$libext)
2259	# An archive.
2260	deplibs="$deplibs $arg"
2261	old_deplibs="$old_deplibs $arg"
2262	continue
2263	;;
2264
2265      *.la)
2266	# A libtool-controlled library.
2267
2268	if test "$prev" = dlfiles; then
2269	  # This library was specified with -dlopen.
2270	  dlfiles="$dlfiles $arg"
2271	  prev=
2272	elif test "$prev" = dlprefiles; then
2273	  # The library was specified with -dlpreopen.
2274	  dlprefiles="$dlprefiles $arg"
2275	  prev=
2276	else
2277	  deplibs="$deplibs $arg"
2278	fi
2279	continue
2280	;;
2281
2282      # Some other compiler argument.
2283      *)
2284	# Unknown arguments in both finalize_command and compile_command need
2285	# to be aesthetically quoted because they are evaled later.
2286	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
2287	case $arg in
2288	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
2289	  arg="\"$arg\""
2290	  ;;
2291	esac
2292	;;
2293      esac # arg
2294
2295      # Now actually substitute the argument into the commands.
2296      if test -n "$arg"; then
2297	compile_command="$compile_command $arg"
2298	finalize_command="$finalize_command $arg"
2299      fi
2300    done # argument parsing loop
2301
2302    if test -n "$prev"; then
2303      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
2304      $echo "$help" 1>&2
2305      exit $EXIT_FAILURE
2306    fi
2307
2308    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
2309      eval arg=\"$export_dynamic_flag_spec\"
2310      compile_command="$compile_command $arg"
2311      finalize_command="$finalize_command $arg"
2312    fi
2313
2314    oldlibs=
2315    # calculate the name of the file, without its directory
2316    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
2317    libobjs_save="$libobjs"
2318
2319    if test -n "$shlibpath_var"; then
2320      # get the directories listed in $shlibpath_var
2321      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
2322    else
2323      shlib_search_path=
2324    fi
2325    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
2326    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
2327
2328    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
2329    if test "X$output_objdir" = "X$output"; then
2330      output_objdir="$objdir"
2331    else
2332      output_objdir="$output_objdir/$objdir"
2333    fi
2334    # Create the object directory.
2335    if test ! -d "$output_objdir"; then
2336      $show "$mkdir $output_objdir"
2337      $run $mkdir $output_objdir
2338      exit_status=$?
2339      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
2340	exit $exit_status
2341      fi
2342    fi
2343
2344    # Determine the type of output
2345    case $output in
2346    "")
2347      $echo "$modename: you must specify an output file" 1>&2
2348      $echo "$help" 1>&2
2349      exit $EXIT_FAILURE
2350      ;;
2351    *.$libext) linkmode=oldlib ;;
2352    *.lo | *.$objext) linkmode=obj ;;
2353    *.la) linkmode=lib ;;
2354    *) linkmode=prog ;; # Anything else should be a program.
2355    esac
2356
2357    case $host in
2358    *cygwin* | *mingw* | *pw32*)
2359      # don't eliminate duplications in $postdeps and $predeps
2360      duplicate_compiler_generated_deps=yes
2361      ;;
2362    *)
2363      duplicate_compiler_generated_deps=$duplicate_deps
2364      ;;
2365    esac
2366    specialdeplibs=
2367
2368    libs=
2369    # Find all interdependent deplibs by searching for libraries
2370    # that are linked more than once (e.g. -la -lb -la)
2371    for deplib in $deplibs; do
2372      if test "X$duplicate_deps" = "Xyes" ; then
2373	case "$libs " in
2374	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
2375	esac
2376      fi
2377      libs="$libs $deplib"
2378    done
2379
2380    if test "$linkmode" = lib; then
2381      libs="$predeps $libs $compiler_lib_search_path $postdeps"
2382
2383      # Compute libraries that are listed more than once in $predeps
2384      # $postdeps and mark them as special (i.e., whose duplicates are
2385      # not to be eliminated).
2386      pre_post_deps=
2387      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
2388	for pre_post_dep in $predeps $postdeps; do
2389	  case "$pre_post_deps " in
2390	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
2391	  esac
2392	  pre_post_deps="$pre_post_deps $pre_post_dep"
2393	done
2394      fi
2395      pre_post_deps=
2396    fi
2397
2398    deplibs=
2399    newdependency_libs=
2400    newlib_search_path=
2401    need_relink=no # whether we're linking any uninstalled libtool libraries
2402    notinst_deplibs= # not-installed libtool libraries
2403    case $linkmode in
2404    lib)
2405	passes="conv link"
2406	for file in $dlfiles $dlprefiles; do
2407	  case $file in
2408	  *.la) ;;
2409	  *)
2410	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
2411	    exit $EXIT_FAILURE
2412	    ;;
2413	  esac
2414	done
2415	;;
2416    prog)
2417	compile_deplibs=
2418	finalize_deplibs=
2419	alldeplibs=no
2420	newdlfiles=
2421	newdlprefiles=
2422	passes="conv scan dlopen dlpreopen link"
2423	;;
2424    *)  passes="conv"
2425	;;
2426    esac
2427    for pass in $passes; do
2428      if test "$linkmode,$pass" = "lib,link" ||
2429	 test "$linkmode,$pass" = "prog,scan"; then
2430	libs="$deplibs"
2431	deplibs=
2432      fi
2433      if test "$linkmode" = prog; then
2434	case $pass in
2435	dlopen) libs="$dlfiles" ;;
2436	dlpreopen) libs="$dlprefiles" ;;
2437	link)
2438	  libs="$deplibs %DEPLIBS%"
2439	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
2440	  ;;
2441	esac
2442      fi
2443      if test "$pass" = dlopen; then
2444	# Collect dlpreopened libraries
2445	save_deplibs="$deplibs"
2446	deplibs=
2447      fi
2448      for deplib in $libs; do
2449	lib=
2450	found=no
2451	case $deplib in
2452	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
2453	  if test "$linkmode,$pass" = "prog,link"; then
2454	    compile_deplibs="$deplib $compile_deplibs"
2455	    finalize_deplibs="$deplib $finalize_deplibs"
2456	  else
2457	    compiler_flags="$compiler_flags $deplib"
2458	  fi
2459	  continue
2460	  ;;
2461	-l*)
2462	  if test "$linkmode" != lib && test "$linkmode" != prog; then
2463	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
2464	    continue
2465	  fi
2466	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
2467	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
2468	    for search_ext in .la $std_shrext .so .a; do
2469	      # Search the libtool library
2470	      lib="$searchdir/lib${name}${search_ext}"
2471	      if test -f "$lib"; then
2472		if test "$search_ext" = ".la"; then
2473		  found=yes
2474		else
2475		  found=no
2476		fi
2477		break 2
2478	      fi
2479	    done
2480	  done
2481	  if test "$found" != yes; then
2482	    # deplib doesn't seem to be a libtool library
2483	    if test "$linkmode,$pass" = "prog,link"; then
2484	      compile_deplibs="$deplib $compile_deplibs"
2485	      finalize_deplibs="$deplib $finalize_deplibs"
2486	    else
2487	      deplibs="$deplib $deplibs"
2488	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
2489	    fi
2490	    continue
2491	  else # deplib is a libtool library
2492	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
2493	    # We need to do some special things here, and not later.
2494	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
2495	      case " $predeps $postdeps " in
2496	      *" $deplib "*)
2497		if (${SED} -e '2q' $lib |
2498                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
2499		  library_names=
2500		  old_library=
2501		  case $lib in
2502		  */* | *\\*) . $lib ;;
2503		  *) . ./$lib ;;
2504		  esac
2505		  for l in $old_library $library_names; do
2506		    ll="$l"
2507		  done
2508		  if test "X$ll" = "X$old_library" ; then # only static version available
2509		    found=no
2510		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
2511		    test "X$ladir" = "X$lib" && ladir="."
2512		    lib=$ladir/$old_library
2513		    if test "$linkmode,$pass" = "prog,link"; then
2514		      compile_deplibs="$deplib $compile_deplibs"
2515		      finalize_deplibs="$deplib $finalize_deplibs"
2516		    else
2517		      deplibs="$deplib $deplibs"
2518		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
2519		    fi
2520		    continue
2521		  fi
2522		fi
2523	        ;;
2524	      *) ;;
2525	      esac
2526	    fi
2527	  fi
2528	  ;; # -l
2529	-L*)
2530	  case $linkmode in
2531	  lib)
2532	    deplibs="$deplib $deplibs"
2533	    test "$pass" = conv && continue
2534	    newdependency_libs="$deplib $newdependency_libs"
2535	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
2536	    ;;
2537	  prog)
2538	    if test "$pass" = conv; then
2539	      deplibs="$deplib $deplibs"
2540	      continue
2541	    fi
2542	    if test "$pass" = scan; then
2543	      deplibs="$deplib $deplibs"
2544	    else
2545	      compile_deplibs="$deplib $compile_deplibs"
2546	      finalize_deplibs="$deplib $finalize_deplibs"
2547	    fi
2548	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
2549	    ;;
2550	  *)
2551	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
2552	    ;;
2553	  esac # linkmode
2554	  continue
2555	  ;; # -L
2556	-R*)
2557	  if test "$pass" = link; then
2558	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
2559	    # Make sure the xrpath contains only unique directories.
2560	    case "$xrpath " in
2561	    *" $dir "*) ;;
2562	    *) xrpath="$xrpath $dir" ;;
2563	    esac
2564	  fi
2565	  deplibs="$deplib $deplibs"
2566	  continue
2567	  ;;
2568	*.la) lib="$deplib" ;;
2569	*.$libext)
2570	  if test "$pass" = conv; then
2571	    deplibs="$deplib $deplibs"
2572	    continue
2573	  fi
2574	  case $linkmode in
2575	  lib)
2576	    valid_a_lib=no
2577	    case $deplibs_check_method in
2578	      match_pattern*)
2579		set dummy $deplibs_check_method
2580	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
2581		if eval $echo \"$deplib\" 2>/dev/null \
2582		    | $SED 10q \
2583		    | $EGREP "$match_pattern_regex" > /dev/null; then
2584		  valid_a_lib=yes
2585		fi
2586		;;
2587	      pass_all)
2588		valid_a_lib=yes
2589		;;
2590            esac
2591	    if test "$valid_a_lib" != yes; then
2592	      $echo
2593	      $echo "*** Warning: Trying to link with static lib archive $deplib."
2594	      $echo "*** I have the capability to make that library automatically link in when"
2595	      $echo "*** you link to this library.  But I can only do this if you have a"
2596	      $echo "*** shared version of the library, which you do not appear to have"
2597	      $echo "*** because the file extensions .$libext of this argument makes me believe"
2598	      $echo "*** that it is just a static archive that I should not used here."
2599	    else
2600	      $echo
2601	      $echo "*** Warning: Linking the shared library $output against the"
2602	      $echo "*** static library $deplib is not portable!"
2603	      deplibs="$deplib $deplibs"
2604	    fi
2605	    continue
2606	    ;;
2607	  prog)
2608	    if test "$pass" != link; then
2609	      deplibs="$deplib $deplibs"
2610	    else
2611	      compile_deplibs="$deplib $compile_deplibs"
2612	      finalize_deplibs="$deplib $finalize_deplibs"
2613	    fi
2614	    continue
2615	    ;;
2616	  esac # linkmode
2617	  ;; # *.$libext
2618	*.lo | *.$objext)
2619	  if test "$pass" = conv; then
2620	    deplibs="$deplib $deplibs"
2621	  elif test "$linkmode" = prog; then
2622	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
2623	      # If there is no dlopen support or we're linking statically,
2624	      # we need to preload.
2625	      newdlprefiles="$newdlprefiles $deplib"
2626	      compile_deplibs="$deplib $compile_deplibs"
2627	      finalize_deplibs="$deplib $finalize_deplibs"
2628	    else
2629	      newdlfiles="$newdlfiles $deplib"
2630	    fi
2631	  fi
2632	  continue
2633	  ;;
2634	%DEPLIBS%)
2635	  alldeplibs=yes
2636	  continue
2637	  ;;
2638	esac # case $deplib
2639	if test "$found" = yes || test -f "$lib"; then :
2640	else
2641	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
2642	  exit $EXIT_FAILURE
2643	fi
2644
2645	# Check to see that this really is a libtool archive.
2646	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
2647	else
2648	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
2649	  exit $EXIT_FAILURE
2650	fi
2651
2652	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
2653	test "X$ladir" = "X$lib" && ladir="."
2654
2655	dlname=
2656	dlopen=
2657	dlpreopen=
2658	libdir=
2659	library_names=
2660	old_library=
2661	# If the library was installed with an old release of libtool,
2662	# it will not redefine variables installed, or shouldnotlink
2663	installed=yes
2664	shouldnotlink=no
2665	avoidtemprpath=
2666
2667
2668	# Read the .la file
2669	case $lib in
2670	*/* | *\\*) . $lib ;;
2671	*) . ./$lib ;;
2672	esac
2673
2674	if test "$linkmode,$pass" = "lib,link" ||
2675	   test "$linkmode,$pass" = "prog,scan" ||
2676	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
2677	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
2678	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
2679	fi
2680
2681	if test "$pass" = conv; then
2682	  # Only check for convenience libraries
2683	  deplibs="$lib $deplibs"
2684	  if test -z "$libdir"; then
2685	    if test -z "$old_library"; then
2686	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
2687	      exit $EXIT_FAILURE
2688	    fi
2689	    # It is a libtool convenience library, so add in its objects.
2690	    convenience="$convenience $ladir/$objdir/$old_library"
2691	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
2692	    tmp_libs=
2693	    for deplib in $dependency_libs; do
2694	      deplibs="$deplib $deplibs"
2695              if test "X$duplicate_deps" = "Xyes" ; then
2696	        case "$tmp_libs " in
2697	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
2698	        esac
2699              fi
2700	      tmp_libs="$tmp_libs $deplib"
2701	    done
2702	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
2703	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
2704	    exit $EXIT_FAILURE
2705	  fi
2706	  continue
2707	fi # $pass = conv
2708
2709
2710	# Get the name of the library we link against.
2711	linklib=
2712	for l in $old_library $library_names; do
2713	  linklib="$l"
2714	done
2715	if test -z "$linklib"; then
2716	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
2717	  exit $EXIT_FAILURE
2718	fi
2719
2720	# This library was specified with -dlopen.
2721	if test "$pass" = dlopen; then
2722	  if test -z "$libdir"; then
2723	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
2724	    exit $EXIT_FAILURE
2725	  fi
2726	  if test -z "$dlname" ||
2727	     test "$dlopen_support" != yes ||
2728	     test "$build_libtool_libs" = no; then
2729	    # If there is no dlname, no dlopen support or we're linking
2730	    # statically, we need to preload.  We also need to preload any
2731	    # dependent libraries so libltdl's deplib preloader doesn't
2732	    # bomb out in the load deplibs phase.
2733	    dlprefiles="$dlprefiles $lib $dependency_libs"
2734	  else
2735	    newdlfiles="$newdlfiles $lib"
2736	  fi
2737	  continue
2738	fi # $pass = dlopen
2739
2740	# We need an absolute path.
2741	case $ladir in
2742	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
2743	*)
2744	  abs_ladir=`cd "$ladir" && pwd`
2745	  if test -z "$abs_ladir"; then
2746	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
2747	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
2748	    abs_ladir="$ladir"
2749	  fi
2750	  ;;
2751	esac
2752	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
2753
2754	# Find the relevant object directory and library name.
2755	if test "X$installed" = Xyes; then
2756	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
2757	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
2758	    dir="$ladir"
2759	    absdir="$abs_ladir"
2760	    libdir="$abs_ladir"
2761	  else
2762	    dir="$libdir"
2763	    absdir="$libdir"
2764	  fi
2765	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
2766	else
2767	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
2768	    dir="$ladir"
2769	    absdir="$abs_ladir"
2770	    # Remove this search path later
2771	    notinst_path="$notinst_path $abs_ladir"
2772	  else
2773	    dir="$ladir/$objdir"
2774	    absdir="$abs_ladir/$objdir"
2775	    # Remove this search path later
2776	    notinst_path="$notinst_path $abs_ladir"
2777	  fi
2778	fi # $installed = yes
2779	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
2780
2781	# This library was specified with -dlpreopen.
2782	if test "$pass" = dlpreopen; then
2783	  if test -z "$libdir"; then
2784	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
2785	    exit $EXIT_FAILURE
2786	  fi
2787	  # Prefer using a static library (so that no silly _DYNAMIC symbols
2788	  # are required to link).
2789	  if test -n "$old_library"; then
2790	    newdlprefiles="$newdlprefiles $dir/$old_library"
2791	  # Otherwise, use the dlname, so that lt_dlopen finds it.
2792	  elif test -n "$dlname"; then
2793	    newdlprefiles="$newdlprefiles $dir/$dlname"
2794	  else
2795	    newdlprefiles="$newdlprefiles $dir/$linklib"
2796	  fi
2797	fi # $pass = dlpreopen
2798
2799	if test -z "$libdir"; then
2800	  # Link the convenience library
2801	  if test "$linkmode" = lib; then
2802	    deplibs="$dir/$old_library $deplibs"
2803	  elif test "$linkmode,$pass" = "prog,link"; then
2804	    compile_deplibs="$dir/$old_library $compile_deplibs"
2805	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
2806	  else
2807	    deplibs="$lib $deplibs" # used for prog,scan pass
2808	  fi
2809	  continue
2810	fi
2811
2812
2813	if test "$linkmode" = prog && test "$pass" != link; then
2814	  newlib_search_path="$newlib_search_path $ladir"
2815	  deplibs="$lib $deplibs"
2816
2817	  linkalldeplibs=no
2818	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
2819	     test "$build_libtool_libs" = no; then
2820	    linkalldeplibs=yes
2821	  fi
2822
2823	  tmp_libs=
2824	  for deplib in $dependency_libs; do
2825	    case $deplib in
2826	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
2827	    esac
2828	    # Need to link against all dependency_libs?
2829	    if test "$linkalldeplibs" = yes; then
2830	      deplibs="$deplib $deplibs"
2831	    else
2832	      # Need to hardcode shared library paths
2833	      # or/and link against static libraries
2834	      newdependency_libs="$deplib $newdependency_libs"
2835	    fi
2836	    if test "X$duplicate_deps" = "Xyes" ; then
2837	      case "$tmp_libs " in
2838	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
2839	      esac
2840	    fi
2841	    tmp_libs="$tmp_libs $deplib"
2842	  done # for deplib
2843	  continue
2844	fi # $linkmode = prog...
2845
2846	if test "$linkmode,$pass" = "prog,link"; then
2847	  if test -n "$library_names" &&
2848	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
2849	    # We need to hardcode the library path
2850	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
2851	      # Make sure the rpath contains only unique directories.
2852	      case "$temp_rpath " in
2853	      *" $dir "*) ;;
2854	      *" $absdir "*) ;;
2855	      *) temp_rpath="$temp_rpath $absdir" ;;
2856	      esac
2857	    fi
2858
2859	    # Hardcode the library path.
2860	    # Skip directories that are in the system default run-time
2861	    # search path.
2862	    case " $sys_lib_dlsearch_path " in
2863	    *" $absdir "*) ;;
2864	    *)
2865	      case "$compile_rpath " in
2866	      *" $absdir "*) ;;
2867	      *) compile_rpath="$compile_rpath $absdir"
2868	      esac
2869	      ;;
2870	    esac
2871	    case " $sys_lib_dlsearch_path " in
2872	    *" $libdir "*) ;;
2873	    *)
2874	      case "$finalize_rpath " in
2875	      *" $libdir "*) ;;
2876	      *) finalize_rpath="$finalize_rpath $libdir"
2877	      esac
2878	      ;;
2879	    esac
2880	  fi # $linkmode,$pass = prog,link...
2881
2882	  if test "$alldeplibs" = yes &&
2883	     { test "$deplibs_check_method" = pass_all ||
2884	       { test "$build_libtool_libs" = yes &&
2885		 test -n "$library_names"; }; }; then
2886	    # We only need to search for static libraries
2887	    continue
2888	  fi
2889	fi
2890
2891	link_static=no # Whether the deplib will be linked statically
2892	use_static_libs=$prefer_static_libs
2893	if test "$use_static_libs" = built && test "$installed" = yes ; then
2894	  use_static_libs=no
2895	fi
2896	if test -n "$library_names" &&
2897	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
2898	  if test "$installed" = no; then
2899	    notinst_deplibs="$notinst_deplibs $lib"
2900	    need_relink=yes
2901	  fi
2902	  # This is a shared library
2903
2904	  # Warn about portability, can't link against -module's on
2905	  # some systems (darwin)
2906	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
2907	    $echo
2908	    if test "$linkmode" = prog; then
2909	      $echo "*** Warning: Linking the executable $output against the loadable module"
2910	    else
2911	      $echo "*** Warning: Linking the shared library $output against the loadable module"
2912	    fi
2913	    $echo "*** $linklib is not portable!"
2914	  fi
2915	  if test "$linkmode" = lib &&
2916	     test "$hardcode_into_libs" = yes; then
2917	    # Hardcode the library path.
2918	    # Skip directories that are in the system default run-time
2919	    # search path.
2920	    case " $sys_lib_dlsearch_path " in
2921	    *" $absdir "*) ;;
2922	    *)
2923	      case "$compile_rpath " in
2924	      *" $absdir "*) ;;
2925	      *) compile_rpath="$compile_rpath $absdir"
2926	      esac
2927	      ;;
2928	    esac
2929	    case " $sys_lib_dlsearch_path " in
2930	    *" $libdir "*) ;;
2931	    *)
2932	      case "$finalize_rpath " in
2933	      *" $libdir "*) ;;
2934	      *) finalize_rpath="$finalize_rpath $libdir"
2935	      esac
2936	      ;;
2937	    esac
2938	  fi
2939
2940	  if test -n "$old_archive_from_expsyms_cmds"; then
2941	    # figure out the soname
2942	    set dummy $library_names
2943	    realname="$2"
2944	    shift; shift
2945	    libname=`eval \\$echo \"$libname_spec\"`
2946	    # use dlname if we got it. it's perfectly good, no?
2947	    if test -n "$dlname"; then
2948	      soname="$dlname"
2949	    elif test -n "$soname_spec"; then
2950	      # bleh windows
2951	      case $host in
2952	      *cygwin* | mingw*)
2953		major=`expr $current - $age`
2954		versuffix="-$major"
2955		;;
2956	      esac
2957	      eval soname=\"$soname_spec\"
2958	    else
2959	      soname="$realname"
2960	    fi
2961
2962	    # Make a new name for the extract_expsyms_cmds to use
2963	    soroot="$soname"
2964	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
2965	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
2966
2967	    # If the library has no export list, then create one now
2968	    if test -f "$output_objdir/$soname-def"; then :
2969	    else
2970	      $show "extracting exported symbol list from \`$soname'"
2971	      save_ifs="$IFS"; IFS='~'
2972	      cmds=$extract_expsyms_cmds
2973	      for cmd in $cmds; do
2974		IFS="$save_ifs"
2975		eval cmd=\"$cmd\"
2976		$show "$cmd"
2977		$run eval "$cmd" || exit $?
2978	      done
2979	      IFS="$save_ifs"
2980	    fi
2981
2982	    # Create $newlib
2983	    if test -f "$output_objdir/$newlib"; then :; else
2984	      $show "generating import library for \`$soname'"
2985	      save_ifs="$IFS"; IFS='~'
2986	      cmds=$old_archive_from_expsyms_cmds
2987	      for cmd in $cmds; do
2988		IFS="$save_ifs"
2989		eval cmd=\"$cmd\"
2990		$show "$cmd"
2991		$run eval "$cmd" || exit $?
2992	      done
2993	      IFS="$save_ifs"
2994	    fi
2995	    # make sure the library variables are pointing to the new library
2996	    dir=$output_objdir
2997	    linklib=$newlib
2998	  fi # test -n "$old_archive_from_expsyms_cmds"
2999
3000	  if test "$linkmode" = prog || test "$mode" != relink; then
3001	    add_shlibpath=
3002	    add_dir=
3003	    add=
3004	    lib_linked=yes
3005	    case $hardcode_action in
3006	    immediate | unsupported)
3007	      if test "$hardcode_direct" = no; then
3008		add="$dir/$linklib"
3009		case $host in
3010		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
3011		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
3012		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
3013		    *-*-unixware7*) add_dir="-L$dir" ;;
3014		  *-*-darwin* )
3015		    # if the lib is a module then we can not link against
3016		    # it, someone is ignoring the new warnings I added
3017		    if /usr/bin/file -L $add 2> /dev/null |
3018                      $EGREP ": [^:]* bundle" >/dev/null ; then
3019		      $echo "** Warning, lib $linklib is a module, not a shared library"
3020		      if test -z "$old_library" ; then
3021		        $echo
3022		        $echo "** And there doesn't seem to be a static archive available"
3023		        $echo "** The link will probably fail, sorry"
3024		      else
3025		        add="$dir/$old_library"
3026		      fi
3027		    fi
3028		esac
3029	      elif test "$hardcode_minus_L" = no; then
3030		case $host in
3031		*-*-sunos*) add_shlibpath="$dir" ;;
3032		esac
3033		add_dir="-L$dir"
3034		add="-l$name"
3035	      elif test "$hardcode_shlibpath_var" = no; then
3036		add_shlibpath="$dir"
3037		add="-l$name"
3038	      else
3039		lib_linked=no
3040	      fi
3041	      ;;
3042	    relink)
3043	      if test "$hardcode_direct" = yes; then
3044		add="$dir/$linklib"
3045	      elif test "$hardcode_minus_L" = yes; then
3046		add_dir="-L$dir"
3047		# Try looking first in the location we're being installed to.
3048		if test -n "$inst_prefix_dir"; then
3049		  case $libdir in
3050		    [\\/]*)
3051		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
3052		      ;;
3053		  esac
3054		fi
3055		add="-l$name"
3056	      elif test "$hardcode_shlibpath_var" = yes; then
3057		add_shlibpath="$dir"
3058		add="-l$name"
3059	      else
3060		lib_linked=no
3061	      fi
3062	      ;;
3063	    *) lib_linked=no ;;
3064	    esac
3065
3066	    if test "$lib_linked" != yes; then
3067	      $echo "$modename: configuration error: unsupported hardcode properties"
3068	      exit $EXIT_FAILURE
3069	    fi
3070
3071	    if test -n "$add_shlibpath"; then
3072	      case :$compile_shlibpath: in
3073	      *":$add_shlibpath:"*) ;;
3074	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
3075	      esac
3076	    fi
3077	    if test "$linkmode" = prog; then
3078	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
3079	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
3080	    else
3081	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
3082	      test -n "$add" && deplibs="$add $deplibs"
3083	      if test "$hardcode_direct" != yes && \
3084		 test "$hardcode_minus_L" != yes && \
3085		 test "$hardcode_shlibpath_var" = yes; then
3086		case :$finalize_shlibpath: in
3087		*":$libdir:"*) ;;
3088		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
3089		esac
3090	      fi
3091	    fi
3092	  fi
3093
3094	  if test "$linkmode" = prog || test "$mode" = relink; then
3095	    add_shlibpath=
3096	    add_dir=
3097	    add=
3098	    # Finalize command for both is simple: just hardcode it.
3099	    if test "$hardcode_direct" = yes; then
3100	      add="$libdir/$linklib"
3101	    elif test "$hardcode_minus_L" = yes; then
3102	      add_dir="-L$libdir"
3103	      add="-l$name"
3104	    elif test "$hardcode_shlibpath_var" = yes; then
3105	      case :$finalize_shlibpath: in
3106	      *":$libdir:"*) ;;
3107	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
3108	      esac
3109	      add="-l$name"
3110	    elif test "$hardcode_automatic" = yes; then
3111	      if test -n "$inst_prefix_dir" &&
3112		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
3113	        add="$inst_prefix_dir$libdir/$linklib"
3114	      else
3115	        add="$libdir/$linklib"
3116	      fi
3117	    else
3118	      # We cannot seem to hardcode it, guess we'll fake it.
3119	      add_dir="-L$libdir"
3120	      # Try looking first in the location we're being installed to.
3121	      if test -n "$inst_prefix_dir"; then
3122		case $libdir in
3123		  [\\/]*)
3124		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
3125		    ;;
3126		esac
3127	      fi
3128	      add="-l$name"
3129	    fi
3130
3131	    if test "$linkmode" = prog; then
3132	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
3133	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
3134	    else
3135	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
3136	      test -n "$add" && deplibs="$add $deplibs"
3137	    fi
3138	  fi
3139	elif test "$linkmode" = prog; then
3140	  # Here we assume that one of hardcode_direct or hardcode_minus_L
3141	  # is not unsupported.  This is valid on all known static and
3142	  # shared platforms.
3143	  if test "$hardcode_direct" != unsupported; then
3144	    test -n "$old_library" && linklib="$old_library"
3145	    compile_deplibs="$dir/$linklib $compile_deplibs"
3146	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
3147	  else
3148	    compile_deplibs="-l$name -L$dir $compile_deplibs"
3149	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
3150	  fi
3151	elif test "$build_libtool_libs" = yes; then
3152	  # Not a shared library
3153	  if test "$deplibs_check_method" != pass_all; then
3154	    # We're trying link a shared library against a static one
3155	    # but the system doesn't support it.
3156
3157	    # Just print a warning and add the library to dependency_libs so
3158	    # that the program can be linked against the static library.
3159	    $echo
3160	    $echo "*** Warning: This system can not link to static lib archive $lib."
3161	    $echo "*** I have the capability to make that library automatically link in when"
3162	    $echo "*** you link to this library.  But I can only do this if you have a"
3163	    $echo "*** shared version of the library, which you do not appear to have."
3164	    if test "$module" = yes; then
3165	      $echo "*** But as you try to build a module library, libtool will still create "
3166	      $echo "*** a static module, that should work as long as the dlopening application"
3167	      $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
3168	      if test -z "$global_symbol_pipe"; then
3169		$echo
3170		$echo "*** However, this would only work if libtool was able to extract symbol"
3171		$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
3172		$echo "*** not find such a program.  So, this module is probably useless."
3173		$echo "*** \`nm' from GNU binutils and a full rebuild may help."
3174	      fi
3175	      if test "$build_old_libs" = no; then
3176		build_libtool_libs=module
3177		build_old_libs=yes
3178	      else
3179		build_libtool_libs=no
3180	      fi
3181	    fi
3182	  else
3183	    deplibs="$dir/$old_library $deplibs"
3184	    link_static=yes
3185	  fi
3186	fi # link shared/static library?
3187
3188	if test "$linkmode" = lib; then
3189	  if test -n "$dependency_libs" &&
3190	     { test "$hardcode_into_libs" != yes ||
3191	       test "$build_old_libs" = yes ||
3192	       test "$link_static" = yes; }; then
3193	    # Extract -R from dependency_libs
3194	    temp_deplibs=
3195	    for libdir in $dependency_libs; do
3196	      case $libdir in
3197	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
3198		   case " $xrpath " in
3199		   *" $temp_xrpath "*) ;;
3200		   *) xrpath="$xrpath $temp_xrpath";;
3201		   esac;;
3202	      *) temp_deplibs="$temp_deplibs $libdir";;
3203	      esac
3204	    done
3205	    dependency_libs="$temp_deplibs"
3206	  fi
3207
3208	  newlib_search_path="$newlib_search_path $absdir"
3209	  # Link against this library
3210	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
3211	  # ... and its dependency_libs
3212	  tmp_libs=
3213	  for deplib in $dependency_libs; do
3214	    newdependency_libs="$deplib $newdependency_libs"
3215	    if test "X$duplicate_deps" = "Xyes" ; then
3216	      case "$tmp_libs " in
3217	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
3218	      esac
3219	    fi
3220	    tmp_libs="$tmp_libs $deplib"
3221	  done
3222
3223	  if test "$link_all_deplibs" != no; then
3224	    # Add the search paths of all dependency libraries
3225	    for deplib in $dependency_libs; do
3226	      case $deplib in
3227	      -L*) path="$deplib" ;;
3228	      *.la)
3229		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
3230		test "X$dir" = "X$deplib" && dir="."
3231		# We need an absolute path.
3232		case $dir in
3233		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
3234		*)
3235		  absdir=`cd "$dir" && pwd`
3236		  if test -z "$absdir"; then
3237		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
3238		    absdir="$dir"
3239		  fi
3240		  ;;
3241		esac
3242		if grep "^installed=no" $deplib > /dev/null; then
3243		  path="$absdir/$objdir"
3244		else
3245		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
3246		  if test -z "$libdir"; then
3247		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
3248		    exit $EXIT_FAILURE
3249		  fi
3250		  if test "$absdir" != "$libdir"; then
3251		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
3252		  fi
3253		  path="$absdir"
3254		fi
3255		depdepl=
3256		case $host in
3257		*-*-darwin*)
3258		  # we do not want to link against static libs,
3259		  # but need to link against shared
3260		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
3261		  if test -n "$deplibrary_names" ; then
3262		    for tmp in $deplibrary_names ; do
3263		      depdepl=$tmp
3264		    done
3265		    if test -f "$path/$depdepl" ; then
3266		      depdepl="$path/$depdepl"
3267		    fi
3268		    # do not add paths which are already there
3269		    case " $newlib_search_path " in
3270		    *" $path "*) ;;
3271		    *) newlib_search_path="$newlib_search_path $path";;
3272		    esac
3273		  fi
3274		  path=""
3275		  ;;
3276		*)
3277		  path="-L$path"
3278		  ;;
3279		esac
3280		;;
3281	      -l*)
3282		case $host in
3283		*-*-darwin*)
3284		  # Again, we only want to link against shared libraries
3285		  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
3286		  for tmp in $newlib_search_path ; do
3287		    if test -f "$tmp/lib$tmp_libs.dylib" ; then
3288		      eval depdepl="$tmp/lib$tmp_libs.dylib"
3289		      break
3290		    fi
3291		  done
3292		  path=""
3293		  ;;
3294		*) continue ;;
3295		esac
3296		;;
3297	      *) continue ;;
3298	      esac
3299	      case " $deplibs " in
3300	      *" $path "*) ;;
3301	      *) deplibs="$path $deplibs" ;;
3302	      esac
3303	      case " $deplibs " in
3304	      *" $depdepl "*) ;;
3305	      *) deplibs="$depdepl $deplibs" ;;
3306	      esac
3307	    done
3308	  fi # link_all_deplibs != no
3309	fi # linkmode = lib
3310      done # for deplib in $libs
3311      dependency_libs="$newdependency_libs"
3312      if test "$pass" = dlpreopen; then
3313	# Link the dlpreopened libraries before other libraries
3314	for deplib in $save_deplibs; do
3315	  deplibs="$deplib $deplibs"
3316	done
3317      fi
3318      if test "$pass" != dlopen; then
3319	if test "$pass" != conv; then
3320	  # Make sure lib_search_path contains only unique directories.
3321	  lib_search_path=
3322	  for dir in $newlib_search_path; do
3323	    case "$lib_search_path " in
3324	    *" $dir "*) ;;
3325	    *) lib_search_path="$lib_search_path $dir" ;;
3326	    esac
3327	  done
3328	  newlib_search_path=
3329	fi
3330
3331	if test "$linkmode,$pass" != "prog,link"; then
3332	  vars="deplibs"
3333	else
3334	  vars="compile_deplibs finalize_deplibs"
3335	fi
3336	for var in $vars dependency_libs; do
3337	  # Add libraries to $var in reverse order
3338	  eval tmp_libs=\"\$$var\"
3339	  new_libs=
3340	  for deplib in $tmp_libs; do
3341	    # FIXME: Pedantically, this is the right thing to do, so
3342	    #        that some nasty dependency loop isn't accidentally
3343	    #        broken:
3344	    #new_libs="$deplib $new_libs"
3345	    # Pragmatically, this seems to cause very few problems in
3346	    # practice:
3347	    case $deplib in
3348	    -L*) new_libs="$deplib $new_libs" ;;
3349	    -R*) ;;
3350	    *)
3351	      # And here is the reason: when a library appears more
3352	      # than once as an explicit dependence of a library, or
3353	      # is implicitly linked in more than once by the
3354	      # compiler, it is considered special, and multiple
3355	      # occurrences thereof are not removed.  Compare this
3356	      # with having the same library being listed as a
3357	      # dependency of multiple other libraries: in this case,
3358	      # we know (pedantically, we assume) the library does not
3359	      # need to be listed more than once, so we keep only the
3360	      # last copy.  This is not always right, but it is rare
3361	      # enough that we require users that really mean to play
3362	      # such unportable linking tricks to link the library
3363	      # using -Wl,-lname, so that libtool does not consider it
3364	      # for duplicate removal.
3365	      case " $specialdeplibs " in
3366	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
3367	      *)
3368		case " $new_libs " in
3369		*" $deplib "*) ;;
3370		*) new_libs="$deplib $new_libs" ;;
3371		esac
3372		;;
3373	      esac
3374	      ;;
3375	    esac
3376	  done
3377	  tmp_libs=
3378	  for deplib in $new_libs; do
3379	    case $deplib in
3380	    -L*)
3381	      case " $tmp_libs " in
3382	      *" $deplib "*) ;;
3383	      *) tmp_libs="$tmp_libs $deplib" ;;
3384	      esac
3385	      ;;
3386	    *) tmp_libs="$tmp_libs $deplib" ;;
3387	    esac
3388	  done
3389	  eval $var=\"$tmp_libs\"
3390	done # for var
3391      fi
3392      # Last step: remove runtime libs from dependency_libs
3393      # (they stay in deplibs)
3394      tmp_libs=
3395      for i in $dependency_libs ; do
3396	case " $predeps $postdeps $compiler_lib_search_path " in
3397	*" $i "*)
3398	  i=""
3399	  ;;
3400	esac
3401	if test -n "$i" ; then
3402	  tmp_libs="$tmp_libs $i"
3403	fi
3404      done
3405      dependency_libs=$tmp_libs
3406    done # for pass
3407    if test "$linkmode" = prog; then
3408      dlfiles="$newdlfiles"
3409      dlprefiles="$newdlprefiles"
3410    fi
3411
3412    case $linkmode in
3413    oldlib)
3414      if test -n "$deplibs"; then
3415	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
3416      fi
3417
3418      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
3419	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
3420      fi
3421
3422      if test -n "$rpath"; then
3423	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
3424      fi
3425
3426      if test -n "$xrpath"; then
3427	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
3428      fi
3429
3430      if test -n "$vinfo"; then
3431	$echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
3432      fi
3433
3434      if test -n "$release"; then
3435	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
3436      fi
3437
3438      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
3439	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
3440      fi
3441
3442      # Now set the variables for building old libraries.
3443      build_libtool_libs=no
3444      oldlibs="$output"
3445      objs="$objs$old_deplibs"
3446      ;;
3447
3448    lib)
3449      # Make sure we only generate libraries of the form `libNAME.la'.
3450      case $outputname in
3451      lib*)
3452	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
3453	eval shared_ext=\"$shrext_cmds\"
3454	eval libname=\"$libname_spec\"
3455	;;
3456      *)
3457	if test "$module" = no; then
3458	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
3459	  $echo "$help" 1>&2
3460	  exit $EXIT_FAILURE
3461	fi
3462	if test "$need_lib_prefix" != no; then
3463	  # Add the "lib" prefix for modules if required
3464	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
3465	  eval shared_ext=\"$shrext_cmds\"
3466	  eval libname=\"$libname_spec\"
3467	else
3468	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
3469	fi
3470	;;
3471      esac
3472
3473      if test -n "$objs"; then
3474	if test "$deplibs_check_method" != pass_all; then
3475	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
3476	  exit $EXIT_FAILURE
3477	else
3478	  $echo
3479	  $echo "*** Warning: Linking the shared library $output against the non-libtool"
3480	  $echo "*** objects $objs is not portable!"
3481	  libobjs="$libobjs $objs"
3482	fi
3483      fi
3484
3485      if test "$dlself" != no; then
3486	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
3487      fi
3488
3489      set dummy $rpath
3490      if test "$#" -gt 2; then
3491	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
3492      fi
3493      install_libdir="$2"
3494
3495      oldlibs=
3496      if test -z "$rpath"; then
3497	if test "$build_libtool_libs" = yes; then
3498	  # Building a libtool convenience library.
3499	  # Some compilers have problems with a `.al' extension so
3500	  # convenience libraries should have the same extension an
3501	  # archive normally would.
3502	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
3503	  build_libtool_libs=convenience
3504	  build_old_libs=yes
3505	fi
3506
3507	if test -n "$vinfo"; then
3508	  $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
3509	fi
3510
3511	if test -n "$release"; then
3512	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
3513	fi
3514      else
3515
3516	# Parse the version information argument.
3517	save_ifs="$IFS"; IFS=':'
3518	set dummy $vinfo 0 0 0
3519	IFS="$save_ifs"
3520
3521	if test -n "$8"; then
3522	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
3523	  $echo "$help" 1>&2
3524	  exit $EXIT_FAILURE
3525	fi
3526
3527	# convert absolute version numbers to libtool ages
3528	# this retains compatibility with .la files and attempts
3529	# to make the code below a bit more comprehensible
3530
3531	case $vinfo_number in
3532	yes)
3533	  number_major="$2"
3534	  number_minor="$3"
3535	  number_revision="$4"
3536	  #
3537	  # There are really only two kinds -- those that
3538	  # use the current revision as the major version
3539	  # and those that subtract age and use age as
3540	  # a minor version.  But, then there is irix
3541	  # which has an extra 1 added just for fun
3542	  #
3543	  case $version_type in
3544	  darwin|linux|osf|windows)
3545	    current=`expr $number_major + $number_minor`
3546	    age="$number_minor"
3547	    revision="$number_revision"
3548	    ;;
3549	  freebsd-aout|freebsd-elf|sunos)
3550	    current="$number_major"
3551	    revision="$number_minor"
3552	    age="0"
3553	    ;;
3554	  irix|nonstopux)
3555	    current=`expr $number_major + $number_minor - 1`
3556	    age="$number_minor"
3557	    revision="$number_minor"
3558	    ;;
3559	  *)
3560	    $echo "$modename: unknown library version type \`$version_type'" 1>&2
3561	    $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
3562	    exit $EXIT_FAILURE
3563	    ;;
3564	  esac
3565	  ;;
3566	no)
3567	  current="$2"
3568	  revision="$3"
3569	  age="$4"
3570	  ;;
3571	esac
3572
3573	# Check that each of the things are valid numbers.
3574	case $current in
3575	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
3576	*)
3577	  $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
3578	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
3579	  exit $EXIT_FAILURE
3580	  ;;
3581	esac
3582
3583	case $revision in
3584	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
3585	*)
3586	  $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
3587	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
3588	  exit $EXIT_FAILURE
3589	  ;;
3590	esac
3591
3592	case $age in
3593	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
3594	*)
3595	  $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
3596	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
3597	  exit $EXIT_FAILURE
3598	  ;;
3599	esac
3600
3601	if test "$age" -gt "$current"; then
3602	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
3603	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
3604	  exit $EXIT_FAILURE
3605	fi
3606
3607	# Calculate the version variables.
3608	major=
3609	versuffix=
3610	verstring=
3611	case $version_type in
3612	none) ;;
3613
3614	darwin)
3615	  # Like Linux, but with the current version available in
3616	  # verstring for coding it into the library header
3617	  major=.`expr $current - $age`
3618	  versuffix="$major.$age.$revision"
3619	  # Darwin ld doesn't like 0 for these options...
3620	  minor_current=`expr $current + 1`
3621	  verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
3622	  ;;
3623
3624	freebsd-aout)
3625	  major=".$current"
3626	  versuffix=".$current.$revision";
3627	  ;;
3628
3629	freebsd-elf)
3630	  major=".$current"
3631	  versuffix=".$current";
3632	  ;;
3633
3634	irix | nonstopux)
3635	  major=`expr $current - $age + 1`
3636
3637	  case $version_type in
3638	    nonstopux) verstring_prefix=nonstopux ;;
3639	    *)         verstring_prefix=sgi ;;
3640	  esac
3641	  verstring="$verstring_prefix$major.$revision"
3642
3643	  # Add in all the interfaces that we are compatible with.
3644	  loop=$revision
3645	  while test "$loop" -ne 0; do
3646	    iface=`expr $revision - $loop`
3647	    loop=`expr $loop - 1`
3648	    verstring="$verstring_prefix$major.$iface:$verstring"
3649	  done
3650
3651	  # Before this point, $major must not contain `.'.
3652	  major=.$major
3653	  versuffix="$major.$revision"
3654	  ;;
3655
3656	linux)
3657	  major=.`expr $current - $age`
3658	  versuffix="$major.$age.$revision"
3659	  ;;
3660
3661	osf)
3662	  major=.`expr $current - $age`
3663	  versuffix=".$current.$age.$revision"
3664	  verstring="$current.$age.$revision"
3665
3666	  # Add in all the interfaces that we are compatible with.
3667	  loop=$age
3668	  while test "$loop" -ne 0; do
3669	    iface=`expr $current - $loop`
3670	    loop=`expr $loop - 1`
3671	    verstring="$verstring:${iface}.0"
3672	  done
3673
3674	  # Make executables depend on our current version.
3675	  verstring="$verstring:${current}.0"
3676	  ;;
3677
3678	sunos)
3679	  major=".$current"
3680	  versuffix=".$current.$revision"
3681	  ;;
3682
3683	windows)
3684	  # Use '-' rather than '.', since we only want one
3685	  # extension on DOS 8.3 filesystems.
3686	  major=`expr $current - $age`
3687	  versuffix="-$major"
3688	  ;;
3689
3690	*)
3691	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
3692	  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
3693	  exit $EXIT_FAILURE
3694	  ;;
3695	esac
3696
3697	# Clear the version info if we defaulted, and they specified a release.
3698	if test -z "$vinfo" && test -n "$release"; then
3699	  major=
3700	  case $version_type in
3701	  darwin)
3702	    # we can't check for "0.0" in archive_cmds due to quoting
3703	    # problems, so we reset it completely
3704	    verstring=
3705	    ;;
3706	  *)
3707	    verstring="0.0"
3708	    ;;
3709	  esac
3710	  if test "$need_version" = no; then
3711	    versuffix=
3712	  else
3713	    versuffix=".0.0"
3714	  fi
3715	fi
3716
3717	# Remove version info from name if versioning should be avoided
3718	if test "$avoid_version" = yes && test "$need_version" = no; then
3719	  major=
3720	  versuffix=
3721	  verstring=""
3722	fi
3723
3724	# Check to see if the archive will have undefined symbols.
3725	if test "$allow_undefined" = yes; then
3726	  if test "$allow_undefined_flag" = unsupported; then
3727	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
3728	    build_libtool_libs=no
3729	    build_old_libs=yes
3730	  fi
3731	else
3732	  # Don't allow undefined symbols.
3733	  allow_undefined_flag="$no_undefined_flag"
3734	fi
3735      fi
3736
3737      if test "$mode" != relink; then
3738	# Remove our outputs, but don't remove object files since they
3739	# may have been created when compiling PIC objects.
3740	removelist=
3741	tempremovelist=`$echo "$output_objdir/*"`
3742	for p in $tempremovelist; do
3743	  case $p in
3744	    *.$objext)
3745	       ;;
3746	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
3747	       if test "X$precious_files_regex" != "X"; then
3748	         if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
3749	         then
3750		   continue
3751		 fi
3752	       fi
3753	       removelist="$removelist $p"
3754	       ;;
3755	    *) ;;
3756	  esac
3757	done
3758	if test -n "$removelist"; then
3759	  $show "${rm}r $removelist"
3760	  $run ${rm}r $removelist
3761	fi
3762      fi
3763
3764      # Now set the variables for building old libraries.
3765      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
3766	oldlibs="$oldlibs $output_objdir/$libname.$libext"
3767
3768	# Transform .lo files to .o files.
3769	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
3770      fi
3771
3772      # Eliminate all temporary directories.
3773      for path in $notinst_path; do
3774	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
3775	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
3776	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
3777      done
3778
3779      if test -n "$xrpath"; then
3780	# If the user specified any rpath flags, then add them.
3781	temp_xrpath=
3782	for libdir in $xrpath; do
3783	  temp_xrpath="$temp_xrpath -R$libdir"
3784	  case "$finalize_rpath " in
3785	  *" $libdir "*) ;;
3786	  *) finalize_rpath="$finalize_rpath $libdir" ;;
3787	  esac
3788	done
3789	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
3790	  dependency_libs="$temp_xrpath $dependency_libs"
3791	fi
3792      fi
3793
3794      # Make sure dlfiles contains only unique files that won't be dlpreopened
3795      old_dlfiles="$dlfiles"
3796      dlfiles=
3797      for lib in $old_dlfiles; do
3798	case " $dlprefiles $dlfiles " in
3799	*" $lib "*) ;;
3800	*) dlfiles="$dlfiles $lib" ;;
3801	esac
3802      done
3803
3804      # Make sure dlprefiles contains only unique files
3805      old_dlprefiles="$dlprefiles"
3806      dlprefiles=
3807      for lib in $old_dlprefiles; do
3808	case "$dlprefiles " in
3809	*" $lib "*) ;;
3810	*) dlprefiles="$dlprefiles $lib" ;;
3811	esac
3812      done
3813
3814      if test "$build_libtool_libs" = yes; then
3815	if test -n "$rpath"; then
3816	  case $host in
3817	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
3818	    # these systems don't actually have a c library (as such)!
3819	    ;;
3820	  *-*-rhapsody* | *-*-darwin1.[012])
3821	    # Rhapsody C library is in the System framework
3822	    deplibs="$deplibs -framework System"
3823	    ;;
3824	  *-*-netbsd*)
3825	    # Don't link with libc until the a.out ld.so is fixed.
3826	    ;;
3827	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
3828	    # Do not include libc due to us having libc/libc_r.
3829	    ;;
3830	  *-*-sco3.2v5* | *-*-sco5v6*)
3831	    # Causes problems with __ctype
3832	    ;;
3833	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
3834	    # Compiler inserts libc in the correct place for threads to work
3835	    ;;
3836 	  *)
3837	    # Add libc to deplibs on all other systems if necessary.
3838	    if test "$build_libtool_need_lc" = "yes"; then
3839	      deplibs="$deplibs -lc"
3840	    fi
3841	    ;;
3842	  esac
3843	fi
3844
3845	# Transform deplibs into only deplibs that can be linked in shared.
3846	name_save=$name
3847	libname_save=$libname
3848	release_save=$release
3849	versuffix_save=$versuffix
3850	major_save=$major
3851	# I'm not sure if I'm treating the release correctly.  I think
3852	# release should show up in the -l (ie -lgmp5) so we don't want to
3853	# add it in twice.  Is that correct?
3854	release=""
3855	versuffix=""
3856	major=""
3857	newdeplibs=
3858	droppeddeps=no
3859	case $deplibs_check_method in
3860	pass_all)
3861	  # Don't check for shared/static.  Everything works.
3862	  # This might be a little naive.  We might want to check
3863	  # whether the library exists or not.  But this is on
3864	  # osf3 & osf4 and I'm not really sure... Just
3865	  # implementing what was already the behavior.
3866	  newdeplibs=$deplibs
3867	  ;;
3868	test_compile)
3869	  # This code stresses the "libraries are programs" paradigm to its
3870	  # limits. Maybe even breaks it.  We compile a program, linking it
3871	  # against the deplibs as a proxy for the library.  Then we can check
3872	  # whether they linked in statically or dynamically with ldd.
3873	  $rm conftest.c
3874	  cat > conftest.c <<EOF
3875	  int main() { return 0; }
3876EOF
3877	  $rm conftest
3878	  $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
3879	  if test "$?" -eq 0 ; then
3880	    ldd_output=`ldd conftest`
3881	    for i in $deplibs; do
3882	      name=`expr $i : '-l\(.*\)'`
3883	      # If $name is empty we are operating on a -L argument.
3884              if test "$name" != "" && test "$name" -ne "0"; then
3885		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
3886		  case " $predeps $postdeps " in
3887		  *" $i "*)
3888		    newdeplibs="$newdeplibs $i"
3889		    i=""
3890		    ;;
3891		  esac
3892	        fi
3893		if test -n "$i" ; then
3894		  libname=`eval \\$echo \"$libname_spec\"`
3895		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
3896		  set dummy $deplib_matches
3897		  deplib_match=$2
3898		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
3899		    newdeplibs="$newdeplibs $i"
3900		  else
3901		    droppeddeps=yes
3902		    $echo
3903		    $echo "*** Warning: dynamic linker does not accept needed library $i."
3904		    $echo "*** I have the capability to make that library automatically link in when"
3905		    $echo "*** you link to this library.  But I can only do this if you have a"
3906		    $echo "*** shared version of the library, which I believe you do not have"
3907		    $echo "*** because a test_compile did reveal that the linker did not use it for"
3908		    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
3909		  fi
3910		fi
3911	      else
3912		newdeplibs="$newdeplibs $i"
3913	      fi
3914	    done
3915	  else
3916	    # Error occurred in the first compile.  Let's try to salvage
3917	    # the situation: Compile a separate program for each library.
3918	    for i in $deplibs; do
3919	      name=`expr $i : '-l\(.*\)'`
3920	      # If $name is empty we are operating on a -L argument.
3921              if test "$name" != "" && test "$name" != "0"; then
3922		$rm conftest
3923		$LTCC $LTCFLAGS -o conftest conftest.c $i
3924		# Did it work?
3925		if test "$?" -eq 0 ; then
3926		  ldd_output=`ldd conftest`
3927		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
3928		    case " $predeps $postdeps " in
3929		    *" $i "*)
3930		      newdeplibs="$newdeplibs $i"
3931		      i=""
3932		      ;;
3933		    esac
3934		  fi
3935		  if test -n "$i" ; then
3936		    libname=`eval \\$echo \"$libname_spec\"`
3937		    deplib_matches=`eval \\$echo \"$library_names_spec\"`
3938		    set dummy $deplib_matches
3939		    deplib_match=$2
3940		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
3941		      newdeplibs="$newdeplibs $i"
3942		    else
3943		      droppeddeps=yes
3944		      $echo
3945		      $echo "*** Warning: dynamic linker does not accept needed library $i."
3946		      $echo "*** I have the capability to make that library automatically link in when"
3947		      $echo "*** you link to this library.  But I can only do this if you have a"
3948		      $echo "*** shared version of the library, which you do not appear to have"
3949		      $echo "*** because a test_compile did reveal that the linker did not use this one"
3950		      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
3951		    fi
3952		  fi
3953		else
3954		  droppeddeps=yes
3955		  $echo
3956		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
3957		  $echo "***  make it link in!  You will probably need to install it or some"
3958		  $echo "*** library that it depends on before this library will be fully"
3959		  $echo "*** functional.  Installing it before continuing would be even better."
3960		fi
3961	      else
3962		newdeplibs="$newdeplibs $i"
3963	      fi
3964	    done
3965	  fi
3966	  ;;
3967	file_magic*)
3968	  set dummy $deplibs_check_method
3969	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
3970	  for a_deplib in $deplibs; do
3971	    name=`expr $a_deplib : '-l\(.*\)'`
3972	    # If $name is empty we are operating on a -L argument.
3973            if test "$name" != "" && test  "$name" != "0"; then
3974	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
3975		case " $predeps $postdeps " in
3976		*" $a_deplib "*)
3977		  newdeplibs="$newdeplibs $a_deplib"
3978		  a_deplib=""
3979		  ;;
3980		esac
3981	      fi
3982	      if test -n "$a_deplib" ; then
3983		libname=`eval \\$echo \"$libname_spec\"`
3984		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
3985		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
3986		  for potent_lib in $potential_libs; do
3987		      # Follow soft links.
3988		      if ls -lLd "$potent_lib" 2>/dev/null \
3989			 | grep " -> " >/dev/null; then
3990			continue
3991		      fi
3992		      # The statement above tries to avoid entering an
3993		      # endless loop below, in case of cyclic links.
3994		      # We might still enter an endless loop, since a link
3995		      # loop can be closed while we follow links,
3996		      # but so what?
3997		      potlib="$potent_lib"
3998		      while test -h "$potlib" 2>/dev/null; do
3999			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
4000			case $potliblink in
4001			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
4002			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
4003			esac
4004		      done
4005		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
4006			 | ${SED} 10q \
4007			 | $EGREP "$file_magic_regex" > /dev/null; then
4008			newdeplibs="$newdeplibs $a_deplib"
4009			a_deplib=""
4010			break 2
4011		      fi
4012		  done
4013		done
4014	      fi
4015	      if test -n "$a_deplib" ; then
4016		droppeddeps=yes
4017		$echo
4018		$echo "*** Warning: linker path does not have real file for library $a_deplib."
4019		$echo "*** I have the capability to make that library automatically link in when"
4020		$echo "*** you link to this library.  But I can only do this if you have a"
4021		$echo "*** shared version of the library, which you do not appear to have"
4022		$echo "*** because I did check the linker path looking for a file starting"
4023		if test -z "$potlib" ; then
4024		  $echo "*** with $libname but no candidates were found. (...for file magic test)"
4025		else
4026		  $echo "*** with $libname and none of the candidates passed a file format test"
4027		  $echo "*** using a file magic. Last file checked: $potlib"
4028		fi
4029	      fi
4030	    else
4031	      # Add a -L argument.
4032	      newdeplibs="$newdeplibs $a_deplib"
4033	    fi
4034	  done # Gone through all deplibs.
4035	  ;;
4036	match_pattern*)
4037	  set dummy $deplibs_check_method
4038	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
4039	  for a_deplib in $deplibs; do
4040	    name=`expr $a_deplib : '-l\(.*\)'`
4041	    # If $name is empty we are operating on a -L argument.
4042	    if test -n "$name" && test "$name" != "0"; then
4043	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
4044		case " $predeps $postdeps " in
4045		*" $a_deplib "*)
4046		  newdeplibs="$newdeplibs $a_deplib"
4047		  a_deplib=""
4048		  ;;
4049		esac
4050	      fi
4051	      if test -n "$a_deplib" ; then
4052		libname=`eval \\$echo \"$libname_spec\"`
4053		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
4054		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
4055		  for potent_lib in $potential_libs; do
4056		    potlib="$potent_lib" # see symlink-check above in file_magic test
4057		    if eval $echo \"$potent_lib\" 2>/dev/null \
4058		        | ${SED} 10q \
4059		        | $EGREP "$match_pattern_regex" > /dev/null; then
4060		      newdeplibs="$newdeplibs $a_deplib"
4061		      a_deplib=""
4062		      break 2
4063		    fi
4064		  done
4065		done
4066	      fi
4067	      if test -n "$a_deplib" ; then
4068		droppeddeps=yes
4069		$echo
4070		$echo "*** Warning: linker path does not have real file for library $a_deplib."
4071		$echo "*** I have the capability to make that library automatically link in when"
4072		$echo "*** you link to this library.  But I can only do this if you have a"
4073		$echo "*** shared version of the library, which you do not appear to have"
4074		$echo "*** because I did check the linker path looking for a file starting"
4075		if test -z "$potlib" ; then
4076		  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
4077		else
4078		  $echo "*** with $libname and none of the candidates passed a file format test"
4079		  $echo "*** using a regex pattern. Last file checked: $potlib"
4080		fi
4081	      fi
4082	    else
4083	      # Add a -L argument.
4084	      newdeplibs="$newdeplibs $a_deplib"
4085	    fi
4086	  done # Gone through all deplibs.
4087	  ;;
4088	none | unknown | *)
4089	  newdeplibs=""
4090	  tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
4091	    -e 's/ -[LR][^ ]*//g'`
4092	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
4093	    for i in $predeps $postdeps ; do
4094	      # can't use Xsed below, because $i might contain '/'
4095	      tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
4096	    done
4097	  fi
4098	  if $echo "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' \
4099	    | grep . >/dev/null; then
4100	    $echo
4101	    if test "X$deplibs_check_method" = "Xnone"; then
4102	      $echo "*** Warning: inter-library dependencies are not supported in this platform."
4103	    else
4104	      $echo "*** Warning: inter-library dependencies are not known to be supported."
4105	    fi
4106	    $echo "*** All declared inter-library dependencies are being dropped."
4107	    droppeddeps=yes
4108	  fi
4109	  ;;
4110	esac
4111	versuffix=$versuffix_save
4112	major=$major_save
4113	release=$release_save
4114	libname=$libname_save
4115	name=$name_save
4116
4117	case $host in
4118	*-*-rhapsody* | *-*-darwin1.[012])
4119	  # On Rhapsody replace the C library is the System framework
4120	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
4121	  ;;
4122	esac
4123
4124	if test "$droppeddeps" = yes; then
4125	  if test "$module" = yes; then
4126	    $echo
4127	    $echo "*** Warning: libtool could not satisfy all declared inter-library"
4128	    $echo "*** dependencies of module $libname.  Therefore, libtool will create"
4129	    $echo "*** a static module, that should work as long as the dlopening"
4130	    $echo "*** application is linked with the -dlopen flag."
4131	    if test -z "$global_symbol_pipe"; then
4132	      $echo
4133	      $echo "*** However, this would only work if libtool was able to extract symbol"
4134	      $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
4135	      $echo "*** not find such a program.  So, this module is probably useless."
4136	      $echo "*** \`nm' from GNU binutils and a full rebuild may help."
4137	    fi
4138	    if test "$build_old_libs" = no; then
4139	      oldlibs="$output_objdir/$libname.$libext"
4140	      build_libtool_libs=module
4141	      build_old_libs=yes
4142	    else
4143	      build_libtool_libs=no
4144	    fi
4145	  else
4146	    $echo "*** The inter-library dependencies that have been dropped here will be"
4147	    $echo "*** automatically added whenever a program is linked with this library"
4148	    $echo "*** or is declared to -dlopen it."
4149
4150	    if test "$allow_undefined" = no; then
4151	      $echo
4152	      $echo "*** Since this library must not contain undefined symbols,"
4153	      $echo "*** because either the platform does not support them or"
4154	      $echo "*** it was explicitly requested with -no-undefined,"
4155	      $echo "*** libtool will only create a static version of it."
4156	      if test "$build_old_libs" = no; then
4157		oldlibs="$output_objdir/$libname.$libext"
4158		build_libtool_libs=module
4159		build_old_libs=yes
4160	      else
4161		build_libtool_libs=no
4162	      fi
4163	    fi
4164	  fi
4165	fi
4166	# Done checking deplibs!
4167	deplibs=$newdeplibs
4168      fi
4169
4170
4171      # move library search paths that coincide with paths to not yet
4172      # installed libraries to the beginning of the library search list
4173      new_libs=
4174      for path in $notinst_path; do
4175	case " $new_libs " in
4176	*" -L$path/$objdir "*) ;;
4177	*)
4178	  case " $deplibs " in
4179	  *" -L$path/$objdir "*)
4180	    new_libs="$new_libs -L$path/$objdir" ;;
4181	  esac
4182	  ;;
4183	esac
4184      done
4185      for deplib in $deplibs; do
4186	case $deplib in
4187	-L*)
4188	  case " $new_libs " in
4189	  *" $deplib "*) ;;
4190	  *) new_libs="$new_libs $deplib" ;;
4191	  esac
4192	  ;;
4193	*) new_libs="$new_libs $deplib" ;;
4194	esac
4195      done
4196      deplibs="$new_libs"
4197
4198
4199      # All the library-specific variables (install_libdir is set above).
4200      library_names=
4201      old_library=
4202      dlname=
4203
4204      # Test again, we may have decided not to build it any more
4205      if test "$build_libtool_libs" = yes; then
4206	if test "$hardcode_into_libs" = yes; then
4207	  # Hardcode the library paths
4208	  hardcode_libdirs=
4209	  dep_rpath=
4210	  rpath="$finalize_rpath"
4211	  test "$mode" != relink && rpath="$compile_rpath$rpath"
4212	  for libdir in $rpath; do
4213	    if test -n "$hardcode_libdir_flag_spec"; then
4214	      if test -n "$hardcode_libdir_separator"; then
4215		if test -z "$hardcode_libdirs"; then
4216		  hardcode_libdirs="$libdir"
4217		else
4218		  # Just accumulate the unique libdirs.
4219		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
4220		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
4221		    ;;
4222		  *)
4223		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
4224		    ;;
4225		  esac
4226		fi
4227	      else
4228		eval flag=\"$hardcode_libdir_flag_spec\"
4229		dep_rpath="$dep_rpath $flag"
4230	      fi
4231	    elif test -n "$runpath_var"; then
4232	      case "$perm_rpath " in
4233	      *" $libdir "*) ;;
4234	      *) perm_rpath="$perm_rpath $libdir" ;;
4235	      esac
4236	    fi
4237	  done
4238	  # Substitute the hardcoded libdirs into the rpath.
4239	  if test -n "$hardcode_libdir_separator" &&
4240	     test -n "$hardcode_libdirs"; then
4241	    libdir="$hardcode_libdirs"
4242	    if test -n "$hardcode_libdir_flag_spec_ld"; then
4243	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
4244	    else
4245	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
4246	    fi
4247	  fi
4248	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
4249	    # We should set the runpath_var.
4250	    rpath=
4251	    for dir in $perm_rpath; do
4252	      rpath="$rpath$dir:"
4253	    done
4254	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
4255	  fi
4256	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
4257	fi
4258
4259	shlibpath="$finalize_shlibpath"
4260	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
4261	if test -n "$shlibpath"; then
4262	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
4263	fi
4264
4265	# Get the real and link names of the library.
4266	eval shared_ext=\"$shrext_cmds\"
4267	eval library_names=\"$library_names_spec\"
4268	set dummy $library_names
4269	realname="$2"
4270	shift; shift
4271
4272	if test -n "$soname_spec"; then
4273	  eval soname=\"$soname_spec\"
4274	else
4275	  soname="$realname"
4276	fi
4277	if test -z "$dlname"; then
4278	  dlname=$soname
4279	fi
4280
4281	lib="$output_objdir/$realname"
4282	linknames=
4283	for link
4284	do
4285	  linknames="$linknames $link"
4286	done
4287
4288	# Use standard objects if they are pic
4289	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
4290
4291	# Prepare the list of exported symbols
4292	if test -z "$export_symbols"; then
4293	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
4294	    $show "generating symbol list for \`$libname.la'"
4295	    export_symbols="$output_objdir/$libname.exp"
4296	    $run $rm $export_symbols
4297	    cmds=$export_symbols_cmds
4298	    save_ifs="$IFS"; IFS='~'
4299	    for cmd in $cmds; do
4300	      IFS="$save_ifs"
4301	      eval cmd=\"$cmd\"
4302	      if len=`expr "X$cmd" : ".*"` &&
4303	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
4304	        $show "$cmd"
4305	        $run eval "$cmd" || exit $?
4306	        skipped_export=false
4307	      else
4308	        # The command line is too long to execute in one step.
4309	        $show "using reloadable object file for export list..."
4310	        skipped_export=:
4311		# Break out early, otherwise skipped_export may be
4312		# set to false by a later but shorter cmd.
4313		break
4314	      fi
4315	    done
4316	    IFS="$save_ifs"
4317	    if test -n "$export_symbols_regex"; then
4318	      $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
4319	      $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
4320	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
4321	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
4322	    fi
4323	  fi
4324	fi
4325
4326	if test -n "$export_symbols" && test -n "$include_expsyms"; then
4327	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
4328	fi
4329
4330	tmp_deplibs=
4331	for test_deplib in $deplibs; do
4332		case " $convenience " in
4333		*" $test_deplib "*) ;;
4334		*)
4335			tmp_deplibs="$tmp_deplibs $test_deplib"
4336			;;
4337		esac
4338	done
4339	deplibs="$tmp_deplibs"
4340
4341	if test -n "$convenience"; then
4342	  if test -n "$whole_archive_flag_spec"; then
4343	    save_libobjs=$libobjs
4344	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
4345	  else
4346	    gentop="$output_objdir/${outputname}x"
4347	    generated="$generated $gentop"
4348
4349	    func_extract_archives $gentop $convenience
4350	    libobjs="$libobjs $func_extract_archives_result"
4351	  fi
4352	fi
4353
4354	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
4355	  eval flag=\"$thread_safe_flag_spec\"
4356	  linker_flags="$linker_flags $flag"
4357	fi
4358
4359	# Make a backup of the uninstalled library when relinking
4360	if test "$mode" = relink; then
4361	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
4362	fi
4363
4364	# Do each of the archive commands.
4365	if test "$module" = yes && test -n "$module_cmds" ; then
4366	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
4367	    eval test_cmds=\"$module_expsym_cmds\"
4368	    cmds=$module_expsym_cmds
4369	  else
4370	    eval test_cmds=\"$module_cmds\"
4371	    cmds=$module_cmds
4372	  fi
4373	else
4374	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
4375	  eval test_cmds=\"$archive_expsym_cmds\"
4376	  cmds=$archive_expsym_cmds
4377	else
4378	  eval test_cmds=\"$archive_cmds\"
4379	  cmds=$archive_cmds
4380	  fi
4381	fi
4382
4383	if test "X$skipped_export" != "X:" &&
4384	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
4385	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
4386	  :
4387	else
4388	  # The command line is too long to link in one step, link piecewise.
4389	  $echo "creating reloadable object files..."
4390
4391	  # Save the value of $output and $libobjs because we want to
4392	  # use them later.  If we have whole_archive_flag_spec, we
4393	  # want to use save_libobjs as it was before
4394	  # whole_archive_flag_spec was expanded, because we can't
4395	  # assume the linker understands whole_archive_flag_spec.
4396	  # This may have to be revisited, in case too many
4397	  # convenience libraries get linked in and end up exceeding
4398	  # the spec.
4399	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
4400	    save_libobjs=$libobjs
4401	  fi
4402	  save_output=$output
4403	  output_la=`$echo "X$output" | $Xsed -e "$basename"`
4404
4405	  # Clear the reloadable object creation command queue and
4406	  # initialize k to one.
4407	  test_cmds=
4408	  concat_cmds=
4409	  objlist=
4410	  delfiles=
4411	  last_robj=
4412	  k=1
4413	  output=$output_objdir/$output_la-${k}.$objext
4414	  # Loop over the list of objects to be linked.
4415	  for obj in $save_libobjs
4416	  do
4417	    eval test_cmds=\"$reload_cmds $objlist $last_robj\"
4418	    if test "X$objlist" = X ||
4419	       { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
4420		 test "$len" -le "$max_cmd_len"; }; then
4421	      objlist="$objlist $obj"
4422	    else
4423	      # The command $test_cmds is almost too long, add a
4424	      # command to the queue.
4425	      if test "$k" -eq 1 ; then
4426		# The first file doesn't have a previous command to add.
4427		eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
4428	      else
4429		# All subsequent reloadable object files will link in
4430		# the last one created.
4431		eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
4432	      fi
4433	      last_robj=$output_objdir/$output_la-${k}.$objext
4434	      k=`expr $k + 1`
4435	      output=$output_objdir/$output_la-${k}.$objext
4436	      objlist=$obj
4437	      len=1
4438	    fi
4439	  done
4440	  # Handle the remaining objects by creating one last
4441	  # reloadable object file.  All subsequent reloadable object
4442	  # files will link in the last one created.
4443	  test -z "$concat_cmds" || concat_cmds=$concat_cmds~
4444	  eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
4445
4446	  if ${skipped_export-false}; then
4447	    $show "generating symbol list for \`$libname.la'"
4448	    export_symbols="$output_objdir/$libname.exp"
4449	    $run $rm $export_symbols
4450	    libobjs=$output
4451	    # Append the command to create the export file.
4452	    eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
4453          fi
4454
4455	  # Set up a command to remove the reloadable object files
4456	  # after they are used.
4457	  i=0
4458	  while test "$i" -lt "$k"
4459	  do
4460	    i=`expr $i + 1`
4461	    delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
4462	  done
4463
4464	  $echo "creating a temporary reloadable object file: $output"
4465
4466	  # Loop through the commands generated above and execute them.
4467	  save_ifs="$IFS"; IFS='~'
4468	  for cmd in $concat_cmds; do
4469	    IFS="$save_ifs"
4470	    $show "$cmd"
4471	    $run eval "$cmd" || exit $?
4472	  done
4473	  IFS="$save_ifs"
4474
4475	  libobjs=$output
4476	  # Restore the value of output.
4477	  output=$save_output
4478
4479	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
4480	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
4481	  fi
4482	  # Expand the library linking commands again to reset the
4483	  # value of $libobjs for piecewise linking.
4484
4485	  # Do each of the archive commands.
4486	  if test "$module" = yes && test -n "$module_cmds" ; then
4487	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
4488	      cmds=$module_expsym_cmds
4489	    else
4490	      cmds=$module_cmds
4491	    fi
4492	  else
4493	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
4494	    cmds=$archive_expsym_cmds
4495	  else
4496	    cmds=$archive_cmds
4497	    fi
4498	  fi
4499
4500	  # Append the command to remove the reloadable object files
4501	  # to the just-reset $cmds.
4502	  eval cmds=\"\$cmds~\$rm $delfiles\"
4503	fi
4504	save_ifs="$IFS"; IFS='~'
4505	for cmd in $cmds; do
4506	  IFS="$save_ifs"
4507	  eval cmd=\"$cmd\"
4508	  $show "$cmd"
4509	  $run eval "$cmd" || {
4510	    lt_exit=$?
4511
4512	    # Restore the uninstalled library and exit
4513	    if test "$mode" = relink; then
4514	      $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
4515	    fi
4516
4517	    exit $lt_exit
4518	  }
4519	done
4520	IFS="$save_ifs"
4521
4522	# Restore the uninstalled library and exit
4523	if test "$mode" = relink; then
4524	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
4525
4526	  if test -n "$convenience"; then
4527	    if test -z "$whole_archive_flag_spec"; then
4528	      $show "${rm}r $gentop"
4529	      $run ${rm}r "$gentop"
4530	    fi
4531	  fi
4532
4533	  exit $EXIT_SUCCESS
4534	fi
4535
4536	# Create links to the real library.
4537	for linkname in $linknames; do
4538	  if test "$realname" != "$linkname"; then
4539	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
4540	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
4541	  fi
4542	done
4543
4544	# If -module or -export-dynamic was specified, set the dlname.
4545	if test "$module" = yes || test "$export_dynamic" = yes; then
4546	  # On all known operating systems, these are identical.
4547	  dlname="$soname"
4548	fi
4549      fi
4550      ;;
4551
4552    obj)
4553      if test -n "$deplibs"; then
4554	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
4555      fi
4556
4557      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
4558	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
4559      fi
4560
4561      if test -n "$rpath"; then
4562	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
4563      fi
4564
4565      if test -n "$xrpath"; then
4566	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
4567      fi
4568
4569      if test -n "$vinfo"; then
4570	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
4571      fi
4572
4573      if test -n "$release"; then
4574	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
4575      fi
4576
4577      case $output in
4578      *.lo)
4579	if test -n "$objs$old_deplibs"; then
4580	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
4581	  exit $EXIT_FAILURE
4582	fi
4583	libobj="$output"
4584	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
4585	;;
4586      *)
4587	libobj=
4588	obj="$output"
4589	;;
4590      esac
4591
4592      # Delete the old objects.
4593      $run $rm $obj $libobj
4594
4595      # Objects from convenience libraries.  This assumes
4596      # single-version convenience libraries.  Whenever we create
4597      # different ones for PIC/non-PIC, this we'll have to duplicate
4598      # the extraction.
4599      reload_conv_objs=
4600      gentop=
4601      # reload_cmds runs $LD directly, so let us get rid of
4602      # -Wl from whole_archive_flag_spec
4603      wl=
4604
4605      if test -n "$convenience"; then
4606	if test -n "$whole_archive_flag_spec"; then
4607	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
4608	else
4609	  gentop="$output_objdir/${obj}x"
4610	  generated="$generated $gentop"
4611
4612	  func_extract_archives $gentop $convenience
4613	  reload_conv_objs="$reload_objs $func_extract_archives_result"
4614	fi
4615      fi
4616
4617      # Create the old-style object.
4618      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
4619
4620      output="$obj"
4621      cmds=$reload_cmds
4622      save_ifs="$IFS"; IFS='~'
4623      for cmd in $cmds; do
4624	IFS="$save_ifs"
4625	eval cmd=\"$cmd\"
4626	$show "$cmd"
4627	$run eval "$cmd" || exit $?
4628      done
4629      IFS="$save_ifs"
4630
4631      # Exit if we aren't doing a library object file.
4632      if test -z "$libobj"; then
4633	if test -n "$gentop"; then
4634	  $show "${rm}r $gentop"
4635	  $run ${rm}r $gentop
4636	fi
4637
4638	exit $EXIT_SUCCESS
4639      fi
4640
4641      if test "$build_libtool_libs" != yes; then
4642	if test -n "$gentop"; then
4643	  $show "${rm}r $gentop"
4644	  $run ${rm}r $gentop
4645	fi
4646
4647	# Create an invalid libtool object if no PIC, so that we don't
4648	# accidentally link it into a program.
4649	# $show "echo timestamp > $libobj"
4650	# $run eval "echo timestamp > $libobj" || exit $?
4651	exit $EXIT_SUCCESS
4652      fi
4653
4654      if test -n "$pic_flag" || test "$pic_mode" != default; then
4655	# Only do commands if we really have different PIC objects.
4656	reload_objs="$libobjs $reload_conv_objs"
4657	output="$libobj"
4658	cmds=$reload_cmds
4659	save_ifs="$IFS"; IFS='~'
4660	for cmd in $cmds; do
4661	  IFS="$save_ifs"
4662	  eval cmd=\"$cmd\"
4663	  $show "$cmd"
4664	  $run eval "$cmd" || exit $?
4665	done
4666	IFS="$save_ifs"
4667      fi
4668
4669      if test -n "$gentop"; then
4670	$show "${rm}r $gentop"
4671	$run ${rm}r $gentop
4672      fi
4673
4674      exit $EXIT_SUCCESS
4675      ;;
4676
4677    prog)
4678      case $host in
4679	*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
4680      esac
4681      if test -n "$vinfo"; then
4682	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
4683      fi
4684
4685      if test -n "$release"; then
4686	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
4687      fi
4688
4689      if test "$preload" = yes; then
4690	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
4691	   test "$dlopen_self_static" = unknown; then
4692	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
4693	fi
4694      fi
4695
4696      case $host in
4697      *-*-rhapsody* | *-*-darwin1.[012])
4698	# On Rhapsody replace the C library is the System framework
4699	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
4700	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
4701	;;
4702      esac
4703
4704      case $host in
4705      *darwin*)
4706        # Don't allow lazy linking, it breaks C++ global constructors
4707        if test "$tagname" = CXX ; then
4708        compile_command="$compile_command ${wl}-bind_at_load"
4709        finalize_command="$finalize_command ${wl}-bind_at_load"
4710        fi
4711        ;;
4712      esac
4713
4714
4715      # move library search paths that coincide with paths to not yet
4716      # installed libraries to the beginning of the library search list
4717      new_libs=
4718      for path in $notinst_path; do
4719	case " $new_libs " in
4720	*" -L$path/$objdir "*) ;;
4721	*)
4722	  case " $compile_deplibs " in
4723	  *" -L$path/$objdir "*)
4724	    new_libs="$new_libs -L$path/$objdir" ;;
4725	  esac
4726	  ;;
4727	esac
4728      done
4729      for deplib in $compile_deplibs; do
4730	case $deplib in
4731	-L*)
4732	  case " $new_libs " in
4733	  *" $deplib "*) ;;
4734	  *) new_libs="$new_libs $deplib" ;;
4735	  esac
4736	  ;;
4737	*) new_libs="$new_libs $deplib" ;;
4738	esac
4739      done
4740      compile_deplibs="$new_libs"
4741
4742
4743      compile_command="$compile_command $compile_deplibs"
4744      finalize_command="$finalize_command $finalize_deplibs"
4745
4746      if test -n "$rpath$xrpath"; then
4747	# If the user specified any rpath flags, then add them.
4748	for libdir in $rpath $xrpath; do
4749	  # This is the magic to use -rpath.
4750	  case "$finalize_rpath " in
4751	  *" $libdir "*) ;;
4752	  *) finalize_rpath="$finalize_rpath $libdir" ;;
4753	  esac
4754	done
4755      fi
4756
4757      # Now hardcode the library paths
4758      rpath=
4759      hardcode_libdirs=
4760      for libdir in $compile_rpath $finalize_rpath; do
4761	if test -n "$hardcode_libdir_flag_spec"; then
4762	  if test -n "$hardcode_libdir_separator"; then
4763	    if test -z "$hardcode_libdirs"; then
4764	      hardcode_libdirs="$libdir"
4765	    else
4766	      # Just accumulate the unique libdirs.
4767	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
4768	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
4769		;;
4770	      *)
4771		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
4772		;;
4773	      esac
4774	    fi
4775	  else
4776	    eval flag=\"$hardcode_libdir_flag_spec\"
4777	    rpath="$rpath $flag"
4778	  fi
4779	elif test -n "$runpath_var"; then
4780	  case "$perm_rpath " in
4781	  *" $libdir "*) ;;
4782	  *) perm_rpath="$perm_rpath $libdir" ;;
4783	  esac
4784	fi
4785	case $host in
4786	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
4787	  testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
4788	  case :$dllsearchpath: in
4789	  *":$libdir:"*) ;;
4790	  *) dllsearchpath="$dllsearchpath:$libdir";;
4791	  esac
4792	  case :$dllsearchpath: in
4793	  *":$testbindir:"*) ;;
4794	  *) dllsearchpath="$dllsearchpath:$testbindir";;
4795	  esac
4796	  ;;
4797	esac
4798      done
4799      # Substitute the hardcoded libdirs into the rpath.
4800      if test -n "$hardcode_libdir_separator" &&
4801	 test -n "$hardcode_libdirs"; then
4802	libdir="$hardcode_libdirs"
4803	eval rpath=\" $hardcode_libdir_flag_spec\"
4804      fi
4805      compile_rpath="$rpath"
4806
4807      rpath=
4808      hardcode_libdirs=
4809      for libdir in $finalize_rpath; do
4810	if test -n "$hardcode_libdir_flag_spec"; then
4811	  if test -n "$hardcode_libdir_separator"; then
4812	    if test -z "$hardcode_libdirs"; then
4813	      hardcode_libdirs="$libdir"
4814	    else
4815	      # Just accumulate the unique libdirs.
4816	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
4817	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
4818		;;
4819	      *)
4820		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
4821		;;
4822	      esac
4823	    fi
4824	  else
4825	    eval flag=\"$hardcode_libdir_flag_spec\"
4826	    rpath="$rpath $flag"
4827	  fi
4828	elif test -n "$runpath_var"; then
4829	  case "$finalize_perm_rpath " in
4830	  *" $libdir "*) ;;
4831	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
4832	  esac
4833	fi
4834      done
4835      # Substitute the hardcoded libdirs into the rpath.
4836      if test -n "$hardcode_libdir_separator" &&
4837	 test -n "$hardcode_libdirs"; then
4838	libdir="$hardcode_libdirs"
4839	eval rpath=\" $hardcode_libdir_flag_spec\"
4840      fi
4841      finalize_rpath="$rpath"
4842
4843      if test -n "$libobjs" && test "$build_old_libs" = yes; then
4844	# Transform all the library objects into standard objects.
4845	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
4846	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
4847      fi
4848
4849      dlsyms=
4850      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
4851	if test -n "$NM" && test -n "$global_symbol_pipe"; then
4852	  dlsyms="${outputname}S.c"
4853	else
4854	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
4855	fi
4856      fi
4857
4858      if test -n "$dlsyms"; then
4859	case $dlsyms in
4860	"") ;;
4861	*.c)
4862	  # Discover the nlist of each of the dlfiles.
4863	  nlist="$output_objdir/${outputname}.nm"
4864
4865	  $show "$rm $nlist ${nlist}S ${nlist}T"
4866	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
4867
4868	  # Parse the name list into a source file.
4869	  $show "creating $output_objdir/$dlsyms"
4870
4871	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
4872/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
4873/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
4874
4875#ifdef __cplusplus
4876extern \"C\" {
4877#endif
4878
4879/* Prevent the only kind of declaration conflicts we can make. */
4880#define lt_preloaded_symbols some_other_symbol
4881
4882/* External symbol declarations for the compiler. */\
4883"
4884
4885	  if test "$dlself" = yes; then
4886	    $show "generating symbol list for \`$output'"
4887
4888	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
4889
4890	    # Add our own program objects to the symbol list.
4891	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
4892	    for arg in $progfiles; do
4893	      $show "extracting global C symbols from \`$arg'"
4894	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
4895	    done
4896
4897	    if test -n "$exclude_expsyms"; then
4898	      $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
4899	      $run eval '$mv "$nlist"T "$nlist"'
4900	    fi
4901
4902	    if test -n "$export_symbols_regex"; then
4903	      $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
4904	      $run eval '$mv "$nlist"T "$nlist"'
4905	    fi
4906
4907	    # Prepare the list of exported symbols
4908	    if test -z "$export_symbols"; then
4909	      export_symbols="$output_objdir/$outputname.exp"
4910	      $run $rm $export_symbols
4911	      $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
4912              case $host in
4913              *cygwin* | *mingw* )
4914	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
4915		$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
4916                ;;
4917              esac
4918	    else
4919	      $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
4920	      $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
4921	      $run eval 'mv "$nlist"T "$nlist"'
4922              case $host in
4923              *cygwin* | *mingw* )
4924	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
4925		$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
4926                ;;
4927              esac
4928	    fi
4929	  fi
4930
4931	  for arg in $dlprefiles; do
4932	    $show "extracting global C symbols from \`$arg'"
4933	    name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
4934	    $run eval '$echo ": $name " >> "$nlist"'
4935	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
4936	  done
4937
4938	  if test -z "$run"; then
4939	    # Make sure we have at least an empty file.
4940	    test -f "$nlist" || : > "$nlist"
4941
4942	    if test -n "$exclude_expsyms"; then
4943	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
4944	      $mv "$nlist"T "$nlist"
4945	    fi
4946
4947	    # Try sorting and uniquifying the output.
4948	    if grep -v "^: " < "$nlist" |
4949		if sort -k 3 </dev/null >/dev/null 2>&1; then
4950		  sort -k 3
4951		else
4952		  sort +2
4953		fi |
4954		uniq > "$nlist"S; then
4955	      :
4956	    else
4957	      grep -v "^: " < "$nlist" > "$nlist"S
4958	    fi
4959
4960	    if test -f "$nlist"S; then
4961	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
4962	    else
4963	      $echo '/* NONE */' >> "$output_objdir/$dlsyms"
4964	    fi
4965
4966	    $echo >> "$output_objdir/$dlsyms" "\
4967
4968#undef lt_preloaded_symbols
4969
4970#if defined (__STDC__) && __STDC__
4971# define lt_ptr void *
4972#else
4973# define lt_ptr char *
4974# define const
4975#endif
4976
4977/* The mapping between symbol names and symbols. */
4978"
4979
4980	    case $host in
4981	    *cygwin* | *mingw* )
4982	  $echo >> "$output_objdir/$dlsyms" "\
4983/* DATA imports from DLLs on WIN32 can't be const, because
4984   runtime relocations are performed -- see ld's documentation
4985   on pseudo-relocs */
4986struct {
4987"
4988	      ;;
4989	    * )
4990	  $echo >> "$output_objdir/$dlsyms" "\
4991const struct {
4992"
4993	      ;;
4994	    esac
4995
4996
4997	  $echo >> "$output_objdir/$dlsyms" "\
4998  const char *name;
4999  lt_ptr address;
5000}
5001lt_preloaded_symbols[] =
5002{\
5003"
5004
5005	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
5006
5007	    $echo >> "$output_objdir/$dlsyms" "\
5008  {0, (lt_ptr) 0}
5009};
5010
5011/* This works around a problem in FreeBSD linker */
5012#ifdef FREEBSD_WORKAROUND
5013static const void *lt_preloaded_setup() {
5014  return lt_preloaded_symbols;
5015}
5016#endif
5017
5018#ifdef __cplusplus
5019}
5020#endif\
5021"
5022	  fi
5023
5024	  pic_flag_for_symtable=
5025	  case $host in
5026	  # compiling the symbol table file with pic_flag works around
5027	  # a FreeBSD bug that causes programs to crash when -lm is
5028	  # linked before any other PIC object.  But we must not use
5029	  # pic_flag when linking with -static.  The problem exists in
5030	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
5031	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
5032	    case "$compile_command " in
5033	    *" -static "*) ;;
5034	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
5035	    esac;;
5036	  *-*-hpux*)
5037	    case "$compile_command " in
5038	    *" -static "*) ;;
5039	    *) pic_flag_for_symtable=" $pic_flag";;
5040	    esac
5041	  esac
5042
5043	  # Now compile the dynamic symbol file.
5044	  $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
5045	  $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
5046
5047	  # Clean up the generated files.
5048	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
5049	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
5050
5051	  # Transform the symbol file into the correct name.
5052          case $host in
5053          *cygwin* | *mingw* )
5054            if test -f "$output_objdir/${outputname}.def" ; then
5055              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
5056              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
5057            else
5058              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
5059              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
5060             fi
5061            ;;
5062          * )
5063            compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
5064            finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
5065            ;;
5066          esac
5067	  ;;
5068	*)
5069	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
5070	  exit $EXIT_FAILURE
5071	  ;;
5072	esac
5073      else
5074	# We keep going just in case the user didn't refer to
5075	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
5076	# really was required.
5077
5078	# Nullify the symbol file.
5079	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
5080	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
5081      fi
5082
5083      if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
5084	# Replace the output file specification.
5085	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
5086	link_command="$compile_command$compile_rpath"
5087
5088	# We have no uninstalled library dependencies, so finalize right now.
5089	$show "$link_command"
5090	$run eval "$link_command"
5091	exit_status=$?
5092
5093	# Delete the generated files.
5094	if test -n "$dlsyms"; then
5095	  $show "$rm $output_objdir/${outputname}S.${objext}"
5096	  $run $rm "$output_objdir/${outputname}S.${objext}"
5097	fi
5098
5099	exit $exit_status
5100      fi
5101
5102      if test -n "$shlibpath_var"; then
5103	# We should set the shlibpath_var
5104	rpath=
5105	for dir in $temp_rpath; do
5106	  case $dir in
5107	  [\\/]* | [A-Za-z]:[\\/]*)
5108	    # Absolute path.
5109	    rpath="$rpath$dir:"
5110	    ;;
5111	  *)
5112	    # Relative path: add a thisdir entry.
5113	    rpath="$rpath\$thisdir/$dir:"
5114	    ;;
5115	  esac
5116	done
5117	temp_rpath="$rpath"
5118      fi
5119
5120      if test -n "$compile_shlibpath$finalize_shlibpath"; then
5121	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
5122      fi
5123      if test -n "$finalize_shlibpath"; then
5124	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
5125      fi
5126
5127      compile_var=
5128      finalize_var=
5129      if test -n "$runpath_var"; then
5130	if test -n "$perm_rpath"; then
5131	  # We should set the runpath_var.
5132	  rpath=
5133	  for dir in $perm_rpath; do
5134	    rpath="$rpath$dir:"
5135	  done
5136	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
5137	fi
5138	if test -n "$finalize_perm_rpath"; then
5139	  # We should set the runpath_var.
5140	  rpath=
5141	  for dir in $finalize_perm_rpath; do
5142	    rpath="$rpath$dir:"
5143	  done
5144	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
5145	fi
5146      fi
5147
5148      if test "$no_install" = yes; then
5149	# We don't need to create a wrapper script.
5150	link_command="$compile_var$compile_command$compile_rpath"
5151	# Replace the output file specification.
5152	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
5153	# Delete the old output file.
5154	$run $rm $output
5155	# Link the executable and exit
5156	$show "$link_command"
5157	$run eval "$link_command" || exit $?
5158	exit $EXIT_SUCCESS
5159      fi
5160
5161      if test "$hardcode_action" = relink; then
5162	# Fast installation is not supported
5163	link_command="$compile_var$compile_command$compile_rpath"
5164	relink_command="$finalize_var$finalize_command$finalize_rpath"
5165
5166	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
5167	$echo "$modename: \`$output' will be relinked during installation" 1>&2
5168      else
5169	if test "$fast_install" != no; then
5170	  link_command="$finalize_var$compile_command$finalize_rpath"
5171	  if test "$fast_install" = yes; then
5172	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
5173	  else
5174	    # fast_install is set to needless
5175	    relink_command=
5176	  fi
5177	else
5178	  link_command="$compile_var$compile_command$compile_rpath"
5179	  relink_command="$finalize_var$finalize_command$finalize_rpath"
5180	fi
5181      fi
5182
5183      # Replace the output file specification.
5184      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
5185
5186      # Delete the old output files.
5187      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
5188
5189      $show "$link_command"
5190      $run eval "$link_command" || exit $?
5191
5192      # Now create the wrapper script.
5193      $show "creating $output"
5194
5195      # Quote the relink command for shipping.
5196      if test -n "$relink_command"; then
5197	# Preserve any variables that may affect compiler behavior
5198	for var in $variables_saved_for_relink; do
5199	  if eval test -z \"\${$var+set}\"; then
5200	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
5201	  elif eval var_value=\$$var; test -z "$var_value"; then
5202	    relink_command="$var=; export $var; $relink_command"
5203	  else
5204	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
5205	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
5206	  fi
5207	done
5208	relink_command="(cd `pwd`; $relink_command)"
5209	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
5210      fi
5211
5212      # Quote $echo for shipping.
5213      if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
5214	case $progpath in
5215	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
5216	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
5217	esac
5218	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
5219      else
5220	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
5221      fi
5222
5223      # Only actually do things if our run command is non-null.
5224      if test -z "$run"; then
5225	# win32 will think the script is a binary if it has
5226	# a .exe suffix, so we strip it off here.
5227	case $output in
5228	  *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
5229	esac
5230	# test for cygwin because mv fails w/o .exe extensions
5231	case $host in
5232	  *cygwin*)
5233	    exeext=.exe
5234	    outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
5235	  *) exeext= ;;
5236	esac
5237	case $host in
5238	  *cygwin* | *mingw* )
5239            output_name=`basename $output`
5240            output_path=`dirname $output`
5241            cwrappersource="$output_path/$objdir/lt-$output_name.c"
5242            cwrapper="$output_path/$output_name.exe"
5243            $rm $cwrappersource $cwrapper
5244            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
5245
5246	    cat > $cwrappersource <<EOF
5247
5248/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
5249   Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
5250
5251   The $output program cannot be directly executed until all the libtool
5252   libraries that it depends on are installed.
5253
5254   This wrapper executable should never be moved out of the build directory.
5255   If it is, it will not operate correctly.
5256
5257   Currently, it simply execs the wrapper *script* "/bin/sh $output",
5258   but could eventually absorb all of the scripts functionality and
5259   exec $objdir/$outputname directly.
5260*/
5261EOF
5262	    cat >> $cwrappersource<<"EOF"
5263#include <stdio.h>
5264#include <stdlib.h>
5265#include <unistd.h>
5266#include <malloc.h>
5267#include <stdarg.h>
5268#include <assert.h>
5269#include <string.h>
5270#include <ctype.h>
5271#include <sys/stat.h>
5272
5273#if defined(PATH_MAX)
5274# define LT_PATHMAX PATH_MAX
5275#elif defined(MAXPATHLEN)
5276# define LT_PATHMAX MAXPATHLEN
5277#else
5278# define LT_PATHMAX 1024
5279#endif
5280
5281#ifndef DIR_SEPARATOR
5282# define DIR_SEPARATOR '/'
5283# define PATH_SEPARATOR ':'
5284#endif
5285
5286#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
5287  defined (__OS2__)
5288# define HAVE_DOS_BASED_FILE_SYSTEM
5289# ifndef DIR_SEPARATOR_2
5290#  define DIR_SEPARATOR_2 '\\'
5291# endif
5292# ifndef PATH_SEPARATOR_2
5293#  define PATH_SEPARATOR_2 ';'
5294# endif
5295#endif
5296
5297#ifndef DIR_SEPARATOR_2
5298# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
5299#else /* DIR_SEPARATOR_2 */
5300# define IS_DIR_SEPARATOR(ch) \
5301        (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
5302#endif /* DIR_SEPARATOR_2 */
5303
5304#ifndef PATH_SEPARATOR_2
5305# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
5306#else /* PATH_SEPARATOR_2 */
5307# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
5308#endif /* PATH_SEPARATOR_2 */
5309
5310#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
5311#define XFREE(stale) do { \
5312  if (stale) { free ((void *) stale); stale = 0; } \
5313} while (0)
5314
5315/* -DDEBUG is fairly common in CFLAGS.  */
5316#undef DEBUG
5317#if defined DEBUGWRAPPER
5318# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
5319#else
5320# define DEBUG(format, ...)
5321#endif
5322
5323const char *program_name = NULL;
5324
5325void * xmalloc (size_t num);
5326char * xstrdup (const char *string);
5327const char * base_name (const char *name);
5328char * find_executable(const char *wrapper);
5329int    check_executable(const char *path);
5330char * strendzap(char *str, const char *pat);
5331void lt_fatal (const char *message, ...);
5332
5333int
5334main (int argc, char *argv[])
5335{
5336  char **newargz;
5337  int i;
5338
5339  program_name = (char *) xstrdup (base_name (argv[0]));
5340  DEBUG("(main) argv[0]      : %s\n",argv[0]);
5341  DEBUG("(main) program_name : %s\n",program_name);
5342  newargz = XMALLOC(char *, argc+2);
5343EOF
5344
5345            cat >> $cwrappersource <<EOF
5346  newargz[0] = (char *) xstrdup("$SHELL");
5347EOF
5348
5349            cat >> $cwrappersource <<"EOF"
5350  newargz[1] = find_executable(argv[0]);
5351  if (newargz[1] == NULL)
5352    lt_fatal("Couldn't find %s", argv[0]);
5353  DEBUG("(main) found exe at : %s\n",newargz[1]);
5354  /* we know the script has the same name, without the .exe */
5355  /* so make sure newargz[1] doesn't end in .exe */
5356  strendzap(newargz[1],".exe");
5357  for (i = 1; i < argc; i++)
5358    newargz[i+1] = xstrdup(argv[i]);
5359  newargz[argc+1] = NULL;
5360
5361  for (i=0; i<argc+1; i++)
5362  {
5363    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
5364    ;
5365  }
5366
5367EOF
5368
5369            case $host_os in
5370              mingw*)
5371                cat >> $cwrappersource <<EOF
5372  execv("$SHELL",(char const **)newargz);
5373EOF
5374              ;;
5375              *)
5376                cat >> $cwrappersource <<EOF
5377  execv("$SHELL",newargz);
5378EOF
5379              ;;
5380            esac
5381
5382            cat >> $cwrappersource <<"EOF"
5383  return 127;
5384}
5385
5386void *
5387xmalloc (size_t num)
5388{
5389  void * p = (void *) malloc (num);
5390  if (!p)
5391    lt_fatal ("Memory exhausted");
5392
5393  return p;
5394}
5395
5396char *
5397xstrdup (const char *string)
5398{
5399  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
5400;
5401}
5402
5403const char *
5404base_name (const char *name)
5405{
5406  const char *base;
5407
5408#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
5409  /* Skip over the disk name in MSDOS pathnames. */
5410  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
5411    name += 2;
5412#endif
5413
5414  for (base = name; *name; name++)
5415    if (IS_DIR_SEPARATOR (*name))
5416      base = name + 1;
5417  return base;
5418}
5419
5420int
5421check_executable(const char * path)
5422{
5423  struct stat st;
5424
5425  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
5426  if ((!path) || (!*path))
5427    return 0;
5428
5429  if ((stat (path, &st) >= 0) &&
5430      (
5431        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
5432#if defined (S_IXOTH)
5433       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
5434#endif
5435#if defined (S_IXGRP)
5436       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
5437#endif
5438       ((st.st_mode & S_IXUSR) == S_IXUSR))
5439      )
5440    return 1;
5441  else
5442    return 0;
5443}
5444
5445/* Searches for the full path of the wrapper.  Returns
5446   newly allocated full path name if found, NULL otherwise */
5447char *
5448find_executable (const char* wrapper)
5449{
5450  int has_slash = 0;
5451  const char* p;
5452  const char* p_next;
5453  /* static buffer for getcwd */
5454  char tmp[LT_PATHMAX + 1];
5455  int tmp_len;
5456  char* concat_name;
5457
5458  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
5459
5460  if ((wrapper == NULL) || (*wrapper == '\0'))
5461    return NULL;
5462
5463  /* Absolute path? */
5464#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
5465  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
5466  {
5467    concat_name = xstrdup (wrapper);
5468    if (check_executable(concat_name))
5469      return concat_name;
5470    XFREE(concat_name);
5471  }
5472  else
5473  {
5474#endif
5475    if (IS_DIR_SEPARATOR (wrapper[0]))
5476    {
5477      concat_name = xstrdup (wrapper);
5478      if (check_executable(concat_name))
5479        return concat_name;
5480      XFREE(concat_name);
5481    }
5482#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
5483  }
5484#endif
5485
5486  for (p = wrapper; *p; p++)
5487    if (*p == '/')
5488    {
5489      has_slash = 1;
5490      break;
5491    }
5492  if (!has_slash)
5493  {
5494    /* no slashes; search PATH */
5495    const char* path = getenv ("PATH");
5496    if (path != NULL)
5497    {
5498      for (p = path; *p; p = p_next)
5499      {
5500        const char* q;
5501        size_t p_len;
5502        for (q = p; *q; q++)
5503          if (IS_PATH_SEPARATOR(*q))
5504            break;
5505        p_len = q - p;
5506        p_next = (*q == '\0' ? q : q + 1);
5507        if (p_len == 0)
5508        {
5509          /* empty path: current directory */
5510          if (getcwd (tmp, LT_PATHMAX) == NULL)
5511            lt_fatal ("getcwd failed");
5512          tmp_len = strlen(tmp);
5513          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
5514          memcpy (concat_name, tmp, tmp_len);
5515          concat_name[tmp_len] = '/';
5516          strcpy (concat_name + tmp_len + 1, wrapper);
5517        }
5518        else
5519        {
5520          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
5521          memcpy (concat_name, p, p_len);
5522          concat_name[p_len] = '/';
5523          strcpy (concat_name + p_len + 1, wrapper);
5524        }
5525        if (check_executable(concat_name))
5526          return concat_name;
5527        XFREE(concat_name);
5528      }
5529    }
5530    /* not found in PATH; assume curdir */
5531  }
5532  /* Relative path | not found in path: prepend cwd */
5533  if (getcwd (tmp, LT_PATHMAX) == NULL)
5534    lt_fatal ("getcwd failed");
5535  tmp_len = strlen(tmp);
5536  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
5537  memcpy (concat_name, tmp, tmp_len);
5538  concat_name[tmp_len] = '/';
5539  strcpy (concat_name + tmp_len + 1, wrapper);
5540
5541  if (check_executable(concat_name))
5542    return concat_name;
5543  XFREE(concat_name);
5544  return NULL;
5545}
5546
5547char *
5548strendzap(char *str, const char *pat)
5549{
5550  size_t len, patlen;
5551
5552  assert(str != NULL);
5553  assert(pat != NULL);
5554
5555  len = strlen(str);
5556  patlen = strlen(pat);
5557
5558  if (patlen <= len)
5559  {
5560    str += len - patlen;
5561    if (strcmp(str, pat) == 0)
5562      *str = '\0';
5563  }
5564  return str;
5565}
5566
5567static void
5568lt_error_core (int exit_status, const char * mode,
5569          const char * message, va_list ap)
5570{
5571  fprintf (stderr, "%s: %s: ", program_name, mode);
5572  vfprintf (stderr, message, ap);
5573  fprintf (stderr, ".\n");
5574
5575  if (exit_status >= 0)
5576    exit (exit_status);
5577}
5578
5579void
5580lt_fatal (const char *message, ...)
5581{
5582  va_list ap;
5583  va_start (ap, message);
5584  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
5585  va_end (ap);
5586}
5587EOF
5588          # we should really use a build-platform specific compiler
5589          # here, but OTOH, the wrappers (shell script and this C one)
5590          # are only useful if you want to execute the "real" binary.
5591          # Since the "real" binary is built for $host, then this
5592          # wrapper might as well be built for $host, too.
5593          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
5594          ;;
5595        esac
5596        $rm $output
5597        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
5598
5599	$echo > $output "\
5600#! $SHELL
5601
5602# $output - temporary wrapper script for $objdir/$outputname
5603# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
5604#
5605# The $output program cannot be directly executed until all the libtool
5606# libraries that it depends on are installed.
5607#
5608# This wrapper script should never be moved out of the build directory.
5609# If it is, it will not operate correctly.
5610
5611# Sed substitution that helps us do robust quoting.  It backslashifies
5612# metacharacters that are still active within double-quoted strings.
5613Xsed='${SED} -e 1s/^X//'
5614sed_quote_subst='$sed_quote_subst'
5615
5616# The HP-UX ksh and POSIX shell print the target directory to stdout
5617# if CDPATH is set.
5618(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
5619
5620relink_command=\"$relink_command\"
5621
5622# This environment variable determines our operation mode.
5623if test \"\$libtool_install_magic\" = \"$magic\"; then
5624  # install mode needs the following variable:
5625  notinst_deplibs='$notinst_deplibs'
5626else
5627  # When we are sourced in execute mode, \$file and \$echo are already set.
5628  if test \"\$libtool_execute_magic\" != \"$magic\"; then
5629    echo=\"$qecho\"
5630    file=\"\$0\"
5631    # Make sure echo works.
5632    if test \"X\$1\" = X--no-reexec; then
5633      # Discard the --no-reexec flag, and continue.
5634      shift
5635    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
5636      # Yippee, \$echo works!
5637      :
5638    else
5639      # Restart under the correct shell, and then maybe \$echo will work.
5640      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
5641    fi
5642  fi\
5643"
5644	$echo >> $output "\
5645
5646  # Find the directory that this script lives in.
5647  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
5648  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
5649
5650  # Follow symbolic links until we get to the real thisdir.
5651  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
5652  while test -n \"\$file\"; do
5653    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
5654
5655    # If there was a directory component, then change thisdir.
5656    if test \"x\$destdir\" != \"x\$file\"; then
5657      case \"\$destdir\" in
5658      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
5659      *) thisdir=\"\$thisdir/\$destdir\" ;;
5660      esac
5661    fi
5662
5663    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
5664    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
5665  done
5666
5667  # Try to get the absolute directory name.
5668  absdir=\`cd \"\$thisdir\" && pwd\`
5669  test -n \"\$absdir\" && thisdir=\"\$absdir\"
5670"
5671
5672	if test "$fast_install" = yes; then
5673	  $echo >> $output "\
5674  program=lt-'$outputname'$exeext
5675  progdir=\"\$thisdir/$objdir\"
5676
5677  if test ! -f \"\$progdir/\$program\" || \\
5678     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
5679       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
5680
5681    file=\"\$\$-\$program\"
5682
5683    if test ! -d \"\$progdir\"; then
5684      $mkdir \"\$progdir\"
5685    else
5686      $rm \"\$progdir/\$file\"
5687    fi"
5688
5689	  $echo >> $output "\
5690
5691    # relink executable if necessary
5692    if test -n \"\$relink_command\"; then
5693      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
5694      else
5695	$echo \"\$relink_command_output\" >&2
5696	$rm \"\$progdir/\$file\"
5697	exit $EXIT_FAILURE
5698      fi
5699    fi
5700
5701    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
5702    { $rm \"\$progdir/\$program\";
5703      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
5704    $rm \"\$progdir/\$file\"
5705  fi"
5706	else
5707	  $echo >> $output "\
5708  program='$outputname'
5709  progdir=\"\$thisdir/$objdir\"
5710"
5711	fi
5712
5713	$echo >> $output "\
5714
5715  if test -f \"\$progdir/\$program\"; then"
5716
5717	# Export our shlibpath_var if we have one.
5718	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
5719	  $echo >> $output "\
5720    # Add our own library path to $shlibpath_var
5721    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
5722
5723    # Some systems cannot cope with colon-terminated $shlibpath_var
5724    # The second colon is a workaround for a bug in BeOS R4 sed
5725    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
5726
5727    export $shlibpath_var
5728"
5729	fi
5730
5731	# fixup the dll searchpath if we need to.
5732	if test -n "$dllsearchpath"; then
5733	  $echo >> $output "\
5734    # Add the dll search path components to the executable PATH
5735    PATH=$dllsearchpath:\$PATH
5736"
5737	fi
5738
5739	$echo >> $output "\
5740    if test \"\$libtool_execute_magic\" != \"$magic\"; then
5741      # Run the actual program with our arguments.
5742"
5743	case $host in
5744	# Backslashes separate directories on plain windows
5745	*-*-mingw | *-*-os2*)
5746	  $echo >> $output "\
5747      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
5748"
5749	  ;;
5750
5751	*)
5752	  $echo >> $output "\
5753      exec \"\$progdir/\$program\" \${1+\"\$@\"}
5754"
5755	  ;;
5756	esac
5757	$echo >> $output "\
5758      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
5759      exit $EXIT_FAILURE
5760    fi
5761  else
5762    # The program doesn't exist.
5763    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
5764    \$echo \"This script is just a wrapper for \$program.\" 1>&2
5765    $echo \"See the $PACKAGE documentation for more information.\" 1>&2
5766    exit $EXIT_FAILURE
5767  fi
5768fi\
5769"
5770	chmod +x $output
5771      fi
5772      exit $EXIT_SUCCESS
5773      ;;
5774    esac
5775
5776    # See if we need to build an old-fashioned archive.
5777    for oldlib in $oldlibs; do
5778
5779      if test "$build_libtool_libs" = convenience; then
5780	oldobjs="$libobjs_save"
5781	addlibs="$convenience"
5782	build_libtool_libs=no
5783      else
5784	if test "$build_libtool_libs" = module; then
5785	  oldobjs="$libobjs_save"
5786	  build_libtool_libs=no
5787	else
5788	  oldobjs="$old_deplibs $non_pic_objects"
5789	fi
5790	addlibs="$old_convenience"
5791      fi
5792
5793      if test -n "$addlibs"; then
5794	gentop="$output_objdir/${outputname}x"
5795	generated="$generated $gentop"
5796
5797	func_extract_archives $gentop $addlibs
5798	oldobjs="$oldobjs $func_extract_archives_result"
5799      fi
5800
5801      # Do each command in the archive commands.
5802      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
5803       cmds=$old_archive_from_new_cmds
5804      else
5805	# POSIX demands no paths to be encoded in archives.  We have
5806	# to avoid creating archives with duplicate basenames if we
5807	# might have to extract them afterwards, e.g., when creating a
5808	# static archive out of a convenience library, or when linking
5809	# the entirety of a libtool archive into another (currently
5810	# not supported by libtool).
5811	if (for obj in $oldobjs
5812	    do
5813	      $echo "X$obj" | $Xsed -e 's%^.*/%%'
5814	    done | sort | sort -uc >/dev/null 2>&1); then
5815	  :
5816	else
5817	  $echo "copying selected object files to avoid basename conflicts..."
5818
5819	  if test -z "$gentop"; then
5820	    gentop="$output_objdir/${outputname}x"
5821	    generated="$generated $gentop"
5822
5823	    $show "${rm}r $gentop"
5824	    $run ${rm}r "$gentop"
5825	    $show "$mkdir $gentop"
5826	    $run $mkdir "$gentop"
5827	    exit_status=$?
5828	    if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
5829	      exit $exit_status
5830	    fi
5831	  fi
5832
5833	  save_oldobjs=$oldobjs
5834	  oldobjs=
5835	  counter=1
5836	  for obj in $save_oldobjs
5837	  do
5838	    objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
5839	    case " $oldobjs " in
5840	    " ") oldobjs=$obj ;;
5841	    *[\ /]"$objbase "*)
5842	      while :; do
5843		# Make sure we don't pick an alternate name that also
5844		# overlaps.
5845		newobj=lt$counter-$objbase
5846		counter=`expr $counter + 1`
5847		case " $oldobjs " in
5848		*[\ /]"$newobj "*) ;;
5849		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
5850		esac
5851	      done
5852	      $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
5853	      $run ln "$obj" "$gentop/$newobj" ||
5854	      $run cp "$obj" "$gentop/$newobj"
5855	      oldobjs="$oldobjs $gentop/$newobj"
5856	      ;;
5857	    *) oldobjs="$oldobjs $obj" ;;
5858	    esac
5859	  done
5860	fi
5861
5862	eval cmds=\"$old_archive_cmds\"
5863
5864	if len=`expr "X$cmds" : ".*"` &&
5865	     test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
5866	  cmds=$old_archive_cmds
5867	else
5868	  # the command line is too long to link in one step, link in parts
5869	  $echo "using piecewise archive linking..."
5870	  save_RANLIB=$RANLIB
5871	  RANLIB=:
5872	  objlist=
5873	  concat_cmds=
5874	  save_oldobjs=$oldobjs
5875
5876	  # Is there a better way of finding the last object in the list?
5877	  for obj in $save_oldobjs
5878	  do
5879	    last_oldobj=$obj
5880	  done
5881	  for obj in $save_oldobjs
5882	  do
5883	    oldobjs="$objlist $obj"
5884	    objlist="$objlist $obj"
5885	    eval test_cmds=\"$old_archive_cmds\"
5886	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
5887	       test "$len" -le "$max_cmd_len"; then
5888	      :
5889	    else
5890	      # the above command should be used before it gets too long
5891	      oldobjs=$objlist
5892	      if test "$obj" = "$last_oldobj" ; then
5893	        RANLIB=$save_RANLIB
5894	      fi
5895	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
5896	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
5897	      objlist=
5898	    fi
5899	  done
5900	  RANLIB=$save_RANLIB
5901	  oldobjs=$objlist
5902	  if test "X$oldobjs" = "X" ; then
5903	    eval cmds=\"\$concat_cmds\"
5904	  else
5905	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
5906	  fi
5907	fi
5908      fi
5909      save_ifs="$IFS"; IFS='~'
5910      for cmd in $cmds; do
5911        eval cmd=\"$cmd\"
5912	IFS="$save_ifs"
5913	$show "$cmd"
5914	$run eval "$cmd" || exit $?
5915      done
5916      IFS="$save_ifs"
5917    done
5918
5919    if test -n "$generated"; then
5920      $show "${rm}r$generated"
5921      $run ${rm}r$generated
5922    fi
5923
5924    # Now create the libtool archive.
5925    case $output in
5926    *.la)
5927      old_library=
5928      test "$build_old_libs" = yes && old_library="$libname.$libext"
5929      $show "creating $output"
5930
5931      # Preserve any variables that may affect compiler behavior
5932      for var in $variables_saved_for_relink; do
5933	if eval test -z \"\${$var+set}\"; then
5934	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
5935	elif eval var_value=\$$var; test -z "$var_value"; then
5936	  relink_command="$var=; export $var; $relink_command"
5937	else
5938	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
5939	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
5940	fi
5941      done
5942      # Quote the link command for shipping.
5943      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
5944      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
5945      if test "$hardcode_automatic" = yes ; then
5946	relink_command=
5947      fi
5948
5949
5950      # Only create the output if not a dry run.
5951      if test -z "$run"; then
5952	for installed in no yes; do
5953	  if test "$installed" = yes; then
5954	    if test -z "$install_libdir"; then
5955	      break
5956	    fi
5957	    output="$output_objdir/$outputname"i
5958	    # Replace all uninstalled libtool libraries with the installed ones
5959	    newdependency_libs=
5960	    for deplib in $dependency_libs; do
5961	      case $deplib in
5962	      *.la)
5963		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
5964		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
5965		if test -z "$libdir"; then
5966		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
5967		  exit $EXIT_FAILURE
5968		fi
5969		newdependency_libs="$newdependency_libs $libdir/$name"
5970		;;
5971	      *) newdependency_libs="$newdependency_libs $deplib" ;;
5972	      esac
5973	    done
5974	    dependency_libs="$newdependency_libs"
5975	    newdlfiles=
5976	    for lib in $dlfiles; do
5977	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
5978	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
5979	      if test -z "$libdir"; then
5980		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
5981		exit $EXIT_FAILURE
5982	      fi
5983	      newdlfiles="$newdlfiles $libdir/$name"
5984	    done
5985	    dlfiles="$newdlfiles"
5986	    newdlprefiles=
5987	    for lib in $dlprefiles; do
5988	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
5989	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
5990	      if test -z "$libdir"; then
5991		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
5992		exit $EXIT_FAILURE
5993	      fi
5994	      newdlprefiles="$newdlprefiles $libdir/$name"
5995	    done
5996	    dlprefiles="$newdlprefiles"
5997	  else
5998	    newdlfiles=
5999	    for lib in $dlfiles; do
6000	      case $lib in
6001		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
6002		*) abs=`pwd`"/$lib" ;;
6003	      esac
6004	      newdlfiles="$newdlfiles $abs"
6005	    done
6006	    dlfiles="$newdlfiles"
6007	    newdlprefiles=
6008	    for lib in $dlprefiles; do
6009	      case $lib in
6010		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
6011		*) abs=`pwd`"/$lib" ;;
6012	      esac
6013	      newdlprefiles="$newdlprefiles $abs"
6014	    done
6015	    dlprefiles="$newdlprefiles"
6016	  fi
6017	  $rm $output
6018	  # place dlname in correct position for cygwin
6019	  tdlname=$dlname
6020	  case $host,$output,$installed,$module,$dlname in
6021	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
6022	  esac
6023	  $echo > $output "\
6024# $outputname - a libtool library file
6025# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
6026#
6027# Please DO NOT delete this file!
6028# It is necessary for linking the library.
6029
6030# The name that we can dlopen(3).
6031dlname='$tdlname'
6032
6033# Names of this library.
6034library_names='$library_names'
6035
6036# The name of the static archive.
6037old_library='$old_library'
6038
6039# Libraries that this one depends upon.
6040dependency_libs='$dependency_libs'
6041
6042# Version information for $libname.
6043current=$current
6044age=$age
6045revision=$revision
6046
6047# Is this an already installed library?
6048installed=$installed
6049
6050# Should we warn about portability when linking against -modules?
6051shouldnotlink=$module
6052
6053# Files to dlopen/dlpreopen
6054dlopen='$dlfiles'
6055dlpreopen='$dlprefiles'
6056
6057# Directory that this library needs to be installed in:
6058libdir='$install_libdir'"
6059	  if test "$installed" = no && test "$need_relink" = yes; then
6060	    $echo >> $output "\
6061relink_command=\"$relink_command\""
6062	  fi
6063	done
6064      fi
6065
6066      # Do a symbolic link so that the libtool archive can be found in
6067      # LD_LIBRARY_PATH before the program is installed.
6068      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
6069      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
6070      ;;
6071    esac
6072    exit $EXIT_SUCCESS
6073    ;;
6074
6075  # libtool install mode
6076  install)
6077    modename="$modename: install"
6078
6079    # There may be an optional sh(1) argument at the beginning of
6080    # install_prog (especially on Windows NT).
6081    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
6082       # Allow the use of GNU shtool's install command.
6083       $echo "X$nonopt" | grep shtool > /dev/null; then
6084      # Aesthetically quote it.
6085      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
6086      case $arg in
6087      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
6088	arg="\"$arg\""
6089	;;
6090      esac
6091      install_prog="$arg "
6092      arg="$1"
6093      shift
6094    else
6095      install_prog=
6096      arg=$nonopt
6097    fi
6098
6099    # The real first argument should be the name of the installation program.
6100    # Aesthetically quote it.
6101    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
6102    case $arg in
6103    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
6104      arg="\"$arg\""
6105      ;;
6106    esac
6107    install_prog="$install_prog$arg"
6108
6109    # We need to accept at least all the BSD install flags.
6110    dest=
6111    files=
6112    opts=
6113    prev=
6114    install_type=
6115    isdir=no
6116    stripme=
6117    for arg
6118    do
6119      if test -n "$dest"; then
6120	files="$files $dest"
6121	dest=$arg
6122	continue
6123      fi
6124
6125      case $arg in
6126      -d) isdir=yes ;;
6127      -f)
6128      	case " $install_prog " in
6129	*[\\\ /]cp\ *) ;;
6130	*) prev=$arg ;;
6131	esac
6132	;;
6133      -g | -m | -o) prev=$arg ;;
6134      -s)
6135	stripme=" -s"
6136	continue
6137	;;
6138      -*)
6139	;;
6140      *)
6141	# If the previous option needed an argument, then skip it.
6142	if test -n "$prev"; then
6143	  prev=
6144	else
6145	  dest=$arg
6146	  continue
6147	fi
6148	;;
6149      esac
6150
6151      # Aesthetically quote the argument.
6152      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
6153      case $arg in
6154      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
6155	arg="\"$arg\""
6156	;;
6157      esac
6158      install_prog="$install_prog $arg"
6159    done
6160
6161    if test -z "$install_prog"; then
6162      $echo "$modename: you must specify an install program" 1>&2
6163      $echo "$help" 1>&2
6164      exit $EXIT_FAILURE
6165    fi
6166
6167    if test -n "$prev"; then
6168      $echo "$modename: the \`$prev' option requires an argument" 1>&2
6169      $echo "$help" 1>&2
6170      exit $EXIT_FAILURE
6171    fi
6172
6173    if test -z "$files"; then
6174      if test -z "$dest"; then
6175	$echo "$modename: no file or destination specified" 1>&2
6176      else
6177	$echo "$modename: you must specify a destination" 1>&2
6178      fi
6179      $echo "$help" 1>&2
6180      exit $EXIT_FAILURE
6181    fi
6182
6183    # Strip any trailing slash from the destination.
6184    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
6185
6186    # Check to see that the destination is a directory.
6187    test -d "$dest" && isdir=yes
6188    if test "$isdir" = yes; then
6189      destdir="$dest"
6190      destname=
6191    else
6192      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
6193      test "X$destdir" = "X$dest" && destdir=.
6194      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
6195
6196      # Not a directory, so check to see that there is only one file specified.
6197      set dummy $files
6198      if test "$#" -gt 2; then
6199	$echo "$modename: \`$dest' is not a directory" 1>&2
6200	$echo "$help" 1>&2
6201	exit $EXIT_FAILURE
6202      fi
6203    fi
6204    case $destdir in
6205    [\\/]* | [A-Za-z]:[\\/]*) ;;
6206    *)
6207      for file in $files; do
6208	case $file in
6209	*.lo) ;;
6210	*)
6211	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
6212	  $echo "$help" 1>&2
6213	  exit $EXIT_FAILURE
6214	  ;;
6215	esac
6216      done
6217      ;;
6218    esac
6219
6220    # This variable tells wrapper scripts just to set variables rather
6221    # than running their programs.
6222    libtool_install_magic="$magic"
6223
6224    staticlibs=
6225    future_libdirs=
6226    current_libdirs=
6227    for file in $files; do
6228
6229      # Do each installation.
6230      case $file in
6231      *.$libext)
6232	# Do the static libraries later.
6233	staticlibs="$staticlibs $file"
6234	;;
6235
6236      *.la)
6237	# Check to see that this really is a libtool archive.
6238	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
6239	else
6240	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
6241	  $echo "$help" 1>&2
6242	  exit $EXIT_FAILURE
6243	fi
6244
6245	library_names=
6246	old_library=
6247	relink_command=
6248	# If there is no directory component, then add one.
6249	case $file in
6250	*/* | *\\*) . $file ;;
6251	*) . ./$file ;;
6252	esac
6253
6254	# Add the libdir to current_libdirs if it is the destination.
6255	if test "X$destdir" = "X$libdir"; then
6256	  case "$current_libdirs " in
6257	  *" $libdir "*) ;;
6258	  *) current_libdirs="$current_libdirs $libdir" ;;
6259	  esac
6260	else
6261	  # Note the libdir as a future libdir.
6262	  case "$future_libdirs " in
6263	  *" $libdir "*) ;;
6264	  *) future_libdirs="$future_libdirs $libdir" ;;
6265	  esac
6266	fi
6267
6268	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
6269	test "X$dir" = "X$file/" && dir=
6270	dir="$dir$objdir"
6271
6272	if test -n "$relink_command"; then
6273	  # Determine the prefix the user has applied to our future dir.
6274	  inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
6275
6276	  # Don't allow the user to place us outside of our expected
6277	  # location b/c this prevents finding dependent libraries that
6278	  # are installed to the same prefix.
6279	  # At present, this check doesn't affect windows .dll's that
6280	  # are installed into $libdir/../bin (currently, that works fine)
6281	  # but it's something to keep an eye on.
6282	  if test "$inst_prefix_dir" = "$destdir"; then
6283	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
6284	    exit $EXIT_FAILURE
6285	  fi
6286
6287	  if test -n "$inst_prefix_dir"; then
6288	    # Stick the inst_prefix_dir data into the link command.
6289	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
6290	  else
6291	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
6292	  fi
6293
6294	  $echo "$modename: warning: relinking \`$file'" 1>&2
6295	  $show "$relink_command"
6296	  if $run eval "$relink_command"; then :
6297	  else
6298	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
6299	    exit $EXIT_FAILURE
6300	  fi
6301	fi
6302
6303	# See the names of the shared library.
6304	set dummy $library_names
6305	if test -n "$2"; then
6306	  realname="$2"
6307	  shift
6308	  shift
6309
6310	  srcname="$realname"
6311	  test -n "$relink_command" && srcname="$realname"T
6312
6313	  # Install the shared library and build the symlinks.
6314	  $show "$install_prog $dir/$srcname $destdir/$realname"
6315	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
6316	  if test -n "$stripme" && test -n "$striplib"; then
6317	    $show "$striplib $destdir/$realname"
6318	    $run eval "$striplib $destdir/$realname" || exit $?
6319	  fi
6320
6321	  if test "$#" -gt 0; then
6322	    # Delete the old symlinks, and create new ones.
6323	    # Try `ln -sf' first, because the `ln' binary might depend on
6324	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
6325	    # so we also need to try rm && ln -s.
6326	    for linkname
6327	    do
6328	      if test "$linkname" != "$realname"; then
6329                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
6330                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
6331	      fi
6332	    done
6333	  fi
6334
6335	  # Do each command in the postinstall commands.
6336	  lib="$destdir/$realname"
6337	  cmds=$postinstall_cmds
6338	  save_ifs="$IFS"; IFS='~'
6339	  for cmd in $cmds; do
6340	    IFS="$save_ifs"
6341	    eval cmd=\"$cmd\"
6342	    $show "$cmd"
6343	    $run eval "$cmd" || {
6344	      lt_exit=$?
6345
6346	      # Restore the uninstalled library and exit
6347	      if test "$mode" = relink; then
6348		$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
6349	      fi
6350
6351	      exit $lt_exit
6352	    }
6353	  done
6354	  IFS="$save_ifs"
6355	fi
6356
6357	# Install the pseudo-library for information purposes.
6358	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
6359	instname="$dir/$name"i
6360	$show "$install_prog $instname $destdir/$name"
6361	$run eval "$install_prog $instname $destdir/$name" || exit $?
6362
6363	# Maybe install the static library, too.
6364	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
6365	;;
6366
6367      *.lo)
6368	# Install (i.e. copy) a libtool object.
6369
6370	# Figure out destination file name, if it wasn't already specified.
6371	if test -n "$destname"; then
6372	  destfile="$destdir/$destname"
6373	else
6374	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
6375	  destfile="$destdir/$destfile"
6376	fi
6377
6378	# Deduce the name of the destination old-style object file.
6379	case $destfile in
6380	*.lo)
6381	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
6382	  ;;
6383	*.$objext)
6384	  staticdest="$destfile"
6385	  destfile=
6386	  ;;
6387	*)
6388	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
6389	  $echo "$help" 1>&2
6390	  exit $EXIT_FAILURE
6391	  ;;
6392	esac
6393
6394	# Install the libtool object if requested.
6395	if test -n "$destfile"; then
6396	  $show "$install_prog $file $destfile"
6397	  $run eval "$install_prog $file $destfile" || exit $?
6398	fi
6399
6400	# Install the old object if enabled.
6401	if test "$build_old_libs" = yes; then
6402	  # Deduce the name of the old-style object file.
6403	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
6404
6405	  $show "$install_prog $staticobj $staticdest"
6406	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
6407	fi
6408	exit $EXIT_SUCCESS
6409	;;
6410
6411      *)
6412	# Figure out destination file name, if it wasn't already specified.
6413	if test -n "$destname"; then
6414	  destfile="$destdir/$destname"
6415	else
6416	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
6417	  destfile="$destdir/$destfile"
6418	fi
6419
6420	# If the file is missing, and there is a .exe on the end, strip it
6421	# because it is most likely a libtool script we actually want to
6422	# install
6423	stripped_ext=""
6424	case $file in
6425	  *.exe)
6426	    if test ! -f "$file"; then
6427	      file=`$echo $file|${SED} 's,.exe$,,'`
6428	      stripped_ext=".exe"
6429	    fi
6430	    ;;
6431	esac
6432
6433	# Do a test to see if this is really a libtool program.
6434	case $host in
6435	*cygwin*|*mingw*)
6436	    wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
6437	    ;;
6438	*)
6439	    wrapper=$file
6440	    ;;
6441	esac
6442	if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
6443	  notinst_deplibs=
6444	  relink_command=
6445
6446	  # Note that it is not necessary on cygwin/mingw to append a dot to
6447	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
6448	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
6449	  # `FILE.' does not work on cygwin managed mounts.
6450	  #
6451	  # If there is no directory component, then add one.
6452	  case $wrapper in
6453	  */* | *\\*) . ${wrapper} ;;
6454	  *) . ./${wrapper} ;;
6455	  esac
6456
6457	  # Check the variables that should have been set.
6458	  if test -z "$notinst_deplibs"; then
6459	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
6460	    exit $EXIT_FAILURE
6461	  fi
6462
6463	  finalize=yes
6464	  for lib in $notinst_deplibs; do
6465	    # Check to see that each library is installed.
6466	    libdir=
6467	    if test -f "$lib"; then
6468	      # If there is no directory component, then add one.
6469	      case $lib in
6470	      */* | *\\*) . $lib ;;
6471	      *) . ./$lib ;;
6472	      esac
6473	    fi
6474	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
6475	    if test -n "$libdir" && test ! -f "$libfile"; then
6476	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
6477	      finalize=no
6478	    fi
6479	  done
6480
6481	  relink_command=
6482	  # Note that it is not necessary on cygwin/mingw to append a dot to
6483	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
6484	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
6485	  # `FILE.' does not work on cygwin managed mounts.
6486	  #
6487	  # If there is no directory component, then add one.
6488	  case $wrapper in
6489	  */* | *\\*) . ${wrapper} ;;
6490	  *) . ./${wrapper} ;;
6491	  esac
6492
6493	  outputname=
6494	  if test "$fast_install" = no && test -n "$relink_command"; then
6495	    if test "$finalize" = yes && test -z "$run"; then
6496	      tmpdir=`func_mktempdir`
6497	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
6498	      outputname="$tmpdir/$file"
6499	      # Replace the output file specification.
6500	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
6501
6502	      $show "$relink_command"
6503	      if $run eval "$relink_command"; then :
6504	      else
6505		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
6506		${rm}r "$tmpdir"
6507		continue
6508	      fi
6509	      file="$outputname"
6510	    else
6511	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
6512	    fi
6513	  else
6514	    # Install the binary that we compiled earlier.
6515	    file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
6516	  fi
6517	fi
6518
6519	# remove .exe since cygwin /usr/bin/install will append another
6520	# one anyway
6521	case $install_prog,$host in
6522	*/usr/bin/install*,*cygwin*)
6523	  case $file:$destfile in
6524	  *.exe:*.exe)
6525	    # this is ok
6526	    ;;
6527	  *.exe:*)
6528	    destfile=$destfile.exe
6529	    ;;
6530	  *:*.exe)
6531	    destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
6532	    ;;
6533	  esac
6534	  ;;
6535	esac
6536	$show "$install_prog$stripme $file $destfile"
6537	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
6538	test -n "$outputname" && ${rm}r "$tmpdir"
6539	;;
6540      esac
6541    done
6542
6543    for file in $staticlibs; do
6544      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
6545
6546      # Set up the ranlib parameters.
6547      oldlib="$destdir/$name"
6548
6549      $show "$install_prog $file $oldlib"
6550      $run eval "$install_prog \$file \$oldlib" || exit $?
6551
6552      if test -n "$stripme" && test -n "$old_striplib"; then
6553	$show "$old_striplib $oldlib"
6554	$run eval "$old_striplib $oldlib" || exit $?
6555      fi
6556
6557      # Do each command in the postinstall commands.
6558      cmds=$old_postinstall_cmds
6559      save_ifs="$IFS"; IFS='~'
6560      for cmd in $cmds; do
6561	IFS="$save_ifs"
6562	eval cmd=\"$cmd\"
6563	$show "$cmd"
6564	$run eval "$cmd" || exit $?
6565      done
6566      IFS="$save_ifs"
6567    done
6568
6569    if test -n "$future_libdirs"; then
6570      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
6571    fi
6572
6573    if test -n "$current_libdirs"; then
6574      # Maybe just do a dry run.
6575      test -n "$run" && current_libdirs=" -n$current_libdirs"
6576      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
6577    else
6578      exit $EXIT_SUCCESS
6579    fi
6580    ;;
6581
6582  # libtool finish mode
6583  finish)
6584    modename="$modename: finish"
6585    libdirs="$nonopt"
6586    admincmds=
6587
6588    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
6589      for dir
6590      do
6591	libdirs="$libdirs $dir"
6592      done
6593
6594      for libdir in $libdirs; do
6595	if test -n "$finish_cmds"; then
6596	  # Do each command in the finish commands.
6597	  cmds=$finish_cmds
6598	  save_ifs="$IFS"; IFS='~'
6599	  for cmd in $cmds; do
6600	    IFS="$save_ifs"
6601	    eval cmd=\"$cmd\"
6602	    $show "$cmd"
6603	    $run eval "$cmd" || admincmds="$admincmds
6604       $cmd"
6605	  done
6606	  IFS="$save_ifs"
6607	fi
6608	if test -n "$finish_eval"; then
6609	  # Do the single finish_eval.
6610	  eval cmds=\"$finish_eval\"
6611	  $run eval "$cmds" || admincmds="$admincmds
6612       $cmds"
6613	fi
6614      done
6615    fi
6616
6617    # Exit here if they wanted silent mode.
6618    test "$show" = : && exit $EXIT_SUCCESS
6619
6620    $echo "X----------------------------------------------------------------------" | $Xsed
6621    $echo "Libraries have been installed in:"
6622    for libdir in $libdirs; do
6623      $echo "   $libdir"
6624    done
6625    $echo
6626    $echo "If you ever happen to want to link against installed libraries"
6627    $echo "in a given directory, LIBDIR, you must either use libtool, and"
6628    $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
6629    $echo "flag during linking and do at least one of the following:"
6630    if test -n "$shlibpath_var"; then
6631      $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
6632      $echo "     during execution"
6633    fi
6634    if test -n "$runpath_var"; then
6635      $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
6636      $echo "     during linking"
6637    fi
6638    if test -n "$hardcode_libdir_flag_spec"; then
6639      libdir=LIBDIR
6640      eval flag=\"$hardcode_libdir_flag_spec\"
6641
6642      $echo "   - use the \`$flag' linker flag"
6643    fi
6644    if test -n "$admincmds"; then
6645      $echo "   - have your system administrator run these commands:$admincmds"
6646    fi
6647    if test -f /etc/ld.so.conf; then
6648      $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
6649    fi
6650    $echo
6651    $echo "See any operating system documentation about shared libraries for"
6652    $echo "more information, such as the ld(1) and ld.so(8) manual pages."
6653    $echo "X----------------------------------------------------------------------" | $Xsed
6654    exit $EXIT_SUCCESS
6655    ;;
6656
6657  # libtool execute mode
6658  execute)
6659    modename="$modename: execute"
6660
6661    # The first argument is the command name.
6662    cmd="$nonopt"
6663    if test -z "$cmd"; then
6664      $echo "$modename: you must specify a COMMAND" 1>&2
6665      $echo "$help"
6666      exit $EXIT_FAILURE
6667    fi
6668
6669    # Handle -dlopen flags immediately.
6670    for file in $execute_dlfiles; do
6671      if test ! -f "$file"; then
6672	$echo "$modename: \`$file' is not a file" 1>&2
6673	$echo "$help" 1>&2
6674	exit $EXIT_FAILURE
6675      fi
6676
6677      dir=
6678      case $file in
6679      *.la)
6680	# Check to see that this really is a libtool archive.
6681	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
6682	else
6683	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
6684	  $echo "$help" 1>&2
6685	  exit $EXIT_FAILURE
6686	fi
6687
6688	# Read the libtool library.
6689	dlname=
6690	library_names=
6691
6692	# If there is no directory component, then add one.
6693	case $file in
6694	*/* | *\\*) . $file ;;
6695	*) . ./$file ;;
6696	esac
6697
6698	# Skip this library if it cannot be dlopened.
6699	if test -z "$dlname"; then
6700	  # Warn if it was a shared library.
6701	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
6702	  continue
6703	fi
6704
6705	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
6706	test "X$dir" = "X$file" && dir=.
6707
6708	if test -f "$dir/$objdir/$dlname"; then
6709	  dir="$dir/$objdir"
6710	else
6711	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
6712	  exit $EXIT_FAILURE
6713	fi
6714	;;
6715
6716      *.lo)
6717	# Just add the directory containing the .lo file.
6718	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
6719	test "X$dir" = "X$file" && dir=.
6720	;;
6721
6722      *)
6723	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
6724	continue
6725	;;
6726      esac
6727
6728      # Get the absolute pathname.
6729      absdir=`cd "$dir" && pwd`
6730      test -n "$absdir" && dir="$absdir"
6731
6732      # Now add the directory to shlibpath_var.
6733      if eval "test -z \"\$$shlibpath_var\""; then
6734	eval "$shlibpath_var=\"\$dir\""
6735      else
6736	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
6737      fi
6738    done
6739
6740    # This variable tells wrapper scripts just to set shlibpath_var
6741    # rather than running their programs.
6742    libtool_execute_magic="$magic"
6743
6744    # Check if any of the arguments is a wrapper script.
6745    args=
6746    for file
6747    do
6748      case $file in
6749      -*) ;;
6750      *)
6751	# Do a test to see if this is really a libtool program.
6752	if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
6753	  # If there is no directory component, then add one.
6754	  case $file in
6755	  */* | *\\*) . $file ;;
6756	  *) . ./$file ;;
6757	  esac
6758
6759	  # Transform arg to wrapped name.
6760	  file="$progdir/$program"
6761	fi
6762	;;
6763      esac
6764      # Quote arguments (to preserve shell metacharacters).
6765      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
6766      args="$args \"$file\""
6767    done
6768
6769    if test -z "$run"; then
6770      if test -n "$shlibpath_var"; then
6771	# Export the shlibpath_var.
6772	eval "export $shlibpath_var"
6773      fi
6774
6775      # Restore saved environment variables
6776      if test "${save_LC_ALL+set}" = set; then
6777	LC_ALL="$save_LC_ALL"; export LC_ALL
6778      fi
6779      if test "${save_LANG+set}" = set; then
6780	LANG="$save_LANG"; export LANG
6781      fi
6782
6783      # Now prepare to actually exec the command.
6784      exec_cmd="\$cmd$args"
6785    else
6786      # Display what would be done.
6787      if test -n "$shlibpath_var"; then
6788	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
6789	$echo "export $shlibpath_var"
6790      fi
6791      $echo "$cmd$args"
6792      exit $EXIT_SUCCESS
6793    fi
6794    ;;
6795
6796  # libtool clean and uninstall mode
6797  clean | uninstall)
6798    modename="$modename: $mode"
6799    rm="$nonopt"
6800    files=
6801    rmforce=
6802    exit_status=0
6803
6804    # This variable tells wrapper scripts just to set variables rather
6805    # than running their programs.
6806    libtool_install_magic="$magic"
6807
6808    for arg
6809    do
6810      case $arg in
6811      -f) rm="$rm $arg"; rmforce=yes ;;
6812      -*) rm="$rm $arg" ;;
6813      *) files="$files $arg" ;;
6814      esac
6815    done
6816
6817    if test -z "$rm"; then
6818      $echo "$modename: you must specify an RM program" 1>&2
6819      $echo "$help" 1>&2
6820      exit $EXIT_FAILURE
6821    fi
6822
6823    rmdirs=
6824
6825    origobjdir="$objdir"
6826    for file in $files; do
6827      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
6828      if test "X$dir" = "X$file"; then
6829	dir=.
6830	objdir="$origobjdir"
6831      else
6832	objdir="$dir/$origobjdir"
6833      fi
6834      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
6835      test "$mode" = uninstall && objdir="$dir"
6836
6837      # Remember objdir for removal later, being careful to avoid duplicates
6838      if test "$mode" = clean; then
6839	case " $rmdirs " in
6840	  *" $objdir "*) ;;
6841	  *) rmdirs="$rmdirs $objdir" ;;
6842	esac
6843      fi
6844
6845      # Don't error if the file doesn't exist and rm -f was used.
6846      if (test -L "$file") >/dev/null 2>&1 \
6847	|| (test -h "$file") >/dev/null 2>&1 \
6848	|| test -f "$file"; then
6849	:
6850      elif test -d "$file"; then
6851	exit_status=1
6852	continue
6853      elif test "$rmforce" = yes; then
6854	continue
6855      fi
6856
6857      rmfiles="$file"
6858
6859      case $name in
6860      *.la)
6861	# Possibly a libtool archive, so verify it.
6862	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
6863	  . $dir/$name
6864
6865	  # Delete the libtool libraries and symlinks.
6866	  for n in $library_names; do
6867	    rmfiles="$rmfiles $objdir/$n"
6868	  done
6869	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
6870
6871	  case "$mode" in
6872	  clean)
6873	    case "  $library_names " in
6874	    # "  " in the beginning catches empty $dlname
6875	    *" $dlname "*) ;;
6876	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
6877	    esac
6878	     test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
6879	    ;;
6880	  uninstall)
6881	    if test -n "$library_names"; then
6882	      # Do each command in the postuninstall commands.
6883	      cmds=$postuninstall_cmds
6884	      save_ifs="$IFS"; IFS='~'
6885	      for cmd in $cmds; do
6886		IFS="$save_ifs"
6887		eval cmd=\"$cmd\"
6888		$show "$cmd"
6889		$run eval "$cmd"
6890		if test "$?" -ne 0 && test "$rmforce" != yes; then
6891		  exit_status=1
6892		fi
6893	      done
6894	      IFS="$save_ifs"
6895	    fi
6896
6897	    if test -n "$old_library"; then
6898	      # Do each command in the old_postuninstall commands.
6899	      cmds=$old_postuninstall_cmds
6900	      save_ifs="$IFS"; IFS='~'
6901	      for cmd in $cmds; do
6902		IFS="$save_ifs"
6903		eval cmd=\"$cmd\"
6904		$show "$cmd"
6905		$run eval "$cmd"
6906		if test "$?" -ne 0 && test "$rmforce" != yes; then
6907		  exit_status=1
6908		fi
6909	      done
6910	      IFS="$save_ifs"
6911	    fi
6912	    # FIXME: should reinstall the best remaining shared library.
6913	    ;;
6914	  esac
6915	fi
6916	;;
6917
6918      *.lo)
6919	# Possibly a libtool object, so verify it.
6920	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
6921
6922	  # Read the .lo file
6923	  . $dir/$name
6924
6925	  # Add PIC object to the list of files to remove.
6926	  if test -n "$pic_object" \
6927	     && test "$pic_object" != none; then
6928	    rmfiles="$rmfiles $dir/$pic_object"
6929	  fi
6930
6931	  # Add non-PIC object to the list of files to remove.
6932	  if test -n "$non_pic_object" \
6933	     && test "$non_pic_object" != none; then
6934	    rmfiles="$rmfiles $dir/$non_pic_object"
6935	  fi
6936	fi
6937	;;
6938
6939      *)
6940	if test "$mode" = clean ; then
6941	  noexename=$name
6942	  case $file in
6943	  *.exe)
6944	    file=`$echo $file|${SED} 's,.exe$,,'`
6945	    noexename=`$echo $name|${SED} 's,.exe$,,'`
6946	    # $file with .exe has already been added to rmfiles,
6947	    # add $file without .exe
6948	    rmfiles="$rmfiles $file"
6949	    ;;
6950	  esac
6951	  # Do a test to see if this is a libtool program.
6952	  if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
6953	    relink_command=
6954	    . $dir/$noexename
6955
6956	    # note $name still contains .exe if it was in $file originally
6957	    # as does the version of $file that was added into $rmfiles
6958	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
6959	    if test "$fast_install" = yes && test -n "$relink_command"; then
6960	      rmfiles="$rmfiles $objdir/lt-$name"
6961	    fi
6962	    if test "X$noexename" != "X$name" ; then
6963	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
6964	    fi
6965	  fi
6966	fi
6967	;;
6968      esac
6969      $show "$rm $rmfiles"
6970      $run $rm $rmfiles || exit_status=1
6971    done
6972    objdir="$origobjdir"
6973
6974    # Try to remove the ${objdir}s in the directories where we deleted files
6975    for dir in $rmdirs; do
6976      if test -d "$dir"; then
6977	$show "rmdir $dir"
6978	$run rmdir $dir >/dev/null 2>&1
6979      fi
6980    done
6981
6982    exit $exit_status
6983    ;;
6984
6985  "")
6986    $echo "$modename: you must specify a MODE" 1>&2
6987    $echo "$generic_help" 1>&2
6988    exit $EXIT_FAILURE
6989    ;;
6990  esac
6991
6992  if test -z "$exec_cmd"; then
6993    $echo "$modename: invalid operation mode \`$mode'" 1>&2
6994    $echo "$generic_help" 1>&2
6995    exit $EXIT_FAILURE
6996  fi
6997fi # test -z "$show_help"
6998
6999if test -n "$exec_cmd"; then
7000  eval exec $exec_cmd
7001  exit $EXIT_FAILURE
7002fi
7003
7004# We need to display help for each of the modes.
7005case $mode in
7006"") $echo \
7007"Usage: $modename [OPTION]... [MODE-ARG]...
7008
7009Provide generalized library-building support services.
7010
7011    --config          show all configuration variables
7012    --debug           enable verbose shell tracing
7013-n, --dry-run         display commands without modifying any files
7014    --features        display basic configuration information and exit
7015    --finish          same as \`--mode=finish'
7016    --help            display this help message and exit
7017    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
7018    --quiet           same as \`--silent'
7019    --silent          don't print informational messages
7020    --tag=TAG         use configuration variables from tag TAG
7021    --version         print version information
7022
7023MODE must be one of the following:
7024
7025      clean           remove files from the build directory
7026      compile         compile a source file into a libtool object
7027      execute         automatically set library path, then run a program
7028      finish          complete the installation of libtool libraries
7029      install         install libraries or executables
7030      link            create a library or an executable
7031      uninstall       remove libraries from an installed directory
7032
7033MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
7034a more detailed description of MODE.
7035
7036Report bugs to <bug-libtool@gnu.org>."
7037  exit $EXIT_SUCCESS
7038  ;;
7039
7040clean)
7041  $echo \
7042"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
7043
7044Remove files from the build directory.
7045
7046RM is the name of the program to use to delete files associated with each FILE
7047(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
7048to RM.
7049
7050If FILE is a libtool library, object or program, all the files associated
7051with it are deleted. Otherwise, only FILE itself is deleted using RM."
7052  ;;
7053
7054compile)
7055  $echo \
7056"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
7057
7058Compile a source file into a libtool library object.
7059
7060This mode accepts the following additional options:
7061
7062  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
7063  -prefer-pic       try to building PIC objects only
7064  -prefer-non-pic   try to building non-PIC objects only
7065  -static           always build a \`.o' file suitable for static linking
7066
7067COMPILE-COMMAND is a command to be used in creating a \`standard' object file
7068from the given SOURCEFILE.
7069
7070The output file name is determined by removing the directory component from
7071SOURCEFILE, then substituting the C source code suffix \`.c' with the
7072library object suffix, \`.lo'."
7073  ;;
7074
7075execute)
7076  $echo \
7077"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
7078
7079Automatically set library path, then run a program.
7080
7081This mode accepts the following additional options:
7082
7083  -dlopen FILE      add the directory containing FILE to the library path
7084
7085This mode sets the library path environment variable according to \`-dlopen'
7086flags.
7087
7088If any of the ARGS are libtool executable wrappers, then they are translated
7089into their corresponding uninstalled binary, and any of their required library
7090directories are added to the library path.
7091
7092Then, COMMAND is executed, with ARGS as arguments."
7093  ;;
7094
7095finish)
7096  $echo \
7097"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
7098
7099Complete the installation of libtool libraries.
7100
7101Each LIBDIR is a directory that contains libtool libraries.
7102
7103The commands that this mode executes may require superuser privileges.  Use
7104the \`--dry-run' option if you just want to see what would be executed."
7105  ;;
7106
7107install)
7108  $echo \
7109"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
7110
7111Install executables or libraries.
7112
7113INSTALL-COMMAND is the installation command.  The first component should be
7114either the \`install' or \`cp' program.
7115
7116The rest of the components are interpreted as arguments to that command (only
7117BSD-compatible install options are recognized)."
7118  ;;
7119
7120link)
7121  $echo \
7122"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
7123
7124Link object files or libraries together to form another library, or to
7125create an executable program.
7126
7127LINK-COMMAND is a command using the C compiler that you would use to create
7128a program from several object files.
7129
7130The following components of LINK-COMMAND are treated specially:
7131
7132  -all-static       do not do any dynamic linking at all
7133  -avoid-version    do not add a version suffix if possible
7134  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
7135  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
7136  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
7137  -export-symbols SYMFILE
7138		    try to export only the symbols listed in SYMFILE
7139  -export-symbols-regex REGEX
7140		    try to export only the symbols matching REGEX
7141  -LLIBDIR          search LIBDIR for required installed libraries
7142  -lNAME            OUTPUT-FILE requires the installed library libNAME
7143  -module           build a library that can dlopened
7144  -no-fast-install  disable the fast-install mode
7145  -no-install       link a not-installable executable
7146  -no-undefined     declare that a library does not refer to external symbols
7147  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
7148  -objectlist FILE  Use a list of object files found in FILE to specify objects
7149  -precious-files-regex REGEX
7150                    don't remove output files matching REGEX
7151  -release RELEASE  specify package release information
7152  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
7153  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
7154  -static           do not do any dynamic linking of libtool libraries
7155  -version-info CURRENT[:REVISION[:AGE]]
7156		    specify library version info [each variable defaults to 0]
7157
7158All other options (arguments beginning with \`-') are ignored.
7159
7160Every other argument is treated as a filename.  Files ending in \`.la' are
7161treated as uninstalled libtool libraries, other files are standard or library
7162object files.
7163
7164If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
7165only library objects (\`.lo' files) may be specified, and \`-rpath' is
7166required, except when creating a convenience library.
7167
7168If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
7169using \`ar' and \`ranlib', or on Windows using \`lib'.
7170
7171If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
7172is created, otherwise an executable program is created."
7173  ;;
7174
7175uninstall)
7176  $echo \
7177"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
7178
7179Remove libraries from an installation directory.
7180
7181RM is the name of the program to use to delete files associated with each FILE
7182(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
7183to RM.
7184
7185If FILE is a libtool library, all the files associated with it are deleted.
7186Otherwise, only FILE itself is deleted using RM."
7187  ;;
7188
7189*)
7190  $echo "$modename: invalid operation mode \`$mode'" 1>&2
7191  $echo "$help" 1>&2
7192  exit $EXIT_FAILURE
7193  ;;
7194esac
7195
7196$echo
7197$echo "Try \`$modename --help' for more information about other modes."
7198
7199exit $?
7200
7201# The TAGs below are defined such that we never get into a situation
7202# in which we disable both kinds of libraries.  Given conflicting
7203# choices, we go for a static library, that is the most portable,
7204# since we can't tell whether shared libraries were disabled because
7205# the user asked for that or because the platform doesn't support
7206# them.  This is particularly important on AIX, because we don't
7207# support having both static and shared libraries enabled at the same
7208# time on that platform, so we default to a shared-only configuration.
7209# If a disable-shared tag is given, we'll fallback to a static-only
7210# configuration.  But we'll never go from static-only to shared-only.
7211
7212# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
7213disable_libs=shared
7214# ### END LIBTOOL TAG CONFIG: disable-shared
7215
7216# ### BEGIN LIBTOOL TAG CONFIG: disable-static
7217disable_libs=static
7218# ### END LIBTOOL TAG CONFIG: disable-static
7219
7220# Local Variables:
7221# mode:shell-script
7222# sh-indentation:2
7223# End:
7224# ### BEGIN LIBTOOL TAG CONFIG: CXX
7225
7226# Libtool was configured on host battlefront.corp.google.com:
7227
7228# Shell to use when invoking shell scripts.
7229SHELL="/bin/sh"
7230
7231# Whether or not to build shared libraries.
7232build_libtool_libs=yes
7233
7234# Whether or not to build static libraries.
7235build_old_libs=yes
7236
7237# Whether or not to add -lc for building shared libraries.
7238build_libtool_need_lc=no
7239
7240# Whether or not to disallow shared libs when runtime libs are static
7241allow_libtool_libs_with_static_runtimes=no
7242
7243# Whether or not to optimize for fast installation.
7244fast_install=yes
7245
7246# The host system.
7247host_alias=
7248host=x86_64-unknown-linux-gnu
7249host_os=linux-gnu
7250
7251# The build system.
7252build_alias=
7253build=x86_64-unknown-linux-gnu
7254build_os=linux-gnu
7255
7256# An echo program that does not interpret backslashes.
7257echo="echo"
7258
7259# The archiver.
7260AR="ar"
7261AR_FLAGS="cru"
7262
7263# A C compiler.
7264LTCC="gcc"
7265
7266# LTCC compiler flags.
7267LTCFLAGS="-g -O2"
7268
7269# A language-specific compiler.
7270CC="g++"
7271
7272# Is the compiler the GNU C compiler?
7273with_gcc=yes
7274
7275# An ERE matcher.
7276EGREP="grep -E"
7277
7278# The linker used to build libraries.
7279LD="/usr/bin/ld -m elf_i386"
7280
7281# Whether we need hard or soft links.
7282LN_S="ln -s"
7283
7284# A BSD-compatible nm program.
7285NM="/usr/bin/nm -B"
7286
7287# A symbol stripping program
7288STRIP="strip"
7289
7290# Used to examine libraries when file_magic_cmd begins "file"
7291MAGIC_CMD=file
7292
7293# Used on cygwin: DLL creation program.
7294DLLTOOL="dlltool"
7295
7296# Used on cygwin: object dumper.
7297OBJDUMP="objdump"
7298
7299# Used on cygwin: assembler.
7300AS="as"
7301
7302# The name of the directory that contains temporary libtool files.
7303objdir=.libs
7304
7305# How to create reloadable object files.
7306reload_flag=" -r"
7307reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
7308
7309# How to pass a linker flag through the compiler.
7310wl="-Wl,"
7311
7312# Object file suffix (normally "o").
7313objext="o"
7314
7315# Old archive suffix (normally "a").
7316libext="a"
7317
7318# Shared library suffix (normally ".so").
7319shrext_cmds='.so'
7320
7321# Executable file suffix (normally "").
7322exeext=""
7323
7324# Additional compiler flags for building library objects.
7325pic_flag=" -fPIC -DPIC"
7326pic_mode=default
7327
7328# What is the maximum length of a command?
7329max_cmd_len=131072
7330
7331# Does compiler simultaneously support -c and -o options?
7332compiler_c_o="yes"
7333
7334# Must we lock files when doing compilation?
7335need_locks="no"
7336
7337# Do we need the lib prefix for modules?
7338need_lib_prefix=no
7339
7340# Do we need a version for libraries?
7341need_version=no
7342
7343# Whether dlopen is supported.
7344dlopen_support=unknown
7345
7346# Whether dlopen of programs is supported.
7347dlopen_self=unknown
7348
7349# Whether dlopen of statically linked programs is supported.
7350dlopen_self_static=unknown
7351
7352# Compiler flag to prevent dynamic linking.
7353link_static_flag="-static"
7354
7355# Compiler flag to turn off builtin functions.
7356no_builtin_flag=" -fno-builtin"
7357
7358# Compiler flag to allow reflexive dlopens.
7359export_dynamic_flag_spec="\${wl}--export-dynamic"
7360
7361# Compiler flag to generate shared objects directly from archives.
7362whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
7363
7364# Compiler flag to generate thread-safe objects.
7365thread_safe_flag_spec=""
7366
7367# Library versioning type.
7368version_type=linux
7369
7370# Format of library name prefix.
7371libname_spec="lib\$name"
7372
7373# List of archive names.  First name is the real one, the rest are links.
7374# The last name is the one that the linker finds with -lNAME.
7375library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
7376
7377# The coded name of the library, if different from the real name.
7378soname_spec="\${libname}\${release}\${shared_ext}\$major"
7379
7380# Commands used to build and install an old-style archive.
7381RANLIB="ranlib"
7382old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
7383old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
7384old_postuninstall_cmds=""
7385
7386# Create an old-style archive from a shared archive.
7387old_archive_from_new_cmds=""
7388
7389# Create a temporary old-style archive to link instead of a shared archive.
7390old_archive_from_expsyms_cmds=""
7391
7392# Commands used to build and install a shared archive.
7393archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
7394archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib"
7395postinstall_cmds=""
7396postuninstall_cmds=""
7397
7398# Commands used to build a loadable module (assumed same as above if empty)
7399module_cmds=""
7400module_expsym_cmds=""
7401
7402# Commands to strip libraries.
7403old_striplib="strip --strip-debug"
7404striplib="strip --strip-unneeded"
7405
7406# Dependencies to place before the objects being linked to create a
7407# shared library.
7408predep_objects="/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.0.3/crtbeginS.o"
7409
7410# Dependencies to place after the objects being linked to create a
7411# shared library.
7412postdep_objects="/usr/lib/gcc/i486-linux-gnu/4.0.3/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/crtn.o"
7413
7414# Dependencies to place before the objects being linked to create a
7415# shared library.
7416predeps=""
7417
7418# Dependencies to place after the objects being linked to create a
7419# shared library.
7420postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
7421
7422# The library search path used internally by the compiler when linking
7423# a shared library.
7424compiler_lib_search_path="-L/usr/lib/gcc/i486-linux-gnu/4.0.3 -L/usr/lib/gcc/i486-linux-gnu/4.0.3 -L/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib -L/usr/lib/gcc/i486-linux-gnu/4.0.3/../../.. -L/lib/../lib -L/usr/lib/../lib"
7425
7426# Method to check whether dependent libraries are shared objects.
7427deplibs_check_method="pass_all"
7428
7429# Command to use when deplibs_check_method == file_magic.
7430file_magic_cmd="\$MAGIC_CMD"
7431
7432# Flag that allows shared libraries with undefined symbols to be built.
7433allow_undefined_flag=""
7434
7435# Flag that forces no undefined symbols.
7436no_undefined_flag=""
7437
7438# Commands used to finish a libtool library installation in a directory.
7439finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
7440
7441# Same as above, but a single script fragment to be evaled but not shown.
7442finish_eval=""
7443
7444# Take the output of nm and produce a listing of raw symbols and C names.
7445global_symbol_pipe="sed -n -e 's/^.*[ 	]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ 	][ 	]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
7446
7447# Transform the output of nm in a proper C declaration
7448global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
7449
7450# Transform the output of nm in a C name address pair
7451global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (lt_ptr) \\&\\2},/p'"
7452
7453# This is the shared library runtime path variable.
7454runpath_var=LD_RUN_PATH
7455
7456# This is the shared library path variable.
7457shlibpath_var=LD_LIBRARY_PATH
7458
7459# Is shlibpath searched before the hard-coded library search path?
7460shlibpath_overrides_runpath=no
7461
7462# How to hardcode a shared library path into an executable.
7463hardcode_action=immediate
7464
7465# Whether we should hardcode library paths into libraries.
7466hardcode_into_libs=yes
7467
7468# Flag to hardcode $libdir into a binary during linking.
7469# This must work even if $libdir does not exist.
7470hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
7471
7472# If ld is used when linking, flag to hardcode $libdir into
7473# a binary during linking. This must work even if $libdir does
7474# not exist.
7475hardcode_libdir_flag_spec_ld=""
7476
7477# Whether we need a single -rpath flag with a separated argument.
7478hardcode_libdir_separator=""
7479
7480# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
7481# resulting binary.
7482hardcode_direct=no
7483
7484# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
7485# resulting binary.
7486hardcode_minus_L=no
7487
7488# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
7489# the resulting binary.
7490hardcode_shlibpath_var=unsupported
7491
7492# Set to yes if building a shared library automatically hardcodes DIR into the library
7493# and all subsequent libraries and executables linked against it.
7494hardcode_automatic=no
7495
7496# Variables whose values should be saved in libtool wrapper scripts and
7497# restored at relink time.
7498variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
7499
7500# Whether libtool must link a program against all its dependency libraries.
7501link_all_deplibs=no
7502
7503# Compile-time system search path for libraries
7504sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.0.3/ /usr/lib/gcc/i486-linux-gnu/4.0.3/ /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.0.3/ /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../i486-linux-gnu/lib/ /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../i486-linux-gnu/4.0.3/ /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../ /lib/i486-linux-gnu/4.0.3/ /lib/ /usr/lib/i486-linux-gnu/4.0.3/ /usr/lib/"
7505
7506# Run-time system search path for libraries
7507sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/atlas "
7508
7509# Fix the shell variable $srcfile for the compiler.
7510fix_srcfile_path=""
7511
7512# Set to yes if exported symbols are required.
7513always_export_symbols=no
7514
7515# The commands to list exported symbols.
7516export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
7517
7518# The commands to extract the exported symbol list from a shared archive.
7519extract_expsyms_cmds=""
7520
7521# Symbols that should not be listed in the preloaded symbols.
7522exclude_expsyms=""
7523
7524# Symbols that must always be exported.
7525include_expsyms=""
7526
7527# ### END LIBTOOL TAG CONFIG: CXX
7528
7529