root/vtcross/branches/wrodgers/libtool @ 277

Revision 277, 224.2 KB (checked in by wrodgers, 15 years ago)

Updating SML functionality

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