v0.2.2 release
[yandexfotkisp] / libtool
1 #! /bin/sh
2
3 # libtoolT - Provide generalized library-building support services.
4 # Generated automatically by  (GNU yandex-fotki-sharing-plugin 0.1)
5 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
6 #
7 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
8 # Free Software Foundation, Inc.
9 #
10 # This file is part of GNU Libtool:
11 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
12 #
13 # This program is free software; you can redistribute it and/or modify
14 # it under the terms of the GNU General Public License as published by
15 # the Free Software Foundation; either version 2 of the License, or
16 # (at your option) any later version.
17 #
18 # This program is distributed in the hope that it will be useful, but
19 # WITHOUT ANY WARRANTY; without even the implied warranty of
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21 # General Public License for more details.
22 #
23 # You should have received a copy of the GNU General Public License
24 # along with this program; if not, write to the Free Software
25 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26 #
27 # As a special exception to the GNU General Public License, if you
28 # distribute this file as part of a program that contains a
29 # configuration script generated by Autoconf, you may include it under
30 # the same distribution terms that you use for the rest of that program.
31
32 # A sed program that does not truncate output.
33 SED="/scratchbox/tools/bin/sed"
34
35 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
36 Xsed="/scratchbox/tools/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.
43 available_tags=" CXX"
44
45 # ### BEGIN LIBTOOL CONFIG
46
47 # Libtool was configured on host hitobook:
48
49 # Shell to use when invoking shell scripts.
50 SHELL="/bin/sh"
51
52 # Whether or not to build shared libraries.
53 build_libtool_libs=yes
54
55 # Whether or not to build static libraries.
56 build_old_libs=no
57
58 # Whether or not to add -lc for building shared libraries.
59 build_libtool_need_lc=no
60
61 # Whether or not to disallow shared libs when runtime libs are static
62 allow_libtool_libs_with_static_runtimes=no
63
64 # Whether or not to optimize for fast installation.
65 fast_install=yes
66
67 # The host system.
68 host_alias=
69 host=arm-unknown-linux-gnu
70 host_os=linux-gnu
71
72 # The build system.
73 build_alias=
74 build=arm-unknown-linux-gnu
75 build_os=linux-gnu
76
77 # An echo program that does not interpret backslashes.
78 echo="echo"
79
80 # The archiver.
81 AR="ar"
82 AR_FLAGS="cru"
83
84 # A C compiler.
85 LTCC="gcc"
86
87 # LTCC compiler flags.
88 LTCFLAGS="-O2 -g"
89
90 # A language-specific compiler.
91 CC="gcc"
92
93 # Is the compiler the GNU C compiler?
94 with_gcc=yes
95
96 # An ERE matcher.
97 EGREP="/scratchbox/tools/bin/grep -E"
98
99 # The linker used to build libraries.
100 LD="/scratchbox/compilers/cs2007q3-glibc2.5-arm7/arm-none-linux-gnueabi/bin/ld"
101
102 # Whether we need hard or soft links.
103 LN_S="ln -s"
104
105 # A BSD-compatible nm program.
106 NM="/scratchbox/compilers/bin/nm -B"
107
108 # A symbol stripping program
109 STRIP="strip"
110
111 # Used to examine libraries when file_magic_cmd begins "file"
112 MAGIC_CMD=file
113
114 # Used on cygwin: DLL creation program.
115 DLLTOOL="dlltool"
116
117 # Used on cygwin: object dumper.
118 OBJDUMP="objdump"
119
120 # Used on cygwin: assembler.
121 AS="as"
122
123 # The name of the directory that contains temporary libtool files.
124 objdir=.libs
125
126 # How to create reloadable object files.
127 reload_flag=" -r"
128 reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
129
130 # How to pass a linker flag through the compiler.
131 wl="-Wl,"
132
133 # Object file suffix (normally "o").
134 objext="o"
135
136 # Old archive suffix (normally "a").
137 libext="a"
138
139 # Shared library suffix (normally ".so").
140 shrext_cmds='.so'
141
142 # Executable file suffix (normally "").
143 exeext=""
144
145 # Additional compiler flags for building library objects.
146 pic_flag=" -fPIC -DPIC"
147 pic_mode=default
148
149 # What is the maximum length of a command?
150 max_cmd_len=98304
151
152 # Does compiler simultaneously support -c and -o options?
153 compiler_c_o="yes"
154
155 # Must we lock files when doing compilation?
156 need_locks="no"
157
158 # Do we need the lib prefix for modules?
159 need_lib_prefix=no
160
161 # Do we need a version for libraries?
162 need_version=no
163
164 # Whether dlopen is supported.
165 dlopen_support=unknown
166
167 # Whether dlopen of programs is supported.
168 dlopen_self=unknown
169
170 # Whether dlopen of statically linked programs is supported.
171 dlopen_self_static=unknown
172
173 # Compiler flag to prevent dynamic linking.
174 link_static_flag="-static"
175
176 # Compiler flag to turn off builtin functions.
177 no_builtin_flag=" -fno-builtin"
178
179 # Compiler flag to allow reflexive dlopens.
180 export_dynamic_flag_spec="\${wl}--export-dynamic"
181
182 # Compiler flag to generate shared objects directly from archives.
183 whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
184
185 # Compiler flag to generate thread-safe objects.
186 thread_safe_flag_spec=""
187
188 # Library versioning type.
189 version_type=linux
190
191 # Format of library name prefix.
192 libname_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.
196 library_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.
199 soname_spec="\${libname}\${release}\${shared_ext}\$major"
200
201 # Commands used to build and install an old-style archive.
202 RANLIB="ranlib"
203 old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib"
204 old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
205 old_postuninstall_cmds=""
206
207 # Create an old-style archive from a shared archive.
208 old_archive_from_new_cmds=""
209
210 # Create a temporary old-style archive to link instead of a shared archive.
211 old_archive_from_expsyms_cmds=""
212
213 # Commands used to build and install a shared archive.
214 archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
215 archive_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"
219 postinstall_cmds=""
220 postuninstall_cmds=""
221
222 # Commands used to build a loadable module (assumed same as above if empty)
223 module_cmds=""
224 module_expsym_cmds=""
225
226 # Commands to strip libraries.
227 old_striplib="strip --strip-debug"
228 striplib="strip --strip-unneeded"
229
230 # Dependencies to place before the objects being linked to create a
231 # shared library.
232 predep_objects=""
233
234 # Dependencies to place after the objects being linked to create a
235 # shared library.
236 postdep_objects=""
237
238 # Dependencies to place before the objects being linked to create a
239 # shared library.
240 predeps=""
241
242 # Dependencies to place after the objects being linked to create a
243 # shared library.
244 postdeps=""
245
246 # The directories searched by this compiler when creating a shared
247 # library
248 compiler_lib_search_dirs=""
249
250 # The library search path used internally by the compiler when linking
251 # a shared library.
252 compiler_lib_search_path=""
253
254 # Method to check whether dependent libraries are shared objects.
255 deplibs_check_method="pass_all"
256
257 # Command to use when deplibs_check_method == file_magic.
258 file_magic_cmd="\$MAGIC_CMD"
259
260 # Flag that allows shared libraries with undefined symbols to be built.
261 allow_undefined_flag=""
262
263 # Flag that forces no undefined symbols.
264 no_undefined_flag=""
265
266 # Commands used to finish a libtool library installation in a directory.
267 finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
268
269 # Same as above, but a single script fragment to be evaled but not shown.
270 finish_eval=""
271
272 # Take the output of nm and produce a listing of raw symbols and C names.
273 global_symbol_pipe="sed -n -e 's/^.*[   ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[       ][      ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
274
275 # Transform the output of nm in a proper C declaration
276 global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
277
278 # Transform the output of nm in a C name address pair
279 global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (lt_ptr) \\&\\2},/p'"
280
281 # This is the shared library runtime path variable.
282 runpath_var=LD_RUN_PATH
283
284 # This is the shared library path variable.
285 shlibpath_var=LD_LIBRARY_PATH
286
287 # Is shlibpath searched before the hard-coded library search path?
288 shlibpath_overrides_runpath=no
289
290 # How to hardcode a shared library path into an executable.
291 hardcode_action=immediate
292
293 # Whether we should hardcode library paths into libraries.
294 hardcode_into_libs=yes
295
296 # Flag to hardcode $libdir into a binary during linking.
297 # This must work even if $libdir does not exist.
298 hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
299
300 # If ld is used when linking, flag to hardcode $libdir into
301 # a binary during linking. This must work even if $libdir does
302 # not exist.
303 hardcode_libdir_flag_spec_ld=""
304
305 # Whether we need a single -rpath flag with a separated argument.
306 hardcode_libdir_separator=""
307
308 # Set to yes if using DIR/libNAME during linking hardcodes DIR into the
309 # resulting binary.
310 hardcode_direct=no
311
312 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
313 # resulting binary.
314 hardcode_minus_L=no
315
316 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
317 # the resulting binary.
318 hardcode_shlibpath_var=unsupported
319
320 # Set to yes if building a shared library automatically hardcodes DIR into the library
321 # and all subsequent libraries and executables linked against it.
322 hardcode_automatic=no
323
324 # Variables whose values should be saved in libtool wrapper scripts and
325 # restored at relink time.
326 variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
327
328 # Whether libtool must link a program against all its dependency libraries.
329 link_all_deplibs=unknown
330
331 # Compile-time system search path for libraries
332 sys_lib_search_path_spec="/scratchbox/compilers/cs2007q3-glibc2.5-arm7/lib/gcc/arm-none-linux-gnueabi/4.2.1 /scratchbox/compilers/cs2007q3-glibc2.5-arm7/lib/gcc /scratchbox/compilers/cs2007q3-glibc2.5-arm7/arm-none-linux-gnueabi/lib /scratchbox/compilers/cs2007q3-glibc2.5-arm7/arm-none-linux-gnueabi/libc/lib /scratchbox/compilers/cs2007q3-glibc2.5-arm7/arm-none-linux-gnueabi/libc/usr/lib"
333
334 # Run-time system search path for libraries
335 sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib /usr/lib /lib /usr/lib/microb-engine /usr/lib/microb-engine/components "
336
337 # Fix the shell variable $srcfile for the compiler.
338 fix_srcfile_path=""
339
340 # Set to yes if exported symbols are required.
341 always_export_symbols=no
342
343 # The commands to list exported symbols.
344 export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
345
346 # The commands to extract the exported symbol list from a shared archive.
347 extract_expsyms_cmds=""
348
349 # Symbols that should not be listed in the preloaded symbols.
350 exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*"
351
352 # Symbols that must always be exported.
353 include_expsyms=""
354
355 # ### END LIBTOOL CONFIG
356
357 # ltmain.sh - Provide generalized library-building support services.
358 # NOTE: Changing this file will not affect anything until you rerun configure.
359 #
360 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
361 # 2007, 2008  Free Software Foundation, Inc.
362 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
363 #
364 # This program is free software; you can redistribute it and/or modify
365 # it under the terms of the GNU General Public License as published by
366 # the Free Software Foundation; either version 2 of the License, or
367 # (at your option) any later version.
368 #
369 # This program is distributed in the hope that it will be useful, but
370 # WITHOUT ANY WARRANTY; without even the implied warranty of
371 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
372 # General Public License for more details.
373 #
374 # You should have received a copy of the GNU General Public License
375 # along with this program; if not, write to the Free Software
376 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
377 #
378 # As a special exception to the GNU General Public License, if you
379 # distribute this file as part of a program that contains a
380 # configuration script generated by Autoconf, you may include it under
381 # the same distribution terms that you use for the rest of that program.
382
383 basename="s,^.*/,,g"
384
385 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
386 # is ksh but when the shell is invoked as "sh" and the current value of
387 # the _XPG environment variable is not equal to 1 (one), the special
388 # positional parameter $0, within a function call, is the name of the
389 # function.
390 progpath="$0"
391
392 # The name of this program:
393 progname=`echo "$progpath" | $SED $basename`
394 modename="$progname"
395
396 # Global variables:
397 EXIT_SUCCESS=0
398 EXIT_FAILURE=1
399
400 PROGRAM=ltmain.sh
401 PACKAGE=libtool
402 VERSION=1.5.26
403 TIMESTAMP=" (1.1220.2.492 2008/01/30 06:40:56)"
404
405 # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
406 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
407   emulate sh
408   NULLCMD=:
409   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
410   # is contrary to our usage.  Disable this feature.
411   alias -g '${1+"$@"}'='"$@"'
412   setopt NO_GLOB_SUBST
413 else
414   case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
415 fi
416 BIN_SH=xpg4; export BIN_SH # for Tru64
417 DUALCASE=1; export DUALCASE # for MKS sh
418
419 # Check that we have a working $echo.
420 if test "X$1" = X--no-reexec; then
421   # Discard the --no-reexec flag, and continue.
422   shift
423 elif test "X$1" = X--fallback-echo; then
424   # Avoid inline document here, it may be left over
425   :
426 elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
427   # Yippee, $echo works!
428   :
429 else
430   # Restart under the correct shell, and then maybe $echo will work.
431   exec $SHELL "$progpath" --no-reexec ${1+"$@"}
432 fi
433
434 if test "X$1" = X--fallback-echo; then
435   # used as fallback echo
436   shift
437   cat <<EOF
438 $*
439 EOF
440   exit $EXIT_SUCCESS
441 fi
442
443 default_mode=
444 help="Try \`$progname --help' for more information."
445 magic="%%%MAGIC variable%%%"
446 mkdir="mkdir"
447 mv="mv -f"
448 rm="rm -f"
449
450 # Sed substitution that helps us do robust quoting.  It backslashifies
451 # metacharacters that are still active within double-quoted strings.
452 Xsed="${SED}"' -e 1s/^X//'
453 sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
454 # test EBCDIC or ASCII
455 case `echo X|tr X '\101'` in
456  A) # ASCII based system
457     # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
458   SP2NL='tr \040 \012'
459   NL2SP='tr \015\012 \040\040'
460   ;;
461  *) # EBCDIC based system
462   SP2NL='tr \100 \n'
463   NL2SP='tr \r\n \100\100'
464   ;;
465 esac
466
467 # NLS nuisances.
468 # Only set LANG and LC_ALL to C if already set.
469 # These must not be set unconditionally because not all systems understand
470 # e.g. LANG=C (notably SCO).
471 # We save the old values to restore during execute mode.
472 lt_env=
473 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
474 do
475   eval "if test \"\${$lt_var+set}\" = set; then
476           save_$lt_var=\$$lt_var
477           lt_env=\"$lt_var=\$$lt_var \$lt_env\"
478           $lt_var=C
479           export $lt_var
480         fi"
481 done
482
483 if test -n "$lt_env"; then
484   lt_env="env $lt_env"
485 fi
486
487 # Make sure IFS has a sensible default
488 lt_nl='
489 '
490 IFS="   $lt_nl"
491
492 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
493   $echo "$modename: not configured to build any kind of library" 1>&2
494   $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
495   exit $EXIT_FAILURE
496 fi
497
498 # Global variables.
499 mode=$default_mode
500 nonopt=
501 prev=
502 prevopt=
503 run=
504 show="$echo"
505 show_help=
506 execute_dlfiles=
507 duplicate_deps=no
508 preserve_args=
509 lo2o="s/\\.lo\$/.${objext}/"
510 o2lo="s/\\.${objext}\$/.lo/"
511 extracted_archives=
512 extracted_serial=0
513
514 #####################################
515 # Shell function definitions:
516 # This seems to be the best place for them
517
518 # func_mktempdir [string]
519 # Make a temporary directory that won't clash with other running
520 # libtool processes, and avoids race conditions if possible.  If
521 # given, STRING is the basename for that directory.
522 func_mktempdir ()
523 {
524     my_template="${TMPDIR-/tmp}/${1-$progname}"
525
526     if test "$run" = ":"; then
527       # Return a directory name, but don't create it in dry-run mode
528       my_tmpdir="${my_template}-$$"
529     else
530
531       # If mktemp works, use that first and foremost
532       my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
533
534       if test ! -d "$my_tmpdir"; then
535         # Failing that, at least try and use $RANDOM to avoid a race
536         my_tmpdir="${my_template}-${RANDOM-0}$$"
537
538         save_mktempdir_umask=`umask`
539         umask 0077
540         $mkdir "$my_tmpdir"
541         umask $save_mktempdir_umask
542       fi
543
544       # If we're not in dry-run mode, bomb out on failure
545       test -d "$my_tmpdir" || {
546         $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
547         exit $EXIT_FAILURE
548       }
549     fi
550
551     $echo "X$my_tmpdir" | $Xsed
552 }
553
554
555 # func_win32_libid arg
556 # return the library type of file 'arg'
557 #
558 # Need a lot of goo to handle *both* DLLs and import libs
559 # Has to be a shell function in order to 'eat' the argument
560 # that is supplied when $file_magic_command is called.
561 func_win32_libid ()
562 {
563   win32_libid_type="unknown"
564   win32_fileres=`file -L $1 2>/dev/null`
565   case $win32_fileres in
566   *ar\ archive\ import\ library*) # definitely import
567     win32_libid_type="x86 archive import"
568     ;;
569   *ar\ archive*) # could be an import, or static
570     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
571       $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
572       win32_nmres=`eval $NM -f posix -A $1 | \
573         $SED -n -e '1,100{
574                 / I /{
575                         s,.*,import,
576                         p
577                         q
578                         }
579                 }'`
580       case $win32_nmres in
581       import*)  win32_libid_type="x86 archive import";;
582       *)        win32_libid_type="x86 archive static";;
583       esac
584     fi
585     ;;
586   *DLL*)
587     win32_libid_type="x86 DLL"
588     ;;
589   *executable*) # but shell scripts are "executable" too...
590     case $win32_fileres in
591     *MS\ Windows\ PE\ Intel*)
592       win32_libid_type="x86 DLL"
593       ;;
594     esac
595     ;;
596   esac
597   $echo $win32_libid_type
598 }
599
600
601 # func_infer_tag arg
602 # Infer tagged configuration to use if any are available and
603 # if one wasn't chosen via the "--tag" command line option.
604 # Only attempt this if the compiler in the base compile
605 # command doesn't match the default compiler.
606 # arg is usually of the form 'gcc ...'
607 func_infer_tag ()
608 {
609     if test -n "$available_tags" && test -z "$tagname"; then
610       CC_quoted=
611       for arg in $CC; do
612         case $arg in
613           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
614           arg="\"$arg\""
615           ;;
616         esac
617         CC_quoted="$CC_quoted $arg"
618       done
619       case $@ in
620       # Blanks in the command may have been stripped by the calling shell,
621       # but not from the CC environment variable when configure was run.
622       " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
623       # Blanks at the start of $base_compile will cause this to fail
624       # if we don't check for them as well.
625       *)
626         for z in $available_tags; do
627           if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
628             # Evaluate the configuration.
629             eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
630             CC_quoted=
631             for arg in $CC; do
632             # Double-quote args containing other shell metacharacters.
633             case $arg in
634               *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
635               arg="\"$arg\""
636               ;;
637             esac
638             CC_quoted="$CC_quoted $arg"
639           done
640             case "$@ " in
641               " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
642               # The compiler in the base compile command matches
643               # the one in the tagged configuration.
644               # Assume this is the tagged configuration we want.
645               tagname=$z
646               break
647               ;;
648             esac
649           fi
650         done
651         # If $tagname still isn't set, then no tagged configuration
652         # was found and let the user know that the "--tag" command
653         # line option must be used.
654         if test -z "$tagname"; then
655           $echo "$modename: unable to infer tagged configuration"
656           $echo "$modename: specify a tag with \`--tag'" 1>&2
657           exit $EXIT_FAILURE
658 #        else
659 #          $echo "$modename: using $tagname tagged configuration"
660         fi
661         ;;
662       esac
663     fi
664 }
665
666
667 # func_extract_an_archive dir oldlib
668 func_extract_an_archive ()
669 {
670     f_ex_an_ar_dir="$1"; shift
671     f_ex_an_ar_oldlib="$1"
672
673     $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
674     $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
675     if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
676      :
677     else
678       $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
679       exit $EXIT_FAILURE
680     fi
681 }
682
683 # func_extract_archives gentop oldlib ...
684 func_extract_archives ()
685 {
686     my_gentop="$1"; shift
687     my_oldlibs=${1+"$@"}
688     my_oldobjs=""
689     my_xlib=""
690     my_xabs=""
691     my_xdir=""
692     my_status=""
693
694     $show "${rm}r $my_gentop"
695     $run ${rm}r "$my_gentop"
696     $show "$mkdir $my_gentop"
697     $run $mkdir "$my_gentop"
698     my_status=$?
699     if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
700       exit $my_status
701     fi
702
703     for my_xlib in $my_oldlibs; do
704       # Extract the objects.
705       case $my_xlib in
706         [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
707         *) my_xabs=`pwd`"/$my_xlib" ;;
708       esac
709       my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
710       my_xlib_u=$my_xlib
711       while :; do
712         case " $extracted_archives " in
713         *" $my_xlib_u "*)
714           extracted_serial=`expr $extracted_serial + 1`
715           my_xlib_u=lt$extracted_serial-$my_xlib ;;
716         *) break ;;
717         esac
718       done
719       extracted_archives="$extracted_archives $my_xlib_u"
720       my_xdir="$my_gentop/$my_xlib_u"
721
722       $show "${rm}r $my_xdir"
723       $run ${rm}r "$my_xdir"
724       $show "$mkdir $my_xdir"
725       $run $mkdir "$my_xdir"
726       exit_status=$?
727       if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
728         exit $exit_status
729       fi
730       case $host in
731       *-darwin*)
732         $show "Extracting $my_xabs"
733         # Do not bother doing anything if just a dry run
734         if test -z "$run"; then
735           darwin_orig_dir=`pwd`
736           cd $my_xdir || exit $?
737           darwin_archive=$my_xabs
738           darwin_curdir=`pwd`
739           darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
740           darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
741           if test -n "$darwin_arches"; then 
742             darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
743             darwin_arch=
744             $show "$darwin_base_archive has multiple architectures $darwin_arches"
745             for darwin_arch in  $darwin_arches ; do
746               mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
747               lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
748               cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
749               func_extract_an_archive "`pwd`" "${darwin_base_archive}"
750               cd "$darwin_curdir"
751               $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
752             done # $darwin_arches
753       ## Okay now we have a bunch of thin objects, gotta fatten them up :)
754             darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
755             darwin_file=
756             darwin_files=
757             for darwin_file in $darwin_filelist; do
758               darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
759               lipo -create -output "$darwin_file" $darwin_files
760             done # $darwin_filelist
761             ${rm}r unfat-$$
762             cd "$darwin_orig_dir"
763           else
764             cd "$darwin_orig_dir"
765             func_extract_an_archive "$my_xdir" "$my_xabs"
766           fi # $darwin_arches
767         fi # $run
768         ;;
769       *)
770         func_extract_an_archive "$my_xdir" "$my_xabs"
771         ;;
772       esac
773       my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
774     done
775     func_extract_archives_result="$my_oldobjs"
776 }
777 # End of Shell function definitions
778 #####################################
779
780 # Darwin sucks
781 eval std_shrext=\"$shrext_cmds\"
782
783 disable_libs=no
784
785 # Parse our command line options once, thoroughly.
786 while test "$#" -gt 0
787 do
788   arg="$1"
789   shift
790
791   case $arg in
792   -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
793   *) optarg= ;;
794   esac
795
796   # If the previous option needs an argument, assign it.
797   if test -n "$prev"; then
798     case $prev in
799     execute_dlfiles)
800       execute_dlfiles="$execute_dlfiles $arg"
801       ;;
802     tag)
803       tagname="$arg"
804       preserve_args="${preserve_args}=$arg"
805
806       # Check whether tagname contains only valid characters
807       case $tagname in
808       *[!-_A-Za-z0-9,/]*)
809         $echo "$progname: invalid tag name: $tagname" 1>&2
810         exit $EXIT_FAILURE
811         ;;
812       esac
813
814       case $tagname in
815       CC)
816         # Don't test for the "default" C tag, as we know, it's there, but
817         # not specially marked.
818         ;;
819       *)
820         if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
821           taglist="$taglist $tagname"
822           # Evaluate the configuration.
823           eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
824         else
825           $echo "$progname: ignoring unknown tag $tagname" 1>&2
826         fi
827         ;;
828       esac
829       ;;
830     *)
831       eval "$prev=\$arg"
832       ;;
833     esac
834
835     prev=
836     prevopt=
837     continue
838   fi
839
840   # Have we seen a non-optional argument yet?
841   case $arg in
842   --help)
843     show_help=yes
844     ;;
845
846   --version)
847     echo "\
848 $PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
849
850 Copyright (C) 2008  Free Software Foundation, Inc.
851 This is free software; see the source for copying conditions.  There is NO
852 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
853     exit $?
854     ;;
855
856   --config)
857     ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
858     # Now print the configurations for the tags.
859     for tagname in $taglist; do
860       ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
861     done
862     exit $?
863     ;;
864
865   --debug)
866     $echo "$progname: enabling shell trace mode"
867     set -x
868     preserve_args="$preserve_args $arg"
869     ;;
870
871   --dry-run | -n)
872     run=:
873     ;;
874
875   --features)
876     $echo "host: $host"
877     if test "$build_libtool_libs" = yes; then
878       $echo "enable shared libraries"
879     else
880       $echo "disable shared libraries"
881     fi
882     if test "$build_old_libs" = yes; then
883       $echo "enable static libraries"
884     else
885       $echo "disable static libraries"
886     fi
887     exit $?
888     ;;
889
890   --finish) mode="finish" ;;
891
892   --mode) prevopt="--mode" prev=mode ;;
893   --mode=*) mode="$optarg" ;;
894
895   --preserve-dup-deps) duplicate_deps="yes" ;;
896
897   --quiet | --silent)
898     show=:
899     preserve_args="$preserve_args $arg"
900     ;;
901
902   --tag)
903     prevopt="--tag"
904     prev=tag
905     preserve_args="$preserve_args --tag"
906     ;;
907   --tag=*)
908     set tag "$optarg" ${1+"$@"}
909     shift
910     prev=tag
911     preserve_args="$preserve_args --tag"
912     ;;
913
914   -dlopen)
915     prevopt="-dlopen"
916     prev=execute_dlfiles
917     ;;
918
919   -*)
920     $echo "$modename: unrecognized option \`$arg'" 1>&2
921     $echo "$help" 1>&2
922     exit $EXIT_FAILURE
923     ;;
924
925   *)
926     nonopt="$arg"
927     break
928     ;;
929   esac
930 done
931
932 if test -n "$prevopt"; then
933   $echo "$modename: option \`$prevopt' requires an argument" 1>&2
934   $echo "$help" 1>&2
935   exit $EXIT_FAILURE
936 fi
937
938 case $disable_libs in
939 no) 
940   ;;
941 shared)
942   build_libtool_libs=no
943   build_old_libs=yes
944   ;;
945 static)
946   build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
947   ;;
948 esac
949
950 # If this variable is set in any of the actions, the command in it
951 # will be execed at the end.  This prevents here-documents from being
952 # left over by shells.
953 exec_cmd=
954
955 if test -z "$show_help"; then
956
957   # Infer the operation mode.
958   if test -z "$mode"; then
959     $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
960     $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
961     case $nonopt in
962     *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
963       mode=link
964       for arg
965       do
966         case $arg in
967         -c)
968            mode=compile
969            break
970            ;;
971         esac
972       done
973       ;;
974     *db | *dbx | *strace | *truss)
975       mode=execute
976       ;;
977     *install*|cp|mv)
978       mode=install
979       ;;
980     *rm)
981       mode=uninstall
982       ;;
983     *)
984       # If we have no mode, but dlfiles were specified, then do execute mode.
985       test -n "$execute_dlfiles" && mode=execute
986
987       # Just use the default operation mode.
988       if test -z "$mode"; then
989         if test -n "$nonopt"; then
990           $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
991         else
992           $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
993         fi
994       fi
995       ;;
996     esac
997   fi
998
999   # Only execute mode is allowed to have -dlopen flags.
1000   if test -n "$execute_dlfiles" && test "$mode" != execute; then
1001     $echo "$modename: unrecognized option \`-dlopen'" 1>&2
1002     $echo "$help" 1>&2
1003     exit $EXIT_FAILURE
1004   fi
1005
1006   # Change the help message to a mode-specific one.
1007   generic_help="$help"
1008   help="Try \`$modename --help --mode=$mode' for more information."
1009
1010   # These modes are in order of execution frequency so that they run quickly.
1011   case $mode in
1012   # libtool compile mode
1013   compile)
1014     modename="$modename: compile"
1015     # Get the compilation command and the source file.
1016     base_compile=
1017     srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
1018     suppress_opt=yes
1019     suppress_output=
1020     arg_mode=normal
1021     libobj=
1022     later=
1023
1024     for arg
1025     do
1026       case $arg_mode in
1027       arg  )
1028         # do not "continue".  Instead, add this to base_compile
1029         lastarg="$arg"
1030         arg_mode=normal
1031         ;;
1032
1033       target )
1034         libobj="$arg"
1035         arg_mode=normal
1036         continue
1037         ;;
1038
1039       normal )
1040         # Accept any command-line options.
1041         case $arg in
1042         -o)
1043           if test -n "$libobj" ; then
1044             $echo "$modename: you cannot specify \`-o' more than once" 1>&2
1045             exit $EXIT_FAILURE
1046           fi
1047           arg_mode=target
1048           continue
1049           ;;
1050
1051         -static | -prefer-pic | -prefer-non-pic)
1052           later="$later $arg"
1053           continue
1054           ;;
1055
1056         -no-suppress)
1057           suppress_opt=no
1058           continue
1059           ;;
1060
1061         -Xcompiler)
1062           arg_mode=arg  #  the next one goes into the "base_compile" arg list
1063           continue      #  The current "srcfile" will either be retained or
1064           ;;            #  replaced later.  I would guess that would be a bug.
1065
1066         -Wc,*)
1067           args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
1068           lastarg=
1069           save_ifs="$IFS"; IFS=','
1070           for arg in $args; do
1071             IFS="$save_ifs"
1072
1073             # Double-quote args containing other shell metacharacters.
1074             # Many Bourne shells cannot handle close brackets correctly
1075             # in scan sets, so we specify it separately.
1076             case $arg in
1077               *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
1078               arg="\"$arg\""
1079               ;;
1080             esac
1081             lastarg="$lastarg $arg"
1082           done
1083           IFS="$save_ifs"
1084           lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
1085
1086           # Add the arguments to base_compile.
1087           base_compile="$base_compile $lastarg"
1088           continue
1089           ;;
1090
1091         * )
1092           # Accept the current argument as the source file.
1093           # The previous "srcfile" becomes the current argument.
1094           #
1095           lastarg="$srcfile"
1096           srcfile="$arg"
1097           ;;
1098         esac  #  case $arg
1099         ;;
1100       esac    #  case $arg_mode
1101
1102       # Aesthetically quote the previous argument.
1103       lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
1104
1105       case $lastarg in
1106       # Double-quote args containing other shell metacharacters.
1107       # Many Bourne shells cannot handle close brackets correctly
1108       # in scan sets, and some SunOS ksh mistreat backslash-escaping
1109       # in scan sets (worked around with variable expansion),
1110       # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
1111       # at all, so we specify them separately.
1112       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
1113         lastarg="\"$lastarg\""
1114         ;;
1115       esac
1116
1117       base_compile="$base_compile $lastarg"
1118     done # for arg
1119
1120     case $arg_mode in
1121     arg)
1122       $echo "$modename: you must specify an argument for -Xcompile"
1123       exit $EXIT_FAILURE
1124       ;;
1125     target)
1126       $echo "$modename: you must specify a target with \`-o'" 1>&2
1127       exit $EXIT_FAILURE
1128       ;;
1129     *)
1130       # Get the name of the library object.
1131       [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
1132       ;;
1133     esac
1134
1135     # Recognize several different file suffixes.
1136     # If the user specifies -o file.o, it is replaced with file.lo
1137     xform='[cCFSifmso]'
1138     case $libobj in
1139     *.ada) xform=ada ;;
1140     *.adb) xform=adb ;;
1141     *.ads) xform=ads ;;
1142     *.asm) xform=asm ;;
1143     *.c++) xform=c++ ;;
1144     *.cc) xform=cc ;;
1145     *.ii) xform=ii ;;
1146     *.class) xform=class ;;
1147     *.cpp) xform=cpp ;;
1148     *.cxx) xform=cxx ;;
1149     *.[fF][09]?) xform=[fF][09]. ;;
1150     *.for) xform=for ;;
1151     *.java) xform=java ;;
1152     *.obj) xform=obj ;;
1153     *.sx) xform=sx ;;
1154     esac
1155
1156     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
1157
1158     case $libobj in
1159     *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
1160     *)
1161       $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
1162       exit $EXIT_FAILURE
1163       ;;
1164     esac
1165
1166     func_infer_tag $base_compile
1167
1168     for arg in $later; do
1169       case $arg in
1170       -static)
1171         build_old_libs=yes
1172         continue
1173         ;;
1174
1175       -prefer-pic)
1176         pic_mode=yes
1177         continue
1178         ;;
1179
1180       -prefer-non-pic)
1181         pic_mode=no
1182         continue
1183         ;;
1184       esac
1185     done
1186
1187     qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
1188     case $qlibobj in
1189       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
1190         qlibobj="\"$qlibobj\"" ;;
1191     esac
1192     test "X$libobj" != "X$qlibobj" \
1193         && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"'  &()|`$[]' \
1194         && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
1195     objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
1196     xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
1197     if test "X$xdir" = "X$obj"; then
1198       xdir=
1199     else
1200       xdir=$xdir/
1201     fi
1202     lobj=${xdir}$objdir/$objname
1203
1204     if test -z "$base_compile"; then
1205       $echo "$modename: you must specify a compilation command" 1>&2
1206       $echo "$help" 1>&2
1207       exit $EXIT_FAILURE
1208     fi
1209
1210     # Delete any leftover library objects.
1211     if test "$build_old_libs" = yes; then
1212       removelist="$obj $lobj $libobj ${libobj}T"
1213     else
1214       removelist="$lobj $libobj ${libobj}T"
1215     fi
1216
1217     $run $rm $removelist
1218     trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
1219
1220     # On Cygwin there's no "real" PIC flag so we must build both object types
1221     case $host_os in
1222     cygwin* | mingw* | pw32* | os2*)
1223       pic_mode=default
1224       ;;
1225     esac
1226     if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
1227       # non-PIC code in shared libraries is not supported
1228       pic_mode=default
1229     fi
1230
1231     # Calculate the filename of the output object if compiler does
1232     # not support -o with -c
1233     if test "$compiler_c_o" = no; then
1234       output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
1235       lockfile="$output_obj.lock"
1236       removelist="$removelist $output_obj $lockfile"
1237       trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
1238     else
1239       output_obj=
1240       need_locks=no
1241       lockfile=
1242     fi
1243
1244     # Lock this critical section if it is needed
1245     # We use this script file to make the link, it avoids creating a new file
1246     if test "$need_locks" = yes; then
1247       until $run ln "$progpath" "$lockfile" 2>/dev/null; do
1248         $show "Waiting for $lockfile to be removed"
1249         sleep 2
1250       done
1251     elif test "$need_locks" = warn; then
1252       if test -f "$lockfile"; then
1253         $echo "\
1254 *** ERROR, $lockfile exists and contains:
1255 `cat $lockfile 2>/dev/null`
1256
1257 This indicates that another process is trying to use the same
1258 temporary object file, and libtool could not work around it because
1259 your compiler does not support \`-c' and \`-o' together.  If you
1260 repeat this compilation, it may succeed, by chance, but you had better
1261 avoid parallel builds (make -j) in this platform, or get a better
1262 compiler."
1263
1264         $run $rm $removelist
1265         exit $EXIT_FAILURE
1266       fi
1267       $echo "$srcfile" > "$lockfile"
1268     fi
1269
1270     if test -n "$fix_srcfile_path"; then
1271       eval srcfile=\"$fix_srcfile_path\"
1272     fi
1273     qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
1274     case $qsrcfile in
1275       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
1276       qsrcfile="\"$qsrcfile\"" ;;
1277     esac
1278
1279     $run $rm "$libobj" "${libobj}T"
1280
1281     # Create a libtool object file (analogous to a ".la" file),
1282     # but don't create it if we're doing a dry run.
1283     test -z "$run" && cat > ${libobj}T <<EOF
1284 # $libobj - a libtool object file
1285 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
1286 #
1287 # Please DO NOT delete this file!
1288 # It is necessary for linking the library.
1289
1290 # Name of the PIC object.
1291 EOF
1292
1293     # Only build a PIC object if we are building libtool libraries.
1294     if test "$build_libtool_libs" = yes; then
1295       # Without this assignment, base_compile gets emptied.
1296       fbsd_hideous_sh_bug=$base_compile
1297
1298       if test "$pic_mode" != no; then
1299         command="$base_compile $qsrcfile $pic_flag"
1300       else
1301         # Don't build PIC code
1302         command="$base_compile $qsrcfile"
1303       fi
1304
1305       if test ! -d "${xdir}$objdir"; then
1306         $show "$mkdir ${xdir}$objdir"
1307         $run $mkdir ${xdir}$objdir
1308         exit_status=$?
1309         if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
1310           exit $exit_status
1311         fi
1312       fi
1313
1314       if test -z "$output_obj"; then
1315         # Place PIC objects in $objdir
1316         command="$command -o $lobj"
1317       fi
1318
1319       $run $rm "$lobj" "$output_obj"
1320
1321       $show "$command"
1322       if $run eval $lt_env "$command"; then :
1323       else
1324         test -n "$output_obj" && $run $rm $removelist
1325         exit $EXIT_FAILURE
1326       fi
1327
1328       if test "$need_locks" = warn &&
1329          test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1330         $echo "\
1331 *** ERROR, $lockfile contains:
1332 `cat $lockfile 2>/dev/null`
1333
1334 but it should contain:
1335 $srcfile
1336
1337 This indicates that another process is trying to use the same
1338 temporary object file, and libtool could not work around it because
1339 your compiler does not support \`-c' and \`-o' together.  If you
1340 repeat this compilation, it may succeed, by chance, but you had better
1341 avoid parallel builds (make -j) in this platform, or get a better
1342 compiler."
1343
1344         $run $rm $removelist
1345         exit $EXIT_FAILURE
1346       fi
1347
1348       # Just move the object if needed, then go on to compile the next one
1349       if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
1350         $show "$mv $output_obj $lobj"
1351         if $run $mv $output_obj $lobj; then :
1352         else
1353           error=$?
1354           $run $rm $removelist
1355           exit $error
1356         fi
1357       fi
1358
1359       # Append the name of the PIC object to the libtool object file.
1360       test -z "$run" && cat >> ${libobj}T <<EOF
1361 pic_object='$objdir/$objname'
1362
1363 EOF
1364
1365       # Allow error messages only from the first compilation.
1366       if test "$suppress_opt" = yes; then
1367         suppress_output=' >/dev/null 2>&1'
1368       fi
1369     else
1370       # No PIC object so indicate it doesn't exist in the libtool
1371       # object file.
1372       test -z "$run" && cat >> ${libobj}T <<EOF
1373 pic_object=none
1374
1375 EOF
1376     fi
1377
1378     # Only build a position-dependent object if we build old libraries.
1379     if test "$build_old_libs" = yes; then
1380       if test "$pic_mode" != yes; then
1381         # Don't build PIC code
1382         command="$base_compile $qsrcfile"
1383       else
1384         command="$base_compile $qsrcfile $pic_flag"
1385       fi
1386       if test "$compiler_c_o" = yes; then
1387         command="$command -o $obj"
1388       fi
1389
1390       # Suppress compiler output if we already did a PIC compilation.
1391       command="$command$suppress_output"
1392       $run $rm "$obj" "$output_obj"
1393       $show "$command"
1394       if $run eval $lt_env "$command"; then :
1395       else
1396         $run $rm $removelist
1397         exit $EXIT_FAILURE
1398       fi
1399
1400       if test "$need_locks" = warn &&
1401          test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1402         $echo "\
1403 *** ERROR, $lockfile contains:
1404 `cat $lockfile 2>/dev/null`
1405
1406 but it should contain:
1407 $srcfile
1408
1409 This indicates that another process is trying to use the same
1410 temporary object file, and libtool could not work around it because
1411 your compiler does not support \`-c' and \`-o' together.  If you
1412 repeat this compilation, it may succeed, by chance, but you had better
1413 avoid parallel builds (make -j) in this platform, or get a better
1414 compiler."
1415
1416         $run $rm $removelist
1417         exit $EXIT_FAILURE
1418       fi
1419
1420       # Just move the object if needed
1421       if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
1422         $show "$mv $output_obj $obj"
1423         if $run $mv $output_obj $obj; then :
1424         else
1425           error=$?
1426           $run $rm $removelist
1427           exit $error
1428         fi
1429       fi
1430
1431       # Append the name of the non-PIC object the libtool object file.
1432       # Only append if the libtool object file exists.
1433       test -z "$run" && cat >> ${libobj}T <<EOF
1434 # Name of the non-PIC object.
1435 non_pic_object='$objname'
1436
1437 EOF
1438     else
1439       # Append the name of the non-PIC object the libtool object file.
1440       # Only append if the libtool object file exists.
1441       test -z "$run" && cat >> ${libobj}T <<EOF
1442 # Name of the non-PIC object.
1443 non_pic_object=none
1444
1445 EOF
1446     fi
1447
1448     $run $mv "${libobj}T" "${libobj}"
1449
1450     # Unlock the critical section if it was locked
1451     if test "$need_locks" != no; then
1452       $run $rm "$lockfile"
1453     fi
1454
1455     exit $EXIT_SUCCESS
1456     ;;
1457
1458   # libtool link mode
1459   link | relink)
1460     modename="$modename: link"
1461     case $host in
1462     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1463       # It is impossible to link a dll without this setting, and
1464       # we shouldn't force the makefile maintainer to figure out
1465       # which system we are compiling for in order to pass an extra
1466       # flag for every libtool invocation.
1467       # allow_undefined=no
1468
1469       # FIXME: Unfortunately, there are problems with the above when trying
1470       # to make a dll which has undefined symbols, in which case not
1471       # even a static library is built.  For now, we need to specify
1472       # -no-undefined on the libtool link line when we can be certain
1473       # that all symbols are satisfied, otherwise we get a static library.
1474       allow_undefined=yes
1475       ;;
1476     *)
1477       allow_undefined=yes
1478       ;;
1479     esac
1480     libtool_args="$nonopt"
1481     base_compile="$nonopt $@"
1482     compile_command="$nonopt"
1483     finalize_command="$nonopt"
1484
1485     compile_rpath=
1486     finalize_rpath=
1487     compile_shlibpath=
1488     finalize_shlibpath=
1489     convenience=
1490     old_convenience=
1491     deplibs=
1492     old_deplibs=
1493     compiler_flags=
1494     linker_flags=
1495     dllsearchpath=
1496     lib_search_path=`pwd`
1497     inst_prefix_dir=
1498
1499     avoid_version=no
1500     dlfiles=
1501     dlprefiles=
1502     dlself=no
1503     export_dynamic=no
1504     export_symbols=
1505     export_symbols_regex=
1506     generated=
1507     libobjs=
1508     ltlibs=
1509     module=no
1510     no_install=no
1511     objs=
1512     non_pic_objects=
1513     notinst_path= # paths that contain not-installed libtool libraries
1514     precious_files_regex=
1515     prefer_static_libs=no
1516     preload=no
1517     prev=
1518     prevarg=
1519     release=
1520     rpath=
1521     xrpath=
1522     perm_rpath=
1523     temp_rpath=
1524     thread_safe=no
1525     vinfo=
1526     vinfo_number=no
1527     single_module="${wl}-single_module"
1528
1529     func_infer_tag $base_compile
1530
1531     # We need to know -static, to get the right output filenames.
1532     for arg
1533     do
1534       case $arg in
1535       -all-static | -static | -static-libtool-libs)
1536         case $arg in
1537         -all-static)
1538           if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
1539             $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
1540           fi
1541           if test -n "$link_static_flag"; then
1542             dlopen_self=$dlopen_self_static
1543           fi
1544           prefer_static_libs=yes
1545           ;;
1546         -static)
1547           if test -z "$pic_flag" && test -n "$link_static_flag"; then
1548             dlopen_self=$dlopen_self_static
1549           fi
1550           prefer_static_libs=built
1551           ;;
1552         -static-libtool-libs)
1553           if test -z "$pic_flag" && test -n "$link_static_flag"; then
1554             dlopen_self=$dlopen_self_static
1555           fi
1556           prefer_static_libs=yes
1557           ;;
1558         esac
1559         build_libtool_libs=no
1560         build_old_libs=yes
1561         break
1562         ;;
1563       esac
1564     done
1565
1566     # See if our shared archives depend on static archives.
1567     test -n "$old_archive_from_new_cmds" && build_old_libs=yes
1568
1569     # Go through the arguments, transforming them on the way.
1570     while test "$#" -gt 0; do
1571       arg="$1"
1572       shift
1573       case $arg in
1574       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
1575         qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
1576         ;;
1577       *) qarg=$arg ;;
1578       esac
1579       libtool_args="$libtool_args $qarg"
1580
1581       # If the previous option needs an argument, assign it.
1582       if test -n "$prev"; then
1583         case $prev in
1584         output)
1585           compile_command="$compile_command @OUTPUT@"
1586           finalize_command="$finalize_command @OUTPUT@"
1587           ;;
1588         esac
1589
1590         case $prev in
1591         dlfiles|dlprefiles)
1592           if test "$preload" = no; then
1593             # Add the symbol object into the linking commands.
1594             compile_command="$compile_command @SYMFILE@"
1595             finalize_command="$finalize_command @SYMFILE@"
1596             preload=yes
1597           fi
1598           case $arg in
1599           *.la | *.lo) ;;  # We handle these cases below.
1600           force)
1601             if test "$dlself" = no; then
1602               dlself=needless
1603               export_dynamic=yes
1604             fi
1605             prev=
1606             continue
1607             ;;
1608           self)
1609             if test "$prev" = dlprefiles; then
1610               dlself=yes
1611             elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
1612               dlself=yes
1613             else
1614               dlself=needless
1615               export_dynamic=yes
1616             fi
1617             prev=
1618             continue
1619             ;;
1620           *)
1621             if test "$prev" = dlfiles; then
1622               dlfiles="$dlfiles $arg"
1623             else
1624               dlprefiles="$dlprefiles $arg"
1625             fi
1626             prev=
1627             continue
1628             ;;
1629           esac
1630           ;;
1631         expsyms)
1632           export_symbols="$arg"
1633           if test ! -f "$arg"; then
1634             $echo "$modename: symbol file \`$arg' does not exist"
1635             exit $EXIT_FAILURE
1636           fi
1637           prev=
1638           continue
1639           ;;
1640         expsyms_regex)
1641           export_symbols_regex="$arg"
1642           prev=
1643           continue
1644           ;;
1645         inst_prefix)
1646           inst_prefix_dir="$arg"
1647           prev=
1648           continue
1649           ;;
1650         precious_regex)
1651           precious_files_regex="$arg"
1652           prev=
1653           continue
1654           ;;
1655         release)
1656           release="-$arg"
1657           prev=
1658           continue
1659           ;;
1660         objectlist)
1661           if test -f "$arg"; then
1662             save_arg=$arg
1663             moreargs=
1664             for fil in `cat $save_arg`
1665             do
1666 #             moreargs="$moreargs $fil"
1667               arg=$fil
1668               # A libtool-controlled object.
1669
1670               # Check to see that this really is a libtool object.
1671               if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1672                 pic_object=
1673                 non_pic_object=
1674
1675                 # Read the .lo file
1676                 # If there is no directory component, then add one.
1677                 case $arg in
1678                 */* | *\\*) . $arg ;;
1679                 *) . ./$arg ;;
1680                 esac
1681
1682                 if test -z "$pic_object" || \
1683                    test -z "$non_pic_object" ||
1684                    test "$pic_object" = none && \
1685                    test "$non_pic_object" = none; then
1686                   $echo "$modename: cannot find name of object for \`$arg'" 1>&2
1687                   exit $EXIT_FAILURE
1688                 fi
1689
1690                 # Extract subdirectory from the argument.
1691                 xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1692                 if test "X$xdir" = "X$arg"; then
1693                   xdir=
1694                 else
1695                   xdir="$xdir/"
1696                 fi
1697
1698                 if test "$pic_object" != none; then
1699                   # Prepend the subdirectory the object is found in.
1700                   pic_object="$xdir$pic_object"
1701
1702                   if test "$prev" = dlfiles; then
1703                     if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
1704                       dlfiles="$dlfiles $pic_object"
1705                       prev=
1706                       continue
1707                     else
1708                       # If libtool objects are unsupported, then we need to preload.
1709                       prev=dlprefiles
1710                     fi
1711                   fi
1712
1713                   # CHECK ME:  I think I busted this.  -Ossama
1714                   if test "$prev" = dlprefiles; then
1715                     # Preload the old-style object.
1716                     dlprefiles="$dlprefiles $pic_object"
1717                     prev=
1718                   fi
1719
1720                   # A PIC object.
1721                   libobjs="$libobjs $pic_object"
1722                   arg="$pic_object"
1723                 fi
1724
1725                 # Non-PIC object.
1726                 if test "$non_pic_object" != none; then
1727                   # Prepend the subdirectory the object is found in.
1728                   non_pic_object="$xdir$non_pic_object"
1729
1730                   # A standard non-PIC object
1731                   non_pic_objects="$non_pic_objects $non_pic_object"
1732                   if test -z "$pic_object" || test "$pic_object" = none ; then
1733                     arg="$non_pic_object"
1734                   fi
1735                 else
1736                   # If the PIC object exists, use it instead.
1737                   # $xdir was prepended to $pic_object above.
1738                   non_pic_object="$pic_object"
1739                   non_pic_objects="$non_pic_objects $non_pic_object"
1740                 fi
1741               else
1742                 # Only an error if not doing a dry-run.
1743                 if test -z "$run"; then
1744                   $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
1745                   exit $EXIT_FAILURE
1746                 else
1747                   # Dry-run case.
1748
1749                   # Extract subdirectory from the argument.
1750                   xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1751                   if test "X$xdir" = "X$arg"; then
1752                     xdir=
1753                   else
1754                     xdir="$xdir/"
1755                   fi
1756
1757                   pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
1758                   non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
1759                   libobjs="$libobjs $pic_object"
1760                   non_pic_objects="$non_pic_objects $non_pic_object"
1761                 fi
1762               fi
1763             done
1764           else
1765             $echo "$modename: link input file \`$save_arg' does not exist"
1766             exit $EXIT_FAILURE
1767           fi
1768           arg=$save_arg
1769           prev=
1770           continue
1771           ;;
1772         rpath | xrpath)
1773           # We need an absolute path.
1774           case $arg in
1775           [\\/]* | [A-Za-z]:[\\/]*) ;;
1776           *)
1777             $echo "$modename: only absolute run-paths are allowed" 1>&2
1778             exit $EXIT_FAILURE
1779             ;;
1780           esac
1781           if test "$prev" = rpath; then
1782             case "$rpath " in
1783             *" $arg "*) ;;
1784             *) rpath="$rpath $arg" ;;
1785             esac
1786           else
1787             case "$xrpath " in
1788             *" $arg "*) ;;
1789             *) xrpath="$xrpath $arg" ;;
1790             esac
1791           fi
1792           prev=
1793           continue
1794           ;;
1795         xcompiler)
1796           compiler_flags="$compiler_flags $qarg"
1797           prev=
1798           compile_command="$compile_command $qarg"
1799           finalize_command="$finalize_command $qarg"
1800           continue
1801           ;;
1802         xlinker)
1803           linker_flags="$linker_flags $qarg"
1804           compiler_flags="$compiler_flags $wl$qarg"
1805           prev=
1806           compile_command="$compile_command $wl$qarg"
1807           finalize_command="$finalize_command $wl$qarg"
1808           continue
1809           ;;
1810         xcclinker)
1811           linker_flags="$linker_flags $qarg"
1812           compiler_flags="$compiler_flags $qarg"
1813           prev=
1814           compile_command="$compile_command $qarg"
1815           finalize_command="$finalize_command $qarg"
1816           continue
1817           ;;
1818         shrext)
1819           shrext_cmds="$arg"
1820           prev=
1821           continue
1822           ;;
1823         darwin_framework|darwin_framework_skip)
1824           test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
1825           compile_command="$compile_command $arg"
1826           finalize_command="$finalize_command $arg"
1827           prev=
1828           continue
1829           ;;
1830         *)
1831           eval "$prev=\"\$arg\""
1832           prev=
1833           continue
1834           ;;
1835         esac
1836       fi # test -n "$prev"
1837
1838       prevarg="$arg"
1839
1840       case $arg in
1841       -all-static)
1842         if test -n "$link_static_flag"; then
1843           compile_command="$compile_command $link_static_flag"
1844           finalize_command="$finalize_command $link_static_flag"
1845         fi
1846         continue
1847         ;;
1848
1849       -allow-undefined)
1850         # FIXME: remove this flag sometime in the future.
1851         $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
1852         continue
1853         ;;
1854
1855       -avoid-version)
1856         avoid_version=yes
1857         continue
1858         ;;
1859
1860       -dlopen)
1861         prev=dlfiles
1862         continue
1863         ;;
1864
1865       -dlpreopen)
1866         prev=dlprefiles
1867         continue
1868         ;;
1869
1870       -export-dynamic)
1871         export_dynamic=yes
1872         continue
1873         ;;
1874
1875       -export-symbols | -export-symbols-regex)
1876         if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
1877           $echo "$modename: more than one -exported-symbols argument is not allowed"
1878           exit $EXIT_FAILURE
1879         fi
1880         if test "X$arg" = "X-export-symbols"; then
1881           prev=expsyms
1882         else
1883           prev=expsyms_regex
1884         fi
1885         continue
1886         ;;
1887
1888       -framework|-arch|-isysroot)
1889         case " $CC " in
1890           *" ${arg} ${1} "* | *" ${arg} ${1} "*) 
1891                 prev=darwin_framework_skip ;;
1892           *) compiler_flags="$compiler_flags $arg"
1893              prev=darwin_framework ;;
1894         esac
1895         compile_command="$compile_command $arg"
1896         finalize_command="$finalize_command $arg"
1897         continue
1898         ;;
1899
1900       -inst-prefix-dir)
1901         prev=inst_prefix
1902         continue
1903         ;;
1904
1905       # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
1906       # so, if we see these flags be careful not to treat them like -L
1907       -L[A-Z][A-Z]*:*)
1908         case $with_gcc/$host in
1909         no/*-*-irix* | /*-*-irix*)
1910           compile_command="$compile_command $arg"
1911           finalize_command="$finalize_command $arg"
1912           ;;
1913         esac
1914         continue
1915         ;;
1916
1917       -L*)
1918         dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
1919         # We need an absolute path.
1920         case $dir in
1921         [\\/]* | [A-Za-z]:[\\/]*) ;;
1922         *)
1923           absdir=`cd "$dir" && pwd`
1924           if test -z "$absdir"; then
1925             $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
1926             absdir="$dir"
1927             notinst_path="$notinst_path $dir"
1928           fi
1929           dir="$absdir"
1930           ;;
1931         esac
1932         case "$deplibs " in
1933         *" -L$dir "*) ;;
1934         *)
1935           deplibs="$deplibs -L$dir"
1936           lib_search_path="$lib_search_path $dir"
1937           ;;
1938         esac
1939         case $host in
1940         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1941           testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
1942           case :$dllsearchpath: in
1943           *":$dir:"*) ;;
1944           *) dllsearchpath="$dllsearchpath:$dir";;
1945           esac
1946           case :$dllsearchpath: in
1947           *":$testbindir:"*) ;;
1948           *) dllsearchpath="$dllsearchpath:$testbindir";;
1949           esac
1950           ;;
1951         esac
1952         continue
1953         ;;
1954
1955       -l*)
1956         if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
1957           case $host in
1958           *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
1959             # These systems don't actually have a C or math library (as such)
1960             continue
1961             ;;
1962           *-*-os2*)
1963             # These systems don't actually have a C library (as such)
1964             test "X$arg" = "X-lc" && continue
1965             ;;
1966           *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
1967             # Do not include libc due to us having libc/libc_r.
1968             test "X$arg" = "X-lc" && continue
1969             ;;
1970           *-*-rhapsody* | *-*-darwin1.[012])
1971             # Rhapsody C and math libraries are in the System framework
1972             deplibs="$deplibs -framework System"
1973             continue
1974             ;;
1975           *-*-sco3.2v5* | *-*-sco5v6*)
1976             # Causes problems with __ctype
1977             test "X$arg" = "X-lc" && continue
1978             ;;
1979           *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
1980             # Compiler inserts libc in the correct place for threads to work
1981             test "X$arg" = "X-lc" && continue
1982             ;;
1983           esac
1984         elif test "X$arg" = "X-lc_r"; then
1985          case $host in
1986          *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
1987            # Do not include libc_r directly, use -pthread flag.
1988            continue
1989            ;;
1990          esac
1991         fi
1992         deplibs="$deplibs $arg"
1993         continue
1994         ;;
1995
1996       # Tru64 UNIX uses -model [arg] to determine the layout of C++
1997       # classes, name mangling, and exception handling.
1998       -model)
1999         compile_command="$compile_command $arg"
2000         compiler_flags="$compiler_flags $arg"
2001         finalize_command="$finalize_command $arg"
2002         prev=xcompiler
2003         continue
2004         ;;
2005
2006      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
2007         compiler_flags="$compiler_flags $arg"
2008         compile_command="$compile_command $arg"
2009         finalize_command="$finalize_command $arg"
2010         continue
2011         ;;
2012
2013       -multi_module)
2014         single_module="${wl}-multi_module"
2015         continue
2016         ;;
2017
2018       -module)
2019         module=yes
2020         continue
2021         ;;
2022
2023       # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
2024       # -r[0-9][0-9]* specifies the processor on the SGI compiler
2025       # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
2026       # +DA*, +DD* enable 64-bit mode on the HP compiler
2027       # -q* pass through compiler args for the IBM compiler
2028       # -m* pass through architecture-specific compiler args for GCC
2029       # -m*, -t[45]*, -txscale* pass through architecture-specific
2030       # compiler args for GCC
2031       # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
2032       # -F/path gives path to uninstalled frameworks, gcc on darwin
2033       # @file GCC response files
2034       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
2035       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
2036
2037         # Unknown arguments in both finalize_command and compile_command need
2038         # to be aesthetically quoted because they are evaled later.
2039         arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
2040         case $arg in
2041         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
2042           arg="\"$arg\""
2043           ;;
2044         esac
2045         compile_command="$compile_command $arg"
2046         finalize_command="$finalize_command $arg"
2047         compiler_flags="$compiler_flags $arg"
2048         continue
2049         ;;
2050
2051       -shrext)
2052         prev=shrext
2053         continue
2054         ;;
2055
2056       -no-fast-install)
2057         fast_install=no
2058         continue
2059         ;;
2060
2061       -no-install)
2062         case $host in
2063         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
2064           # The PATH hackery in wrapper scripts is required on Windows
2065           # and Darwin in order for the loader to find any dlls it needs.
2066           $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
2067           $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
2068           fast_install=no
2069           ;;
2070         *) no_install=yes ;;
2071         esac
2072         continue
2073         ;;
2074
2075       -no-undefined)
2076         allow_undefined=no
2077         continue
2078         ;;
2079
2080       -objectlist)
2081         prev=objectlist
2082         continue
2083         ;;
2084
2085       -o) prev=output ;;
2086
2087       -precious-files-regex)
2088         prev=precious_regex
2089         continue
2090         ;;
2091
2092       -release)
2093         prev=release
2094         continue
2095         ;;
2096
2097       -rpath)
2098         prev=rpath
2099         continue
2100         ;;
2101
2102       -R)
2103         prev=xrpath
2104         continue
2105         ;;
2106
2107       -R*)
2108         dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
2109         # We need an absolute path.
2110         case $dir in
2111         [\\/]* | [A-Za-z]:[\\/]*) ;;
2112         *)
2113           $echo "$modename: only absolute run-paths are allowed" 1>&2
2114           exit $EXIT_FAILURE
2115           ;;
2116         esac
2117         case "$xrpath " in
2118         *" $dir "*) ;;
2119         *) xrpath="$xrpath $dir" ;;
2120         esac
2121         continue
2122         ;;
2123
2124       -static | -static-libtool-libs)
2125         # The effects of -static are defined in a previous loop.
2126         # We used to do the same as -all-static on platforms that
2127         # didn't have a PIC flag, but the assumption that the effects
2128         # would be equivalent was wrong.  It would break on at least
2129         # Digital Unix and AIX.
2130         continue
2131         ;;
2132
2133       -thread-safe)
2134         thread_safe=yes
2135         continue
2136         ;;
2137
2138       -version-info)
2139         prev=vinfo
2140         continue
2141         ;;
2142       -version-number)
2143         prev=vinfo
2144         vinfo_number=yes
2145         continue
2146         ;;
2147
2148       -Wc,*)
2149         args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
2150         arg=
2151         save_ifs="$IFS"; IFS=','
2152         for flag in $args; do
2153           IFS="$save_ifs"
2154           case $flag in
2155             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
2156             flag="\"$flag\""
2157             ;;
2158           esac
2159           arg="$arg $wl$flag"
2160           compiler_flags="$compiler_flags $flag"
2161         done
2162         IFS="$save_ifs"
2163         arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
2164         ;;
2165
2166       -Wl,*)
2167         args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
2168         arg=
2169         save_ifs="$IFS"; IFS=','
2170         for flag in $args; do
2171           IFS="$save_ifs"
2172           case $flag in
2173             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
2174             flag="\"$flag\""
2175             ;;
2176           esac
2177           arg="$arg $wl$flag"
2178           compiler_flags="$compiler_flags $wl$flag"
2179           linker_flags="$linker_flags $flag"
2180         done
2181         IFS="$save_ifs"
2182         arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
2183         ;;
2184
2185       -Xcompiler)
2186         prev=xcompiler
2187         continue
2188         ;;
2189
2190       -Xlinker)
2191         prev=xlinker
2192         continue
2193         ;;
2194
2195       -XCClinker)
2196         prev=xcclinker
2197         continue
2198         ;;
2199
2200       # Some other compiler flag.
2201       -* | +*)
2202         # Unknown arguments in both finalize_command and compile_command need
2203         # to be aesthetically quoted because they are evaled later.
2204         arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
2205         case $arg in
2206         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
2207           arg="\"$arg\""
2208           ;;
2209         esac
2210         ;;
2211
2212       *.$objext)
2213         # A standard object.
2214         objs="$objs $arg"
2215         ;;
2216
2217       *.lo)
2218         # A libtool-controlled object.
2219
2220         # Check to see that this really is a libtool object.
2221         if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
2222           pic_object=
2223           non_pic_object=
2224
2225           # Read the .lo file
2226           # If there is no directory component, then add one.
2227           case $arg in
2228           */* | *\\*) . $arg ;;
2229           *) . ./$arg ;;
2230           esac
2231
2232           if test -z "$pic_object" || \
2233              test -z "$non_pic_object" ||
2234              test "$pic_object" = none && \
2235              test "$non_pic_object" = none; then
2236             $echo "$modename: cannot find name of object for \`$arg'" 1>&2
2237             exit $EXIT_FAILURE
2238           fi
2239
2240           # Extract subdirectory from the argument.
2241           xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
2242           if test "X$xdir" = "X$arg"; then
2243             xdir=
2244           else
2245             xdir="$xdir/"
2246           fi
2247
2248           if test "$pic_object" != none; then
2249             # Prepend the subdirectory the object is found in.
2250             pic_object="$xdir$pic_object"
2251
2252             if test "$prev" = dlfiles; then
2253               if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
2254                 dlfiles="$dlfiles $pic_object"
2255                 prev=
2256                 continue
2257               else
2258                 # If libtool objects are unsupported, then we need to preload.
2259                 prev=dlprefiles
2260               fi
2261             fi
2262
2263             # CHECK ME:  I think I busted this.  -Ossama
2264             if test "$prev" = dlprefiles; then
2265               # Preload the old-style object.
2266               dlprefiles="$dlprefiles $pic_object"
2267               prev=
2268             fi
2269
2270             # A PIC object.
2271             libobjs="$libobjs $pic_object"
2272             arg="$pic_object"
2273           fi
2274
2275           # Non-PIC object.
2276           if test "$non_pic_object" != none; then
2277             # Prepend the subdirectory the object is found in.
2278             non_pic_object="$xdir$non_pic_object"
2279
2280             # A standard non-PIC object
2281             non_pic_objects="$non_pic_objects $non_pic_object"
2282             if test -z "$pic_object" || test "$pic_object" = none ; then
2283               arg="$non_pic_object"
2284             fi
2285           else
2286             # If the PIC object exists, use it instead.
2287             # $xdir was prepended to $pic_object above.
2288             non_pic_object="$pic_object"
2289             non_pic_objects="$non_pic_objects $non_pic_object"
2290           fi
2291         else
2292           # Only an error if not doing a dry-run.
2293           if test -z "$run"; then
2294             $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
2295             exit $EXIT_FAILURE
2296           else
2297             # Dry-run case.
2298
2299             # Extract subdirectory from the argument.
2300             xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
2301             if test "X$xdir" = "X$arg"; then
2302               xdir=
2303             else
2304               xdir="$xdir/"
2305             fi
2306
2307             pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
2308             non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
2309             libobjs="$libobjs $pic_object"
2310             non_pic_objects="$non_pic_objects $non_pic_object"
2311           fi
2312         fi
2313         ;;
2314
2315       *.$libext)
2316         # An archive.
2317         deplibs="$deplibs $arg"
2318         old_deplibs="$old_deplibs $arg"
2319         continue
2320         ;;
2321
2322       *.la)
2323         # A libtool-controlled library.
2324
2325         if test "$prev" = dlfiles; then
2326           # This library was specified with -dlopen.
2327           dlfiles="$dlfiles $arg"
2328           prev=
2329         elif test "$prev" = dlprefiles; then
2330           # The library was specified with -dlpreopen.
2331           dlprefiles="$dlprefiles $arg"
2332           prev=
2333         else
2334           deplibs="$deplibs $arg"
2335         fi
2336         continue
2337         ;;
2338
2339       # Some other compiler argument.
2340       *)
2341         # Unknown arguments in both finalize_command and compile_command need
2342         # to be aesthetically quoted because they are evaled later.
2343         arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
2344         case $arg in
2345         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
2346           arg="\"$arg\""
2347           ;;
2348         esac
2349         ;;
2350       esac # arg
2351
2352       # Now actually substitute the argument into the commands.
2353       if test -n "$arg"; then
2354         compile_command="$compile_command $arg"
2355         finalize_command="$finalize_command $arg"
2356       fi
2357     done # argument parsing loop
2358
2359     if test -n "$prev"; then
2360       $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
2361       $echo "$help" 1>&2
2362       exit $EXIT_FAILURE
2363     fi
2364
2365     if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
2366       eval arg=\"$export_dynamic_flag_spec\"
2367       compile_command="$compile_command $arg"
2368       finalize_command="$finalize_command $arg"
2369     fi
2370
2371     oldlibs=
2372     # calculate the name of the file, without its directory
2373     outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
2374     libobjs_save="$libobjs"
2375
2376     if test -n "$shlibpath_var"; then
2377       # get the directories listed in $shlibpath_var
2378       eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
2379     else
2380       shlib_search_path=
2381     fi
2382     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
2383     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
2384
2385     output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
2386     if test "X$output_objdir" = "X$output"; then
2387       output_objdir="$objdir"
2388     else
2389       output_objdir="$output_objdir/$objdir"
2390     fi
2391     # Create the object directory.
2392     if test ! -d "$output_objdir"; then
2393       $show "$mkdir $output_objdir"
2394       $run $mkdir $output_objdir
2395       exit_status=$?
2396       if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
2397         exit $exit_status
2398       fi
2399     fi
2400
2401     # Determine the type of output
2402     case $output in
2403     "")
2404       $echo "$modename: you must specify an output file" 1>&2
2405       $echo "$help" 1>&2
2406       exit $EXIT_FAILURE
2407       ;;
2408     *.$libext) linkmode=oldlib ;;
2409     *.lo | *.$objext) linkmode=obj ;;
2410     *.la) linkmode=lib ;;
2411     *) linkmode=prog ;; # Anything else should be a program.
2412     esac
2413
2414     case $host in
2415     *cygwin* | *mingw* | *pw32*)
2416       # don't eliminate duplications in $postdeps and $predeps
2417       duplicate_compiler_generated_deps=yes
2418       ;;
2419     *)
2420       duplicate_compiler_generated_deps=$duplicate_deps
2421       ;;
2422     esac
2423     specialdeplibs=
2424
2425     libs=
2426     # Find all interdependent deplibs by searching for libraries
2427     # that are linked more than once (e.g. -la -lb -la)
2428     for deplib in $deplibs; do
2429       if test "X$duplicate_deps" = "Xyes" ; then
2430         case "$libs " in
2431         *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
2432         esac
2433       fi
2434       libs="$libs $deplib"
2435     done
2436
2437     if test "$linkmode" = lib; then
2438       libs="$predeps $libs $compiler_lib_search_path $postdeps"
2439
2440       # Compute libraries that are listed more than once in $predeps
2441       # $postdeps and mark them as special (i.e., whose duplicates are
2442       # not to be eliminated).
2443       pre_post_deps=
2444       if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
2445         for pre_post_dep in $predeps $postdeps; do
2446           case "$pre_post_deps " in
2447           *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
2448           esac
2449           pre_post_deps="$pre_post_deps $pre_post_dep"
2450         done
2451       fi
2452       pre_post_deps=
2453     fi
2454
2455     deplibs=
2456     newdependency_libs=
2457     newlib_search_path=
2458     need_relink=no # whether we're linking any uninstalled libtool libraries
2459     notinst_deplibs= # not-installed libtool libraries
2460     case $linkmode in
2461     lib)
2462         passes="conv link"
2463         for file in $dlfiles $dlprefiles; do
2464           case $file in
2465           *.la) ;;
2466           *)
2467             $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
2468             exit $EXIT_FAILURE
2469             ;;
2470           esac
2471         done
2472         ;;
2473     prog)
2474         compile_deplibs=
2475         finalize_deplibs=
2476         alldeplibs=no
2477         newdlfiles=
2478         newdlprefiles=
2479         passes="conv scan dlopen dlpreopen link"
2480         ;;
2481     *)  passes="conv"
2482         ;;
2483     esac
2484     for pass in $passes; do
2485       if test "$linkmode,$pass" = "lib,link" ||
2486          test "$linkmode,$pass" = "prog,scan"; then
2487         libs="$deplibs"
2488         deplibs=
2489       fi
2490       if test "$linkmode" = prog; then
2491         case $pass in
2492         dlopen) libs="$dlfiles" ;;
2493         dlpreopen) libs="$dlprefiles" ;;
2494         link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
2495         esac
2496       fi
2497       if test "$pass" = dlopen; then
2498         # Collect dlpreopened libraries
2499         save_deplibs="$deplibs"
2500         deplibs=
2501       fi
2502       for deplib in $libs; do
2503         lib=
2504         found=no
2505         case $deplib in
2506         -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
2507           if test "$linkmode,$pass" = "prog,link"; then
2508             compile_deplibs="$deplib $compile_deplibs"
2509             finalize_deplibs="$deplib $finalize_deplibs"
2510           else
2511             compiler_flags="$compiler_flags $deplib"
2512           fi
2513           continue
2514           ;;
2515         -l*)
2516           if test "$linkmode" != lib && test "$linkmode" != prog; then
2517             $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
2518             continue
2519           fi
2520           name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
2521           if test "$linkmode" = lib; then
2522             searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
2523           else
2524             searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
2525           fi
2526           for searchdir in $searchdirs; do
2527             for search_ext in .la $std_shrext .so .a; do
2528               # Search the libtool library
2529               lib="$searchdir/lib${name}${search_ext}"
2530               if test -f "$lib"; then
2531                 if test "$search_ext" = ".la"; then
2532                   found=yes
2533                 else
2534                   found=no
2535                 fi
2536                 break 2
2537               fi
2538             done
2539           done
2540           if test "$found" != yes; then
2541             # deplib doesn't seem to be a libtool library
2542             if test "$linkmode,$pass" = "prog,link"; then
2543               compile_deplibs="$deplib $compile_deplibs"
2544               finalize_deplibs="$deplib $finalize_deplibs"
2545             else
2546               deplibs="$deplib $deplibs"
2547               test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
2548             fi
2549             continue
2550           else # deplib is a libtool library
2551             # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
2552             # We need to do some special things here, and not later.
2553             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
2554               case " $predeps $postdeps " in
2555               *" $deplib "*)
2556                 if (${SED} -e '2q' $lib |
2557                     grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
2558                   library_names=
2559                   old_library=
2560                   case $lib in
2561                   */* | *\\*) . $lib ;;
2562                   *) . ./$lib ;;
2563                   esac
2564                   for l in $old_library $library_names; do
2565                     ll="$l"
2566                   done
2567                   if test "X$ll" = "X$old_library" ; then # only static version available
2568                     found=no
2569                     ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
2570                     test "X$ladir" = "X$lib" && ladir="."
2571                     lib=$ladir/$old_library
2572                     if test "$linkmode,$pass" = "prog,link"; then
2573                       compile_deplibs="$deplib $compile_deplibs"
2574                       finalize_deplibs="$deplib $finalize_deplibs"
2575                     else
2576                       deplibs="$deplib $deplibs"
2577                       test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
2578                     fi
2579                     continue
2580                   fi
2581                 fi
2582                 ;;
2583               *) ;;
2584               esac
2585             fi
2586           fi
2587           ;; # -l
2588         -L*)
2589           case $linkmode in
2590           lib)
2591             deplibs="$deplib $deplibs"
2592             test "$pass" = conv && continue
2593             newdependency_libs="$deplib $newdependency_libs"
2594             newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
2595             ;;
2596           prog)
2597             if test "$pass" = conv; then
2598               deplibs="$deplib $deplibs"
2599               continue
2600             fi
2601             if test "$pass" = scan; then
2602               deplibs="$deplib $deplibs"
2603             else
2604               compile_deplibs="$deplib $compile_deplibs"
2605               finalize_deplibs="$deplib $finalize_deplibs"
2606             fi
2607             newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
2608             ;;
2609           *)
2610             $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
2611             ;;
2612           esac # linkmode
2613           continue
2614           ;; # -L
2615         -R*)
2616           if test "$pass" = link; then
2617             dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
2618             # Make sure the xrpath contains only unique directories.
2619             case "$xrpath " in
2620             *" $dir "*) ;;
2621             *) xrpath="$xrpath $dir" ;;
2622             esac
2623           fi
2624           deplibs="$deplib $deplibs"
2625           continue
2626           ;;
2627         *.la) lib="$deplib" ;;
2628         *.$libext)
2629           if test "$pass" = conv; then
2630             deplibs="$deplib $deplibs"
2631             continue
2632           fi
2633           case $linkmode in
2634           lib)
2635             valid_a_lib=no
2636             case $deplibs_check_method in
2637               match_pattern*)
2638                 set dummy $deplibs_check_method
2639                 match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
2640                 if eval $echo \"$deplib\" 2>/dev/null \
2641                     | $SED 10q \
2642                     | $EGREP "$match_pattern_regex" > /dev/null; then
2643                   valid_a_lib=yes
2644                 fi
2645                 ;;
2646               pass_all)
2647                 valid_a_lib=yes
2648                 ;;
2649             esac
2650             if test "$valid_a_lib" != yes; then
2651               $echo
2652               $echo "*** Warning: Trying to link with static lib archive $deplib."
2653               $echo "*** I have the capability to make that library automatically link in when"
2654               $echo "*** you link to this library.  But I can only do this if you have a"
2655               $echo "*** shared version of the library, which you do not appear to have"
2656               $echo "*** because the file extensions .$libext of this argument makes me believe"
2657               $echo "*** that it is just a static archive that I should not used here."
2658             else
2659               $echo
2660               $echo "*** Warning: Linking the shared library $output against the"
2661               $echo "*** static library $deplib is not portable!"
2662               deplibs="$deplib $deplibs"
2663             fi
2664             continue
2665             ;;
2666           prog)
2667             if test "$pass" != link; then
2668               deplibs="$deplib $deplibs"
2669             else
2670               compile_deplibs="$deplib $compile_deplibs"
2671               finalize_deplibs="$deplib $finalize_deplibs"
2672             fi
2673             continue
2674             ;;
2675           esac # linkmode
2676           ;; # *.$libext
2677         *.lo | *.$objext)
2678           if test "$pass" = conv; then
2679             deplibs="$deplib $deplibs"
2680           elif test "$linkmode" = prog; then
2681             if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
2682               # If there is no dlopen support or we're linking statically,
2683               # we need to preload.
2684               newdlprefiles="$newdlprefiles $deplib"
2685               compile_deplibs="$deplib $compile_deplibs"
2686               finalize_deplibs="$deplib $finalize_deplibs"
2687             else
2688               newdlfiles="$newdlfiles $deplib"
2689             fi
2690           fi
2691           continue
2692           ;;
2693         %DEPLIBS%)
2694           alldeplibs=yes
2695           continue
2696           ;;
2697         esac # case $deplib
2698         if test "$found" = yes || test -f "$lib"; then :
2699         else
2700           $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
2701           exit $EXIT_FAILURE
2702         fi
2703
2704         # Check to see that this really is a libtool archive.
2705         if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
2706         else
2707           $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
2708           exit $EXIT_FAILURE
2709         fi
2710
2711         ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
2712         test "X$ladir" = "X$lib" && ladir="."
2713
2714         dlname=
2715         dlopen=
2716         dlpreopen=
2717         libdir=
2718         library_names=
2719         old_library=
2720         # If the library was installed with an old release of libtool,
2721         # it will not redefine variables installed, or shouldnotlink
2722         installed=yes
2723         shouldnotlink=no
2724         avoidtemprpath=
2725
2726
2727         # Read the .la file
2728         case $lib in
2729         */* | *\\*) . $lib ;;
2730         *) . ./$lib ;;
2731         esac
2732
2733         if test "$linkmode,$pass" = "lib,link" ||
2734            test "$linkmode,$pass" = "prog,scan" ||
2735            { test "$linkmode" != prog && test "$linkmode" != lib; }; then
2736           test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
2737           test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
2738         fi
2739
2740         if test "$pass" = conv; then
2741           # Only check for convenience libraries
2742           deplibs="$lib $deplibs"
2743           if test -z "$libdir"; then
2744             if test -z "$old_library"; then
2745               $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
2746               exit $EXIT_FAILURE
2747             fi
2748             # It is a libtool convenience library, so add in its objects.
2749             convenience="$convenience $ladir/$objdir/$old_library"
2750             old_convenience="$old_convenience $ladir/$objdir/$old_library"
2751             tmp_libs=
2752             for deplib in $dependency_libs; do
2753               deplibs="$deplib $deplibs"
2754               if test "X$duplicate_deps" = "Xyes" ; then
2755                 case "$tmp_libs " in
2756                 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
2757                 esac
2758               fi
2759               tmp_libs="$tmp_libs $deplib"
2760             done
2761           elif test "$linkmode" != prog && test "$linkmode" != lib; then
2762             $echo "$modename: \`$lib' is not a convenience library" 1>&2
2763             exit $EXIT_FAILURE
2764           fi
2765           continue
2766         fi # $pass = conv
2767
2768
2769         # Get the name of the library we link against.
2770         linklib=
2771         for l in $old_library $library_names; do
2772           linklib="$l"
2773         done
2774         if test -z "$linklib"; then
2775           $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
2776           exit $EXIT_FAILURE
2777         fi
2778
2779         # This library was specified with -dlopen.
2780         if test "$pass" = dlopen; then
2781           if test -z "$libdir"; then
2782             $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
2783             exit $EXIT_FAILURE
2784           fi
2785           if test -z "$dlname" ||
2786              test "$dlopen_support" != yes ||
2787              test "$build_libtool_libs" = no; then
2788             # If there is no dlname, no dlopen support or we're linking
2789             # statically, we need to preload.  We also need to preload any
2790             # dependent libraries so libltdl's deplib preloader doesn't
2791             # bomb out in the load deplibs phase.
2792             dlprefiles="$dlprefiles $lib $dependency_libs"
2793           else
2794             newdlfiles="$newdlfiles $lib"
2795           fi
2796           continue
2797         fi # $pass = dlopen
2798
2799         # We need an absolute path.
2800         case $ladir in
2801         [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
2802         *)
2803           abs_ladir=`cd "$ladir" && pwd`
2804           if test -z "$abs_ladir"; then
2805             $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
2806             $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
2807             abs_ladir="$ladir"
2808           fi
2809           ;;
2810         esac
2811         laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
2812
2813         # Find the relevant object directory and library name.
2814         if test "X$installed" = Xyes; then
2815           if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
2816             $echo "$modename: warning: library \`$lib' was moved." 1>&2
2817             dir="$ladir"
2818             absdir="$abs_ladir"
2819             libdir="$abs_ladir"
2820           else
2821             dir="$libdir"
2822             absdir="$libdir"
2823           fi
2824           test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
2825         else
2826           if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
2827             dir="$ladir"
2828             absdir="$abs_ladir"
2829             # Remove this search path later
2830             notinst_path="$notinst_path $abs_ladir"
2831           else
2832             dir="$ladir/$objdir"
2833             absdir="$abs_ladir/$objdir"
2834             # Remove this search path later
2835             notinst_path="$notinst_path $abs_ladir"
2836           fi
2837         fi # $installed = yes
2838         name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
2839
2840         # This library was specified with -dlpreopen.
2841         if test "$pass" = dlpreopen; then
2842           if test -z "$libdir"; then
2843             $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
2844             exit $EXIT_FAILURE
2845           fi
2846           # Prefer using a static library (so that no silly _DYNAMIC symbols
2847           # are required to link).
2848           if test -n "$old_library"; then
2849             newdlprefiles="$newdlprefiles $dir/$old_library"
2850           # Otherwise, use the dlname, so that lt_dlopen finds it.
2851           elif test -n "$dlname"; then
2852             newdlprefiles="$newdlprefiles $dir/$dlname"
2853           else
2854             newdlprefiles="$newdlprefiles $dir/$linklib"
2855           fi
2856         fi # $pass = dlpreopen
2857
2858         if test -z "$libdir"; then
2859           # Link the convenience library
2860           if test "$linkmode" = lib; then
2861             deplibs="$dir/$old_library $deplibs"
2862           elif test "$linkmode,$pass" = "prog,link"; then
2863             compile_deplibs="$dir/$old_library $compile_deplibs"
2864             finalize_deplibs="$dir/$old_library $finalize_deplibs"
2865           else
2866             deplibs="$lib $deplibs" # used for prog,scan pass
2867           fi
2868           continue
2869         fi
2870
2871
2872         if test "$linkmode" = prog && test "$pass" != link; then
2873           newlib_search_path="$newlib_search_path $ladir"
2874           deplibs="$lib $deplibs"
2875
2876           linkalldeplibs=no
2877           if test "$link_all_deplibs" != no || test -z "$library_names" ||
2878              test "$build_libtool_libs" = no; then
2879             linkalldeplibs=yes
2880           fi
2881
2882           tmp_libs=
2883           for deplib in $dependency_libs; do
2884             case $deplib in
2885             -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
2886             esac
2887             # Need to link against all dependency_libs?
2888             if test "$linkalldeplibs" = yes; then
2889               deplibs="$deplib $deplibs"
2890             else
2891               # Need to hardcode shared library paths
2892               # or/and link against static libraries
2893               newdependency_libs="$deplib $newdependency_libs"
2894             fi
2895             if test "X$duplicate_deps" = "Xyes" ; then
2896               case "$tmp_libs " in
2897               *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
2898               esac
2899             fi
2900             tmp_libs="$tmp_libs $deplib"
2901           done # for deplib
2902           continue
2903         fi # $linkmode = prog...
2904
2905         if test "$linkmode,$pass" = "prog,link"; then
2906           if test -n "$library_names" &&
2907              { { test "$prefer_static_libs" = no ||
2908                  test "$prefer_static_libs,$installed" = "built,yes"; } ||
2909                test -z "$old_library"; }; then
2910             # We need to hardcode the library path
2911             if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
2912               # Make sure the rpath contains only unique directories.
2913               case "$temp_rpath " in
2914               *" $dir "*) ;;
2915               *" $absdir "*) ;;
2916               *) temp_rpath="$temp_rpath $absdir" ;;
2917               esac
2918             fi
2919
2920             # Hardcode the library path.
2921             # Skip directories that are in the system default run-time
2922             # search path.
2923             case " $sys_lib_dlsearch_path " in
2924             *" $absdir "*) ;;
2925             *)
2926               case "$compile_rpath " in
2927               *" $absdir "*) ;;
2928               *) compile_rpath="$compile_rpath $absdir"
2929               esac
2930               ;;
2931             esac
2932             case " $sys_lib_dlsearch_path " in
2933             *" $libdir "*) ;;
2934             *)
2935               case "$finalize_rpath " in
2936               *" $libdir "*) ;;
2937               *) finalize_rpath="$finalize_rpath $libdir"
2938               esac
2939               ;;
2940             esac
2941           fi # $linkmode,$pass = prog,link...
2942
2943           if test "$alldeplibs" = yes &&
2944              { test "$deplibs_check_method" = pass_all ||
2945                { test "$build_libtool_libs" = yes &&
2946                  test -n "$library_names"; }; }; then
2947             # We only need to search for static libraries
2948             continue
2949           fi
2950         fi
2951
2952         link_static=no # Whether the deplib will be linked statically
2953         use_static_libs=$prefer_static_libs
2954         if test "$use_static_libs" = built && test "$installed" = yes ; then
2955           use_static_libs=no
2956         fi
2957         if test -n "$library_names" &&
2958            { test "$use_static_libs" = no || test -z "$old_library"; }; then
2959           if test "$installed" = no; then
2960             notinst_deplibs="$notinst_deplibs $lib"
2961             need_relink=yes
2962           fi
2963           # This is a shared library
2964
2965           # Warn about portability, can't link against -module's on
2966           # some systems (darwin)
2967           if test "$shouldnotlink" = yes && test "$pass" = link ; then
2968             $echo
2969             if test "$linkmode" = prog; then
2970               $echo "*** Warning: Linking the executable $output against the loadable module"
2971             else
2972               $echo "*** Warning: Linking the shared library $output against the loadable module"
2973             fi
2974             $echo "*** $linklib is not portable!"
2975           fi
2976           if test "$linkmode" = lib &&
2977              test "$hardcode_into_libs" = yes; then
2978             # Hardcode the library path.
2979             # Skip directories that are in the system default run-time
2980             # search path.
2981             case " $sys_lib_dlsearch_path " in
2982             *" $absdir "*) ;;
2983             *)
2984               case "$compile_rpath " in
2985               *" $absdir "*) ;;
2986               *) compile_rpath="$compile_rpath $absdir"
2987               esac
2988               ;;
2989             esac
2990             case " $sys_lib_dlsearch_path " in
2991             *" $libdir "*) ;;
2992             *)
2993               case "$finalize_rpath " in
2994               *" $libdir "*) ;;
2995               *) finalize_rpath="$finalize_rpath $libdir"
2996               esac
2997               ;;
2998             esac
2999           fi
3000
3001           if test -n "$old_archive_from_expsyms_cmds"; then
3002             # figure out the soname
3003             set dummy $library_names
3004             realname="$2"
3005             shift; shift
3006             libname=`eval \\$echo \"$libname_spec\"`
3007             # use dlname if we got it. it's perfectly good, no?
3008             if test -n "$dlname"; then
3009               soname="$dlname"
3010             elif test -n "$soname_spec"; then
3011               # bleh windows
3012               case $host in
3013               *cygwin* | mingw*)
3014                 major=`expr $current - $age`
3015                 versuffix="-$major"
3016                 ;;
3017               esac
3018               eval soname=\"$soname_spec\"
3019             else
3020               soname="$realname"
3021             fi
3022
3023             # Make a new name for the extract_expsyms_cmds to use
3024             soroot="$soname"
3025             soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
3026             newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
3027
3028             # If the library has no export list, then create one now
3029             if test -f "$output_objdir/$soname-def"; then :
3030             else
3031               $show "extracting exported symbol list from \`$soname'"
3032               save_ifs="$IFS"; IFS='~'
3033               cmds=$extract_expsyms_cmds
3034               for cmd in $cmds; do
3035                 IFS="$save_ifs"
3036                 eval cmd=\"$cmd\"
3037                 $show "$cmd"
3038                 $run eval "$cmd" || exit $?
3039               done
3040               IFS="$save_ifs"
3041             fi
3042
3043             # Create $newlib
3044             if test -f "$output_objdir/$newlib"; then :; else
3045               $show "generating import library for \`$soname'"
3046               save_ifs="$IFS"; IFS='~'
3047               cmds=$old_archive_from_expsyms_cmds
3048               for cmd in $cmds; do
3049                 IFS="$save_ifs"
3050                 eval cmd=\"$cmd\"
3051                 $show "$cmd"
3052                 $run eval "$cmd" || exit $?
3053               done
3054               IFS="$save_ifs"
3055             fi
3056             # make sure the library variables are pointing to the new library
3057             dir=$output_objdir
3058             linklib=$newlib
3059           fi # test -n "$old_archive_from_expsyms_cmds"
3060
3061           if test "$linkmode" = prog || test "$mode" != relink; then
3062             add_shlibpath=
3063             add_dir=
3064             add=
3065             lib_linked=yes
3066             case $hardcode_action in
3067             immediate | unsupported)
3068               if test "$hardcode_direct" = no; then
3069                 add="$dir/$linklib"
3070                 case $host in
3071                   *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
3072                   *-*-sysv4*uw2*) add_dir="-L$dir" ;;
3073                   *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
3074                     *-*-unixware7*) add_dir="-L$dir" ;;
3075                   *-*-darwin* )
3076                     # if the lib is a module then we can not link against
3077                     # it, someone is ignoring the new warnings I added
3078                     if /usr/bin/file -L $add 2> /dev/null |
3079                       $EGREP ": [^:]* bundle" >/dev/null ; then
3080                       $echo "** Warning, lib $linklib is a module, not a shared library"
3081                       if test -z "$old_library" ; then
3082                         $echo
3083                         $echo "** And there doesn't seem to be a static archive available"
3084                         $echo "** The link will probably fail, sorry"
3085                       else
3086                         add="$dir/$old_library"
3087                       fi
3088                     fi
3089                 esac
3090               elif test "$hardcode_minus_L" = no; then
3091                 case $host in
3092                 *-*-sunos*) add_shlibpath="$dir" ;;
3093                 esac
3094                 add_dir="-L$dir"
3095                 add="-l$name"
3096               elif test "$hardcode_shlibpath_var" = no; then
3097                 add_shlibpath="$dir"
3098                 add="-l$name"
3099               else
3100                 lib_linked=no
3101               fi
3102               ;;
3103             relink)
3104               if test "$hardcode_direct" = yes; then
3105                 add="$dir/$linklib"
3106               elif test "$hardcode_minus_L" = yes; then
3107                 add_dir="-L$dir"
3108                 # Try looking first in the location we're being installed to.
3109                 if test -n "$inst_prefix_dir"; then
3110                   case $libdir in
3111                     [\\/]*)
3112                       add_dir="$add_dir -L$inst_prefix_dir$libdir"
3113                       ;;
3114                   esac
3115                 fi
3116                 add="-l$name"
3117               elif test "$hardcode_shlibpath_var" = yes; then
3118                 add_shlibpath="$dir"
3119                 add="-l$name"
3120               else
3121                 lib_linked=no
3122               fi
3123               ;;
3124             *) lib_linked=no ;;
3125             esac
3126
3127             if test "$lib_linked" != yes; then
3128               $echo "$modename: configuration error: unsupported hardcode properties"
3129               exit $EXIT_FAILURE
3130             fi
3131
3132             if test -n "$add_shlibpath"; then
3133               case :$compile_shlibpath: in
3134               *":$add_shlibpath:"*) ;;
3135               *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
3136               esac
3137             fi
3138             if test "$linkmode" = prog; then
3139               test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
3140               test -n "$add" && compile_deplibs="$add $compile_deplibs"
3141             else
3142               test -n "$add_dir" && deplibs="$add_dir $deplibs"
3143               test -n "$add" && deplibs="$add $deplibs"
3144               if test "$hardcode_direct" != yes && \
3145                  test "$hardcode_minus_L" != yes && \
3146                  test "$hardcode_shlibpath_var" = yes; then
3147                 case :$finalize_shlibpath: in
3148                 *":$libdir:"*) ;;
3149                 *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
3150                 esac
3151               fi
3152             fi
3153           fi
3154
3155           if test "$linkmode" = prog || test "$mode" = relink; then
3156             add_shlibpath=
3157             add_dir=
3158             add=
3159             # Finalize command for both is simple: just hardcode it.
3160             if test "$hardcode_direct" = yes; then
3161               add="$libdir/$linklib"
3162             elif test "$hardcode_minus_L" = yes; then
3163               add_dir="-L$libdir"
3164               add="-l$name"
3165             elif test "$hardcode_shlibpath_var" = yes; then
3166               case :$finalize_shlibpath: in
3167               *":$libdir:"*) ;;
3168               *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
3169               esac
3170               add="-l$name"
3171             elif test "$hardcode_automatic" = yes; then
3172               if test -n "$inst_prefix_dir" &&
3173                  test -f "$inst_prefix_dir$libdir/$linklib" ; then
3174                 add="$inst_prefix_dir$libdir/$linklib"
3175               else
3176                 add="$libdir/$linklib"
3177               fi
3178             else
3179               # We cannot seem to hardcode it, guess we'll fake it.
3180               add_dir="-L$libdir"
3181               # Try looking first in the location we're being installed to.
3182               if test -n "$inst_prefix_dir"; then
3183                 case $libdir in
3184                   [\\/]*)
3185                     add_dir="$add_dir -L$inst_prefix_dir$libdir"
3186                     ;;
3187                 esac
3188               fi
3189               add="-l$name"
3190             fi
3191
3192             if test "$linkmode" = prog; then
3193               test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
3194               test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
3195             else
3196               test -n "$add_dir" && deplibs="$add_dir $deplibs"
3197               test -n "$add" && deplibs="$add $deplibs"
3198             fi
3199           fi
3200         elif test "$linkmode" = prog; then
3201           # Here we assume that one of hardcode_direct or hardcode_minus_L
3202           # is not unsupported.  This is valid on all known static and
3203           # shared platforms.
3204           if test "$hardcode_direct" != unsupported; then
3205             test -n "$old_library" && linklib="$old_library"
3206             compile_deplibs="$dir/$linklib $compile_deplibs"
3207             finalize_deplibs="$dir/$linklib $finalize_deplibs"
3208           else
3209             compile_deplibs="-l$name -L$dir $compile_deplibs"
3210             finalize_deplibs="-l$name -L$dir $finalize_deplibs"
3211           fi
3212         elif test "$build_libtool_libs" = yes; then
3213           # Not a shared library
3214           if test "$deplibs_check_method" != pass_all; then
3215             # We're trying link a shared library against a static one
3216             # but the system doesn't support it.
3217
3218             # Just print a warning and add the library to dependency_libs so
3219             # that the program can be linked against the static library.
3220             $echo
3221             $echo "*** Warning: This system can not link to static lib archive $lib."
3222             $echo "*** I have the capability to make that library automatically link in when"
3223             $echo "*** you link to this library.  But I can only do this if you have a"
3224             $echo "*** shared version of the library, which you do not appear to have."
3225             if test "$module" = yes; then
3226               $echo "*** But as you try to build a module library, libtool will still create "
3227               $echo "*** a static module, that should work as long as the dlopening application"
3228               $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
3229               if test -z "$global_symbol_pipe"; then
3230                 $echo
3231                 $echo "*** However, this would only work if libtool was able to extract symbol"
3232                 $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
3233                 $echo "*** not find such a program.  So, this module is probably useless."
3234                 $echo "*** \`nm' from GNU binutils and a full rebuild may help."
3235               fi
3236               if test "$build_old_libs" = no; then
3237                 build_libtool_libs=module
3238                 build_old_libs=yes
3239               else
3240                 build_libtool_libs=no
3241               fi
3242             fi
3243           else
3244             deplibs="$dir/$old_library $deplibs"
3245             link_static=yes
3246           fi
3247         fi # link shared/static library?
3248
3249         if test "$linkmode" = lib; then
3250           if test -n "$dependency_libs" &&
3251              { test "$hardcode_into_libs" != yes ||
3252                test "$build_old_libs" = yes ||
3253                test "$link_static" = yes; }; then
3254             # Extract -R from dependency_libs
3255             temp_deplibs=
3256             for libdir in $dependency_libs; do
3257               case $libdir in
3258               -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
3259                    case " $xrpath " in
3260                    *" $temp_xrpath "*) ;;
3261                    *) xrpath="$xrpath $temp_xrpath";;
3262                    esac;;
3263               *) temp_deplibs="$temp_deplibs $libdir";;
3264               esac
3265             done
3266             dependency_libs="$temp_deplibs"
3267           fi
3268
3269           newlib_search_path="$newlib_search_path $absdir"
3270           # Link against this library
3271           test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
3272           # ... and its dependency_libs
3273           tmp_libs=
3274           for deplib in $dependency_libs; do
3275             newdependency_libs="$deplib $newdependency_libs"
3276             if test "X$duplicate_deps" = "Xyes" ; then
3277               case "$tmp_libs " in
3278               *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
3279               esac
3280             fi
3281             tmp_libs="$tmp_libs $deplib"
3282           done
3283
3284           if test "$link_all_deplibs" != no; then
3285             # Add the search paths of all dependency libraries
3286             for deplib in $dependency_libs; do
3287               case $deplib in
3288               -L*) path="$deplib" ;;
3289               *.la)
3290                 dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
3291                 test "X$dir" = "X$deplib" && dir="."
3292                 # We need an absolute path.
3293                 case $dir in
3294                 [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
3295                 *)
3296                   absdir=`cd "$dir" && pwd`
3297                   if test -z "$absdir"; then
3298                     $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
3299                     absdir="$dir"
3300                   fi
3301                   ;;
3302                 esac
3303                 if grep "^installed=no" $deplib > /dev/null; then
3304                   path="$absdir/$objdir"
3305                 else
3306                   eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
3307                   if test -z "$libdir"; then
3308                     $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
3309                     exit $EXIT_FAILURE
3310                   fi
3311                   if test "$absdir" != "$libdir"; then
3312                     $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
3313                   fi
3314                   path="$absdir"
3315                 fi
3316                 depdepl=
3317                 case $host in
3318                 *-*-darwin*)
3319                   # we do not want to link against static libs,
3320                   # but need to link against shared
3321                   eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
3322                   eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
3323                   if test -n "$deplibrary_names" ; then
3324                     for tmp in $deplibrary_names ; do
3325                       depdepl=$tmp
3326                     done
3327                     if test -f "$deplibdir/$depdepl" ; then
3328                       depdepl="$deplibdir/$depdepl"
3329                     elif test -f "$path/$depdepl" ; then
3330                       depdepl="$path/$depdepl"
3331                     else
3332                       # Can't find it, oh well...
3333                       depdepl=
3334                     fi
3335                     # do not add paths which are already there
3336                     case " $newlib_search_path " in
3337                     *" $path "*) ;;
3338                     *) newlib_search_path="$newlib_search_path $path";;
3339                     esac
3340                   fi
3341                   path=""
3342                   ;;
3343                 *)
3344                   path="-L$path"
3345                   ;;
3346                 esac
3347                 ;;
3348               -l*)
3349                 case $host in
3350                 *-*-darwin*)
3351                   # Again, we only want to link against shared libraries
3352                   eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
3353                   for tmp in $newlib_search_path ; do
3354                     if test -f "$tmp/lib$tmp_libs.dylib" ; then
3355                       eval depdepl="$tmp/lib$tmp_libs.dylib"
3356                       break
3357                     fi
3358                   done
3359                   path=""
3360                   ;;
3361                 *) continue ;;
3362                 esac
3363                 ;;
3364               *) continue ;;
3365               esac
3366               case " $deplibs " in
3367               *" $path "*) ;;
3368               *) deplibs="$path $deplibs" ;;
3369               esac
3370               case " $deplibs " in
3371               *" $depdepl "*) ;;
3372               *) deplibs="$depdepl $deplibs" ;;
3373               esac
3374             done
3375           fi # link_all_deplibs != no
3376         fi # linkmode = lib
3377       done # for deplib in $libs
3378       dependency_libs="$newdependency_libs"
3379       if test "$pass" = dlpreopen; then
3380         # Link the dlpreopened libraries before other libraries
3381         for deplib in $save_deplibs; do
3382           deplibs="$deplib $deplibs"
3383         done
3384       fi
3385       if test "$pass" != dlopen; then
3386         if test "$pass" != conv; then
3387           # Make sure lib_search_path contains only unique directories.
3388           lib_search_path=
3389           for dir in $newlib_search_path; do
3390             case "$lib_search_path " in
3391             *" $dir "*) ;;
3392             *) lib_search_path="$lib_search_path $dir" ;;
3393             esac
3394           done
3395           newlib_search_path=
3396         fi
3397
3398         if test "$linkmode,$pass" != "prog,link"; then
3399           vars="deplibs"
3400         else
3401           vars="compile_deplibs finalize_deplibs"
3402         fi
3403         for var in $vars dependency_libs; do
3404           # Add libraries to $var in reverse order
3405           eval tmp_libs=\"\$$var\"
3406           new_libs=
3407           for deplib in $tmp_libs; do
3408             # FIXME: Pedantically, this is the right thing to do, so
3409             #        that some nasty dependency loop isn't accidentally
3410             #        broken:
3411             #new_libs="$deplib $new_libs"
3412             # Pragmatically, this seems to cause very few problems in
3413             # practice:
3414             case $deplib in
3415             -L*) new_libs="$deplib $new_libs" ;;
3416             -R*) ;;
3417             *)
3418               # And here is the reason: when a library appears more
3419               # than once as an explicit dependence of a library, or
3420               # is implicitly linked in more than once by the
3421               # compiler, it is considered special, and multiple
3422               # occurrences thereof are not removed.  Compare this
3423               # with having the same library being listed as a
3424               # dependency of multiple other libraries: in this case,
3425               # we know (pedantically, we assume) the library does not
3426               # need to be listed more than once, so we keep only the
3427               # last copy.  This is not always right, but it is rare
3428               # enough that we require users that really mean to play
3429               # such unportable linking tricks to link the library
3430               # using -Wl,-lname, so that libtool does not consider it
3431               # for duplicate removal.
3432               case " $specialdeplibs " in
3433               *" $deplib "*) new_libs="$deplib $new_libs" ;;
3434               *)
3435                 case " $new_libs " in
3436                 *" $deplib "*) ;;
3437                 *) new_libs="$deplib $new_libs" ;;
3438                 esac
3439                 ;;
3440               esac
3441               ;;
3442             esac
3443           done
3444           tmp_libs=
3445           for deplib in $new_libs; do
3446             case $deplib in
3447             -L*)
3448               case " $tmp_libs " in
3449               *" $deplib "*) ;;
3450               *) tmp_libs="$tmp_libs $deplib" ;;
3451               esac
3452               ;;
3453             *) tmp_libs="$tmp_libs $deplib" ;;
3454             esac
3455           done
3456           eval $var=\"$tmp_libs\"
3457         done # for var
3458       fi
3459       # Last step: remove runtime libs from dependency_libs
3460       # (they stay in deplibs)
3461       tmp_libs=
3462       for i in $dependency_libs ; do
3463         case " $predeps $postdeps $compiler_lib_search_path " in
3464         *" $i "*)
3465           i=""
3466           ;;
3467         esac
3468         if test -n "$i" ; then
3469           tmp_libs="$tmp_libs $i"
3470         fi
3471       done
3472       dependency_libs=$tmp_libs
3473     done # for pass
3474     if test "$linkmode" = prog; then
3475       dlfiles="$newdlfiles"
3476       dlprefiles="$newdlprefiles"
3477     fi
3478
3479     case $linkmode in
3480     oldlib)
3481       case " $deplibs" in
3482       *\ -l* | *\ -L*)
3483         $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
3484       esac
3485
3486       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
3487         $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
3488       fi
3489
3490       if test -n "$rpath"; then
3491         $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
3492       fi
3493
3494       if test -n "$xrpath"; then
3495         $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
3496       fi
3497
3498       if test -n "$vinfo"; then
3499         $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
3500       fi
3501
3502       if test -n "$release"; then
3503         $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
3504       fi
3505
3506       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
3507         $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
3508       fi
3509
3510       # Now set the variables for building old libraries.
3511       build_libtool_libs=no
3512       oldlibs="$output"
3513       objs="$objs$old_deplibs"
3514       ;;
3515
3516     lib)
3517       # Make sure we only generate libraries of the form `libNAME.la'.
3518       case $outputname in
3519       lib*)
3520         name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
3521         eval shared_ext=\"$shrext_cmds\"
3522         eval libname=\"$libname_spec\"
3523         ;;
3524       *)
3525         if test "$module" = no; then
3526           $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
3527           $echo "$help" 1>&2
3528           exit $EXIT_FAILURE
3529         fi
3530         if test "$need_lib_prefix" != no; then
3531           # Add the "lib" prefix for modules if required
3532           name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
3533           eval shared_ext=\"$shrext_cmds\"
3534           eval libname=\"$libname_spec\"
3535         else
3536           libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
3537         fi
3538         ;;
3539       esac
3540
3541       if test -n "$objs"; then
3542         if test "$deplibs_check_method" != pass_all; then
3543           $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
3544           exit $EXIT_FAILURE
3545         else
3546           $echo
3547           $echo "*** Warning: Linking the shared library $output against the non-libtool"
3548           $echo "*** objects $objs is not portable!"
3549           libobjs="$libobjs $objs"
3550         fi
3551       fi
3552
3553       if test "$dlself" != no; then
3554         $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
3555       fi
3556
3557       set dummy $rpath
3558       if test "$#" -gt 2; then
3559         $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
3560       fi
3561       install_libdir="$2"
3562
3563       oldlibs=
3564       if test -z "$rpath"; then
3565         if test "$build_libtool_libs" = yes; then
3566           # Building a libtool convenience library.
3567           # Some compilers have problems with a `.al' extension so
3568           # convenience libraries should have the same extension an
3569           # archive normally would.
3570           oldlibs="$output_objdir/$libname.$libext $oldlibs"
3571           build_libtool_libs=convenience
3572           build_old_libs=yes
3573         fi
3574
3575         if test -n "$vinfo"; then
3576           $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
3577         fi
3578
3579         if test -n "$release"; then
3580           $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
3581         fi
3582       else
3583
3584         # Parse the version information argument.
3585         save_ifs="$IFS"; IFS=':'
3586         set dummy $vinfo 0 0 0
3587         IFS="$save_ifs"
3588
3589         if test -n "$8"; then
3590           $echo "$modename: too many parameters to \`-version-info'" 1>&2
3591           $echo "$help" 1>&2
3592           exit $EXIT_FAILURE
3593         fi
3594
3595         # convert absolute version numbers to libtool ages
3596         # this retains compatibility with .la files and attempts
3597         # to make the code below a bit more comprehensible
3598
3599         case $vinfo_number in
3600         yes)
3601           number_major="$2"
3602           number_minor="$3"
3603           number_revision="$4"
3604           #
3605           # There are really only two kinds -- those that
3606           # use the current revision as the major version
3607           # and those that subtract age and use age as
3608           # a minor version.  But, then there is irix
3609           # which has an extra 1 added just for fun
3610           #
3611           case $version_type in
3612           darwin|linux|osf|windows|none)
3613             current=`expr $number_major + $number_minor`
3614             age="$number_minor"
3615             revision="$number_revision"
3616             ;;
3617           freebsd-aout|freebsd-elf|sunos)
3618             current="$number_major"
3619             revision="$number_minor"
3620             age="0"
3621             ;;
3622           irix|nonstopux)
3623             current=`expr $number_major + $number_minor`
3624             age="$number_minor"
3625             revision="$number_minor"
3626             lt_irix_increment=no
3627             ;;
3628           esac
3629           ;;
3630         no)
3631           current="$2"
3632           revision="$3"
3633           age="$4"
3634           ;;
3635         esac
3636
3637         # Check that each of the things are valid numbers.
3638         case $current in
3639         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]) ;;
3640         *)
3641           $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
3642           $echo "$modename: \`$vinfo' is not valid version information" 1>&2
3643           exit $EXIT_FAILURE
3644           ;;
3645         esac
3646
3647         case $revision in
3648         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]) ;;
3649         *)
3650           $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
3651           $echo "$modename: \`$vinfo' is not valid version information" 1>&2
3652           exit $EXIT_FAILURE
3653           ;;
3654         esac
3655
3656         case $age in
3657         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]) ;;
3658         *)
3659           $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
3660           $echo "$modename: \`$vinfo' is not valid version information" 1>&2
3661           exit $EXIT_FAILURE
3662           ;;
3663         esac
3664
3665         if test "$age" -gt "$current"; then
3666           $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
3667           $echo "$modename: \`$vinfo' is not valid version information" 1>&2
3668           exit $EXIT_FAILURE
3669         fi
3670
3671         # Calculate the version variables.