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