Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/ogre/libtool @ 14

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