Home | History | Annotate | Download | only in expat
      1 #! /bin/sh
      2 
      3 # libtool - Provide generalized library-building support services.
      4 # Generated automatically by config.status () 
      5 # Libtool was configured on host hughes.mtv.corp.google.com:
      6 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
      7 #
      8 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
      9 #                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
     10 #                 Inc.
     11 #   Written by Gordon Matzigkeit, 1996
     12 #
     13 #   This file is part of GNU Libtool.
     14 #
     15 # GNU Libtool is free software; you can redistribute it and/or
     16 # modify it under the terms of the GNU General Public License as
     17 # published by the Free Software Foundation; either version 2 of
     18 # the License, or (at your option) any later version.
     19 #
     20 # As a special exception to the GNU General Public License,
     21 # if you distribute this file as part of a program or library that
     22 # is built using GNU Libtool, you may include this file under the
     23 # same distribution terms that you use for the rest of that program.
     24 #
     25 # GNU Libtool is distributed in the hope that it will be useful,
     26 # but WITHOUT ANY WARRANTY; without even the implied warranty of
     27 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     28 # GNU General Public License for more details.
     29 #
     30 # You should have received a copy of the GNU General Public License
     31 # along with GNU Libtool; see the file COPYING.  If not, a copy
     32 # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
     33 # obtained by writing to the Free Software Foundation, Inc.,
     34 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     35 
     36 
     37 # The names of the tagged configurations supported by this script.
     38 available_tags="CXX "
     39 
     40 # ### BEGIN LIBTOOL CONFIG
     41 
     42 # Assembler program.
     43 AS="as"
     44 
     45 # DLL creation program.
     46 DLLTOOL="dlltool"
     47 
     48 # Object dumper program.
     49 OBJDUMP="objdump"
     50 
     51 # Which release of libtool.m4 was used?
     52 macro_version=2.4
     53 macro_revision=1.3293
     54 
     55 # Whether or not to build shared libraries.
     56 build_libtool_libs=yes
     57 
     58 # Whether or not to build static libraries.
     59 build_old_libs=yes
     60 
     61 # What type of objects to build.
     62 pic_mode=default
     63 
     64 # Whether or not to optimize for fast installation.
     65 fast_install=yes
     66 
     67 # Shell to use when invoking shell scripts.
     68 SHELL="/bin/sh"
     69 
     70 # An echo program that protects backslashes.
     71 ECHO="printf %s\\n"
     72 
     73 # The host system.
     74 host_alias=
     75 host=x86_64-unknown-linux-gnu
     76 host_os=linux-gnu
     77 
     78 # The build system.
     79 build_alias=
     80 build=x86_64-unknown-linux-gnu
     81 build_os=linux-gnu
     82 
     83 # A sed program that does not truncate output.
     84 SED="/bin/sed"
     85 
     86 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
     87 Xsed="$SED -e 1s/^X//"
     88 
     89 # A grep program that handles long lines.
     90 GREP="/bin/grep"
     91 
     92 # An ERE matcher.
     93 EGREP="/bin/grep -E"
     94 
     95 # A literal string matcher.
     96 FGREP="/bin/grep -F"
     97 
     98 # A BSD- or MS-compatible name lister.
     99 NM="/usr/bin/nm -B"
    100 
    101 # Whether we need soft or hard links.
    102 LN_S="ln -s"
    103 
    104 # What is the maximum length of a command?
    105 max_cmd_len=1572864
    106 
    107 # Object file suffix (normally "o").
    108 objext=o
    109 
    110 # Executable file suffix (normally "").
    111 exeext=
    112 
    113 # whether the shell understands "unset".
    114 lt_unset=unset
    115 
    116 # turn spaces into newlines.
    117 SP2NL="tr \\040 \\012"
    118 
    119 # turn newlines into spaces.
    120 NL2SP="tr \\015\\012 \\040\\040"
    121 
    122 # convert $build file names to $host format.
    123 to_host_file_cmd=func_convert_file_noop
    124 
    125 # convert $build files to toolchain format.
    126 to_tool_file_cmd=func_convert_file_noop
    127 
    128 # Method to check whether dependent libraries are shared objects.
    129 deplibs_check_method="pass_all"
    130 
    131 # Command to use when deplibs_check_method = "file_magic".
    132 file_magic_cmd="\$MAGIC_CMD"
    133 
    134 # How to find potential files when deplibs_check_method = "file_magic".
    135 file_magic_glob=""
    136 
    137 # Find potential files using nocaseglob when deplibs_check_method = "file_magic".
    138 want_nocaseglob="no"
    139 
    140 # Command to associate shared and link libraries.
    141 sharedlib_from_linklib_cmd="printf %s\\n"
    142 
    143 # The archiver.
    144 AR="ar"
    145 
    146 # Flags to create an archive.
    147 AR_FLAGS="cru"
    148 
    149 # How to feed a file listing to the archiver.
    150 archiver_list_spec="@"
    151 
    152 # A symbol stripping program.
    153 STRIP="strip"
    154 
    155 # Commands used to install an old-style archive.
    156 RANLIB="ranlib"
    157 old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
    158 old_postuninstall_cmds=""
    159 
    160 # Whether to use a lock for old archive extraction.
    161 lock_old_archive_extraction=no
    162 
    163 # A C compiler.
    164 LTCC="gcc -std=gnu99"
    165 
    166 # LTCC compiler flags.
    167 LTCFLAGS="-g -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes -fexceptions"
    168 
    169 # Take the output of nm and produce a listing of raw symbols and C names.
    170 global_symbol_pipe="sed -n -e 's/^.*[	 ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[	 ][	 ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p' | sed '/ __gnu_lto/d'"
    171 
    172 # Transform the output of nm in a proper C declaration.
    173 global_symbol_to_cdecl="sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[ABCDGIRSTW]* .* \\(.*\\)\$/extern char \\1;/p'"
    174 
    175 # Transform the output of nm in a C name address pair.
    176 global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\)[ ]*\$/  {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (void *) \\&\\2},/p'"
    177 
    178 # Transform the output of nm in a C name address pair when lib prefix is needed.
    179 global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \\([^ ]*\\)[ ]*\$/  {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\(lib[^ ]*\\)\$/  {\"\\2\", (void *) \\&\\2},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/  {\"lib\\2\", (void *) \\&\\2},/p'"
    180 
    181 # Specify filename containing input files for $NM.
    182 nm_file_list_spec="@"
    183 
    184 # The root where to search for dependent libraries,and in which our libraries should be installed.
    185 lt_sysroot=
    186 
    187 # The name of the directory that contains temporary libtool files.
    188 objdir=.libs
    189 
    190 # Used to examine libraries when file_magic_cmd begins with "file".
    191 MAGIC_CMD=file
    192 
    193 # Must we lock files when doing compilation?
    194 need_locks="no"
    195 
    196 # Manifest tool.
    197 MANIFEST_TOOL=":"
    198 
    199 # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
    200 DSYMUTIL=""
    201 
    202 # Tool to change global to local symbols on Mac OS X.
    203 NMEDIT=""
    204 
    205 # Tool to manipulate fat objects and archives on Mac OS X.
    206 LIPO=""
    207 
    208 # ldd/readelf like tool for Mach-O binaries on Mac OS X.
    209 OTOOL=""
    210 
    211 # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
    212 OTOOL64=""
    213 
    214 # Old archive suffix (normally "a").
    215 libext=a
    216 
    217 # Shared library suffix (normally ".so").
    218 shrext_cmds=".so"
    219 
    220 # The commands to extract the exported symbol list from a shared archive.
    221 extract_expsyms_cmds=""
    222 
    223 # Variables whose values should be saved in libtool wrapper scripts and
    224 # restored at link time.
    225 variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
    226 
    227 # Do we need the "lib" prefix for modules?
    228 need_lib_prefix=no
    229 
    230 # Do we need a version for libraries?
    231 need_version=no
    232 
    233 # Library versioning type.
    234 version_type=linux
    235 
    236 # Shared library runtime path variable.
    237 runpath_var=LD_RUN_PATH
    238 
    239 # Shared library path variable.
    240 shlibpath_var=LD_LIBRARY_PATH
    241 
    242 # Is shlibpath searched before the hard-coded library search path?
    243 shlibpath_overrides_runpath=no
    244 
    245 # Format of library name prefix.
    246 libname_spec="lib\$name"
    247 
    248 # List of archive names.  First name is the real one, the rest are links.
    249 # The last name is the one that the linker finds with -lNAME
    250 library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
    251 
    252 # The coded name of the library, if different from the real name.
    253 soname_spec="\${libname}\${release}\${shared_ext}\$major"
    254 
    255 # Permission mode override for installation of shared libraries.
    256 install_override_mode=""
    257 
    258 # Command to use after installation of a shared archive.
    259 postinstall_cmds=""
    260 
    261 # Command to use after uninstallation of a shared archive.
    262 postuninstall_cmds=""
    263 
    264 # Commands used to finish a libtool library installation in a directory.
    265 finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
    266 
    267 # As "finish_cmds", except a single script fragment to be evaled but
    268 # not shown.
    269 finish_eval=""
    270 
    271 # Whether we should hardcode library paths into libraries.
    272 hardcode_into_libs=yes
    273 
    274 # Compile-time system search path for libraries.
    275 sys_lib_search_path_spec="/usr/lib/gcc/x86_64-linux-gnu/4.4.3 /usr/lib /lib /usr/lib/x86_64-linux-gnu "
    276 
    277 # Run-time system search path for libraries.
    278 sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/nvidia-current /usr/lib32/nvidia-current /usr/lib32/alsa-lib /usr/lib/alsa-lib /usr/local/lib /usr/lib/opencryptoki /usr/lib/opencryptoki/stdll /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu "
    279 
    280 # Whether dlopen is supported.
    281 dlopen_support=unknown
    282 
    283 # Whether dlopen of programs is supported.
    284 dlopen_self=unknown
    285 
    286 # Whether dlopen of statically linked programs is supported.
    287 dlopen_self_static=unknown
    288 
    289 # Commands to strip libraries.
    290 old_striplib="strip --strip-debug"
    291 striplib="strip --strip-unneeded"
    292 
    293 
    294 # The linker used to build libraries.
    295 LD="/usr/bin/ld -m elf_x86_64"
    296 
    297 # How to create reloadable object files.
    298 reload_flag=" -r"
    299 reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
    300 
    301 # Commands used to build an old-style archive.
    302 old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib"
    303 
    304 # A language specific compiler.
    305 CC="gcc"
    306 
    307 # Is the compiler the GNU compiler?
    308 with_gcc=yes
    309 
    310 # Compiler flag to turn off builtin functions.
    311 no_builtin_flag=" -fno-builtin"
    312 
    313 # Additional compiler flags for building library objects.
    314 pic_flag=" -fPIC -DPIC"
    315 
    316 # How to pass a linker flag through the compiler.
    317 wl="-Wl,"
    318 
    319 # Compiler flag to prevent dynamic linking.
    320 link_static_flag="-static"
    321 
    322 # Does compiler simultaneously support -c and -o options?
    323 compiler_c_o="yes"
    324 
    325 # Whether or not to add -lc for building shared libraries.
    326 build_libtool_need_lc=no
    327 
    328 # Whether or not to disallow shared libs when runtime libs are static.
    329 allow_libtool_libs_with_static_runtimes=no
    330 
    331 # Compiler flag to allow reflexive dlopens.
    332 export_dynamic_flag_spec="\${wl}--export-dynamic"
    333 
    334 # Compiler flag to generate shared objects directly from archives.
    335 whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
    336 
    337 # Whether the compiler copes with passing no objects directly.
    338 compiler_needs_object="no"
    339 
    340 # Create an old-style archive from a shared archive.
    341 old_archive_from_new_cmds=""
    342 
    343 # Create a temporary old-style archive to link instead of a shared archive.
    344 old_archive_from_expsyms_cmds=""
    345 
    346 # Commands used to build a shared archive.
    347 archive_cmds="\$CC -shared \$pic_flag \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
    348 archive_expsym_cmds="echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
    349 	    cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
    350 	    echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
    351 	    \$CC -shared \$pic_flag \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
    352 
    353 # Commands used to build a loadable module if different from building
    354 # a shared archive.
    355 module_cmds=""
    356 module_expsym_cmds=""
    357 
    358 # Whether we are building with GNU ld or not.
    359 with_gnu_ld="yes"
    360 
    361 # Flag that allows shared libraries with undefined symbols to be built.
    362 allow_undefined_flag=""
    363 
    364 # Flag that enforces no undefined symbols.
    365 no_undefined_flag=""
    366 
    367 # Flag to hardcode $libdir into a binary during linking.
    368 # This must work even if $libdir does not exist
    369 hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir"
    370 
    371 # If ld is used when linking, flag to hardcode $libdir into a binary
    372 # during linking.  This must work even if $libdir does not exist.
    373 hardcode_libdir_flag_spec_ld=""
    374 
    375 # Whether we need a single "-rpath" flag with a separated argument.
    376 hardcode_libdir_separator=""
    377 
    378 # Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
    379 # DIR into the resulting binary.
    380 hardcode_direct=no
    381 
    382 # Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
    383 # DIR into the resulting binary and the resulting library dependency is
    384 # "absolute",i.e impossible to change by setting ${shlibpath_var} if the
    385 # library is relocated.
    386 hardcode_direct_absolute=no
    387 
    388 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
    389 # into the resulting binary.
    390 hardcode_minus_L=no
    391 
    392 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
    393 # into the resulting binary.
    394 hardcode_shlibpath_var=unsupported
    395 
    396 # Set to "yes" if building a shared library automatically hardcodes DIR
    397 # into the library and all subsequent libraries and executables linked
    398 # against it.
    399 hardcode_automatic=no
    400 
    401 # Set to yes if linker adds runtime paths of dependent libraries
    402 # to runtime path list.
    403 inherit_rpath=no
    404 
    405 # Whether libtool must link a program against all its dependency libraries.
    406 link_all_deplibs=no
    407 
    408 # Set to "yes" if exported symbols are required.
    409 always_export_symbols=no
    410 
    411 # The commands to list exported symbols.
    412 export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
    413 
    414 # Symbols that should not be listed in the preloaded symbols.
    415 exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*"
    416 
    417 # Symbols that must always be exported.
    418 include_expsyms=""
    419 
    420 # Commands necessary for linking programs (against libraries) with templates.
    421 prelink_cmds=""
    422 
    423 # Commands necessary for finishing linking programs.
    424 postlink_cmds=""
    425 
    426 # Specify filename containing input files.
    427 file_list_spec=""
    428 
    429 # How to hardcode a shared library path into an executable.
    430 hardcode_action=immediate
    431 
    432 # The directories searched by this compiler when creating a shared library.
    433 compiler_lib_search_dirs=""
    434 
    435 # Dependencies to place before and after the objects being linked to
    436 # create a shared library.
    437 predep_objects=""
    438 postdep_objects=""
    439 predeps=""
    440 postdeps=""
    441 
    442 # The library search path used internally by the compiler when linking
    443 # a shared library.
    444 compiler_lib_search_path=""
    445 
    446 # ### END LIBTOOL CONFIG
    447 
    448 
    449 # libtool (GNU libtool) 2.4
    450 # Written by Gordon Matzigkeit <gord (at] gnu.ai.mit.edu>, 1996
    451 
    452 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
    453 # 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
    454 # This is free software; see the source for copying conditions.  There is NO
    455 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    456 
    457 # GNU Libtool is free software; you can redistribute it and/or modify
    458 # it under the terms of the GNU General Public License as published by
    459 # the Free Software Foundation; either version 2 of the License, or
    460 # (at your option) any later version.
    461 #
    462 # As a special exception to the GNU General Public License,
    463 # if you distribute this file as part of a program or library that
    464 # is built using GNU Libtool, you may include this file under the
    465 # same distribution terms that you use for the rest of that program.
    466 #
    467 # GNU Libtool is distributed in the hope that it will be useful, but
    468 # WITHOUT ANY WARRANTY; without even the implied warranty of
    469 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    470 # General Public License for more details.
    471 #
    472 # You should have received a copy of the GNU General Public License
    473 # along with GNU Libtool; see the file COPYING.  If not, a copy
    474 # can be downloaded from http://www.gnu.org/licenses/gpl.html,
    475 # or obtained by writing to the Free Software Foundation, Inc.,
    476 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    477 
    478 # Usage: $progname [OPTION]... [MODE-ARG]...
    479 #
    480 # Provide generalized library-building support services.
    481 #
    482 #       --config             show all configuration variables
    483 #       --debug              enable verbose shell tracing
    484 #   -n, --dry-run            display commands without modifying any files
    485 #       --features           display basic configuration information and exit
    486 #       --mode=MODE          use operation mode MODE
    487 #       --preserve-dup-deps  don't remove duplicate dependency libraries
    488 #       --quiet, --silent    don't print informational messages
    489 #       --no-quiet, --no-silent
    490 #                            print informational messages (default)
    491 #       --tag=TAG            use configuration variables from tag TAG
    492 #   -v, --verbose            print more informational messages than default
    493 #       --no-verbose         don't print the extra informational messages
    494 #       --version            print version information
    495 #   -h, --help, --help-all   print short, long, or detailed help message
    496 #
    497 # MODE must be one of the following:
    498 #
    499 #         clean              remove files from the build directory
    500 #         compile            compile a source file into a libtool object
    501 #         execute            automatically set library path, then run a program
    502 #         finish             complete the installation of libtool libraries
    503 #         install            install libraries or executables
    504 #         link               create a library or an executable
    505 #         uninstall          remove libraries from an installed directory
    506 #
    507 # MODE-ARGS vary depending on the MODE.  When passed as first option,
    508 # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
    509 # Try `$progname --help --mode=MODE' for a more detailed description of MODE.
    510 #
    511 # When reporting a bug, please describe a test case to reproduce it and
    512 # include the following information:
    513 #
    514 #         host-triplet:	$host
    515 #         shell:		$SHELL
    516 #         compiler:		$LTCC
    517 #         compiler flags:		$LTCFLAGS
    518 #         linker:		$LD (gnu? $with_gnu_ld)
    519 #         $progname:	(GNU libtool) 2.4 Debian-2.4-2ubuntu1
    520 #         automake:	$automake_version
    521 #         autoconf:	$autoconf_version
    522 #
    523 # Report bugs to <bug-libtool (at] gnu.org>.
    524 # GNU libtool home page: <http://www.gnu.org/software/libtool/>.
    525 # General help using GNU software: <http://www.gnu.org/gethelp/>.
    526 
    527 PROGRAM=libtool
    528 PACKAGE=libtool
    529 VERSION="2.4 Debian-2.4-2ubuntu1"
    530 TIMESTAMP=""
    531 package_revision=1.3293
    532 
    533 # Be Bourne compatible
    534 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
    535   emulate sh
    536   NULLCMD=:
    537   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
    538   # is contrary to our usage.  Disable this feature.
    539   alias -g '${1+"$@"}'='"$@"'
    540   setopt NO_GLOB_SUBST
    541 else
    542   case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
    543 fi
    544 BIN_SH=xpg4; export BIN_SH # for Tru64
    545 DUALCASE=1; export DUALCASE # for MKS sh
    546 
    547 # A function that is used when there is no print builtin or printf.
    548 func_fallback_echo ()
    549 {
    550   eval 'cat <<_LTECHO_EOF
    551 $1
    552 _LTECHO_EOF'
    553 }
    554 
    555 # NLS nuisances: We save the old values to restore during execute mode.
    556 lt_user_locale=
    557 lt_safe_locale=
    558 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
    559 do
    560   eval "if test \"\${$lt_var+set}\" = set; then
    561           save_$lt_var=\$$lt_var
    562           $lt_var=C
    563 	  export $lt_var
    564 	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
    565 	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
    566 	fi"
    567 done
    568 LC_ALL=C
    569 LANGUAGE=C
    570 export LANGUAGE LC_ALL
    571 
    572 $lt_unset CDPATH
    573 
    574 
    575 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
    576 # is ksh but when the shell is invoked as "sh" and the current value of
    577 # the _XPG environment variable is not equal to 1 (one), the special
    578 # positional parameter $0, within a function call, is the name of the
    579 # function.
    580 progpath="$0"
    581 
    582 
    583 
    584 : ${CP="cp -f"}
    585 test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
    586 : ${EGREP="/bin/grep -E"}
    587 : ${FGREP="/bin/grep -F"}
    588 : ${GREP="/bin/grep"}
    589 : ${LN_S="ln -s"}
    590 : ${MAKE="make"}
    591 : ${MKDIR="mkdir"}
    592 : ${MV="mv -f"}
    593 : ${RM="rm -f"}
    594 : ${SED="/bin/sed"}
    595 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
    596 : ${Xsed="$SED -e 1s/^X//"}
    597 
    598 # Global variables:
    599 EXIT_SUCCESS=0
    600 EXIT_FAILURE=1
    601 EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
    602 EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
    603 
    604 exit_status=$EXIT_SUCCESS
    605 
    606 # Make sure IFS has a sensible default
    607 lt_nl='
    608 '
    609 IFS=" 	$lt_nl"
    610 
    611 dirname="s,/[^/]*$,,"
    612 basename="s,^.*/,,"
    613 
    614 # func_dirname file append nondir_replacement
    615 # Compute the dirname of FILE.  If nonempty, add APPEND to the result,
    616 # otherwise set result to NONDIR_REPLACEMENT.
    617 func_dirname ()
    618 {
    619     case ${1} in
    620       */*) func_dirname_result="${1%/*}${2}" ;;
    621       *  ) func_dirname_result="${3}" ;;
    622     esac
    623 } # Extended-shell func_dirname implementation
    624 
    625 
    626 # func_basename file
    627 func_basename ()
    628 {
    629     func_basename_result="${1##*/}"
    630 } # Extended-shell func_basename implementation
    631 
    632 
    633 # func_dirname_and_basename file append nondir_replacement
    634 # perform func_basename and func_dirname in a single function
    635 # call:
    636 #   dirname:  Compute the dirname of FILE.  If nonempty,
    637 #             add APPEND to the result, otherwise set result
    638 #             to NONDIR_REPLACEMENT.
    639 #             value returned in "$func_dirname_result"
    640 #   basename: Compute filename of FILE.
    641 #             value retuned in "$func_basename_result"
    642 # Implementation must be kept synchronized with func_dirname
    643 # and func_basename. For efficiency, we do not delegate to
    644 # those functions but instead duplicate the functionality here.
    645 func_dirname_and_basename ()
    646 {
    647     case ${1} in
    648       */*) func_dirname_result="${1%/*}${2}" ;;
    649       *  ) func_dirname_result="${3}" ;;
    650     esac
    651     func_basename_result="${1##*/}"
    652 } # Extended-shell func_dirname_and_basename implementation
    653 
    654 
    655 # func_stripname prefix suffix name
    656 # strip PREFIX and SUFFIX off of NAME.
    657 # PREFIX and SUFFIX must not contain globbing or regex special
    658 # characters, hashes, percent signs, but SUFFIX may contain a leading
    659 # dot (in which case that matches only a dot).
    660 # func_strip_suffix prefix name
    661 func_stripname ()
    662 {
    663     # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
    664     # positional parameters, so assign one to ordinary parameter first.
    665     func_stripname_result=${3}
    666     func_stripname_result=${func_stripname_result#"${1}"}
    667     func_stripname_result=${func_stripname_result%"${2}"}
    668 } # Extended-shell func_stripname implementation
    669 
    670 
    671 # These SED scripts presuppose an absolute path with a trailing slash.
    672 pathcar='s,^/\([^/]*\).*$,\1,'
    673 pathcdr='s,^/[^/]*,,'
    674 removedotparts=':dotsl
    675 		s@/\./@/@g
    676 		t dotsl
    677 		s,/\.$,/,'
    678 collapseslashes='s@/\{1,\}@/@g'
    679 finalslash='s,/*$,/,'
    680 
    681 # func_normal_abspath PATH
    682 # Remove doubled-up and trailing slashes, "." path components,
    683 # and cancel out any ".." path components in PATH after making
    684 # it an absolute path.
    685 #             value returned in "$func_normal_abspath_result"
    686 func_normal_abspath ()
    687 {
    688   # Start from root dir and reassemble the path.
    689   func_normal_abspath_result=
    690   func_normal_abspath_tpath=$1
    691   func_normal_abspath_altnamespace=
    692   case $func_normal_abspath_tpath in
    693     "")
    694       # Empty path, that just means $cwd.
    695       func_stripname '' '/' "`pwd`"
    696       func_normal_abspath_result=$func_stripname_result
    697       return
    698     ;;
    699     # The next three entries are used to spot a run of precisely
    700     # two leading slashes without using negated character classes;
    701     # we take advantage of case's first-match behaviour.
    702     ///*)
    703       # Unusual form of absolute path, do nothing.
    704     ;;
    705     //*)
    706       # Not necessarily an ordinary path; POSIX reserves leading '//'
    707       # and for example Cygwin uses it to access remote file shares
    708       # over CIFS/SMB, so we conserve a leading double slash if found.
    709       func_normal_abspath_altnamespace=/
    710     ;;
    711     /*)
    712       # Absolute path, do nothing.
    713     ;;
    714     *)
    715       # Relative path, prepend $cwd.
    716       func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
    717     ;;
    718   esac
    719   # Cancel out all the simple stuff to save iterations.  We also want
    720   # the path to end with a slash for ease of parsing, so make sure
    721   # there is one (and only one) here.
    722   func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
    723         -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
    724   while :; do
    725     # Processed it all yet?
    726     if test "$func_normal_abspath_tpath" = / ; then
    727       # If we ascended to the root using ".." the result may be empty now.
    728       if test -z "$func_normal_abspath_result" ; then
    729         func_normal_abspath_result=/
    730       fi
    731       break
    732     fi
    733     func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
    734         -e "$pathcar"`
    735     func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
    736         -e "$pathcdr"`
    737     # Figure out what to do with it
    738     case $func_normal_abspath_tcomponent in
    739       "")
    740         # Trailing empty path component, ignore it.
    741       ;;
    742       ..)
    743         # Parent dir; strip last assembled component from result.
    744         func_dirname "$func_normal_abspath_result"
    745         func_normal_abspath_result=$func_dirname_result
    746       ;;
    747       *)
    748         # Actual path component, append it.
    749         func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
    750       ;;
    751     esac
    752   done
    753   # Restore leading double-slash if one was found on entry.
    754   func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
    755 }
    756 
    757 # func_relative_path SRCDIR DSTDIR
    758 # generates a relative path from SRCDIR to DSTDIR, with a trailing
    759 # slash if non-empty, suitable for immediately appending a filename
    760 # without needing to append a separator.
    761 #             value returned in "$func_relative_path_result"
    762 func_relative_path ()
    763 {
    764   func_relative_path_result=
    765   func_normal_abspath "$1"
    766   func_relative_path_tlibdir=$func_normal_abspath_result
    767   func_normal_abspath "$2"
    768   func_relative_path_tbindir=$func_normal_abspath_result
    769 
    770   # Ascend the tree starting from libdir
    771   while :; do
    772     # check if we have found a prefix of bindir
    773     case $func_relative_path_tbindir in
    774       $func_relative_path_tlibdir)
    775         # found an exact match
    776         func_relative_path_tcancelled=
    777         break
    778         ;;
    779       $func_relative_path_tlibdir*)
    780         # found a matching prefix
    781         func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
    782         func_relative_path_tcancelled=$func_stripname_result
    783         if test -z "$func_relative_path_result"; then
    784           func_relative_path_result=.
    785         fi
    786         break
    787         ;;
    788       *)
    789         func_dirname $func_relative_path_tlibdir
    790         func_relative_path_tlibdir=${func_dirname_result}
    791         if test "x$func_relative_path_tlibdir" = x ; then
    792           # Have to descend all the way to the root!
    793           func_relative_path_result=../$func_relative_path_result
    794           func_relative_path_tcancelled=$func_relative_path_tbindir
    795           break
    796         fi
    797         func_relative_path_result=../$func_relative_path_result
    798         ;;
    799     esac
    800   done
    801 
    802   # Now calculate path; take care to avoid doubling-up slashes.
    803   func_stripname '' '/' "$func_relative_path_result"
    804   func_relative_path_result=$func_stripname_result
    805   func_stripname '/' '/' "$func_relative_path_tcancelled"
    806   if test "x$func_stripname_result" != x ; then
    807     func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
    808   fi
    809 
    810   # Normalisation. If bindir is libdir, return empty string,
    811   # else relative path ending with a slash; either way, target
    812   # file name can be directly appended.
    813   if test ! -z "$func_relative_path_result"; then
    814     func_stripname './' '' "$func_relative_path_result/"
    815     func_relative_path_result=$func_stripname_result
    816   fi
    817 }
    818 
    819 # The name of this program:
    820 func_dirname_and_basename "$progpath"
    821 progname=$func_basename_result
    822 
    823 # Make sure we have an absolute path for reexecution:
    824 case $progpath in
    825   [\\/]*|[A-Za-z]:\\*) ;;
    826   *[\\/]*)
    827      progdir=$func_dirname_result
    828      progdir=`cd "$progdir" && pwd`
    829      progpath="$progdir/$progname"
    830      ;;
    831   *)
    832      save_IFS="$IFS"
    833      IFS=:
    834      for progdir in $PATH; do
    835        IFS="$save_IFS"
    836        test -x "$progdir/$progname" && break
    837      done
    838      IFS="$save_IFS"
    839      test -n "$progdir" || progdir=`pwd`
    840      progpath="$progdir/$progname"
    841      ;;
    842 esac
    843 
    844 # Sed substitution that helps us do robust quoting.  It backslashifies
    845 # metacharacters that are still active within double-quoted strings.
    846 Xsed="${SED}"' -e 1s/^X//'
    847 sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
    848 
    849 # Same as above, but do not quote variable references.
    850 double_quote_subst='s/\(["`\\]\)/\\\1/g'
    851 
    852 # Sed substitution that turns a string into a regex matching for the
    853 # string literally.
    854 sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
    855 
    856 # Sed substitution that converts a w32 file name or path
    857 # which contains forward slashes, into one that contains
    858 # (escaped) backslashes.  A very naive implementation.
    859 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
    860 
    861 # Re-`\' parameter expansions in output of double_quote_subst that were
    862 # `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
    863 # in input to double_quote_subst, that '$' was protected from expansion.
    864 # Since each input `\' is now two `\'s, look for any number of runs of
    865 # four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
    866 bs='\\'
    867 bs2='\\\\'
    868 bs4='\\\\\\\\'
    869 dollar='\$'
    870 sed_double_backslash="\
    871   s/$bs4/&\\
    872 /g
    873   s/^$bs2$dollar/$bs&/
    874   s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
    875   s/\n//g"
    876 
    877 # Standard options:
    878 opt_dry_run=false
    879 opt_help=false
    880 opt_quiet=false
    881 opt_verbose=false
    882 opt_warning=:
    883 
    884 # func_echo arg...
    885 # Echo program name prefixed message, along with the current mode
    886 # name if it has been set yet.
    887 func_echo ()
    888 {
    889     $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
    890 }
    891 
    892 # func_verbose arg...
    893 # Echo program name prefixed message in verbose mode only.
    894 func_verbose ()
    895 {
    896     $opt_verbose && func_echo ${1+"$@"}
    897 
    898     # A bug in bash halts the script if the last line of a function
    899     # fails when set -e is in force, so we need another command to
    900     # work around that:
    901     :
    902 }
    903 
    904 # func_echo_all arg...
    905 # Invoke $ECHO with all args, space-separated.
    906 func_echo_all ()
    907 {
    908     $ECHO "$*"
    909 }
    910 
    911 # func_error arg...
    912 # Echo program name prefixed message to standard error.
    913 func_error ()
    914 {
    915     $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
    916 }
    917 
    918 # func_warning arg...
    919 # Echo program name prefixed warning message to standard error.
    920 func_warning ()
    921 {
    922     $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
    923 
    924     # bash bug again:
    925     :
    926 }
    927 
    928 # func_fatal_error arg...
    929 # Echo program name prefixed message to standard error, and exit.
    930 func_fatal_error ()
    931 {
    932     func_error ${1+"$@"}
    933     exit $EXIT_FAILURE
    934 }
    935 
    936 # func_fatal_help arg...
    937 # Echo program name prefixed message to standard error, followed by
    938 # a help hint, and exit.
    939 func_fatal_help ()
    940 {
    941     func_error ${1+"$@"}
    942     func_fatal_error "$help"
    943 }
    944 help="Try \`$progname --help' for more information."  ## default
    945 
    946 
    947 # func_grep expression filename
    948 # Check whether EXPRESSION matches any line of FILENAME, without output.
    949 func_grep ()
    950 {
    951     $GREP "$1" "$2" >/dev/null 2>&1
    952 }
    953 
    954 
    955 # func_mkdir_p directory-path
    956 # Make sure the entire path to DIRECTORY-PATH is available.
    957 func_mkdir_p ()
    958 {
    959     my_directory_path="$1"
    960     my_dir_list=
    961 
    962     if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
    963 
    964       # Protect directory names starting with `-'
    965       case $my_directory_path in
    966         -*) my_directory_path="./$my_directory_path" ;;
    967       esac
    968 
    969       # While some portion of DIR does not yet exist...
    970       while test ! -d "$my_directory_path"; do
    971         # ...make a list in topmost first order.  Use a colon delimited
    972 	# list incase some portion of path contains whitespace.
    973         my_dir_list="$my_directory_path:$my_dir_list"
    974 
    975         # If the last portion added has no slash in it, the list is done
    976         case $my_directory_path in */*) ;; *) break ;; esac
    977 
    978         # ...otherwise throw away the child directory and loop
    979         my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
    980       done
    981       my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
    982 
    983       save_mkdir_p_IFS="$IFS"; IFS=':'
    984       for my_dir in $my_dir_list; do
    985 	IFS="$save_mkdir_p_IFS"
    986         # mkdir can fail with a `File exist' error if two processes
    987         # try to create one of the directories concurrently.  Don't
    988         # stop in that case!
    989         $MKDIR "$my_dir" 2>/dev/null || :
    990       done
    991       IFS="$save_mkdir_p_IFS"
    992 
    993       # Bail out if we (or some other process) failed to create a directory.
    994       test -d "$my_directory_path" || \
    995         func_fatal_error "Failed to create \`$1'"
    996     fi
    997 }
    998 
    999 
   1000 # func_mktempdir [string]
   1001 # Make a temporary directory that won't clash with other running
   1002 # libtool processes, and avoids race conditions if possible.  If
   1003 # given, STRING is the basename for that directory.
   1004 func_mktempdir ()
   1005 {
   1006     my_template="${TMPDIR-/tmp}/${1-$progname}"
   1007 
   1008     if test "$opt_dry_run" = ":"; then
   1009       # Return a directory name, but don't create it in dry-run mode
   1010       my_tmpdir="${my_template}-$$"
   1011     else
   1012 
   1013       # If mktemp works, use that first and foremost
   1014       my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
   1015 
   1016       if test ! -d "$my_tmpdir"; then
   1017         # Failing that, at least try and use $RANDOM to avoid a race
   1018         my_tmpdir="${my_template}-${RANDOM-0}$$"
   1019 
   1020         save_mktempdir_umask=`umask`
   1021         umask 0077
   1022         $MKDIR "$my_tmpdir"
   1023         umask $save_mktempdir_umask
   1024       fi
   1025 
   1026       # If we're not in dry-run mode, bomb out on failure
   1027       test -d "$my_tmpdir" || \
   1028         func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
   1029     fi
   1030 
   1031     $ECHO "$my_tmpdir"
   1032 }
   1033 
   1034 
   1035 # func_quote_for_eval arg
   1036 # Aesthetically quote ARG to be evaled later.
   1037 # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
   1038 # is double-quoted, suitable for a subsequent eval, whereas
   1039 # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
   1040 # which are still active within double quotes backslashified.
   1041 func_quote_for_eval ()
   1042 {
   1043     case $1 in
   1044       *[\\\`\"\$]*)
   1045 	func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
   1046       *)
   1047         func_quote_for_eval_unquoted_result="$1" ;;
   1048     esac
   1049 
   1050     case $func_quote_for_eval_unquoted_result in
   1051       # Double-quote args containing shell metacharacters to delay
   1052       # word splitting, command substitution and and variable
   1053       # expansion for a subsequent eval.
   1054       # Many Bourne shells cannot handle close brackets correctly
   1055       # in scan sets, so we specify it separately.
   1056       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   1057         func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
   1058         ;;
   1059       *)
   1060         func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
   1061     esac
   1062 }
   1063 
   1064 
   1065 # func_quote_for_expand arg
   1066 # Aesthetically quote ARG to be evaled later; same as above,
   1067 # but do not quote variable references.
   1068 func_quote_for_expand ()
   1069 {
   1070     case $1 in
   1071       *[\\\`\"]*)
   1072 	my_arg=`$ECHO "$1" | $SED \
   1073 	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
   1074       *)
   1075         my_arg="$1" ;;
   1076     esac
   1077 
   1078     case $my_arg in
   1079       # Double-quote args containing shell metacharacters to delay
   1080       # word splitting and command substitution for a subsequent eval.
   1081       # Many Bourne shells cannot handle close brackets correctly
   1082       # in scan sets, so we specify it separately.
   1083       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   1084         my_arg="\"$my_arg\""
   1085         ;;
   1086     esac
   1087 
   1088     func_quote_for_expand_result="$my_arg"
   1089 }
   1090 
   1091 
   1092 # func_show_eval cmd [fail_exp]
   1093 # Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
   1094 # not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
   1095 # is given, then evaluate it.
   1096 func_show_eval ()
   1097 {
   1098     my_cmd="$1"
   1099     my_fail_exp="${2-:}"
   1100 
   1101     ${opt_silent-false} || {
   1102       func_quote_for_expand "$my_cmd"
   1103       eval "func_echo $func_quote_for_expand_result"
   1104     }
   1105 
   1106     if ${opt_dry_run-false}; then :; else
   1107       eval "$my_cmd"
   1108       my_status=$?
   1109       if test "$my_status" -eq 0; then :; else
   1110 	eval "(exit $my_status); $my_fail_exp"
   1111       fi
   1112     fi
   1113 }
   1114 
   1115 
   1116 # func_show_eval_locale cmd [fail_exp]
   1117 # Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
   1118 # not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
   1119 # is given, then evaluate it.  Use the saved locale for evaluation.
   1120 func_show_eval_locale ()
   1121 {
   1122     my_cmd="$1"
   1123     my_fail_exp="${2-:}"
   1124 
   1125     ${opt_silent-false} || {
   1126       func_quote_for_expand "$my_cmd"
   1127       eval "func_echo $func_quote_for_expand_result"
   1128     }
   1129 
   1130     if ${opt_dry_run-false}; then :; else
   1131       eval "$lt_user_locale
   1132 	    $my_cmd"
   1133       my_status=$?
   1134       eval "$lt_safe_locale"
   1135       if test "$my_status" -eq 0; then :; else
   1136 	eval "(exit $my_status); $my_fail_exp"
   1137       fi
   1138     fi
   1139 }
   1140 
   1141 # func_tr_sh
   1142 # Turn $1 into a string suitable for a shell variable name.
   1143 # Result is stored in $func_tr_sh_result.  All characters
   1144 # not in the set a-zA-Z0-9_ are replaced with '_'. Further,
   1145 # if $1 begins with a digit, a '_' is prepended as well.
   1146 func_tr_sh ()
   1147 {
   1148   case $1 in
   1149   [0-9]* | *[!a-zA-Z0-9_]*)
   1150     func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
   1151     ;;
   1152   * )
   1153     func_tr_sh_result=$1
   1154     ;;
   1155   esac
   1156 }
   1157 
   1158 
   1159 # func_version
   1160 # Echo version message to standard output and exit.
   1161 func_version ()
   1162 {
   1163     $opt_debug
   1164 
   1165     $SED -n '/(C)/!b go
   1166 	:more
   1167 	/\./!{
   1168 	  N
   1169 	  s/\n# / /
   1170 	  b more
   1171 	}
   1172 	:go
   1173 	/^# '$PROGRAM' (GNU /,/# warranty; / {
   1174         s/^# //
   1175 	s/^# *$//
   1176         s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
   1177         p
   1178      }' < "$progpath"
   1179      exit $?
   1180 }
   1181 
   1182 # func_usage
   1183 # Echo short help message to standard output and exit.
   1184 func_usage ()
   1185 {
   1186     $opt_debug
   1187 
   1188     $SED -n '/^# Usage:/,/^#  *.*--help/ {
   1189         s/^# //
   1190 	s/^# *$//
   1191 	s/\$progname/'$progname'/
   1192 	p
   1193     }' < "$progpath"
   1194     echo
   1195     $ECHO "run \`$progname --help | more' for full usage"
   1196     exit $?
   1197 }
   1198 
   1199 # func_help [NOEXIT]
   1200 # Echo long help message to standard output and exit,
   1201 # unless 'noexit' is passed as argument.
   1202 func_help ()
   1203 {
   1204     $opt_debug
   1205 
   1206     $SED -n '/^# Usage:/,/# Report bugs to/ {
   1207 	:print
   1208         s/^# //
   1209 	s/^# *$//
   1210 	s*\$progname*'$progname'*
   1211 	s*\$host*'"$host"'*
   1212 	s*\$SHELL*'"$SHELL"'*
   1213 	s*\$LTCC*'"$LTCC"'*
   1214 	s*\$LTCFLAGS*'"$LTCFLAGS"'*
   1215 	s*\$LD*'"$LD"'*
   1216 	s/\$with_gnu_ld/'"$with_gnu_ld"'/
   1217 	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
   1218 	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
   1219 	p
   1220 	d
   1221      }
   1222      /^# .* home page:/b print
   1223      /^# General help using/b print
   1224      ' < "$progpath"
   1225     ret=$?
   1226     if test -z "$1"; then
   1227       exit $ret
   1228     fi
   1229 }
   1230 
   1231 # func_missing_arg argname
   1232 # Echo program name prefixed message to standard error and set global
   1233 # exit_cmd.
   1234 func_missing_arg ()
   1235 {
   1236     $opt_debug
   1237 
   1238     func_error "missing argument for $1."
   1239     exit_cmd=exit
   1240 }
   1241 
   1242 
   1243 # func_split_short_opt shortopt
   1244 # Set func_split_short_opt_name and func_split_short_opt_arg shell
   1245 # variables after splitting SHORTOPT after the 2nd character.
   1246 func_split_short_opt ()
   1247 {
   1248     func_split_short_opt_arg=${1#??}
   1249     func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
   1250 } # Extended-shell func_split_short_opt implementation
   1251 
   1252 
   1253 # func_split_long_opt longopt
   1254 # Set func_split_long_opt_name and func_split_long_opt_arg shell
   1255 # variables after splitting LONGOPT at the `=' sign.
   1256 func_split_long_opt ()
   1257 {
   1258     func_split_long_opt_name=${1%%=*}
   1259     func_split_long_opt_arg=${1#*=}
   1260 } # Extended-shell func_split_long_opt implementation
   1261 
   1262 exit_cmd=:
   1263 
   1264 
   1265 
   1266 
   1267 
   1268 magic="%%%MAGIC variable%%%"
   1269 magic_exe="%%%MAGIC EXE variable%%%"
   1270 
   1271 # Global variables.
   1272 nonopt=
   1273 preserve_args=
   1274 lo2o="s/\\.lo\$/.${objext}/"
   1275 o2lo="s/\\.${objext}\$/.lo/"
   1276 extracted_archives=
   1277 extracted_serial=0
   1278 
   1279 # If this variable is set in any of the actions, the command in it
   1280 # will be execed at the end.  This prevents here-documents from being
   1281 # left over by shells.
   1282 exec_cmd=
   1283 
   1284 # func_append var value
   1285 # Append VALUE to the end of shell variable VAR.
   1286 func_append ()
   1287 {
   1288     eval "${1}+=\${2}"
   1289 } # Extended-shell func_append implementation
   1290 
   1291 # func_append_quoted var value
   1292 # Quote VALUE and append to the end of shell variable VAR, separated
   1293 # by a space.
   1294 func_append_quoted ()
   1295 {
   1296     func_quote_for_eval "${2}"
   1297     eval "${1}+=\\ \$func_quote_for_eval_result"
   1298 } # Extended-shell func_append_quoted implementation
   1299 
   1300 
   1301 # func_arith arithmetic-term...
   1302 func_arith ()
   1303 {
   1304     func_arith_result=$(( $* ))
   1305 } # Extended-shell func_arith implementation
   1306 
   1307 
   1308 # func_len string
   1309 # STRING may not start with a hyphen.
   1310 func_len ()
   1311 {
   1312     func_len_result=${#1}
   1313 } # Extended-shell func_len implementation
   1314 
   1315 
   1316 # func_lo2o object
   1317 func_lo2o ()
   1318 {
   1319     case ${1} in
   1320       *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
   1321       *)    func_lo2o_result=${1} ;;
   1322     esac
   1323 } # Extended-shell func_lo2o implementation
   1324 
   1325 
   1326 # func_xform libobj-or-source
   1327 func_xform ()
   1328 {
   1329     func_xform_result=${1%.*}.lo
   1330 } # Extended-shell func_xform implementation
   1331 
   1332 
   1333 # func_fatal_configuration arg...
   1334 # Echo program name prefixed message to standard error, followed by
   1335 # a configuration failure hint, and exit.
   1336 func_fatal_configuration ()
   1337 {
   1338     func_error ${1+"$@"}
   1339     func_error "See the $PACKAGE documentation for more information."
   1340     func_fatal_error "Fatal configuration error."
   1341 }
   1342 
   1343 
   1344 # func_config
   1345 # Display the configuration for all the tags in this script.
   1346 func_config ()
   1347 {
   1348     re_begincf='^# ### BEGIN LIBTOOL'
   1349     re_endcf='^# ### END LIBTOOL'
   1350 
   1351     # Default configuration.
   1352     $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
   1353 
   1354     # Now print the configurations for the tags.
   1355     for tagname in $taglist; do
   1356       $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
   1357     done
   1358 
   1359     exit $?
   1360 }
   1361 
   1362 # func_features
   1363 # Display the features supported by this script.
   1364 func_features ()
   1365 {
   1366     echo "host: $host"
   1367     if test "$build_libtool_libs" = yes; then
   1368       echo "enable shared libraries"
   1369     else
   1370       echo "disable shared libraries"
   1371     fi
   1372     if test "$build_old_libs" = yes; then
   1373       echo "enable static libraries"
   1374     else
   1375       echo "disable static libraries"
   1376     fi
   1377 
   1378     exit $?
   1379 }
   1380 
   1381 # func_enable_tag tagname
   1382 # Verify that TAGNAME is valid, and either flag an error and exit, or
   1383 # enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
   1384 # variable here.
   1385 func_enable_tag ()
   1386 {
   1387   # Global variable:
   1388   tagname="$1"
   1389 
   1390   re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
   1391   re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
   1392   sed_extractcf="/$re_begincf/,/$re_endcf/p"
   1393 
   1394   # Validate tagname.
   1395   case $tagname in
   1396     *[!-_A-Za-z0-9,/]*)
   1397       func_fatal_error "invalid tag name: $tagname"
   1398       ;;
   1399   esac
   1400 
   1401   # Don't test for the "default" C tag, as we know it's
   1402   # there but not specially marked.
   1403   case $tagname in
   1404     CC) ;;
   1405     *)
   1406       if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
   1407 	taglist="$taglist $tagname"
   1408 
   1409 	# Evaluate the configuration.  Be careful to quote the path
   1410 	# and the sed script, to avoid splitting on whitespace, but
   1411 	# also don't use non-portable quotes within backquotes within
   1412 	# quotes we have to do it in 2 steps:
   1413 	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
   1414 	eval "$extractedcf"
   1415       else
   1416 	func_error "ignoring unknown tag $tagname"
   1417       fi
   1418       ;;
   1419   esac
   1420 }
   1421 
   1422 # func_check_version_match
   1423 # Ensure that we are using m4 macros, and libtool script from the same
   1424 # release of libtool.
   1425 func_check_version_match ()
   1426 {
   1427   if test "$package_revision" != "$macro_revision"; then
   1428     if test "$VERSION" != "$macro_version"; then
   1429       if test -z "$macro_version"; then
   1430         cat >&2 <<_LT_EOF
   1431 $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
   1432 $progname: definition of this LT_INIT comes from an older release.
   1433 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
   1434 $progname: and run autoconf again.
   1435 _LT_EOF
   1436       else
   1437         cat >&2 <<_LT_EOF
   1438 $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
   1439 $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
   1440 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
   1441 $progname: and run autoconf again.
   1442 _LT_EOF
   1443       fi
   1444     else
   1445       cat >&2 <<_LT_EOF
   1446 $progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
   1447 $progname: but the definition of this LT_INIT comes from revision $macro_revision.
   1448 $progname: You should recreate aclocal.m4 with macros from revision $package_revision
   1449 $progname: of $PACKAGE $VERSION and run autoconf again.
   1450 _LT_EOF
   1451     fi
   1452 
   1453     exit $EXIT_MISMATCH
   1454   fi
   1455 }
   1456 
   1457 
   1458 # Shorthand for --mode=foo, only valid as the first argument
   1459 case $1 in
   1460 clean|clea|cle|cl)
   1461   shift; set dummy --mode clean ${1+"$@"}; shift
   1462   ;;
   1463 compile|compil|compi|comp|com|co|c)
   1464   shift; set dummy --mode compile ${1+"$@"}; shift
   1465   ;;
   1466 execute|execut|execu|exec|exe|ex|e)
   1467   shift; set dummy --mode execute ${1+"$@"}; shift
   1468   ;;
   1469 finish|finis|fini|fin|fi|f)
   1470   shift; set dummy --mode finish ${1+"$@"}; shift
   1471   ;;
   1472 install|instal|insta|inst|ins|in|i)
   1473   shift; set dummy --mode install ${1+"$@"}; shift
   1474   ;;
   1475 link|lin|li|l)
   1476   shift; set dummy --mode link ${1+"$@"}; shift
   1477   ;;
   1478 uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
   1479   shift; set dummy --mode uninstall ${1+"$@"}; shift
   1480   ;;
   1481 esac
   1482 
   1483 
   1484 
   1485 # Option defaults:
   1486 opt_debug=:
   1487 opt_dry_run=false
   1488 opt_config=false
   1489 opt_preserve_dup_deps=false
   1490 opt_features=false
   1491 opt_finish=false
   1492 opt_help=false
   1493 opt_help_all=false
   1494 opt_silent=:
   1495 opt_verbose=:
   1496 opt_silent=false
   1497 opt_verbose=false
   1498 
   1499 
   1500 # Parse options once, thoroughly.  This comes as soon as possible in the
   1501 # script to make things like `--version' happen as quickly as we can.
   1502 {
   1503   # this just eases exit handling
   1504   while test $# -gt 0; do
   1505     opt="$1"
   1506     shift
   1507     case $opt in
   1508       --debug|-x)	opt_debug='set -x'
   1509 			func_echo "enabling shell trace mode"
   1510 			$opt_debug
   1511 			;;
   1512       --dry-run|--dryrun|-n)
   1513 			opt_dry_run=:
   1514 			;;
   1515       --config)
   1516 			opt_config=:
   1517 func_config
   1518 			;;
   1519       --dlopen|-dlopen)
   1520 			optarg="$1"
   1521 			opt_dlopen="${opt_dlopen+$opt_dlopen
   1522 }$optarg"
   1523 			shift
   1524 			;;
   1525       --preserve-dup-deps)
   1526 			opt_preserve_dup_deps=:
   1527 			;;
   1528       --features)
   1529 			opt_features=:
   1530 func_features
   1531 			;;
   1532       --finish)
   1533 			opt_finish=:
   1534 set dummy --mode finish ${1+"$@"}; shift
   1535 			;;
   1536       --help)
   1537 			opt_help=:
   1538 			;;
   1539       --help-all)
   1540 			opt_help_all=:
   1541 opt_help=': help-all'
   1542 			;;
   1543       --mode)
   1544 			test $# = 0 && func_missing_arg $opt && break
   1545 			optarg="$1"
   1546 			opt_mode="$optarg"
   1547 case $optarg in
   1548   # Valid mode arguments:
   1549   clean|compile|execute|finish|install|link|relink|uninstall) ;;
   1550 
   1551   # Catch anything else as an error
   1552   *) func_error "invalid argument for $opt"
   1553      exit_cmd=exit
   1554      break
   1555      ;;
   1556 esac
   1557 			shift
   1558 			;;
   1559       --no-silent|--no-quiet)
   1560 			opt_silent=false
   1561 preserve_args+=" $opt"
   1562 			;;
   1563       --no-verbose)
   1564 			opt_verbose=false
   1565 preserve_args+=" $opt"
   1566 			;;
   1567       --silent|--quiet)
   1568 			opt_silent=:
   1569 preserve_args+=" $opt"
   1570         opt_verbose=false
   1571 			;;
   1572       --verbose|-v)
   1573 			opt_verbose=:
   1574 preserve_args+=" $opt"
   1575 opt_silent=false
   1576 			;;
   1577       --tag)
   1578 			test $# = 0 && func_missing_arg $opt && break
   1579 			optarg="$1"
   1580 			opt_tag="$optarg"
   1581 preserve_args+=" $opt $optarg"
   1582 func_enable_tag "$optarg"
   1583 			shift
   1584 			;;
   1585 
   1586       -\?|-h)		func_usage				;;
   1587       --help)		func_help				;;
   1588       --version)	func_version				;;
   1589 
   1590       # Separate optargs to long options:
   1591       --*=*)
   1592 			func_split_long_opt "$opt"
   1593 			set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
   1594 			shift
   1595 			;;
   1596 
   1597       # Separate non-argument short options:
   1598       -\?*|-h*|-n*|-v*)
   1599 			func_split_short_opt "$opt"
   1600 			set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
   1601 			shift
   1602 			;;
   1603 
   1604       --)		break					;;
   1605       -*)		func_fatal_help "unrecognized option \`$opt'" ;;
   1606       *)		set dummy "$opt" ${1+"$@"};	shift; break  ;;
   1607     esac
   1608   done
   1609 
   1610   # Validate options:
   1611 
   1612   # save first non-option argument
   1613   if test "$#" -gt 0; then
   1614     nonopt="$opt"
   1615     shift
   1616   fi
   1617 
   1618   # preserve --debug
   1619   test "$opt_debug" = : || preserve_args+=" --debug"
   1620 
   1621   case $host in
   1622     *cygwin* | *mingw* | *pw32* | *cegcc*)
   1623       # don't eliminate duplications in $postdeps and $predeps
   1624       opt_duplicate_compiler_generated_deps=:
   1625       ;;
   1626     *)
   1627       opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
   1628       ;;
   1629   esac
   1630 
   1631   $opt_help || {
   1632     # Sanity checks first:
   1633     func_check_version_match
   1634 
   1635     if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
   1636       func_fatal_configuration "not configured to build any kind of library"
   1637     fi
   1638 
   1639     # Darwin sucks
   1640     eval std_shrext=\"$shrext_cmds\"
   1641 
   1642     # Only execute mode is allowed to have -dlopen flags.
   1643     if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
   1644       func_error "unrecognized option \`-dlopen'"
   1645       $ECHO "$help" 1>&2
   1646       exit $EXIT_FAILURE
   1647     fi
   1648 
   1649     # Change the help message to a mode-specific one.
   1650     generic_help="$help"
   1651     help="Try \`$progname --help --mode=$opt_mode' for more information."
   1652   }
   1653 
   1654 
   1655   # Bail if the options were screwed
   1656   $exit_cmd $EXIT_FAILURE
   1657 }
   1658 
   1659 
   1660 
   1661 
   1662 ## ----------- ##
   1663 ##    Main.    ##
   1664 ## ----------- ##
   1665 
   1666 # func_lalib_p file
   1667 # True iff FILE is a libtool `.la' library or `.lo' object file.
   1668 # This function is only a basic sanity check; it will hardly flush out
   1669 # determined imposters.
   1670 func_lalib_p ()
   1671 {
   1672     test -f "$1" &&
   1673       $SED -e 4q "$1" 2>/dev/null \
   1674         | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
   1675 }
   1676 
   1677 # func_lalib_unsafe_p file
   1678 # True iff FILE is a libtool `.la' library or `.lo' object file.
   1679 # This function implements the same check as func_lalib_p without
   1680 # resorting to external programs.  To this end, it redirects stdin and
   1681 # closes it afterwards, without saving the original file descriptor.
   1682 # As a safety measure, use it only where a negative result would be
   1683 # fatal anyway.  Works if `file' does not exist.
   1684 func_lalib_unsafe_p ()
   1685 {
   1686     lalib_p=no
   1687     if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
   1688 	for lalib_p_l in 1 2 3 4
   1689 	do
   1690 	    read lalib_p_line
   1691 	    case "$lalib_p_line" in
   1692 		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
   1693 	    esac
   1694 	done
   1695 	exec 0<&5 5<&-
   1696     fi
   1697     test "$lalib_p" = yes
   1698 }
   1699 
   1700 # func_ltwrapper_script_p file
   1701 # True iff FILE is a libtool wrapper script
   1702 # This function is only a basic sanity check; it will hardly flush out
   1703 # determined imposters.
   1704 func_ltwrapper_script_p ()
   1705 {
   1706     func_lalib_p "$1"
   1707 }
   1708 
   1709 # func_ltwrapper_executable_p file
   1710 # True iff FILE is a libtool wrapper executable
   1711 # This function is only a basic sanity check; it will hardly flush out
   1712 # determined imposters.
   1713 func_ltwrapper_executable_p ()
   1714 {
   1715     func_ltwrapper_exec_suffix=
   1716     case $1 in
   1717     *.exe) ;;
   1718     *) func_ltwrapper_exec_suffix=.exe ;;
   1719     esac
   1720     $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
   1721 }
   1722 
   1723 # func_ltwrapper_scriptname file
   1724 # Assumes file is an ltwrapper_executable
   1725 # uses $file to determine the appropriate filename for a
   1726 # temporary ltwrapper_script.
   1727 func_ltwrapper_scriptname ()
   1728 {
   1729     func_dirname_and_basename "$1" "" "."
   1730     func_stripname '' '.exe' "$func_basename_result"
   1731     func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
   1732 }
   1733 
   1734 # func_ltwrapper_p file
   1735 # True iff FILE is a libtool wrapper script or wrapper executable
   1736 # This function is only a basic sanity check; it will hardly flush out
   1737 # determined imposters.
   1738 func_ltwrapper_p ()
   1739 {
   1740     func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
   1741 }
   1742 
   1743 
   1744 # func_execute_cmds commands fail_cmd
   1745 # Execute tilde-delimited COMMANDS.
   1746 # If FAIL_CMD is given, eval that upon failure.
   1747 # FAIL_CMD may read-access the current command in variable CMD!
   1748 func_execute_cmds ()
   1749 {
   1750     $opt_debug
   1751     save_ifs=$IFS; IFS='~'
   1752     for cmd in $1; do
   1753       IFS=$save_ifs
   1754       eval cmd=\"$cmd\"
   1755       func_show_eval "$cmd" "${2-:}"
   1756     done
   1757     IFS=$save_ifs
   1758 }
   1759 
   1760 
   1761 # func_source file
   1762 # Source FILE, adding directory component if necessary.
   1763 # Note that it is not necessary on cygwin/mingw to append a dot to
   1764 # FILE even if both FILE and FILE.exe exist: automatic-append-.exe
   1765 # behavior happens only for exec(3), not for open(2)!  Also, sourcing
   1766 # `FILE.' does not work on cygwin managed mounts.
   1767 func_source ()
   1768 {
   1769     $opt_debug
   1770     case $1 in
   1771     */* | *\\*)	. "$1" ;;
   1772     *)		. "./$1" ;;
   1773     esac
   1774 }
   1775 
   1776 
   1777 # func_resolve_sysroot PATH
   1778 # Replace a leading = in PATH with a sysroot.  Store the result into
   1779 # func_resolve_sysroot_result
   1780 func_resolve_sysroot ()
   1781 {
   1782   func_resolve_sysroot_result=$1
   1783   case $func_resolve_sysroot_result in
   1784   =*)
   1785     func_stripname '=' '' "$func_resolve_sysroot_result"
   1786     func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
   1787     ;;
   1788   esac
   1789 }
   1790 
   1791 # func_replace_sysroot PATH
   1792 # If PATH begins with the sysroot, replace it with = and
   1793 # store the result into func_replace_sysroot_result.
   1794 func_replace_sysroot ()
   1795 {
   1796   case "$lt_sysroot:$1" in
   1797   ?*:"$lt_sysroot"*)
   1798     func_stripname "$lt_sysroot" '' "$1"
   1799     func_replace_sysroot_result="=$func_stripname_result"
   1800     ;;
   1801   *)
   1802     # Including no sysroot.
   1803     func_replace_sysroot_result=$1
   1804     ;;
   1805   esac
   1806 }
   1807 
   1808 # func_infer_tag arg
   1809 # Infer tagged configuration to use if any are available and
   1810 # if one wasn't chosen via the "--tag" command line option.
   1811 # Only attempt this if the compiler in the base compile
   1812 # command doesn't match the default compiler.
   1813 # arg is usually of the form 'gcc ...'
   1814 func_infer_tag ()
   1815 {
   1816     $opt_debug
   1817     if test -n "$available_tags" && test -z "$tagname"; then
   1818       CC_quoted=
   1819       for arg in $CC; do
   1820 	func_append_quoted CC_quoted "$arg"
   1821       done
   1822       CC_expanded=`func_echo_all $CC`
   1823       CC_quoted_expanded=`func_echo_all $CC_quoted`
   1824       case $@ in
   1825       # Blanks in the command may have been stripped by the calling shell,
   1826       # but not from the CC environment variable when configure was run.
   1827       " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
   1828       " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
   1829       # Blanks at the start of $base_compile will cause this to fail
   1830       # if we don't check for them as well.
   1831       *)
   1832 	for z in $available_tags; do
   1833 	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
   1834 	    # Evaluate the configuration.
   1835 	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
   1836 	    CC_quoted=
   1837 	    for arg in $CC; do
   1838 	      # Double-quote args containing other shell metacharacters.
   1839 	      func_append_quoted CC_quoted "$arg"
   1840 	    done
   1841 	    CC_expanded=`func_echo_all $CC`
   1842 	    CC_quoted_expanded=`func_echo_all $CC_quoted`
   1843 	    case "$@ " in
   1844 	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
   1845 	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
   1846 	      # The compiler in the base compile command matches
   1847 	      # the one in the tagged configuration.
   1848 	      # Assume this is the tagged configuration we want.
   1849 	      tagname=$z
   1850 	      break
   1851 	      ;;
   1852 	    esac
   1853 	  fi
   1854 	done
   1855 	# If $tagname still isn't set, then no tagged configuration
   1856 	# was found and let the user know that the "--tag" command
   1857 	# line option must be used.
   1858 	if test -z "$tagname"; then
   1859 	  func_echo "unable to infer tagged configuration"
   1860 	  func_fatal_error "specify a tag with \`--tag'"
   1861 #	else
   1862 #	  func_verbose "using $tagname tagged configuration"
   1863 	fi
   1864 	;;
   1865       esac
   1866     fi
   1867 }
   1868 
   1869 
   1870 
   1871 # func_write_libtool_object output_name pic_name nonpic_name
   1872 # Create a libtool object file (analogous to a ".la" file),
   1873 # but don't create it if we're doing a dry run.
   1874 func_write_libtool_object ()
   1875 {
   1876     write_libobj=${1}
   1877     if test "$build_libtool_libs" = yes; then
   1878       write_lobj=\'${2}\'
   1879     else
   1880       write_lobj=none
   1881     fi
   1882 
   1883     if test "$build_old_libs" = yes; then
   1884       write_oldobj=\'${3}\'
   1885     else
   1886       write_oldobj=none
   1887     fi
   1888 
   1889     $opt_dry_run || {
   1890       cat >${write_libobj}T <<EOF
   1891 # $write_libobj - a libtool object file
   1892 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
   1893 #
   1894 # Please DO NOT delete this file!
   1895 # It is necessary for linking the library.
   1896 
   1897 # Name of the PIC object.
   1898 pic_object=$write_lobj
   1899 
   1900 # Name of the non-PIC object
   1901 non_pic_object=$write_oldobj
   1902 
   1903 EOF
   1904       $MV "${write_libobj}T" "${write_libobj}"
   1905     }
   1906 }
   1907 
   1908 
   1909 ##################################################
   1910 # FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
   1911 ##################################################
   1912 
   1913 # func_convert_core_file_wine_to_w32 ARG
   1914 # Helper function used by file name conversion functions when $build is *nix,
   1915 # and $host is mingw, cygwin, or some other w32 environment. Relies on a
   1916 # correctly configured wine environment available, with the winepath program
   1917 # in $build's $PATH.
   1918 #
   1919 # ARG is the $build file name to be converted to w32 format.
   1920 # Result is available in $func_convert_core_file_wine_to_w32_result, and will
   1921 # be empty on error (or when ARG is empty)
   1922 func_convert_core_file_wine_to_w32 ()
   1923 {
   1924   $opt_debug
   1925   func_convert_core_file_wine_to_w32_result="$1"
   1926   if test -n "$1"; then
   1927     # Unfortunately, winepath does not exit with a non-zero error code, so we
   1928     # are forced to check the contents of stdout. On the other hand, if the
   1929     # command is not found, the shell will set an exit code of 127 and print
   1930     # *an error message* to stdout. So we must check for both error code of
   1931     # zero AND non-empty stdout, which explains the odd construction:
   1932     func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
   1933     if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
   1934       func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
   1935         $SED -e "$lt_sed_naive_backslashify"`
   1936     else
   1937       func_convert_core_file_wine_to_w32_result=
   1938     fi
   1939   fi
   1940 }
   1941 # end: func_convert_core_file_wine_to_w32
   1942 
   1943 
   1944 # func_convert_core_path_wine_to_w32 ARG
   1945 # Helper function used by path conversion functions when $build is *nix, and
   1946 # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
   1947 # configured wine environment available, with the winepath program in $build's
   1948 # $PATH. Assumes ARG has no leading or trailing path separator characters.
   1949 #
   1950 # ARG is path to be converted from $build format to win32.
   1951 # Result is available in $func_convert_core_path_wine_to_w32_result.
   1952 # Unconvertible file (directory) names in ARG are skipped; if no directory names
   1953 # are convertible, then the result may be empty.
   1954 func_convert_core_path_wine_to_w32 ()
   1955 {
   1956   $opt_debug
   1957   # unfortunately, winepath doesn't convert paths, only file names
   1958   func_convert_core_path_wine_to_w32_result=""
   1959   if test -n "$1"; then
   1960     oldIFS=$IFS
   1961     IFS=:
   1962     for func_convert_core_path_wine_to_w32_f in $1; do
   1963       IFS=$oldIFS
   1964       func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
   1965       if test -n "$func_convert_core_file_wine_to_w32_result" ; then
   1966         if test -z "$func_convert_core_path_wine_to_w32_result"; then
   1967           func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
   1968         else
   1969           func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
   1970         fi
   1971       fi
   1972     done
   1973     IFS=$oldIFS
   1974   fi
   1975 }
   1976 # end: func_convert_core_path_wine_to_w32
   1977 
   1978 
   1979 # func_cygpath ARGS...
   1980 # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
   1981 # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
   1982 # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
   1983 # (2), returns the Cygwin file name or path in func_cygpath_result (input
   1984 # file name or path is assumed to be in w32 format, as previously converted
   1985 # from $build's *nix or MSYS format). In case (3), returns the w32 file name
   1986 # or path in func_cygpath_result (input file name or path is assumed to be in
   1987 # Cygwin format). Returns an empty string on error.
   1988 #
   1989 # ARGS are passed to cygpath, with the last one being the file name or path to
   1990 # be converted.
   1991 #
   1992 # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
   1993 # environment variable; do not put it in $PATH.
   1994 func_cygpath ()
   1995 {
   1996   $opt_debug
   1997   if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
   1998     func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
   1999     if test "$?" -ne 0; then
   2000       # on failure, ensure result is empty
   2001       func_cygpath_result=
   2002     fi
   2003   else
   2004     func_cygpath_result=
   2005     func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
   2006   fi
   2007 }
   2008 #end: func_cygpath
   2009 
   2010 
   2011 # func_convert_core_msys_to_w32 ARG
   2012 # Convert file name or path ARG from MSYS format to w32 format.  Return
   2013 # result in func_convert_core_msys_to_w32_result.
   2014 func_convert_core_msys_to_w32 ()
   2015 {
   2016   $opt_debug
   2017   # awkward: cmd appends spaces to result
   2018   func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
   2019     $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
   2020 }
   2021 #end: func_convert_core_msys_to_w32
   2022 
   2023 
   2024 # func_convert_file_check ARG1 ARG2
   2025 # Verify that ARG1 (a file name in $build format) was converted to $host
   2026 # format in ARG2. Otherwise, emit an error message, but continue (resetting
   2027 # func_to_host_file_result to ARG1).
   2028 func_convert_file_check ()
   2029 {
   2030   $opt_debug
   2031   if test -z "$2" && test -n "$1" ; then
   2032     func_error "Could not determine host file name corresponding to"
   2033     func_error "  \`$1'"
   2034     func_error "Continuing, but uninstalled executables may not work."
   2035     # Fallback:
   2036     func_to_host_file_result="$1"
   2037   fi
   2038 }
   2039 # end func_convert_file_check
   2040 
   2041 
   2042 # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
   2043 # Verify that FROM_PATH (a path in $build format) was converted to $host
   2044 # format in TO_PATH. Otherwise, emit an error message, but continue, resetting
   2045 # func_to_host_file_result to a simplistic fallback value (see below).
   2046 func_convert_path_check ()
   2047 {
   2048   $opt_debug
   2049   if test -z "$4" && test -n "$3"; then
   2050     func_error "Could not determine the host path corresponding to"
   2051     func_error "  \`$3'"
   2052     func_error "Continuing, but uninstalled executables may not work."
   2053     # Fallback.  This is a deliberately simplistic "conversion" and
   2054     # should not be "improved".  See libtool.info.
   2055     if test "x$1" != "x$2"; then
   2056       lt_replace_pathsep_chars="s|$1|$2|g"
   2057       func_to_host_path_result=`echo "$3" |
   2058         $SED -e "$lt_replace_pathsep_chars"`
   2059     else
   2060       func_to_host_path_result="$3"
   2061     fi
   2062   fi
   2063 }
   2064 # end func_convert_path_check
   2065 
   2066 
   2067 # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
   2068 # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
   2069 # and appending REPL if ORIG matches BACKPAT.
   2070 func_convert_path_front_back_pathsep ()
   2071 {
   2072   $opt_debug
   2073   case $4 in
   2074   $1 ) func_to_host_path_result="$3$func_to_host_path_result"
   2075     ;;
   2076   esac
   2077   case $4 in
   2078   $2 ) func_to_host_path_result+="$3"
   2079     ;;
   2080   esac
   2081 }
   2082 # end func_convert_path_front_back_pathsep
   2083 
   2084 
   2085 ##################################################
   2086 # $build to $host FILE NAME CONVERSION FUNCTIONS #
   2087 ##################################################
   2088 # invoked via `$to_host_file_cmd ARG'
   2089 #
   2090 # In each case, ARG is the path to be converted from $build to $host format.
   2091 # Result will be available in $func_to_host_file_result.
   2092 
   2093 
   2094 # func_to_host_file ARG
   2095 # Converts the file name ARG from $build format to $host format. Return result
   2096 # in func_to_host_file_result.
   2097 func_to_host_file ()
   2098 {
   2099   $opt_debug
   2100   $to_host_file_cmd "$1"
   2101 }
   2102 # end func_to_host_file
   2103 
   2104 
   2105 # func_to_tool_file ARG LAZY
   2106 # converts the file name ARG from $build format to toolchain format. Return
   2107 # result in func_to_tool_file_result.  If the conversion in use is listed
   2108 # in (the comma separated) LAZY, no conversion takes place.
   2109 func_to_tool_file ()
   2110 {
   2111   $opt_debug
   2112   case ,$2, in
   2113     *,"$to_tool_file_cmd",*)
   2114       func_to_tool_file_result=$1
   2115       ;;
   2116     *)
   2117       $to_tool_file_cmd "$1"
   2118       func_to_tool_file_result=$func_to_host_file_result
   2119       ;;
   2120   esac
   2121 }
   2122 # end func_to_tool_file
   2123 
   2124 
   2125 # func_convert_file_noop ARG
   2126 # Copy ARG to func_to_host_file_result.
   2127 func_convert_file_noop ()
   2128 {
   2129   func_to_host_file_result="$1"
   2130 }
   2131 # end func_convert_file_noop
   2132 
   2133 
   2134 # func_convert_file_msys_to_w32 ARG
   2135 # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
   2136 # conversion to w32 is not available inside the cwrapper.  Returns result in
   2137 # func_to_host_file_result.
   2138 func_convert_file_msys_to_w32 ()
   2139 {
   2140   $opt_debug
   2141   func_to_host_file_result="$1"
   2142   if test -n "$1"; then
   2143     func_convert_core_msys_to_w32 "$1"
   2144     func_to_host_file_result="$func_convert_core_msys_to_w32_result"
   2145   fi
   2146   func_convert_file_check "$1" "$func_to_host_file_result"
   2147 }
   2148 # end func_convert_file_msys_to_w32
   2149 
   2150 
   2151 # func_convert_file_cygwin_to_w32 ARG
   2152 # Convert file name ARG from Cygwin to w32 format.  Returns result in
   2153 # func_to_host_file_result.
   2154 func_convert_file_cygwin_to_w32 ()
   2155 {
   2156   $opt_debug
   2157   func_to_host_file_result="$1"
   2158   if test -n "$1"; then
   2159     # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
   2160     # LT_CYGPATH in this case.
   2161     func_to_host_file_result=`cygpath -m "$1"`
   2162   fi
   2163   func_convert_file_check "$1" "$func_to_host_file_result"
   2164 }
   2165 # end func_convert_file_cygwin_to_w32
   2166 
   2167 
   2168 # func_convert_file_nix_to_w32 ARG
   2169 # Convert file name ARG from *nix to w32 format.  Requires a wine environment
   2170 # and a working winepath. Returns result in func_to_host_file_result.
   2171 func_convert_file_nix_to_w32 ()
   2172 {
   2173   $opt_debug
   2174   func_to_host_file_result="$1"
   2175   if test -n "$1"; then
   2176     func_convert_core_file_wine_to_w32 "$1"
   2177     func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
   2178   fi
   2179   func_convert_file_check "$1" "$func_to_host_file_result"
   2180 }
   2181 # end func_convert_file_nix_to_w32
   2182 
   2183 
   2184 # func_convert_file_msys_to_cygwin ARG
   2185 # Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
   2186 # Returns result in func_to_host_file_result.
   2187 func_convert_file_msys_to_cygwin ()
   2188 {
   2189   $opt_debug
   2190   func_to_host_file_result="$1"
   2191   if test -n "$1"; then
   2192     func_convert_core_msys_to_w32 "$1"
   2193     func_cygpath -u "$func_convert_core_msys_to_w32_result"
   2194     func_to_host_file_result="$func_cygpath_result"
   2195   fi
   2196   func_convert_file_check "$1" "$func_to_host_file_result"
   2197 }
   2198 # end func_convert_file_msys_to_cygwin
   2199 
   2200 
   2201 # func_convert_file_nix_to_cygwin ARG
   2202 # Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
   2203 # in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
   2204 # in func_to_host_file_result.
   2205 func_convert_file_nix_to_cygwin ()
   2206 {
   2207   $opt_debug
   2208   func_to_host_file_result="$1"
   2209   if test -n "$1"; then
   2210     # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
   2211     func_convert_core_file_wine_to_w32 "$1"
   2212     func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
   2213     func_to_host_file_result="$func_cygpath_result"
   2214   fi
   2215   func_convert_file_check "$1" "$func_to_host_file_result"
   2216 }
   2217 # end func_convert_file_nix_to_cygwin
   2218 
   2219 
   2220 #############################################
   2221 # $build to $host PATH CONVERSION FUNCTIONS #
   2222 #############################################
   2223 # invoked via `$to_host_path_cmd ARG'
   2224 #
   2225 # In each case, ARG is the path to be converted from $build to $host format.
   2226 # The result will be available in $func_to_host_path_result.
   2227 #
   2228 # Path separators are also converted from $build format to $host format.  If
   2229 # ARG begins or ends with a path separator character, it is preserved (but
   2230 # converted to $host format) on output.
   2231 #
   2232 # All path conversion functions are named using the following convention:
   2233 #   file name conversion function    : func_convert_file_X_to_Y ()
   2234 #   path conversion function         : func_convert_path_X_to_Y ()
   2235 # where, for any given $build/$host combination the 'X_to_Y' value is the
   2236 # same.  If conversion functions are added for new $build/$host combinations,
   2237 # the two new functions must follow this pattern, or func_init_to_host_path_cmd
   2238 # will break.
   2239 
   2240 
   2241 # func_init_to_host_path_cmd
   2242 # Ensures that function "pointer" variable $to_host_path_cmd is set to the
   2243 # appropriate value, based on the value of $to_host_file_cmd.
   2244 to_host_path_cmd=
   2245 func_init_to_host_path_cmd ()
   2246 {
   2247   $opt_debug
   2248   if test -z "$to_host_path_cmd"; then
   2249     func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
   2250     to_host_path_cmd="func_convert_path_${func_stripname_result}"
   2251   fi
   2252 }
   2253 
   2254 
   2255 # func_to_host_path ARG
   2256 # Converts the path ARG from $build format to $host format. Return result
   2257 # in func_to_host_path_result.
   2258 func_to_host_path ()
   2259 {
   2260   $opt_debug
   2261   func_init_to_host_path_cmd
   2262   $to_host_path_cmd "$1"
   2263 }
   2264 # end func_to_host_path
   2265 
   2266 
   2267 # func_convert_path_noop ARG
   2268 # Copy ARG to func_to_host_path_result.
   2269 func_convert_path_noop ()
   2270 {
   2271   func_to_host_path_result="$1"
   2272 }
   2273 # end func_convert_path_noop
   2274 
   2275 
   2276 # func_convert_path_msys_to_w32 ARG
   2277 # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
   2278 # conversion to w32 is not available inside the cwrapper.  Returns result in
   2279 # func_to_host_path_result.
   2280 func_convert_path_msys_to_w32 ()
   2281 {
   2282   $opt_debug
   2283   func_to_host_path_result="$1"
   2284   if test -n "$1"; then
   2285     # Remove leading and trailing path separator characters from ARG.  MSYS
   2286     # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
   2287     # and winepath ignores them completely.
   2288     func_stripname : : "$1"
   2289     func_to_host_path_tmp1=$func_stripname_result
   2290     func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
   2291     func_to_host_path_result="$func_convert_core_msys_to_w32_result"
   2292     func_convert_path_check : ";" \
   2293       "$func_to_host_path_tmp1" "$func_to_host_path_result"
   2294     func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
   2295   fi
   2296 }
   2297 # end func_convert_path_msys_to_w32
   2298 
   2299 
   2300 # func_convert_path_cygwin_to_w32 ARG
   2301 # Convert path ARG from Cygwin to w32 format.  Returns result in
   2302 # func_to_host_file_result.
   2303 func_convert_path_cygwin_to_w32 ()
   2304 {
   2305   $opt_debug
   2306   func_to_host_path_result="$1"
   2307   if test -n "$1"; then
   2308     # See func_convert_path_msys_to_w32:
   2309     func_stripname : : "$1"
   2310     func_to_host_path_tmp1=$func_stripname_result
   2311     func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
   2312     func_convert_path_check : ";" \
   2313       "$func_to_host_path_tmp1" "$func_to_host_path_result"
   2314     func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
   2315   fi
   2316 }
   2317 # end func_convert_path_cygwin_to_w32
   2318 
   2319 
   2320 # func_convert_path_nix_to_w32 ARG
   2321 # Convert path ARG from *nix to w32 format.  Requires a wine environment and
   2322 # a working winepath.  Returns result in func_to_host_file_result.
   2323 func_convert_path_nix_to_w32 ()
   2324 {
   2325   $opt_debug
   2326   func_to_host_path_result="$1"
   2327   if test -n "$1"; then
   2328     # See func_convert_path_msys_to_w32:
   2329     func_stripname : : "$1"
   2330     func_to_host_path_tmp1=$func_stripname_result
   2331     func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
   2332     func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
   2333     func_convert_path_check : ";" \
   2334       "$func_to_host_path_tmp1" "$func_to_host_path_result"
   2335     func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
   2336   fi
   2337 }
   2338 # end func_convert_path_nix_to_w32
   2339 
   2340 
   2341 # func_convert_path_msys_to_cygwin ARG
   2342 # Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
   2343 # Returns result in func_to_host_file_result.
   2344 func_convert_path_msys_to_cygwin ()
   2345 {
   2346   $opt_debug
   2347   func_to_host_path_result="$1"
   2348   if test -n "$1"; then
   2349     # See func_convert_path_msys_to_w32:
   2350     func_stripname : : "$1"
   2351     func_to_host_path_tmp1=$func_stripname_result
   2352     func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
   2353     func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
   2354     func_to_host_path_result="$func_cygpath_result"
   2355     func_convert_path_check : : \
   2356       "$func_to_host_path_tmp1" "$func_to_host_path_result"
   2357     func_convert_path_front_back_pathsep ":*" "*:" : "$1"
   2358   fi
   2359 }
   2360 # end func_convert_path_msys_to_cygwin
   2361 
   2362 
   2363 # func_convert_path_nix_to_cygwin ARG
   2364 # Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
   2365 # a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
   2366 # func_to_host_file_result.
   2367 func_convert_path_nix_to_cygwin ()
   2368 {
   2369   $opt_debug
   2370   func_to_host_path_result="$1"
   2371   if test -n "$1"; then
   2372     # Remove leading and trailing path separator characters from
   2373     # ARG. msys behavior is inconsistent here, cygpath turns them
   2374     # into '.;' and ';.', and winepath ignores them completely.
   2375     func_stripname : : "$1"
   2376     func_to_host_path_tmp1=$func_stripname_result
   2377     func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
   2378     func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
   2379     func_to_host_path_result="$func_cygpath_result"
   2380     func_convert_path_check : : \
   2381       "$func_to_host_path_tmp1" "$func_to_host_path_result"
   2382     func_convert_path_front_back_pathsep ":*" "*:" : "$1"
   2383   fi
   2384 }
   2385 # end func_convert_path_nix_to_cygwin
   2386 
   2387 
   2388 # func_mode_compile arg...
   2389 func_mode_compile ()
   2390 {
   2391     $opt_debug
   2392     # Get the compilation command and the source file.
   2393     base_compile=
   2394     srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
   2395     suppress_opt=yes
   2396     suppress_output=
   2397     arg_mode=normal
   2398     libobj=
   2399     later=
   2400     pie_flag=
   2401 
   2402     for arg
   2403     do
   2404       case $arg_mode in
   2405       arg  )
   2406 	# do not "continue".  Instead, add this to base_compile
   2407 	lastarg="$arg"
   2408 	arg_mode=normal
   2409 	;;
   2410 
   2411       target )
   2412 	libobj="$arg"
   2413 	arg_mode=normal
   2414 	continue
   2415 	;;
   2416 
   2417       normal )
   2418 	# Accept any command-line options.
   2419 	case $arg in
   2420 	-o)
   2421 	  test -n "$libobj" && \
   2422 	    func_fatal_error "you cannot specify \`-o' more than once"
   2423 	  arg_mode=target
   2424 	  continue
   2425 	  ;;
   2426 
   2427 	-pie | -fpie | -fPIE)
   2428           pie_flag+=" $arg"
   2429 	  continue
   2430 	  ;;
   2431 
   2432 	-shared | -static | -prefer-pic | -prefer-non-pic)
   2433 	  later+=" $arg"
   2434 	  continue
   2435 	  ;;
   2436 
   2437 	-no-suppress)
   2438 	  suppress_opt=no
   2439 	  continue
   2440 	  ;;
   2441 
   2442 	-Xcompiler)
   2443 	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
   2444 	  continue      #  The current "srcfile" will either be retained or
   2445 	  ;;            #  replaced later.  I would guess that would be a bug.
   2446 
   2447 	-Wc,*)
   2448 	  func_stripname '-Wc,' '' "$arg"
   2449 	  args=$func_stripname_result
   2450 	  lastarg=
   2451 	  save_ifs="$IFS"; IFS=','
   2452 	  for arg in $args; do
   2453 	    IFS="$save_ifs"
   2454 	    func_append_quoted lastarg "$arg"
   2455 	  done
   2456 	  IFS="$save_ifs"
   2457 	  func_stripname ' ' '' "$lastarg"
   2458 	  lastarg=$func_stripname_result
   2459 
   2460 	  # Add the arguments to base_compile.
   2461 	  base_compile+=" $lastarg"
   2462 	  continue
   2463 	  ;;
   2464 
   2465 	*)
   2466 	  # Accept the current argument as the source file.
   2467 	  # The previous "srcfile" becomes the current argument.
   2468 	  #
   2469 	  lastarg="$srcfile"
   2470 	  srcfile="$arg"
   2471 	  ;;
   2472 	esac  #  case $arg
   2473 	;;
   2474       esac    #  case $arg_mode
   2475 
   2476       # Aesthetically quote the previous argument.
   2477       func_append_quoted base_compile "$lastarg"
   2478     done # for arg
   2479 
   2480     case $arg_mode in
   2481     arg)
   2482       func_fatal_error "you must specify an argument for -Xcompile"
   2483       ;;
   2484     target)
   2485       func_fatal_error "you must specify a target with \`-o'"
   2486       ;;
   2487     *)
   2488       # Get the name of the library object.
   2489       test -z "$libobj" && {
   2490 	func_basename "$srcfile"
   2491 	libobj="$func_basename_result"
   2492       }
   2493       ;;
   2494     esac
   2495 
   2496     # Recognize several different file suffixes.
   2497     # If the user specifies -o file.o, it is replaced with file.lo
   2498     case $libobj in
   2499     *.[cCFSifmso] | \
   2500     *.ada | *.adb | *.ads | *.asm | \
   2501     *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
   2502     *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
   2503       func_xform "$libobj"
   2504       libobj=$func_xform_result
   2505       ;;
   2506     esac
   2507 
   2508     case $libobj in
   2509     *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
   2510     *)
   2511       func_fatal_error "cannot determine name of library object from \`$libobj'"
   2512       ;;
   2513     esac
   2514 
   2515     func_infer_tag $base_compile
   2516 
   2517     for arg in $later; do
   2518       case $arg in
   2519       -shared)
   2520 	test "$build_libtool_libs" != yes && \
   2521 	  func_fatal_configuration "can not build a shared library"
   2522 	build_old_libs=no
   2523 	continue
   2524 	;;
   2525 
   2526       -static)
   2527 	build_libtool_libs=no
   2528 	build_old_libs=yes
   2529 	continue
   2530 	;;
   2531 
   2532       -prefer-pic)
   2533 	pic_mode=yes
   2534 	continue
   2535 	;;
   2536 
   2537       -prefer-non-pic)
   2538 	pic_mode=no
   2539 	continue
   2540 	;;
   2541       esac
   2542     done
   2543 
   2544     func_quote_for_eval "$libobj"
   2545     test "X$libobj" != "X$func_quote_for_eval_result" \
   2546       && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
   2547       && func_warning "libobj name \`$libobj' may not contain shell special characters."
   2548     func_dirname_and_basename "$obj" "/" ""
   2549     objname="$func_basename_result"
   2550     xdir="$func_dirname_result"
   2551     lobj=${xdir}$objdir/$objname
   2552 
   2553     test -z "$base_compile" && \
   2554       func_fatal_help "you must specify a compilation command"
   2555 
   2556     # Delete any leftover library objects.
   2557     if test "$build_old_libs" = yes; then
   2558       removelist="$obj $lobj $libobj ${libobj}T"
   2559     else
   2560       removelist="$lobj $libobj ${libobj}T"
   2561     fi
   2562 
   2563     # On Cygwin there's no "real" PIC flag so we must build both object types
   2564     case $host_os in
   2565     cygwin* | mingw* | pw32* | os2* | cegcc*)
   2566       pic_mode=default
   2567       ;;
   2568     esac
   2569     if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
   2570       # non-PIC code in shared libraries is not supported
   2571       pic_mode=default
   2572     fi
   2573 
   2574     # Calculate the filename of the output object if compiler does
   2575     # not support -o with -c
   2576     if test "$compiler_c_o" = no; then
   2577       output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
   2578       lockfile="$output_obj.lock"
   2579     else
   2580       output_obj=
   2581       need_locks=no
   2582       lockfile=
   2583     fi
   2584 
   2585     # Lock this critical section if it is needed
   2586     # We use this script file to make the link, it avoids creating a new file
   2587     if test "$need_locks" = yes; then
   2588       until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
   2589 	func_echo "Waiting for $lockfile to be removed"
   2590 	sleep 2
   2591       done
   2592     elif test "$need_locks" = warn; then
   2593       if test -f "$lockfile"; then
   2594 	$ECHO "\
   2595 *** ERROR, $lockfile exists and contains:
   2596 `cat $lockfile 2>/dev/null`
   2597 
   2598 This indicates that another process is trying to use the same
   2599 temporary object file, and libtool could not work around it because
   2600 your compiler does not support \`-c' and \`-o' together.  If you
   2601 repeat this compilation, it may succeed, by chance, but you had better
   2602 avoid parallel builds (make -j) in this platform, or get a better
   2603 compiler."
   2604 
   2605 	$opt_dry_run || $RM $removelist
   2606 	exit $EXIT_FAILURE
   2607       fi
   2608       removelist+=" $output_obj"
   2609       $ECHO "$srcfile" > "$lockfile"
   2610     fi
   2611 
   2612     $opt_dry_run || $RM $removelist
   2613     removelist+=" $lockfile"
   2614     trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
   2615 
   2616     func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
   2617     srcfile=$func_to_tool_file_result
   2618     func_quote_for_eval "$srcfile"
   2619     qsrcfile=$func_quote_for_eval_result
   2620 
   2621     # Only build a PIC object if we are building libtool libraries.
   2622     if test "$build_libtool_libs" = yes; then
   2623       # Without this assignment, base_compile gets emptied.
   2624       fbsd_hideous_sh_bug=$base_compile
   2625 
   2626       if test "$pic_mode" != no; then
   2627 	command="$base_compile $qsrcfile $pic_flag"
   2628       else
   2629 	# Don't build PIC code
   2630 	command="$base_compile $qsrcfile"
   2631       fi
   2632 
   2633       func_mkdir_p "$xdir$objdir"
   2634 
   2635       if test -z "$output_obj"; then
   2636 	# Place PIC objects in $objdir
   2637 	command+=" -o $lobj"
   2638       fi
   2639 
   2640       func_show_eval_locale "$command"	\
   2641           'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
   2642 
   2643       if test "$need_locks" = warn &&
   2644 	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
   2645 	$ECHO "\
   2646 *** ERROR, $lockfile contains:
   2647 `cat $lockfile 2>/dev/null`
   2648 
   2649 but it should contain:
   2650 $srcfile
   2651 
   2652 This indicates that another process is trying to use the same
   2653 temporary object file, and libtool could not work around it because
   2654 your compiler does not support \`-c' and \`-o' together.  If you
   2655 repeat this compilation, it may succeed, by chance, but you had better
   2656 avoid parallel builds (make -j) in this platform, or get a better
   2657 compiler."
   2658 
   2659 	$opt_dry_run || $RM $removelist
   2660 	exit $EXIT_FAILURE
   2661       fi
   2662 
   2663       # Just move the object if needed, then go on to compile the next one
   2664       if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
   2665 	func_show_eval '$MV "$output_obj" "$lobj"' \
   2666 	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
   2667       fi
   2668 
   2669       # Allow error messages only from the first compilation.
   2670       if test "$suppress_opt" = yes; then
   2671 	suppress_output=' >/dev/null 2>&1'
   2672       fi
   2673     fi
   2674 
   2675     # Only build a position-dependent object if we build old libraries.
   2676     if test "$build_old_libs" = yes; then
   2677       if test "$pic_mode" != yes; then
   2678 	# Don't build PIC code
   2679 	command="$base_compile $qsrcfile$pie_flag"
   2680       else
   2681 	command="$base_compile $qsrcfile $pic_flag"
   2682       fi
   2683       if test "$compiler_c_o" = yes; then
   2684 	command+=" -o $obj"
   2685       fi
   2686 
   2687       # Suppress compiler output if we already did a PIC compilation.
   2688       command+="$suppress_output"
   2689       func_show_eval_locale "$command" \
   2690         '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
   2691 
   2692       if test "$need_locks" = warn &&
   2693 	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
   2694 	$ECHO "\
   2695 *** ERROR, $lockfile contains:
   2696 `cat $lockfile 2>/dev/null`
   2697 
   2698 but it should contain:
   2699 $srcfile
   2700 
   2701 This indicates that another process is trying to use the same
   2702 temporary object file, and libtool could not work around it because
   2703 your compiler does not support \`-c' and \`-o' together.  If you
   2704 repeat this compilation, it may succeed, by chance, but you had better
   2705 avoid parallel builds (make -j) in this platform, or get a better
   2706 compiler."
   2707 
   2708 	$opt_dry_run || $RM $removelist
   2709 	exit $EXIT_FAILURE
   2710       fi
   2711 
   2712       # Just move the object if needed
   2713       if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
   2714 	func_show_eval '$MV "$output_obj" "$obj"' \
   2715 	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
   2716       fi
   2717     fi
   2718 
   2719     $opt_dry_run || {
   2720       func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
   2721 
   2722       # Unlock the critical section if it was locked
   2723       if test "$need_locks" != no; then
   2724 	removelist=$lockfile
   2725         $RM "$lockfile"
   2726       fi
   2727     }
   2728 
   2729     exit $EXIT_SUCCESS
   2730 }
   2731 
   2732 $opt_help || {
   2733   test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
   2734 }
   2735 
   2736 func_mode_help ()
   2737 {
   2738     # We need to display help for each of the modes.
   2739     case $opt_mode in
   2740       "")
   2741         # Generic help is extracted from the usage comments
   2742         # at the start of this file.
   2743         func_help
   2744         ;;
   2745 
   2746       clean)
   2747         $ECHO \
   2748 "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
   2749 
   2750 Remove files from the build directory.
   2751 
   2752 RM is the name of the program to use to delete files associated with each FILE
   2753 (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
   2754 to RM.
   2755 
   2756 If FILE is a libtool library, object or program, all the files associated
   2757 with it are deleted. Otherwise, only FILE itself is deleted using RM."
   2758         ;;
   2759 
   2760       compile)
   2761       $ECHO \
   2762 "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
   2763 
   2764 Compile a source file into a libtool library object.
   2765 
   2766 This mode accepts the following additional options:
   2767 
   2768   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
   2769   -no-suppress      do not suppress compiler output for multiple passes
   2770   -prefer-pic       try to build PIC objects only
   2771   -prefer-non-pic   try to build non-PIC objects only
   2772   -shared           do not build a \`.o' file suitable for static linking
   2773   -static           only build a \`.o' file suitable for static linking
   2774   -Wc,FLAG          pass FLAG directly to the compiler
   2775 
   2776 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
   2777 from the given SOURCEFILE.
   2778 
   2779 The output file name is determined by removing the directory component from
   2780 SOURCEFILE, then substituting the C source code suffix \`.c' with the
   2781 library object suffix, \`.lo'."
   2782         ;;
   2783 
   2784       execute)
   2785         $ECHO \
   2786 "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
   2787 
   2788 Automatically set library path, then run a program.
   2789 
   2790 This mode accepts the following additional options:
   2791 
   2792   -dlopen FILE      add the directory containing FILE to the library path
   2793 
   2794 This mode sets the library path environment variable according to \`-dlopen'
   2795 flags.
   2796 
   2797 If any of the ARGS are libtool executable wrappers, then they are translated
   2798 into their corresponding uninstalled binary, and any of their required library
   2799 directories are added to the library path.
   2800 
   2801 Then, COMMAND is executed, with ARGS as arguments."
   2802         ;;
   2803 
   2804       finish)
   2805         $ECHO \
   2806 "Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
   2807 
   2808 Complete the installation of libtool libraries.
   2809 
   2810 Each LIBDIR is a directory that contains libtool libraries.
   2811 
   2812 The commands that this mode executes may require superuser privileges.  Use
   2813 the \`--dry-run' option if you just want to see what would be executed."
   2814         ;;
   2815 
   2816       install)
   2817         $ECHO \
   2818 "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
   2819 
   2820 Install executables or libraries.
   2821 
   2822 INSTALL-COMMAND is the installation command.  The first component should be
   2823 either the \`install' or \`cp' program.
   2824 
   2825 The following components of INSTALL-COMMAND are treated specially:
   2826 
   2827   -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
   2828 
   2829 The rest of the components are interpreted as arguments to that command (only
   2830 BSD-compatible install options are recognized)."
   2831         ;;
   2832 
   2833       link)
   2834         $ECHO \
   2835 "Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
   2836 
   2837 Link object files or libraries together to form another library, or to
   2838 create an executable program.
   2839 
   2840 LINK-COMMAND is a command using the C compiler that you would use to create
   2841 a program from several object files.
   2842 
   2843 The following components of LINK-COMMAND are treated specially:
   2844 
   2845   -all-static       do not do any dynamic linking at all
   2846   -avoid-version    do not add a version suffix if possible
   2847   -bindir BINDIR    specify path to binaries directory (for systems where
   2848                     libraries must be found in the PATH setting at runtime)
   2849   -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
   2850   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
   2851   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
   2852   -export-symbols SYMFILE
   2853                     try to export only the symbols listed in SYMFILE
   2854   -export-symbols-regex REGEX
   2855                     try to export only the symbols matching REGEX
   2856   -LLIBDIR          search LIBDIR for required installed libraries
   2857   -lNAME            OUTPUT-FILE requires the installed library libNAME
   2858   -module           build a library that can dlopened
   2859   -no-fast-install  disable the fast-install mode
   2860   -no-install       link a not-installable executable
   2861   -no-undefined     declare that a library does not refer to external symbols
   2862   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
   2863   -objectlist FILE  Use a list of object files found in FILE to specify objects
   2864   -precious-files-regex REGEX
   2865                     don't remove output files matching REGEX
   2866   -release RELEASE  specify package release information
   2867   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
   2868   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
   2869   -shared           only do dynamic linking of libtool libraries
   2870   -shrext SUFFIX    override the standard shared library file extension
   2871   -static           do not do any dynamic linking of uninstalled libtool libraries
   2872   -static-libtool-libs
   2873                     do not do any dynamic linking of libtool libraries
   2874   -version-info CURRENT[:REVISION[:AGE]]
   2875                     specify library version info [each variable defaults to 0]
   2876   -weak LIBNAME     declare that the target provides the LIBNAME interface
   2877   -Wc,FLAG
   2878   -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
   2879   -Wl,FLAG
   2880   -Xlinker FLAG     pass linker-specific FLAG directly to the linker
   2881   -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
   2882 
   2883 All other options (arguments beginning with \`-') are ignored.
   2884 
   2885 Every other argument is treated as a filename.  Files ending in \`.la' are
   2886 treated as uninstalled libtool libraries, other files are standard or library
   2887 object files.
   2888 
   2889 If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
   2890 only library objects (\`.lo' files) may be specified, and \`-rpath' is
   2891 required, except when creating a convenience library.
   2892 
   2893 If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
   2894 using \`ar' and \`ranlib', or on Windows using \`lib'.
   2895 
   2896 If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
   2897 is created, otherwise an executable program is created."
   2898         ;;
   2899 
   2900       uninstall)
   2901         $ECHO \
   2902 "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
   2903 
   2904 Remove libraries from an installation directory.
   2905 
   2906 RM is the name of the program to use to delete files associated with each FILE
   2907 (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
   2908 to RM.
   2909 
   2910 If FILE is a libtool library, all the files associated with it are deleted.
   2911 Otherwise, only FILE itself is deleted using RM."
   2912         ;;
   2913 
   2914       *)
   2915         func_fatal_help "invalid operation mode \`$opt_mode'"
   2916         ;;
   2917     esac
   2918 
   2919     echo
   2920     $ECHO "Try \`$progname --help' for more information about other modes."
   2921 }
   2922 
   2923 # Now that we've collected a possible --mode arg, show help if necessary
   2924 if $opt_help; then
   2925   if test "$opt_help" = :; then
   2926     func_mode_help
   2927   else
   2928     {
   2929       func_help noexit
   2930       for opt_mode in compile link execute install finish uninstall clean; do
   2931 	func_mode_help
   2932       done
   2933     } | sed -n '1p; 2,$s/^Usage:/  or: /p'
   2934     {
   2935       func_help noexit
   2936       for opt_mode in compile link execute install finish uninstall clean; do
   2937 	echo
   2938 	func_mode_help
   2939       done
   2940     } |
   2941     sed '1d
   2942       /^When reporting/,/^Report/{
   2943 	H
   2944 	d
   2945       }
   2946       $x
   2947       /information about other modes/d
   2948       /more detailed .*MODE/d
   2949       s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
   2950   fi
   2951   exit $?
   2952 fi
   2953 
   2954 
   2955 # func_mode_execute arg...
   2956 func_mode_execute ()
   2957 {
   2958     $opt_debug
   2959     # The first argument is the command name.
   2960     cmd="$nonopt"
   2961     test -z "$cmd" && \
   2962       func_fatal_help "you must specify a COMMAND"
   2963 
   2964     # Handle -dlopen flags immediately.
   2965     for file in $opt_dlopen; do
   2966       test -f "$file" \
   2967 	|| func_fatal_help "\`$file' is not a file"
   2968 
   2969       dir=
   2970       case $file in
   2971       *.la)
   2972 	func_resolve_sysroot "$file"
   2973 	file=$func_resolve_sysroot_result
   2974 
   2975 	# Check to see that this really is a libtool archive.
   2976 	func_lalib_unsafe_p "$file" \
   2977 	  || func_fatal_help "\`$lib' is not a valid libtool archive"
   2978 
   2979 	# Read the libtool library.
   2980 	dlname=
   2981 	library_names=
   2982 	func_source "$file"
   2983 
   2984 	# Skip this library if it cannot be dlopened.
   2985 	if test -z "$dlname"; then
   2986 	  # Warn if it was a shared library.
   2987 	  test -n "$library_names" && \
   2988 	    func_warning "\`$file' was not linked with \`-export-dynamic'"
   2989 	  continue
   2990 	fi
   2991 
   2992 	func_dirname "$file" "" "."
   2993 	dir="$func_dirname_result"
   2994 
   2995 	if test -f "$dir/$objdir/$dlname"; then
   2996 	  dir+="/$objdir"
   2997 	else
   2998 	  if test ! -f "$dir/$dlname"; then
   2999 	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
   3000 	  fi
   3001 	fi
   3002 	;;
   3003 
   3004       *.lo)
   3005 	# Just add the directory containing the .lo file.
   3006 	func_dirname "$file" "" "."
   3007 	dir="$func_dirname_result"
   3008 	;;
   3009 
   3010       *)
   3011 	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
   3012 	continue
   3013 	;;
   3014       esac
   3015 
   3016       # Get the absolute pathname.
   3017       absdir=`cd "$dir" && pwd`
   3018       test -n "$absdir" && dir="$absdir"
   3019 
   3020       # Now add the directory to shlibpath_var.
   3021       if eval "test -z \"\$$shlibpath_var\""; then
   3022 	eval "$shlibpath_var=\"\$dir\""
   3023       else
   3024 	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
   3025       fi
   3026     done
   3027 
   3028     # This variable tells wrapper scripts just to set shlibpath_var
   3029     # rather than running their programs.
   3030     libtool_execute_magic="$magic"
   3031 
   3032     # Check if any of the arguments is a wrapper script.
   3033     args=
   3034     for file
   3035     do
   3036       case $file in
   3037       -* | *.la | *.lo ) ;;
   3038       *)
   3039 	# Do a test to see if this is really a libtool program.
   3040 	if func_ltwrapper_script_p "$file"; then
   3041 	  func_source "$file"
   3042 	  # Transform arg to wrapped name.
   3043 	  file="$progdir/$program"
   3044 	elif func_ltwrapper_executable_p "$file"; then
   3045 	  func_ltwrapper_scriptname "$file"
   3046 	  func_source "$func_ltwrapper_scriptname_result"
   3047 	  # Transform arg to wrapped name.
   3048 	  file="$progdir/$program"
   3049 	fi
   3050 	;;
   3051       esac
   3052       # Quote arguments (to preserve shell metacharacters).
   3053       func_append_quoted args "$file"
   3054     done
   3055 
   3056     if test "X$opt_dry_run" = Xfalse; then
   3057       if test -n "$shlibpath_var"; then
   3058 	# Export the shlibpath_var.
   3059 	eval "export $shlibpath_var"
   3060       fi
   3061 
   3062       # Restore saved environment variables
   3063       for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
   3064       do
   3065 	eval "if test \"\${save_$lt_var+set}\" = set; then
   3066                 $lt_var=\$save_$lt_var; export $lt_var
   3067 	      else
   3068 		$lt_unset $lt_var
   3069 	      fi"
   3070       done
   3071 
   3072       # Now prepare to actually exec the command.
   3073       exec_cmd="\$cmd$args"
   3074     else
   3075       # Display what would be done.
   3076       if test -n "$shlibpath_var"; then
   3077 	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
   3078 	echo "export $shlibpath_var"
   3079       fi
   3080       $ECHO "$cmd$args"
   3081       exit $EXIT_SUCCESS
   3082     fi
   3083 }
   3084 
   3085 test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
   3086 
   3087 
   3088 # func_mode_finish arg...
   3089 func_mode_finish ()
   3090 {
   3091     $opt_debug
   3092     libs=
   3093     libdirs=
   3094     admincmds=
   3095 
   3096     for opt in "$nonopt" ${1+"$@"}
   3097     do
   3098       if test -d "$opt"; then
   3099 	libdirs+=" $opt"
   3100 
   3101       elif test -f "$opt"; then
   3102 	if func_lalib_unsafe_p "$opt"; then
   3103 	  libs+=" $opt"
   3104 	else
   3105 	  func_warning "\`$opt' is not a valid libtool archive"
   3106 	fi
   3107 
   3108       else
   3109 	func_fatal_error "invalid argument \`$opt'"
   3110       fi
   3111     done
   3112 
   3113     if test -n "$libs"; then
   3114       if test -n "$lt_sysroot"; then
   3115         sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
   3116         sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
   3117       else
   3118         sysroot_cmd=
   3119       fi
   3120 
   3121       # Remove sysroot references
   3122       if $opt_dry_run; then
   3123         for lib in $libs; do
   3124           echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
   3125         done
   3126       else
   3127         tmpdir=`func_mktempdir`
   3128         for lib in $libs; do
   3129 	  sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
   3130 	    > $tmpdir/tmp-la
   3131 	  mv -f $tmpdir/tmp-la $lib
   3132 	done
   3133         ${RM}r "$tmpdir"
   3134       fi
   3135     fi
   3136 
   3137     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
   3138       for libdir in $libdirs; do
   3139 	if test -n "$finish_cmds"; then
   3140 	  # Do each command in the finish commands.
   3141 	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
   3142 '"$cmd"'"'
   3143 	fi
   3144 	if test -n "$finish_eval"; then
   3145 	  # Do the single finish_eval.
   3146 	  eval cmds=\"$finish_eval\"
   3147 	  $opt_dry_run || eval "$cmds" || admincmds+="
   3148        $cmds"
   3149 	fi
   3150       done
   3151     fi
   3152 
   3153     # Exit here if they wanted silent mode.
   3154     $opt_silent && exit $EXIT_SUCCESS
   3155 
   3156     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
   3157       echo "----------------------------------------------------------------------"
   3158       echo "Libraries have been installed in:"
   3159       for libdir in $libdirs; do
   3160 	$ECHO "   $libdir"
   3161       done
   3162       echo
   3163       echo "If you ever happen to want to link against installed libraries"
   3164       echo "in a given directory, LIBDIR, you must either use libtool, and"
   3165       echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
   3166       echo "flag during linking and do at least one of the following:"
   3167       if test -n "$shlibpath_var"; then
   3168 	echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
   3169 	echo "     during execution"
   3170       fi
   3171       if test -n "$runpath_var"; then
   3172 	echo "   - add LIBDIR to the \`$runpath_var' environment variable"
   3173 	echo "     during linking"
   3174       fi
   3175       if test -n "$hardcode_libdir_flag_spec"; then
   3176 	libdir=LIBDIR
   3177 	eval flag=\"$hardcode_libdir_flag_spec\"
   3178 
   3179 	$ECHO "   - use the \`$flag' linker flag"
   3180       fi
   3181       if test -n "$admincmds"; then
   3182 	$ECHO "   - have your system administrator run these commands:$admincmds"
   3183       fi
   3184       if test -f /etc/ld.so.conf; then
   3185 	echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
   3186       fi
   3187       echo
   3188 
   3189       echo "See any operating system documentation about shared libraries for"
   3190       case $host in
   3191 	solaris2.[6789]|solaris2.1[0-9])
   3192 	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
   3193 	  echo "pages."
   3194 	  ;;
   3195 	*)
   3196 	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
   3197 	  ;;
   3198       esac
   3199       echo "----------------------------------------------------------------------"
   3200     fi
   3201     exit $EXIT_SUCCESS
   3202 }
   3203 
   3204 test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
   3205 
   3206 
   3207 # func_mode_install arg...
   3208 func_mode_install ()
   3209 {
   3210     $opt_debug
   3211     # There may be an optional sh(1) argument at the beginning of
   3212     # install_prog (especially on Windows NT).
   3213     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
   3214        # Allow the use of GNU shtool's install command.
   3215        case $nonopt in *shtool*) :;; *) false;; esac; then
   3216       # Aesthetically quote it.
   3217       func_quote_for_eval "$nonopt"
   3218       install_prog="$func_quote_for_eval_result "
   3219       arg=$1
   3220       shift
   3221     else
   3222       install_prog=
   3223       arg=$nonopt
   3224     fi
   3225 
   3226     # The real first argument should be the name of the installation program.
   3227     # Aesthetically quote it.
   3228     func_quote_for_eval "$arg"
   3229     install_prog+="$func_quote_for_eval_result"
   3230     install_shared_prog=$install_prog
   3231     case " $install_prog " in
   3232       *[\\\ /]cp\ *) install_cp=: ;;
   3233       *) install_cp=false ;;
   3234     esac
   3235 
   3236     # We need to accept at least all the BSD install flags.
   3237     dest=
   3238     files=
   3239     opts=
   3240     prev=
   3241     install_type=
   3242     isdir=no
   3243     stripme=
   3244     no_mode=:
   3245     for arg
   3246     do
   3247       arg2=
   3248       if test -n "$dest"; then
   3249 	files+=" $dest"
   3250 	dest=$arg
   3251 	continue
   3252       fi
   3253 
   3254       case $arg in
   3255       -d) isdir=yes ;;
   3256       -f)
   3257 	if $install_cp; then :; else
   3258 	  prev=$arg
   3259 	fi
   3260 	;;
   3261       -g | -m | -o)
   3262 	prev=$arg
   3263 	;;
   3264       -s)
   3265 	stripme=" -s"
   3266 	continue
   3267 	;;
   3268       -*)
   3269 	;;
   3270       *)
   3271 	# If the previous option needed an argument, then skip it.
   3272 	if test -n "$prev"; then
   3273 	  if test "x$prev" = x-m && test -n "$install_override_mode"; then
   3274 	    arg2=$install_override_mode
   3275 	    no_mode=false
   3276 	  fi
   3277 	  prev=
   3278 	else
   3279 	  dest=$arg
   3280 	  continue
   3281 	fi
   3282 	;;
   3283       esac
   3284 
   3285       # Aesthetically quote the argument.
   3286       func_quote_for_eval "$arg"
   3287       install_prog+=" $func_quote_for_eval_result"
   3288       if test -n "$arg2"; then
   3289 	func_quote_for_eval "$arg2"
   3290       fi
   3291       install_shared_prog+=" $func_quote_for_eval_result"
   3292     done
   3293 
   3294     test -z "$install_prog" && \
   3295       func_fatal_help "you must specify an install program"
   3296 
   3297     test -n "$prev" && \
   3298       func_fatal_help "the \`$prev' option requires an argument"
   3299 
   3300     if test -n "$install_override_mode" && $no_mode; then
   3301       if $install_cp; then :; else
   3302 	func_quote_for_eval "$install_override_mode"
   3303 	install_shared_prog+=" -m $func_quote_for_eval_result"
   3304       fi
   3305     fi
   3306 
   3307     if test -z "$files"; then
   3308       if test -z "$dest"; then
   3309 	func_fatal_help "no file or destination specified"
   3310       else
   3311 	func_fatal_help "you must specify a destination"
   3312       fi
   3313     fi
   3314 
   3315     # Strip any trailing slash from the destination.
   3316     func_stripname '' '/' "$dest"
   3317     dest=$func_stripname_result
   3318 
   3319     # Check to see that the destination is a directory.
   3320     test -d "$dest" && isdir=yes
   3321     if test "$isdir" = yes; then
   3322       destdir="$dest"
   3323       destname=
   3324     else
   3325       func_dirname_and_basename "$dest" "" "."
   3326       destdir="$func_dirname_result"
   3327       destname="$func_basename_result"
   3328 
   3329       # Not a directory, so check to see that there is only one file specified.
   3330       set dummy $files; shift
   3331       test "$#" -gt 1 && \
   3332 	func_fatal_help "\`$dest' is not a directory"
   3333     fi
   3334     case $destdir in
   3335     [\\/]* | [A-Za-z]:[\\/]*) ;;
   3336     *)
   3337       for file in $files; do
   3338 	case $file in
   3339 	*.lo) ;;
   3340 	*)
   3341 	  func_fatal_help "\`$destdir' must be an absolute directory name"
   3342 	  ;;
   3343 	esac
   3344       done
   3345       ;;
   3346     esac
   3347 
   3348     # This variable tells wrapper scripts just to set variables rather
   3349     # than running their programs.
   3350     libtool_install_magic="$magic"
   3351 
   3352     staticlibs=
   3353     future_libdirs=
   3354     current_libdirs=
   3355     for file in $files; do
   3356 
   3357       # Do each installation.
   3358       case $file in
   3359       *.$libext)
   3360 	# Do the static libraries later.
   3361 	staticlibs+=" $file"
   3362 	;;
   3363 
   3364       *.la)
   3365 	func_resolve_sysroot "$file"
   3366 	file=$func_resolve_sysroot_result
   3367 
   3368 	# Check to see that this really is a libtool archive.
   3369 	func_lalib_unsafe_p "$file" \
   3370 	  || func_fatal_help "\`$file' is not a valid libtool archive"
   3371 
   3372 	library_names=
   3373 	old_library=
   3374 	relink_command=
   3375 	func_source "$file"
   3376 
   3377 	# Add the libdir to current_libdirs if it is the destination.
   3378 	if test "X$destdir" = "X$libdir"; then
   3379 	  case "$current_libdirs " in
   3380 	  *" $libdir "*) ;;
   3381 	  *) current_libdirs+=" $libdir" ;;
   3382 	  esac
   3383 	else
   3384 	  # Note the libdir as a future libdir.
   3385 	  case "$future_libdirs " in
   3386 	  *" $libdir "*) ;;
   3387 	  *) future_libdirs+=" $libdir" ;;
   3388 	  esac
   3389 	fi
   3390 
   3391 	func_dirname "$file" "/" ""
   3392 	dir="$func_dirname_result"
   3393 	dir+="$objdir"
   3394 
   3395 	if test -n "$relink_command"; then
   3396 	  # Determine the prefix the user has applied to our future dir.
   3397 	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
   3398 
   3399 	  # Don't allow the user to place us outside of our expected
   3400 	  # location b/c this prevents finding dependent libraries that
   3401 	  # are installed to the same prefix.
   3402 	  # At present, this check doesn't affect windows .dll's that
   3403 	  # are installed into $libdir/../bin (currently, that works fine)
   3404 	  # but it's something to keep an eye on.
   3405 	  test "$inst_prefix_dir" = "$destdir" && \
   3406 	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
   3407 
   3408 	  if test -n "$inst_prefix_dir"; then
   3409 	    # Stick the inst_prefix_dir data into the link command.
   3410 	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
   3411 	  else
   3412 	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
   3413 	  fi
   3414 
   3415 	  func_warning "relinking \`$file'"
   3416 	  func_show_eval "$relink_command" \
   3417 	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
   3418 	fi
   3419 
   3420 	# See the names of the shared library.
   3421 	set dummy $library_names; shift
   3422 	if test -n "$1"; then
   3423 	  realname="$1"
   3424 	  shift
   3425 
   3426 	  srcname="$realname"
   3427 	  test -n "$relink_command" && srcname="$realname"T
   3428 
   3429 	  # Install the shared library and build the symlinks.
   3430 	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
   3431 	      'exit $?'
   3432 	  tstripme="$stripme"
   3433 	  case $host_os in
   3434 	  cygwin* | mingw* | pw32* | cegcc*)
   3435 	    case $realname in
   3436 	    *.dll.a)
   3437 	      tstripme=""
   3438 	      ;;
   3439 	    esac
   3440 	    ;;
   3441 	  esac
   3442 	  if test -n "$tstripme" && test -n "$striplib"; then
   3443 	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
   3444 	  fi
   3445 
   3446 	  if test "$#" -gt 0; then
   3447 	    # Delete the old symlinks, and create new ones.
   3448 	    # Try `ln -sf' first, because the `ln' binary might depend on
   3449 	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
   3450 	    # so we also need to try rm && ln -s.
   3451 	    for linkname
   3452 	    do
   3453 	      test "$linkname" != "$realname" \
   3454 		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
   3455 	    done
   3456 	  fi
   3457 
   3458 	  # Do each command in the postinstall commands.
   3459 	  lib="$destdir/$realname"
   3460 	  func_execute_cmds "$postinstall_cmds" 'exit $?'
   3461 	fi
   3462 
   3463 	# Install the pseudo-library for information purposes.
   3464 	func_basename "$file"
   3465 	name="$func_basename_result"
   3466 	instname="$dir/$name"i
   3467 	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
   3468 
   3469 	# Maybe install the static library, too.
   3470 	test -n "$old_library" && staticlibs+=" $dir/$old_library"
   3471 	;;
   3472 
   3473       *.lo)
   3474 	# Install (i.e. copy) a libtool object.
   3475 
   3476 	# Figure out destination file name, if it wasn't already specified.
   3477 	if test -n "$destname"; then
   3478 	  destfile="$destdir/$destname"
   3479 	else
   3480 	  func_basename "$file"
   3481 	  destfile="$func_basename_result"
   3482 	  destfile="$destdir/$destfile"
   3483 	fi
   3484 
   3485 	# Deduce the name of the destination old-style object file.
   3486 	case $destfile in
   3487 	*.lo)
   3488 	  func_lo2o "$destfile"
   3489 	  staticdest=$func_lo2o_result
   3490 	  ;;
   3491 	*.$objext)
   3492 	  staticdest="$destfile"
   3493 	  destfile=
   3494 	  ;;
   3495 	*)
   3496 	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
   3497 	  ;;
   3498 	esac
   3499 
   3500 	# Install the libtool object if requested.
   3501 	test -n "$destfile" && \
   3502 	  func_show_eval "$install_prog $file $destfile" 'exit $?'
   3503 
   3504 	# Install the old object if enabled.
   3505 	if test "$build_old_libs" = yes; then
   3506 	  # Deduce the name of the old-style object file.
   3507 	  func_lo2o "$file"
   3508 	  staticobj=$func_lo2o_result
   3509 	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
   3510 	fi
   3511 	exit $EXIT_SUCCESS
   3512 	;;
   3513 
   3514       *)
   3515 	# Figure out destination file name, if it wasn't already specified.
   3516 	if test -n "$destname"; then
   3517 	  destfile="$destdir/$destname"
   3518 	else
   3519 	  func_basename "$file"
   3520 	  destfile="$func_basename_result"
   3521 	  destfile="$destdir/$destfile"
   3522 	fi
   3523 
   3524 	# If the file is missing, and there is a .exe on the end, strip it
   3525 	# because it is most likely a libtool script we actually want to
   3526 	# install
   3527 	stripped_ext=""
   3528 	case $file in
   3529 	  *.exe)
   3530 	    if test ! -f "$file"; then
   3531 	      func_stripname '' '.exe' "$file"
   3532 	      file=$func_stripname_result
   3533 	      stripped_ext=".exe"
   3534 	    fi
   3535 	    ;;
   3536 	esac
   3537 
   3538 	# Do a test to see if this is really a libtool program.
   3539 	case $host in
   3540 	*cygwin* | *mingw*)
   3541 	    if func_ltwrapper_executable_p "$file"; then
   3542 	      func_ltwrapper_scriptname "$file"
   3543 	      wrapper=$func_ltwrapper_scriptname_result
   3544 	    else
   3545 	      func_stripname '' '.exe' "$file"
   3546 	      wrapper=$func_stripname_result
   3547 	    fi
   3548 	    ;;
   3549 	*)
   3550 	    wrapper=$file
   3551 	    ;;
   3552 	esac
   3553 	if func_ltwrapper_script_p "$wrapper"; then
   3554 	  notinst_deplibs=
   3555 	  relink_command=
   3556 
   3557 	  func_source "$wrapper"
   3558 
   3559 	  # Check the variables that should have been set.
   3560 	  test -z "$generated_by_libtool_version" && \
   3561 	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
   3562 
   3563 	  finalize=yes
   3564 	  for lib in $notinst_deplibs; do
   3565 	    # Check to see that each library is installed.
   3566 	    libdir=
   3567 	    if test -f "$lib"; then
   3568 	      func_source "$lib"
   3569 	    fi
   3570 	    libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
   3571 	    if test -n "$libdir" && test ! -f "$libfile"; then
   3572 	      func_warning "\`$lib' has not been installed in \`$libdir'"
   3573 	      finalize=no
   3574 	    fi
   3575 	  done
   3576 
   3577 	  relink_command=
   3578 	  func_source "$wrapper"
   3579 
   3580 	  outputname=
   3581 	  if test "$fast_install" = no && test -n "$relink_command"; then
   3582 	    $opt_dry_run || {
   3583 	      if test "$finalize" = yes; then
   3584 	        tmpdir=`func_mktempdir`
   3585 		func_basename "$file$stripped_ext"
   3586 		file="$func_basename_result"
   3587 	        outputname="$tmpdir/$file"
   3588 	        # Replace the output file specification.
   3589 	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
   3590 
   3591 	        $opt_silent || {
   3592 	          func_quote_for_expand "$relink_command"
   3593 		  eval "func_echo $func_quote_for_expand_result"
   3594 	        }
   3595 	        if eval "$relink_command"; then :
   3596 	          else
   3597 		  func_error "error: relink \`$file' with the above command before installing it"
   3598 		  $opt_dry_run || ${RM}r "$tmpdir"
   3599 		  continue
   3600 	        fi
   3601 	        file="$outputname"
   3602 	      else
   3603 	        func_warning "cannot relink \`$file'"
   3604 	      fi
   3605 	    }
   3606 	  else
   3607 	    # Install the binary that we compiled earlier.
   3608 	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
   3609 	  fi
   3610 	fi
   3611 
   3612 	# remove .exe since cygwin /usr/bin/install will append another
   3613 	# one anyway
   3614 	case $install_prog,$host in
   3615 	*/usr/bin/install*,*cygwin*)
   3616 	  case $file:$destfile in
   3617 	  *.exe:*.exe)
   3618 	    # this is ok
   3619 	    ;;
   3620 	  *.exe:*)
   3621 	    destfile=$destfile.exe
   3622 	    ;;
   3623 	  *:*.exe)
   3624 	    func_stripname '' '.exe' "$destfile"
   3625 	    destfile=$func_stripname_result
   3626 	    ;;
   3627 	  esac
   3628 	  ;;
   3629 	esac
   3630 	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
   3631 	$opt_dry_run || if test -n "$outputname"; then
   3632 	  ${RM}r "$tmpdir"
   3633 	fi
   3634 	;;
   3635       esac
   3636     done
   3637 
   3638     for file in $staticlibs; do
   3639       func_basename "$file"
   3640       name="$func_basename_result"
   3641 
   3642       # Set up the ranlib parameters.
   3643       oldlib="$destdir/$name"
   3644 
   3645       func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
   3646 
   3647       if test -n "$stripme" && test -n "$old_striplib"; then
   3648 	func_show_eval "$old_striplib $oldlib" 'exit $?'
   3649       fi
   3650 
   3651       # Do each command in the postinstall commands.
   3652       func_execute_cmds "$old_postinstall_cmds" 'exit $?'
   3653     done
   3654 
   3655     test -n "$future_libdirs" && \
   3656       func_warning "remember to run \`$progname --finish$future_libdirs'"
   3657 
   3658     if test -n "$current_libdirs"; then
   3659       # Maybe just do a dry run.
   3660       $opt_dry_run && current_libdirs=" -n$current_libdirs"
   3661       exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
   3662     else
   3663       exit $EXIT_SUCCESS
   3664     fi
   3665 }
   3666 
   3667 test "$opt_mode" = install && func_mode_install ${1+"$@"}
   3668 
   3669 
   3670 # func_generate_dlsyms outputname originator pic_p
   3671 # Extract symbols from dlprefiles and create ${outputname}S.o with
   3672 # a dlpreopen symbol table.
   3673 func_generate_dlsyms ()
   3674 {
   3675     $opt_debug
   3676     my_outputname="$1"
   3677     my_originator="$2"
   3678     my_pic_p="${3-no}"
   3679     my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
   3680     my_dlsyms=
   3681 
   3682     if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
   3683       if test -n "$NM" && test -n "$global_symbol_pipe"; then
   3684 	my_dlsyms="${my_outputname}S.c"
   3685       else
   3686 	func_error "not configured to extract global symbols from dlpreopened files"
   3687       fi
   3688     fi
   3689 
   3690     if test -n "$my_dlsyms"; then
   3691       case $my_dlsyms in
   3692       "") ;;
   3693       *.c)
   3694 	# Discover the nlist of each of the dlfiles.
   3695 	nlist="$output_objdir/${my_outputname}.nm"
   3696 
   3697 	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
   3698 
   3699 	# Parse the name list into a source file.
   3700 	func_verbose "creating $output_objdir/$my_dlsyms"
   3701 
   3702 	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
   3703 /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
   3704 /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
   3705 
   3706 #ifdef __cplusplus
   3707 extern \"C\" {
   3708 #endif
   3709 
   3710 #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
   3711 #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
   3712 #endif
   3713 
   3714 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
   3715 #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
   3716 /* DATA imports from DLLs on WIN32 con't be const, because runtime
   3717    relocations are performed -- see ld's documentation on pseudo-relocs.  */
   3718 # define LT_DLSYM_CONST
   3719 #elif defined(__osf__)
   3720 /* This system does not cope well with relocations in const data.  */
   3721 # define LT_DLSYM_CONST
   3722 #else
   3723 # define LT_DLSYM_CONST const
   3724 #endif
   3725 
   3726 /* External symbol declarations for the compiler. */\
   3727 "
   3728 
   3729 	if test "$dlself" = yes; then
   3730 	  func_verbose "generating symbol list for \`$output'"
   3731 
   3732 	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
   3733 
   3734 	  # Add our own program objects to the symbol list.
   3735 	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
   3736 	  for progfile in $progfiles; do
   3737 	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
   3738 	    func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
   3739 	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
   3740 	  done
   3741 
   3742 	  if test -n "$exclude_expsyms"; then
   3743 	    $opt_dry_run || {
   3744 	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
   3745 	      eval '$MV "$nlist"T "$nlist"'
   3746 	    }
   3747 	  fi
   3748 
   3749 	  if test -n "$export_symbols_regex"; then
   3750 	    $opt_dry_run || {
   3751 	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
   3752 	      eval '$MV "$nlist"T "$nlist"'
   3753 	    }
   3754 	  fi
   3755 
   3756 	  # Prepare the list of exported symbols
   3757 	  if test -z "$export_symbols"; then
   3758 	    export_symbols="$output_objdir/$outputname.exp"
   3759 	    $opt_dry_run || {
   3760 	      $RM $export_symbols
   3761 	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
   3762 	      case $host in
   3763 	      *cygwin* | *mingw* | *cegcc* )
   3764                 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
   3765                 eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
   3766 	        ;;
   3767 	      esac
   3768 	    }
   3769 	  else
   3770 	    $opt_dry_run || {
   3771 	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
   3772 	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
   3773 	      eval '$MV "$nlist"T "$nlist"'
   3774 	      case $host in
   3775 	        *cygwin* | *mingw* | *cegcc* )
   3776 	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
   3777 	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
   3778 	          ;;
   3779 	      esac
   3780 	    }
   3781 	  fi
   3782 	fi
   3783 
   3784 	for dlprefile in $dlprefiles; do
   3785 	  func_verbose "extracting global C symbols from \`$dlprefile'"
   3786 	  func_basename "$dlprefile"
   3787 	  name="$func_basename_result"
   3788           case $host in
   3789 	    *cygwin* | *mingw* | *cegcc* )
   3790 	      # if an import library, we need to obtain dlname
   3791 	      if func_win32_import_lib_p "$dlprefile"; then
   3792 	        func_tr_sh "$dlprefile"
   3793 	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
   3794 	        dlprefile_dlbasename=""
   3795 	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
   3796 	          # Use subshell, to avoid clobbering current variable values
   3797 	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
   3798 	          if test -n "$dlprefile_dlname" ; then
   3799 	            func_basename "$dlprefile_dlname"
   3800 	            dlprefile_dlbasename="$func_basename_result"
   3801 	          else
   3802 	            # no lafile. user explicitly requested -dlpreopen <import library>.
   3803 	            $sharedlib_from_linklib_cmd "$dlprefile"
   3804 	            dlprefile_dlbasename=$sharedlib_from_linklib_result
   3805 	          fi
   3806 	        fi
   3807 	        $opt_dry_run || {
   3808 	          if test -n "$dlprefile_dlbasename" ; then
   3809 	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
   3810 	          else
   3811 	            func_warning "Could not compute DLL name from $name"
   3812 	            eval '$ECHO ": $name " >> "$nlist"'
   3813 	          fi
   3814 	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
   3815 	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
   3816 	            $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
   3817 	        }
   3818 	      else # not an import lib
   3819 	        $opt_dry_run || {
   3820 	          eval '$ECHO ": $name " >> "$nlist"'
   3821 	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
   3822 	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
   3823 	        }
   3824 	      fi
   3825 	    ;;
   3826 	    *)
   3827 	      $opt_dry_run || {
   3828 	        eval '$ECHO ": $name " >> "$nlist"'
   3829 	        func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
   3830 	        eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
   3831 	      }
   3832 	    ;;
   3833           esac
   3834 	done
   3835 
   3836 	$opt_dry_run || {
   3837 	  # Make sure we have at least an empty file.
   3838 	  test -f "$nlist" || : > "$nlist"
   3839 
   3840 	  if test -n "$exclude_expsyms"; then
   3841 	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
   3842 	    $MV "$nlist"T "$nlist"
   3843 	  fi
   3844 
   3845 	  # Try sorting and uniquifying the output.
   3846 	  if $GREP -v "^: " < "$nlist" |
   3847 	      if sort -k 3 </dev/null >/dev/null 2>&1; then
   3848 		sort -k 3
   3849 	      else
   3850 		sort +2
   3851 	      fi |
   3852 	      uniq > "$nlist"S; then
   3853 	    :
   3854 	  else
   3855 	    $GREP -v "^: " < "$nlist" > "$nlist"S
   3856 	  fi
   3857 
   3858 	  if test -f "$nlist"S; then
   3859 	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
   3860 	  else
   3861 	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
   3862 	  fi
   3863 
   3864 	  echo >> "$output_objdir/$my_dlsyms" "\
   3865 
   3866 /* The mapping between symbol names and symbols.  */
   3867 typedef struct {
   3868   const char *name;
   3869   void *address;
   3870 } lt_dlsymlist;
   3871 extern LT_DLSYM_CONST lt_dlsymlist
   3872 lt_${my_prefix}_LTX_preloaded_symbols[];
   3873 LT_DLSYM_CONST lt_dlsymlist
   3874 lt_${my_prefix}_LTX_preloaded_symbols[] =
   3875 {\
   3876   { \"$my_originator\", (void *) 0 },"
   3877 
   3878 	  case $need_lib_prefix in
   3879 	  no)
   3880 	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
   3881 	    ;;
   3882 	  *)
   3883 	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
   3884 	    ;;
   3885 	  esac
   3886 	  echo >> "$output_objdir/$my_dlsyms" "\
   3887   {0, (void *) 0}
   3888 };
   3889 
   3890 /* This works around a problem in FreeBSD linker */
   3891 #ifdef FREEBSD_WORKAROUND
   3892 static const void *lt_preloaded_setup() {
   3893   return lt_${my_prefix}_LTX_preloaded_symbols;
   3894 }
   3895 #endif
   3896 
   3897 #ifdef __cplusplus
   3898 }
   3899 #endif\
   3900 "
   3901 	} # !$opt_dry_run
   3902 
   3903 	pic_flag_for_symtable=
   3904 	case "$compile_command " in
   3905 	*" -static "*) ;;
   3906 	*)
   3907 	  case $host in
   3908 	  # compiling the symbol table file with pic_flag works around
   3909 	  # a FreeBSD bug that causes programs to crash when -lm is
   3910 	  # linked before any other PIC object.  But we must not use
   3911 	  # pic_flag when linking with -static.  The problem exists in
   3912 	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
   3913 	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
   3914 	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
   3915 	  *-*-hpux*)
   3916 	    pic_flag_for_symtable=" $pic_flag"  ;;
   3917 	  *)
   3918 	    if test "X$my_pic_p" != Xno; then
   3919 	      pic_flag_for_symtable=" $pic_flag"
   3920 	    fi
   3921 	    ;;
   3922 	  esac
   3923 	  ;;
   3924 	esac
   3925 	symtab_cflags=
   3926 	for arg in $LTCFLAGS; do
   3927 	  case $arg in
   3928 	  -pie | -fpie | -fPIE) ;;
   3929 	  *) symtab_cflags+=" $arg" ;;
   3930 	  esac
   3931 	done
   3932 
   3933 	# Now compile the dynamic symbol file.
   3934 	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
   3935 
   3936 	# Clean up the generated files.
   3937 	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
   3938 
   3939 	# Transform the symbol file into the correct name.
   3940 	symfileobj="$output_objdir/${my_outputname}S.$objext"
   3941 	case $host in
   3942 	*cygwin* | *mingw* | *cegcc* )
   3943 	  if test -f "$output_objdir/$my_outputname.def"; then
   3944 	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
   3945 	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
   3946 	  else
   3947 	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
   3948 	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
   3949 	  fi
   3950 	  ;;
   3951 	*)
   3952 	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
   3953 	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
   3954 	  ;;
   3955 	esac
   3956 	;;
   3957       *)
   3958 	func_fatal_error "unknown suffix for \`$my_dlsyms'"
   3959 	;;
   3960       esac
   3961     else
   3962       # We keep going just in case the user didn't refer to
   3963       # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
   3964       # really was required.
   3965 
   3966       # Nullify the symbol file.
   3967       compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
   3968       finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
   3969     fi
   3970 }
   3971 
   3972 # func_win32_libid arg
   3973 # return the library type of file 'arg'
   3974 #
   3975 # Need a lot of goo to handle *both* DLLs and import libs
   3976 # Has to be a shell function in order to 'eat' the argument
   3977 # that is supplied when $file_magic_command is called.
   3978 # Despite the name, also deal with 64 bit binaries.
   3979 func_win32_libid ()
   3980 {
   3981   $opt_debug
   3982   win32_libid_type="unknown"
   3983   win32_fileres=`file -L $1 2>/dev/null`
   3984   case $win32_fileres in
   3985   *ar\ archive\ import\ library*) # definitely import
   3986     win32_libid_type="x86 archive import"
   3987     ;;
   3988   *ar\ archive*) # could be an import, or static
   3989     # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
   3990     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
   3991        $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
   3992       func_to_tool_file "$1" func_convert_file_msys_to_w32
   3993       win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
   3994 	$SED -n -e '
   3995 	    1,100{
   3996 		/ I /{
   3997 		    s,.*,import,
   3998 		    p
   3999 		    q
   4000 		}
   4001 	    }'`
   4002       case $win32_nmres in
   4003       import*)  win32_libid_type="x86 archive import";;
   4004       *)        win32_libid_type="x86 archive static";;
   4005       esac
   4006     fi
   4007     ;;
   4008   *DLL*)
   4009     win32_libid_type="x86 DLL"
   4010     ;;
   4011   *executable*) # but shell scripts are "executable" too...
   4012     case $win32_fileres in
   4013     *MS\ Windows\ PE\ Intel*)
   4014       win32_libid_type="x86 DLL"
   4015       ;;
   4016     esac
   4017     ;;
   4018   esac
   4019   $ECHO "$win32_libid_type"
   4020 }
   4021 
   4022 # func_cygming_dll_for_implib ARG
   4023 #
   4024 # Platform-specific function to extract the
   4025 # name of the DLL associated with the specified
   4026 # import library ARG.
   4027 # Invoked by eval'ing the libtool variable
   4028 #    $sharedlib_from_linklib_cmd
   4029 # Result is available in the variable
   4030 #    $sharedlib_from_linklib_result
   4031 func_cygming_dll_for_implib ()
   4032 {
   4033   $opt_debug
   4034   sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
   4035 }
   4036 
   4037 # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
   4038 #
   4039 # The is the core of a fallback implementation of a
   4040 # platform-specific function to extract the name of the
   4041 # DLL associated with the specified import library LIBNAME.
   4042 #
   4043 # SECTION_NAME is either .idata$6 or .idata$7, depending
   4044 # on the platform and compiler that created the implib.
   4045 #
   4046 # Echos the name of the DLL associated with the
   4047 # specified import library.
   4048 func_cygming_dll_for_implib_fallback_core ()
   4049 {
   4050   $opt_debug
   4051   match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
   4052   $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
   4053     $SED '/^Contents of section '"$match_literal"':/{
   4054       # Place marker at beginning of archive member dllname section
   4055       s/.*/====MARK====/
   4056       p
   4057       d
   4058     }
   4059     # These lines can sometimes be longer than 43 characters, but
   4060     # are always uninteresting
   4061     /:[	 ]*file format pe[i]\{,1\}-/d
   4062     /^In archive [^:]*:/d
   4063     # Ensure marker is printed
   4064     /^====MARK====/p
   4065     # Remove all lines with less than 43 characters
   4066     /^.\{43\}/!d
   4067     # From remaining lines, remove first 43 characters
   4068     s/^.\{43\}//' |
   4069     $SED -n '
   4070       # Join marker and all lines until next marker into a single line
   4071       /^====MARK====/ b para
   4072       H
   4073       $ b para
   4074       b
   4075       :para
   4076       x
   4077       s/\n//g
   4078       # Remove the marker
   4079       s/^====MARK====//
   4080       # Remove trailing dots and whitespace
   4081       s/[\. \t]*$//
   4082       # Print
   4083       /./p' |
   4084     # we now have a list, one entry per line, of the stringified
   4085     # contents of the appropriate section of all members of the
   4086     # archive which possess that section. Heuristic: eliminate
   4087     # all those which have a first or second character that is
   4088     # a '.' (that is, objdump's representation of an unprintable
   4089     # character.) This should work for all archives with less than
   4090     # 0x302f exports -- but will fail for DLLs whose name actually
   4091     # begins with a literal '.' or a single character followed by
   4092     # a '.'.
   4093     #
   4094     # Of those that remain, print the first one.
   4095     $SED -e '/^\./d;/^.\./d;q'
   4096 }
   4097 
   4098 # func_cygming_gnu_implib_p ARG
   4099 # This predicate returns with zero status (TRUE) if
   4100 # ARG is a GNU/binutils-style import library. Returns
   4101 # with nonzero status (FALSE) otherwise.
   4102 func_cygming_gnu_implib_p ()
   4103 {
   4104   $opt_debug
   4105   func_to_tool_file "$1" func_convert_file_msys_to_w32
   4106   func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
   4107   test -n "$func_cygming_gnu_implib_tmp"
   4108 }
   4109 
   4110 # func_cygming_ms_implib_p ARG
   4111 # This predicate returns with zero status (TRUE) if
   4112 # ARG is an MS-style import library. Returns
   4113 # with nonzero status (FALSE) otherwise.
   4114 func_cygming_ms_implib_p ()
   4115 {
   4116   $opt_debug
   4117   func_to_tool_file "$1" func_convert_file_msys_to_w32
   4118   func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
   4119   test -n "$func_cygming_ms_implib_tmp"
   4120 }
   4121 
   4122 # func_cygming_dll_for_implib_fallback ARG
   4123 # Platform-specific function to extract the
   4124 # name of the DLL associated with the specified
   4125 # import library ARG.
   4126 #
   4127 # This fallback implementation is for use when $DLLTOOL
   4128 # does not support the --identify-strict option.
   4129 # Invoked by eval'ing the libtool variable
   4130 #    $sharedlib_from_linklib_cmd
   4131 # Result is available in the variable
   4132 #    $sharedlib_from_linklib_result
   4133 func_cygming_dll_for_implib_fallback ()
   4134 {
   4135   $opt_debug
   4136   if func_cygming_gnu_implib_p "$1" ; then
   4137     # binutils import library
   4138     sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
   4139   elif func_cygming_ms_implib_p "$1" ; then
   4140     # ms-generated import library
   4141     sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
   4142   else
   4143     # unknown
   4144     sharedlib_from_linklib_result=""
   4145   fi
   4146 }
   4147 
   4148 
   4149 # func_extract_an_archive dir oldlib
   4150 func_extract_an_archive ()
   4151 {
   4152     $opt_debug
   4153     f_ex_an_ar_dir="$1"; shift
   4154     f_ex_an_ar_oldlib="$1"
   4155     if test "$lock_old_archive_extraction" = yes; then
   4156       lockfile=$f_ex_an_ar_oldlib.lock
   4157       until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
   4158 	func_echo "Waiting for $lockfile to be removed"
   4159 	sleep 2
   4160       done
   4161     fi
   4162     func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
   4163 		   'stat=$?; rm -f "$lockfile"; exit $stat'
   4164     if test "$lock_old_archive_extraction" = yes; then
   4165       $opt_dry_run || rm -f "$lockfile"
   4166     fi
   4167     if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
   4168      :
   4169     else
   4170       func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
   4171     fi
   4172 }
   4173 
   4174 
   4175 # func_extract_archives gentop oldlib ...
   4176 func_extract_archives ()
   4177 {
   4178     $opt_debug
   4179     my_gentop="$1"; shift
   4180     my_oldlibs=${1+"$@"}
   4181     my_oldobjs=""
   4182     my_xlib=""
   4183     my_xabs=""
   4184     my_xdir=""
   4185 
   4186     for my_xlib in $my_oldlibs; do
   4187       # Extract the objects.
   4188       case $my_xlib in
   4189 	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
   4190 	*) my_xabs=`pwd`"/$my_xlib" ;;
   4191       esac
   4192       func_basename "$my_xlib"
   4193       my_xlib="$func_basename_result"
   4194       my_xlib_u=$my_xlib
   4195       while :; do
   4196         case " $extracted_archives " in
   4197 	*" $my_xlib_u "*)
   4198 	  func_arith $extracted_serial + 1
   4199 	  extracted_serial=$func_arith_result
   4200 	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
   4201 	*) break ;;
   4202 	esac
   4203       done
   4204       extracted_archives="$extracted_archives $my_xlib_u"
   4205       my_xdir="$my_gentop/$my_xlib_u"
   4206 
   4207       func_mkdir_p "$my_xdir"
   4208 
   4209       case $host in
   4210       *-darwin*)
   4211 	func_verbose "Extracting $my_xabs"
   4212 	# Do not bother doing anything if just a dry run
   4213 	$opt_dry_run || {
   4214 	  darwin_orig_dir=`pwd`
   4215 	  cd $my_xdir || exit $?
   4216 	  darwin_archive=$my_xabs
   4217 	  darwin_curdir=`pwd`
   4218 	  darwin_base_archive=`basename "$darwin_archive"`
   4219 	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
   4220 	  if test -n "$darwin_arches"; then
   4221 	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
   4222 	    darwin_arch=
   4223 	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
   4224 	    for darwin_arch in  $darwin_arches ; do
   4225 	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
   4226 	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
   4227 	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
   4228 	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
   4229 	      cd "$darwin_curdir"
   4230 	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
   4231 	    done # $darwin_arches
   4232             ## Okay now we've a bunch of thin objects, gotta fatten them up :)
   4233 	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
   4234 	    darwin_file=
   4235 	    darwin_files=
   4236 	    for darwin_file in $darwin_filelist; do
   4237 	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
   4238 	      $LIPO -create -output "$darwin_file" $darwin_files
   4239 	    done # $darwin_filelist
   4240 	    $RM -rf unfat-$$
   4241 	    cd "$darwin_orig_dir"
   4242 	  else
   4243 	    cd $darwin_orig_dir
   4244 	    func_extract_an_archive "$my_xdir" "$my_xabs"
   4245 	  fi # $darwin_arches
   4246 	} # !$opt_dry_run
   4247 	;;
   4248       *)
   4249         func_extract_an_archive "$my_xdir" "$my_xabs"
   4250 	;;
   4251       esac
   4252       my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
   4253     done
   4254 
   4255     func_extract_archives_result="$my_oldobjs"
   4256 }
   4257 
   4258 
   4259 # func_emit_wrapper [arg=no]
   4260 #
   4261 # Emit a libtool wrapper script on stdout.
   4262 # Don't directly open a file because we may want to
   4263 # incorporate the script contents within a cygwin/mingw
   4264 # wrapper executable.  Must ONLY be called from within
   4265 # func_mode_link because it depends on a number of variables
   4266 # set therein.
   4267 #
   4268 # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
   4269 # variable will take.  If 'yes', then the emitted script
   4270 # will assume that the directory in which it is stored is
   4271 # the $objdir directory.  This is a cygwin/mingw-specific
   4272 # behavior.
   4273 func_emit_wrapper ()
   4274 {
   4275 	func_emit_wrapper_arg1=${1-no}
   4276 
   4277 	$ECHO "\
   4278 #! $SHELL
   4279 
   4280 # $output - temporary wrapper script for $objdir/$outputname
   4281 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
   4282 #
   4283 # The $output program cannot be directly executed until all the libtool
   4284 # libraries that it depends on are installed.
   4285 #
   4286 # This wrapper script should never be moved out of the build directory.
   4287 # If it is, it will not operate correctly.
   4288 
   4289 # Sed substitution that helps us do robust quoting.  It backslashifies
   4290 # metacharacters that are still active within double-quoted strings.
   4291 sed_quote_subst='$sed_quote_subst'
   4292 
   4293 # Be Bourne compatible
   4294 if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
   4295   emulate sh
   4296   NULLCMD=:
   4297   # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
   4298   # is contrary to our usage.  Disable this feature.
   4299   alias -g '\${1+\"\$@\"}'='\"\$@\"'
   4300   setopt NO_GLOB_SUBST
   4301 else
   4302   case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
   4303 fi
   4304 BIN_SH=xpg4; export BIN_SH # for Tru64
   4305 DUALCASE=1; export DUALCASE # for MKS sh
   4306 
   4307 # The HP-UX ksh and POSIX shell print the target directory to stdout
   4308 # if CDPATH is set.
   4309 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
   4310 
   4311 relink_command=\"$relink_command\"
   4312 
   4313 # This environment variable determines our operation mode.
   4314 if test \"\$libtool_install_magic\" = \"$magic\"; then
   4315   # install mode needs the following variables:
   4316   generated_by_libtool_version='$macro_version'
   4317   notinst_deplibs='$notinst_deplibs'
   4318 else
   4319   # When we are sourced in execute mode, \$file and \$ECHO are already set.
   4320   if test \"\$libtool_execute_magic\" != \"$magic\"; then
   4321     file=\"\$0\""
   4322 
   4323     qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
   4324     $ECHO "\
   4325 
   4326 # A function that is used when there is no print builtin or printf.
   4327 func_fallback_echo ()
   4328 {
   4329   eval 'cat <<_LTECHO_EOF
   4330 \$1
   4331 _LTECHO_EOF'
   4332 }
   4333     ECHO=\"$qECHO\"
   4334   fi
   4335 
   4336 # Very basic option parsing. These options are (a) specific to
   4337 # the libtool wrapper, (b) are identical between the wrapper
   4338 # /script/ and the wrapper /executable/ which is used only on
   4339 # windows platforms, and (c) all begin with the string "--lt-"
   4340 # (application programs are unlikely to have options which match
   4341 # this pattern).
   4342 #
   4343 # There are only two supported options: --lt-debug and
   4344 # --lt-dump-script. There is, deliberately, no --lt-help.
   4345 #
   4346 # The first argument to this parsing function should be the
   4347 # script's $0 value, followed by "$@".
   4348 lt_option_debug=
   4349 func_parse_lt_options ()
   4350 {
   4351   lt_script_arg0=\$0
   4352   shift
   4353   for lt_opt
   4354   do
   4355     case \"\$lt_opt\" in
   4356     --lt-debug) lt_option_debug=1 ;;
   4357     --lt-dump-script)
   4358         lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
   4359         test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
   4360         lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
   4361         cat \"\$lt_dump_D/\$lt_dump_F\"
   4362         exit 0
   4363       ;;
   4364     --lt-*)
   4365         \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
   4366         exit 1
   4367       ;;
   4368     esac
   4369   done
   4370 
   4371   # Print the debug banner immediately:
   4372   if test -n \"\$lt_option_debug\"; then
   4373     echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
   4374   fi
   4375 }
   4376 
   4377 # Used when --lt-debug. Prints its arguments to stdout
   4378 # (redirection is the responsibility of the caller)
   4379 func_lt_dump_args ()
   4380 {
   4381   lt_dump_args_N=1;
   4382   for lt_arg
   4383   do
   4384     \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
   4385     lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
   4386   done
   4387 }
   4388 
   4389 # Core function for launching the target application
   4390 func_exec_program_core ()
   4391 {
   4392 "
   4393   case $host in
   4394   # Backslashes separate directories on plain windows
   4395   *-*-mingw | *-*-os2* | *-cegcc*)
   4396     $ECHO "\
   4397       if test -n \"\$lt_option_debug\"; then
   4398         \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
   4399         func_lt_dump_args \${1+\"\$@\"} 1>&2
   4400       fi
   4401       exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
   4402 "
   4403     ;;
   4404 
   4405   *)
   4406     $ECHO "\
   4407       if test -n \"\$lt_option_debug\"; then
   4408         \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
   4409         func_lt_dump_args \${1+\"\$@\"} 1>&2
   4410       fi
   4411       exec \"\$progdir/\$program\" \${1+\"\$@\"}
   4412 "
   4413     ;;
   4414   esac
   4415   $ECHO "\
   4416       \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
   4417       exit 1
   4418 }
   4419 
   4420 # A function to encapsulate launching the target application
   4421 # Strips options in the --lt-* namespace from \$@ and
   4422 # launches target application with the remaining arguments.
   4423 func_exec_program ()
   4424 {
   4425   for lt_wr_arg
   4426   do
   4427     case \$lt_wr_arg in
   4428     --lt-*) ;;
   4429     *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
   4430     esac
   4431     shift
   4432   done
   4433   func_exec_program_core \${1+\"\$@\"}
   4434 }
   4435 
   4436   # Parse options
   4437   func_parse_lt_options \"\$0\" \${1+\"\$@\"}
   4438 
   4439   # Find the directory that this script lives in.
   4440   thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
   4441   test \"x\$thisdir\" = \"x\$file\" && thisdir=.
   4442 
   4443   # Follow symbolic links until we get to the real thisdir.
   4444   file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
   4445   while test -n \"\$file\"; do
   4446     destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
   4447 
   4448     # If there was a directory component, then change thisdir.
   4449     if test \"x\$destdir\" != \"x\$file\"; then
   4450       case \"\$destdir\" in
   4451       [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
   4452       *) thisdir=\"\$thisdir/\$destdir\" ;;
   4453       esac
   4454     fi
   4455 
   4456     file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
   4457     file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
   4458   done
   4459 
   4460   # Usually 'no', except on cygwin/mingw when embedded into
   4461   # the cwrapper.
   4462   WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
   4463   if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
   4464     # special case for '.'
   4465     if test \"\$thisdir\" = \".\"; then
   4466       thisdir=\`pwd\`
   4467     fi
   4468     # remove .libs from thisdir
   4469     case \"\$thisdir\" in
   4470     *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
   4471     $objdir )   thisdir=. ;;
   4472     esac
   4473   fi
   4474 
   4475   # Try to get the absolute directory name.
   4476   absdir=\`cd \"\$thisdir\" && pwd\`
   4477   test -n \"\$absdir\" && thisdir=\"\$absdir\"
   4478 "
   4479 
   4480 	if test "$fast_install" = yes; then
   4481 	  $ECHO "\
   4482   program=lt-'$outputname'$exeext
   4483   progdir=\"\$thisdir/$objdir\"
   4484 
   4485   if test ! -f \"\$progdir/\$program\" ||
   4486      { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
   4487        test \"X\$file\" != \"X\$progdir/\$program\"; }; then
   4488 
   4489     file=\"\$\$-\$program\"
   4490 
   4491     if test ! -d \"\$progdir\"; then
   4492       $MKDIR \"\$progdir\"
   4493     else
   4494       $RM \"\$progdir/\$file\"
   4495     fi"
   4496 
   4497 	  $ECHO "\
   4498 
   4499     # relink executable if necessary
   4500     if test -n \"\$relink_command\"; then
   4501       if relink_command_output=\`eval \$relink_command 2>&1\`; then :
   4502       else
   4503 	$ECHO \"\$relink_command_output\" >&2
   4504 	$RM \"\$progdir/\$file\"
   4505 	exit 1
   4506       fi
   4507     fi
   4508 
   4509     $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
   4510     { $RM \"\$progdir/\$program\";
   4511       $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
   4512     $RM \"\$progdir/\$file\"
   4513   fi"
   4514 	else
   4515 	  $ECHO "\
   4516   program='$outputname'
   4517   progdir=\"\$thisdir/$objdir\"
   4518 "
   4519 	fi
   4520 
   4521 	$ECHO "\
   4522 
   4523   if test -f \"\$progdir/\$program\"; then"
   4524 
   4525 	# fixup the dll searchpath if we need to.
   4526 	#
   4527 	# Fix the DLL searchpath if we need to.  Do this before prepending
   4528 	# to shlibpath, because on Windows, both are PATH and uninstalled
   4529 	# libraries must come first.
   4530 	if test -n "$dllsearchpath"; then
   4531 	  $ECHO "\
   4532     # Add the dll search path components to the executable PATH
   4533     PATH=$dllsearchpath:\$PATH
   4534 "
   4535 	fi
   4536 
   4537 	# Export our shlibpath_var if we have one.
   4538 	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
   4539 	  $ECHO "\
   4540     # Add our own library path to $shlibpath_var
   4541     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
   4542 
   4543     # Some systems cannot cope with colon-terminated $shlibpath_var
   4544     # The second colon is a workaround for a bug in BeOS R4 sed
   4545     $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
   4546 
   4547     export $shlibpath_var
   4548 "
   4549 	fi
   4550 
   4551 	$ECHO "\
   4552     if test \"\$libtool_execute_magic\" != \"$magic\"; then
   4553       # Run the actual program with our arguments.
   4554       func_exec_program \${1+\"\$@\"}
   4555     fi
   4556   else
   4557     # The program doesn't exist.
   4558     \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
   4559     \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
   4560     \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
   4561     exit 1
   4562   fi
   4563 fi\
   4564 "
   4565 }
   4566 
   4567 
   4568 # func_emit_cwrapperexe_src
   4569 # emit the source code for a wrapper executable on stdout
   4570 # Must ONLY be called from within func_mode_link because
   4571 # it depends on a number of variable set therein.
   4572 func_emit_cwrapperexe_src ()
   4573 {
   4574 	cat <<EOF
   4575 
   4576 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
   4577    Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
   4578 
   4579    The $output program cannot be directly executed until all the libtool
   4580    libraries that it depends on are installed.
   4581 
   4582    This wrapper executable should never be moved out of the build directory.
   4583    If it is, it will not operate correctly.
   4584 */
   4585 EOF
   4586 	    cat <<"EOF"
   4587 #ifdef _MSC_VER
   4588 # define _CRT_SECURE_NO_DEPRECATE 1
   4589 #endif
   4590 #include <stdio.h>
   4591 #include <stdlib.h>
   4592 #ifdef _MSC_VER
   4593 # include <direct.h>
   4594 # include <process.h>
   4595 # include <io.h>
   4596 #else
   4597 # include <unistd.h>
   4598 # include <stdint.h>
   4599 # ifdef __CYGWIN__
   4600 #  include <io.h>
   4601 # endif
   4602 #endif
   4603 #include <malloc.h>
   4604 #include <stdarg.h>
   4605 #include <assert.h>
   4606 #include <string.h>
   4607 #include <ctype.h>
   4608 #include <errno.h>
   4609 #include <fcntl.h>
   4610 #include <sys/stat.h>
   4611 
   4612 /* declarations of non-ANSI functions */
   4613 #if defined(__MINGW32__)
   4614 # ifdef __STRICT_ANSI__
   4615 int _putenv (const char *);
   4616 # endif
   4617 #elif defined(__CYGWIN__)
   4618 # ifdef __STRICT_ANSI__
   4619 char *realpath (const char *, char *);
   4620 int putenv (char *);
   4621 int setenv (const char *, const char *, int);
   4622 # endif
   4623 /* #elif defined (other platforms) ... */
   4624 #endif
   4625 
   4626 /* portability defines, excluding path handling macros */
   4627 #if defined(_MSC_VER)
   4628 # define setmode _setmode
   4629 # define stat    _stat
   4630 # define chmod   _chmod
   4631 # define getcwd  _getcwd
   4632 # define putenv  _putenv
   4633 # define S_IXUSR _S_IEXEC
   4634 # ifndef _INTPTR_T_DEFINED
   4635 #  define _INTPTR_T_DEFINED
   4636 #  define intptr_t int
   4637 # endif
   4638 #elif defined(__MINGW32__)
   4639 # define setmode _setmode
   4640 # define stat    _stat
   4641 # define chmod   _chmod
   4642 # define getcwd  _getcwd
   4643 # define putenv  _putenv
   4644 #elif defined(__CYGWIN__)
   4645 # define HAVE_SETENV
   4646 # define FOPEN_WB "wb"
   4647 /* #elif defined (other platforms) ... */
   4648 #endif
   4649 
   4650 #if defined(PATH_MAX)
   4651 # define LT_PATHMAX PATH_MAX
   4652 #elif defined(MAXPATHLEN)
   4653 # define LT_PATHMAX MAXPATHLEN
   4654 #else
   4655 # define LT_PATHMAX 1024
   4656 #endif
   4657 
   4658 #ifndef S_IXOTH
   4659 # define S_IXOTH 0
   4660 #endif
   4661 #ifndef S_IXGRP
   4662 # define S_IXGRP 0
   4663 #endif
   4664 
   4665 /* path handling portability macros */
   4666 #ifndef DIR_SEPARATOR
   4667 # define DIR_SEPARATOR '/'
   4668 # define PATH_SEPARATOR ':'
   4669 #endif
   4670 
   4671 #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
   4672   defined (__OS2__)
   4673 # define HAVE_DOS_BASED_FILE_SYSTEM
   4674 # define FOPEN_WB "wb"
   4675 # ifndef DIR_SEPARATOR_2
   4676 #  define DIR_SEPARATOR_2 '\\'
   4677 # endif
   4678 # ifndef PATH_SEPARATOR_2
   4679 #  define PATH_SEPARATOR_2 ';'
   4680 # endif
   4681 #endif
   4682 
   4683 #ifndef DIR_SEPARATOR_2
   4684 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
   4685 #else /* DIR_SEPARATOR_2 */
   4686 # define IS_DIR_SEPARATOR(ch) \
   4687 	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
   4688 #endif /* DIR_SEPARATOR_2 */
   4689 
   4690 #ifndef PATH_SEPARATOR_2
   4691 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
   4692 #else /* PATH_SEPARATOR_2 */
   4693 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
   4694 #endif /* PATH_SEPARATOR_2 */
   4695 
   4696 #ifndef FOPEN_WB
   4697 # define FOPEN_WB "w"
   4698 #endif
   4699 #ifndef _O_BINARY
   4700 # define _O_BINARY 0
   4701 #endif
   4702 
   4703 #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
   4704 #define XFREE(stale) do { \
   4705   if (stale) { free ((void *) stale); stale = 0; } \
   4706 } while (0)
   4707 
   4708 #if defined(LT_DEBUGWRAPPER)
   4709 static int lt_debug = 1;
   4710 #else
   4711 static int lt_debug = 0;
   4712 #endif
   4713 
   4714 const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
   4715 
   4716 void *xmalloc (size_t num);
   4717 char *xstrdup (const char *string);
   4718 const char *base_name (const char *name);
   4719 char *find_executable (const char *wrapper);
   4720 char *chase_symlinks (const char *pathspec);
   4721 int make_executable (const char *path);
   4722 int check_executable (const char *path);
   4723 char *strendzap (char *str, const char *pat);
   4724 void lt_debugprintf (const char *file, int line, const char *fmt, ...);
   4725 void lt_fatal (const char *file, int line, const char *message, ...);
   4726 static const char *nonnull (const char *s);
   4727 static const char *nonempty (const char *s);
   4728 void lt_setenv (const char *name, const char *value);
   4729 char *lt_extend_str (const char *orig_value, const char *add, int to_end);
   4730 void lt_update_exe_path (const char *name, const char *value);
   4731 void lt_update_lib_path (const char *name, const char *value);
   4732 char **prepare_spawn (char **argv);
   4733 void lt_dump_script (FILE *f);
   4734 EOF
   4735 
   4736 	    cat <<EOF
   4737 volatile const char * MAGIC_EXE = "$magic_exe";
   4738 const char * LIB_PATH_VARNAME = "$shlibpath_var";
   4739 EOF
   4740 
   4741 	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
   4742               func_to_host_path "$temp_rpath"
   4743 	      cat <<EOF
   4744 const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
   4745 EOF
   4746 	    else
   4747 	      cat <<"EOF"
   4748 const char * LIB_PATH_VALUE   = "";
   4749 EOF
   4750 	    fi
   4751 
   4752 	    if test -n "$dllsearchpath"; then
   4753               func_to_host_path "$dllsearchpath:"
   4754 	      cat <<EOF
   4755 const char * EXE_PATH_VARNAME = "PATH";
   4756 const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
   4757 EOF
   4758 	    else
   4759 	      cat <<"EOF"
   4760 const char * EXE_PATH_VARNAME = "";
   4761 const char * EXE_PATH_VALUE   = "";
   4762 EOF
   4763 	    fi
   4764 
   4765 	    if test "$fast_install" = yes; then
   4766 	      cat <<EOF
   4767 const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
   4768 EOF
   4769 	    else
   4770 	      cat <<EOF
   4771 const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
   4772 EOF
   4773 	    fi
   4774 
   4775 
   4776 	    cat <<"EOF"
   4777 
   4778 #define LTWRAPPER_OPTION_PREFIX         "--lt-"
   4779 
   4780 static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
   4781 static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
   4782 static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
   4783 
   4784 int
   4785 main (int argc, char *argv[])
   4786 {
   4787   char **newargz;
   4788   int  newargc;
   4789   char *tmp_pathspec;
   4790   char *actual_cwrapper_path;
   4791   char *actual_cwrapper_name;
   4792   char *target_name;
   4793   char *lt_argv_zero;
   4794   intptr_t rval = 127;
   4795 
   4796   int i;
   4797 
   4798   program_name = (char *) xstrdup (base_name (argv[0]));
   4799   newargz = XMALLOC (char *, argc + 1);
   4800 
   4801   /* very simple arg parsing; don't want to rely on getopt
   4802    * also, copy all non cwrapper options to newargz, except
   4803    * argz[0], which is handled differently
   4804    */
   4805   newargc=0;
   4806   for (i = 1; i < argc; i++)
   4807     {
   4808       if (strcmp (argv[i], dumpscript_opt) == 0)
   4809 	{
   4810 EOF
   4811 	    case "$host" in
   4812 	      *mingw* | *cygwin* )
   4813 		# make stdout use "unix" line endings
   4814 		echo "          setmode(1,_O_BINARY);"
   4815 		;;
   4816 	      esac
   4817 
   4818 	    cat <<"EOF"
   4819 	  lt_dump_script (stdout);
   4820 	  return 0;
   4821 	}
   4822       if (strcmp (argv[i], debug_opt) == 0)
   4823 	{
   4824           lt_debug = 1;
   4825           continue;
   4826 	}
   4827       if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
   4828         {
   4829           /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
   4830              namespace, but it is not one of the ones we know about and
   4831              have already dealt with, above (inluding dump-script), then
   4832              report an error. Otherwise, targets might begin to believe
   4833              they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
   4834              namespace. The first time any user complains about this, we'll
   4835              need to make LTWRAPPER_OPTION_PREFIX a configure-time option
   4836              or a configure.ac-settable value.
   4837            */
   4838           lt_fatal (__FILE__, __LINE__,
   4839 		    "unrecognized %s option: '%s'",
   4840                     ltwrapper_option_prefix, argv[i]);
   4841         }
   4842       /* otherwise ... */
   4843       newargz[++newargc] = xstrdup (argv[i]);
   4844     }
   4845   newargz[++newargc] = NULL;
   4846 
   4847 EOF
   4848 	    cat <<EOF
   4849   /* The GNU banner must be the first non-error debug message */
   4850   lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
   4851 EOF
   4852 	    cat <<"EOF"
   4853   lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
   4854   lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
   4855 
   4856   tmp_pathspec = find_executable (argv[0]);
   4857   if (tmp_pathspec == NULL)
   4858     lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
   4859   lt_debugprintf (__FILE__, __LINE__,
   4860                   "(main) found exe (before symlink chase) at: %s\n",
   4861 		  tmp_pathspec);
   4862 
   4863   actual_cwrapper_path = chase_symlinks (tmp_pathspec);
   4864   lt_debugprintf (__FILE__, __LINE__,
   4865                   "(main) found exe (after symlink chase) at: %s\n",
   4866 		  actual_cwrapper_path);
   4867   XFREE (tmp_pathspec);
   4868 
   4869   actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
   4870   strendzap (actual_cwrapper_path, actual_cwrapper_name);
   4871 
   4872   /* wrapper name transforms */
   4873   strendzap (actual_cwrapper_name, ".exe");
   4874   tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
   4875   XFREE (actual_cwrapper_name);
   4876   actual_cwrapper_name = tmp_pathspec;
   4877   tmp_pathspec = 0;
   4878 
   4879   /* target_name transforms -- use actual target program name; might have lt- prefix */
   4880   target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
   4881   strendzap (target_name, ".exe");
   4882   tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
   4883   XFREE (target_name);
   4884   target_name = tmp_pathspec;
   4885   tmp_pathspec = 0;
   4886 
   4887   lt_debugprintf (__FILE__, __LINE__,
   4888 		  "(main) libtool target name: %s\n",
   4889 		  target_name);
   4890 EOF
   4891 
   4892 	    cat <<EOF
   4893   newargz[0] =
   4894     XMALLOC (char, (strlen (actual_cwrapper_path) +
   4895 		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
   4896   strcpy (newargz[0], actual_cwrapper_path);
   4897   strcat (newargz[0], "$objdir");
   4898   strcat (newargz[0], "/");
   4899 EOF
   4900 
   4901 	    cat <<"EOF"
   4902   /* stop here, and copy so we don't have to do this twice */
   4903   tmp_pathspec = xstrdup (newargz[0]);
   4904 
   4905   /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
   4906   strcat (newargz[0], actual_cwrapper_name);
   4907 
   4908   /* DO want the lt- prefix here if it exists, so use target_name */
   4909   lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
   4910   XFREE (tmp_pathspec);
   4911   tmp_pathspec = NULL;
   4912 EOF
   4913 
   4914 	    case $host_os in
   4915 	      mingw*)
   4916 	    cat <<"EOF"
   4917   {
   4918     char* p;
   4919     while ((p = strchr (newargz[0], '\\')) != NULL)
   4920       {
   4921 	*p = '/';
   4922       }
   4923     while ((p = strchr (lt_argv_zero, '\\')) != NULL)
   4924       {
   4925 	*p = '/';
   4926       }
   4927   }
   4928 EOF
   4929 	    ;;
   4930 	    esac
   4931 
   4932 	    cat <<"EOF"
   4933   XFREE (target_name);
   4934   XFREE (actual_cwrapper_path);
   4935   XFREE (actual_cwrapper_name);
   4936 
   4937   lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
   4938   lt_setenv ("DUALCASE", "1");  /* for MSK sh */
   4939   /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
   4940      be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
   4941      because on Windows, both *_VARNAMEs are PATH but uninstalled
   4942      libraries must come first. */
   4943   lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
   4944   lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
   4945 
   4946   lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
   4947 		  nonnull (lt_argv_zero));
   4948   for (i = 0; i < newargc; i++)
   4949     {
   4950       lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
   4951 		      i, nonnull (newargz[i]));
   4952     }
   4953 
   4954 EOF
   4955 
   4956 	    case $host_os in
   4957 	      mingw*)
   4958 		cat <<"EOF"
   4959   /* execv doesn't actually work on mingw as expected on unix */
   4960   newargz = prepare_spawn (newargz);
   4961   rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
   4962   if (rval == -1)
   4963     {
   4964       /* failed to start process */
   4965       lt_debugprintf (__FILE__, __LINE__,
   4966 		      "(main) failed to launch target \"%s\": %s\n",
   4967 		      lt_argv_zero, nonnull (strerror (errno)));
   4968       return 127;
   4969     }
   4970   return rval;
   4971 EOF
   4972 		;;
   4973 	      *)
   4974 		cat <<"EOF"
   4975   execv (lt_argv_zero, newargz);
   4976   return rval; /* =127, but avoids unused variable warning */
   4977 EOF
   4978 		;;
   4979 	    esac
   4980 
   4981 	    cat <<"EOF"
   4982 }
   4983 
   4984 void *
   4985 xmalloc (size_t num)
   4986 {
   4987   void *p = (void *) malloc (num);
   4988   if (!p)
   4989     lt_fatal (__FILE__, __LINE__, "memory exhausted");
   4990 
   4991   return p;
   4992 }
   4993 
   4994 char *
   4995 xstrdup (const char *string)
   4996 {
   4997   return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
   4998 			  string) : NULL;
   4999 }
   5000 
   5001 const char *
   5002 base_name (const char *name)
   5003 {
   5004   const char *base;
   5005 
   5006 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
   5007   /* Skip over the disk name in MSDOS pathnames. */
   5008   if (isalpha ((unsigned char) name[0]) && name[1] == ':')
   5009     name += 2;
   5010 #endif
   5011 
   5012   for (base = name; *name; name++)
   5013     if (IS_DIR_SEPARATOR (*name))
   5014       base = name + 1;
   5015   return base;
   5016 }
   5017 
   5018 int
   5019 check_executable (const char *path)
   5020 {
   5021   struct stat st;
   5022 
   5023   lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
   5024                   nonempty (path));
   5025   if ((!path) || (!*path))
   5026     return 0;
   5027 
   5028   if ((stat (path, &st) >= 0)
   5029       && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
   5030     return 1;
   5031   else
   5032     return 0;
   5033 }
   5034 
   5035 int
   5036 make_executable (const char *path)
   5037 {
   5038   int rval = 0;
   5039   struct stat st;
   5040 
   5041   lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
   5042                   nonempty (path));
   5043   if ((!path) || (!*path))
   5044     return 0;
   5045 
   5046   if (stat (path, &st) >= 0)
   5047     {
   5048       rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
   5049     }
   5050   return rval;
   5051 }
   5052 
   5053 /* Searches for the full path of the wrapper.  Returns
   5054    newly allocated full path name if found, NULL otherwise
   5055    Does not chase symlinks, even on platforms that support them.
   5056 */
   5057 char *
   5058 find_executable (const char *wrapper)
   5059 {
   5060   int has_slash = 0;
   5061   const char *p;
   5062   const char *p_next;
   5063   /* static buffer for getcwd */
   5064   char tmp[LT_PATHMAX + 1];
   5065   int tmp_len;
   5066   char *concat_name;
   5067 
   5068   lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
   5069                   nonempty (wrapper));
   5070 
   5071   if ((wrapper == NULL) || (*wrapper == '\0'))
   5072     return NULL;
   5073 
   5074   /* Absolute path? */
   5075 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
   5076   if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
   5077     {
   5078       concat_name = xstrdup (wrapper);
   5079       if (check_executable (concat_name))
   5080 	return concat_name;
   5081       XFREE (concat_name);
   5082     }
   5083   else
   5084     {
   5085 #endif
   5086       if (IS_DIR_SEPARATOR (wrapper[0]))
   5087 	{
   5088 	  concat_name = xstrdup (wrapper);
   5089 	  if (check_executable (concat_name))
   5090 	    return concat_name;
   5091 	  XFREE (concat_name);
   5092 	}
   5093 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
   5094     }
   5095 #endif
   5096 
   5097   for (p = wrapper; *p; p++)
   5098     if (*p == '/')
   5099       {
   5100 	has_slash = 1;
   5101 	break;
   5102       }
   5103   if (!has_slash)
   5104     {
   5105       /* no slashes; search PATH */
   5106       const char *path = getenv ("PATH");
   5107       if (path != NULL)
   5108 	{
   5109 	  for (p = path; *p; p = p_next)
   5110 	    {
   5111 	      const char *q;
   5112 	      size_t p_len;
   5113 	      for (q = p; *q; q++)
   5114 		if (IS_PATH_SEPARATOR (*q))
   5115 		  break;
   5116 	      p_len = q - p;
   5117 	      p_next = (*q == '\0' ? q : q + 1);
   5118 	      if (p_len == 0)
   5119 		{
   5120 		  /* empty path: current directory */
   5121 		  if (getcwd (tmp, LT_PATHMAX) == NULL)
   5122 		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
   5123                               nonnull (strerror (errno)));
   5124 		  tmp_len = strlen (tmp);
   5125 		  concat_name =
   5126 		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
   5127 		  memcpy (concat_name, tmp, tmp_len);
   5128 		  concat_name[tmp_len] = '/';
   5129 		  strcpy (concat_name + tmp_len + 1, wrapper);
   5130 		}
   5131 	      else
   5132 		{
   5133 		  concat_name =
   5134 		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
   5135 		  memcpy (concat_name, p, p_len);
   5136 		  concat_name[p_len] = '/';
   5137 		  strcpy (concat_name + p_len + 1, wrapper);
   5138 		}
   5139 	      if (check_executable (concat_name))
   5140 		return concat_name;
   5141 	      XFREE (concat_name);
   5142 	    }
   5143 	}
   5144       /* not found in PATH; assume curdir */
   5145     }
   5146   /* Relative path | not found in path: prepend cwd */
   5147   if (getcwd (tmp, LT_PATHMAX) == NULL)
   5148     lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
   5149               nonnull (strerror (errno)));
   5150   tmp_len = strlen (tmp);
   5151   concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
   5152   memcpy (concat_name, tmp, tmp_len);
   5153   concat_name[tmp_len] = '/';
   5154   strcpy (concat_name + tmp_len + 1, wrapper);
   5155 
   5156   if (check_executable (concat_name))
   5157     return concat_name;
   5158   XFREE (concat_name);
   5159   return NULL;
   5160 }
   5161 
   5162 char *
   5163 chase_symlinks (const char *pathspec)
   5164 {
   5165 #ifndef S_ISLNK
   5166   return xstrdup (pathspec);
   5167 #else
   5168   char buf[LT_PATHMAX];
   5169   struct stat s;
   5170   char *tmp_pathspec = xstrdup (pathspec);
   5171   char *p;
   5172   int has_symlinks = 0;
   5173   while (strlen (tmp_pathspec) && !has_symlinks)
   5174     {
   5175       lt_debugprintf (__FILE__, __LINE__,
   5176 		      "checking path component for symlinks: %s\n",
   5177 		      tmp_pathspec);
   5178       if (lstat (tmp_pathspec, &s) == 0)
   5179 	{
   5180 	  if (S_ISLNK (s.st_mode) != 0)
   5181 	    {
   5182 	      has_symlinks = 1;
   5183 	      break;
   5184 	    }
   5185 
   5186 	  /* search backwards for last DIR_SEPARATOR */
   5187 	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
   5188 	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
   5189 	    p--;
   5190 	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
   5191 	    {
   5192 	      /* no more DIR_SEPARATORS left */
   5193 	      break;
   5194 	    }
   5195 	  *p = '\0';
   5196 	}
   5197       else
   5198 	{
   5199 	  lt_fatal (__FILE__, __LINE__,
   5200 		    "error accessing file \"%s\": %s",
   5201 		    tmp_pathspec, nonnull (strerror (errno)));
   5202 	}
   5203     }
   5204   XFREE (tmp_pathspec);
   5205 
   5206   if (!has_symlinks)
   5207     {
   5208       return xstrdup (pathspec);
   5209     }
   5210 
   5211   tmp_pathspec = realpath (pathspec, buf);
   5212   if (tmp_pathspec == 0)
   5213     {
   5214       lt_fatal (__FILE__, __LINE__,
   5215 		"could not follow symlinks for %s", pathspec);
   5216     }
   5217   return xstrdup (tmp_pathspec);
   5218 #endif
   5219 }
   5220 
   5221 char *
   5222 strendzap (char *str, const char *pat)
   5223 {
   5224   size_t len, patlen;
   5225 
   5226   assert (str != NULL);
   5227   assert (pat != NULL);
   5228 
   5229   len = strlen (str);
   5230   patlen = strlen (pat);
   5231 
   5232   if (patlen <= len)
   5233     {
   5234       str += len - patlen;
   5235       if (strcmp (str, pat) == 0)
   5236 	*str = '\0';
   5237     }
   5238   return str;
   5239 }
   5240 
   5241 void
   5242 lt_debugprintf (const char *file, int line, const char *fmt, ...)
   5243 {
   5244   va_list args;
   5245   if (lt_debug)
   5246     {
   5247       (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
   5248       va_start (args, fmt);
   5249       (void) vfprintf (stderr, fmt, args);
   5250       va_end (args);
   5251     }
   5252 }
   5253 
   5254 static void
   5255 lt_error_core (int exit_status, const char *file,
   5256 	       int line, const char *mode,
   5257 	       const char *message, va_list ap)
   5258 {
   5259   fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
   5260   vfprintf (stderr, message, ap);
   5261   fprintf (stderr, ".\n");
   5262 
   5263   if (exit_status >= 0)
   5264     exit (exit_status);
   5265 }
   5266 
   5267 void
   5268 lt_fatal (const char *file, int line, const char *message, ...)
   5269 {
   5270   va_list ap;
   5271   va_start (ap, message);
   5272   lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
   5273   va_end (ap);
   5274 }
   5275 
   5276 static const char *
   5277 nonnull (const char *s)
   5278 {
   5279   return s ? s : "(null)";
   5280 }
   5281 
   5282 static const char *
   5283 nonempty (const char *s)
   5284 {
   5285   return (s && !*s) ? "(empty)" : nonnull (s);
   5286 }
   5287 
   5288 void
   5289 lt_setenv (const char *name, const char *value)
   5290 {
   5291   lt_debugprintf (__FILE__, __LINE__,
   5292 		  "(lt_setenv) setting '%s' to '%s'\n",
   5293                   nonnull (name), nonnull (value));
   5294   {
   5295 #ifdef HAVE_SETENV
   5296     /* always make a copy, for consistency with !HAVE_SETENV */
   5297     char *str = xstrdup (value);
   5298     setenv (name, str, 1);
   5299 #else
   5300     int len = strlen (name) + 1 + strlen (value) + 1;
   5301     char *str = XMALLOC (char, len);
   5302     sprintf (str, "%s=%s", name, value);
   5303     if (putenv (str) != EXIT_SUCCESS)
   5304       {
   5305         XFREE (str);
   5306       }
   5307 #endif
   5308   }
   5309 }
   5310 
   5311 char *
   5312 lt_extend_str (const char *orig_value, const char *add, int to_end)
   5313 {
   5314   char *new_value;
   5315   if (orig_value && *orig_value)
   5316     {
   5317       int orig_value_len = strlen (orig_value);
   5318       int add_len = strlen (add);
   5319       new_value = XMALLOC (char, add_len + orig_value_len + 1);
   5320       if (to_end)
   5321         {
   5322           strcpy (new_value, orig_value);
   5323           strcpy (new_value + orig_value_len, add);
   5324         }
   5325       else
   5326         {
   5327           strcpy (new_value, add);
   5328           strcpy (new_value + add_len, orig_value);
   5329         }
   5330     }
   5331   else
   5332     {
   5333       new_value = xstrdup (add);
   5334     }
   5335   return new_value;
   5336 }
   5337 
   5338 void
   5339 lt_update_exe_path (const char *name, const char *value)
   5340 {
   5341   lt_debugprintf (__FILE__, __LINE__,
   5342 		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
   5343                   nonnull (name), nonnull (value));
   5344 
   5345   if (name && *name && value && *value)
   5346     {
   5347       char *new_value = lt_extend_str (getenv (name), value, 0);
   5348       /* some systems can't cope with a ':'-terminated path #' */
   5349       int len = strlen (new_value);
   5350       while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
   5351         {
   5352           new_value[len-1] = '\0';
   5353         }
   5354       lt_setenv (name, new_value);
   5355       XFREE (new_value);
   5356     }
   5357 }
   5358 
   5359 void
   5360 lt_update_lib_path (const char *name, const char *value)
   5361 {
   5362   lt_debugprintf (__FILE__, __LINE__,
   5363 		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
   5364                   nonnull (name), nonnull (value));
   5365 
   5366   if (name && *name && value && *value)
   5367     {
   5368       char *new_value = lt_extend_str (getenv (name), value, 0);
   5369       lt_setenv (name, new_value);
   5370       XFREE (new_value);
   5371     }
   5372 }
   5373 
   5374 EOF
   5375 	    case $host_os in
   5376 	      mingw*)
   5377 		cat <<"EOF"
   5378 
   5379 /* Prepares an argument vector before calling spawn().
   5380    Note that spawn() does not by itself call the command interpreter
   5381      (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
   5382       ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
   5383          GetVersionEx(&v);
   5384          v.dwPlatformId == VER_PLATFORM_WIN32_NT;
   5385       }) ? "cmd.exe" : "command.com").
   5386    Instead it simply concatenates the arguments, separated by ' ', and calls
   5387    CreateProcess().  We must quote the arguments since Win32 CreateProcess()
   5388    interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
   5389    special way:
   5390    - Space and tab are interpreted as delimiters. They are not treated as
   5391      delimiters if they are surrounded by double quotes: "...".
   5392    - Unescaped double quotes are removed from the input. Their only effect is
   5393      that within double quotes, space and tab are treated like normal
   5394      characters.
   5395    - Backslashes not followed by double quotes are not special.
   5396    - But 2*n+1 backslashes followed by a double quote become
   5397      n backslashes followed by a double quote (n >= 0):
   5398        \" -> "
   5399        \\\" -> \"
   5400        \\\\\" -> \\"
   5401  */
   5402 #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
   5403 #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
   5404 char **
   5405 prepare_spawn (char **argv)
   5406 {
   5407   size_t argc;
   5408   char **new_argv;
   5409   size_t i;
   5410 
   5411   /* Count number of arguments.  */
   5412   for (argc = 0; argv[argc] != NULL; argc++)
   5413     ;
   5414 
   5415   /* Allocate new argument vector.  */
   5416   new_argv = XMALLOC (char *, argc + 1);
   5417 
   5418   /* Put quoted arguments into the new argument vector.  */
   5419   for (i = 0; i < argc; i++)
   5420     {
   5421       const char *string = argv[i];
   5422 
   5423       if (string[0] == '\0')
   5424 	new_argv[i] = xstrdup ("\"\"");
   5425       else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
   5426 	{
   5427 	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
   5428 	  size_t length;
   5429 	  unsigned int backslashes;
   5430 	  const char *s;
   5431 	  char *quoted_string;
   5432 	  char *p;
   5433 
   5434 	  length = 0;
   5435 	  backslashes = 0;
   5436 	  if (quote_around)
   5437 	    length++;
   5438 	  for (s = string; *s != '\0'; s++)
   5439 	    {
   5440 	      char c = *s;
   5441 	      if (c == '"')
   5442 		length += backslashes + 1;
   5443 	      length++;
   5444 	      if (c == '\\')
   5445 		backslashes++;
   5446 	      else
   5447 		backslashes = 0;
   5448 	    }
   5449 	  if (quote_around)
   5450 	    length += backslashes + 1;
   5451 
   5452 	  quoted_string = XMALLOC (char, length + 1);
   5453 
   5454 	  p = quoted_string;
   5455 	  backslashes = 0;
   5456 	  if (quote_around)
   5457 	    *p++ = '"';
   5458 	  for (s = string; *s != '\0'; s++)
   5459 	    {
   5460 	      char c = *s;
   5461 	      if (c == '"')
   5462 		{
   5463 		  unsigned int j;
   5464 		  for (j = backslashes + 1; j > 0; j--)
   5465 		    *p++ = '\\';
   5466 		}
   5467 	      *p++ = c;
   5468 	      if (c == '\\')
   5469 		backslashes++;
   5470 	      else
   5471 		backslashes = 0;
   5472 	    }
   5473 	  if (quote_around)
   5474 	    {
   5475 	      unsigned int j;
   5476 	      for (j = backslashes; j > 0; j--)
   5477 		*p++ = '\\';
   5478 	      *p++ = '"';
   5479 	    }
   5480 	  *p = '\0';
   5481 
   5482 	  new_argv[i] = quoted_string;
   5483 	}
   5484       else
   5485 	new_argv[i] = (char *) string;
   5486     }
   5487   new_argv[argc] = NULL;
   5488 
   5489   return new_argv;
   5490 }
   5491 EOF
   5492 		;;
   5493 	    esac
   5494 
   5495             cat <<"EOF"
   5496 void lt_dump_script (FILE* f)
   5497 {
   5498 EOF
   5499 	    func_emit_wrapper yes |
   5500               $SED -e 's/\([\\"]\)/\\\1/g' \
   5501 	           -e 's/^/  fputs ("/' -e 's/$/\\n", f);/'
   5502 
   5503             cat <<"EOF"
   5504 }
   5505 EOF
   5506 }
   5507 # end: func_emit_cwrapperexe_src
   5508 
   5509 # func_win32_import_lib_p ARG
   5510 # True if ARG is an import lib, as indicated by $file_magic_cmd
   5511 func_win32_import_lib_p ()
   5512 {
   5513     $opt_debug
   5514     case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
   5515     *import*) : ;;
   5516     *) false ;;
   5517     esac
   5518 }
   5519 
   5520 # func_mode_link arg...
   5521 func_mode_link ()
   5522 {
   5523     $opt_debug
   5524     case $host in
   5525     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
   5526       # It is impossible to link a dll without this setting, and
   5527       # we shouldn't force the makefile maintainer to figure out
   5528       # which system we are compiling for in order to pass an extra
   5529       # flag for every libtool invocation.
   5530       # allow_undefined=no
   5531 
   5532       # FIXME: Unfortunately, there are problems with the above when trying
   5533       # to make a dll which has undefined symbols, in which case not
   5534       # even a static library is built.  For now, we need to specify
   5535       # -no-undefined on the libtool link line when we can be certain
   5536       # that all symbols are satisfied, otherwise we get a static library.
   5537       allow_undefined=yes
   5538       ;;
   5539     *)
   5540       allow_undefined=yes
   5541       ;;
   5542     esac
   5543     libtool_args=$nonopt
   5544     base_compile="$nonopt $@"
   5545     compile_command=$nonopt
   5546     finalize_command=$nonopt
   5547 
   5548     compile_rpath=
   5549     finalize_rpath=
   5550     compile_shlibpath=
   5551     finalize_shlibpath=
   5552     convenience=
   5553     old_convenience=
   5554     deplibs=
   5555     old_deplibs=
   5556     compiler_flags=
   5557     linker_flags=
   5558     dllsearchpath=
   5559     lib_search_path=`pwd`
   5560     inst_prefix_dir=
   5561     new_inherited_linker_flags=
   5562 
   5563     avoid_version=no
   5564     bindir=
   5565     dlfiles=
   5566     dlprefiles=
   5567     dlself=no
   5568     export_dynamic=no
   5569     export_symbols=
   5570     export_symbols_regex=
   5571     generated=
   5572     libobjs=
   5573     ltlibs=
   5574     module=no
   5575     no_install=no
   5576     objs=
   5577     non_pic_objects=
   5578     precious_files_regex=
   5579     prefer_static_libs=no
   5580     preload=no
   5581     prev=
   5582     prevarg=
   5583     release=
   5584     rpath=
   5585     xrpath=
   5586     perm_rpath=
   5587     temp_rpath=
   5588     thread_safe=no
   5589     vinfo=
   5590     vinfo_number=no
   5591     weak_libs=
   5592     single_module="${wl}-single_module"
   5593     func_infer_tag $base_compile
   5594 
   5595     # We need to know -static, to get the right output filenames.
   5596     for arg
   5597     do
   5598       case $arg in
   5599       -shared)
   5600 	test "$build_libtool_libs" != yes && \
   5601 	  func_fatal_configuration "can not build a shared library"
   5602 	build_old_libs=no
   5603 	break
   5604 	;;
   5605       -all-static | -static | -static-libtool-libs)
   5606 	case $arg in
   5607 	-all-static)
   5608 	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
   5609 	    func_warning "complete static linking is impossible in this configuration"
   5610 	  fi
   5611 	  if test -n "$link_static_flag"; then
   5612 	    dlopen_self=$dlopen_self_static
   5613 	  fi
   5614 	  prefer_static_libs=yes
   5615 	  ;;
   5616 	-static)
   5617 	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
   5618 	    dlopen_self=$dlopen_self_static
   5619 	  fi
   5620 	  prefer_static_libs=built
   5621 	  ;;
   5622 	-static-libtool-libs)
   5623 	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
   5624 	    dlopen_self=$dlopen_self_static
   5625 	  fi
   5626 	  prefer_static_libs=yes
   5627 	  ;;
   5628 	esac
   5629 	build_libtool_libs=no
   5630 	build_old_libs=yes
   5631 	break
   5632 	;;
   5633       esac
   5634     done
   5635 
   5636     # See if our shared archives depend on static archives.
   5637     test -n "$old_archive_from_new_cmds" && build_old_libs=yes
   5638 
   5639     # Go through the arguments, transforming them on the way.
   5640     while test "$#" -gt 0; do
   5641       arg="$1"
   5642       shift
   5643       func_quote_for_eval "$arg"
   5644       qarg=$func_quote_for_eval_unquoted_result
   5645       libtool_args+=" $func_quote_for_eval_result"
   5646 
   5647       # If the previous option needs an argument, assign it.
   5648       if test -n "$prev"; then
   5649 	case $prev in
   5650 	output)
   5651 	  compile_command+=" @OUTPUT@"
   5652 	  finalize_command+=" @OUTPUT@"
   5653 	  ;;
   5654 	esac
   5655 
   5656 	case $prev in
   5657 	bindir)
   5658 	  bindir="$arg"
   5659 	  prev=
   5660 	  continue
   5661 	  ;;
   5662 	dlfiles|dlprefiles)
   5663 	  if test "$preload" = no; then
   5664 	    # Add the symbol object into the linking commands.
   5665 	    compile_command+=" @SYMFILE@"
   5666 	    finalize_command+=" @SYMFILE@"
   5667 	    preload=yes
   5668 	  fi
   5669 	  case $arg in
   5670 	  *.la | *.lo) ;;  # We handle these cases below.
   5671 	  force)
   5672 	    if test "$dlself" = no; then
   5673 	      dlself=needless
   5674 	      export_dynamic=yes
   5675 	    fi
   5676 	    prev=
   5677 	    continue
   5678 	    ;;
   5679 	  self)
   5680 	    if test "$prev" = dlprefiles; then
   5681 	      dlself=yes
   5682 	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
   5683 	      dlself=yes
   5684 	    else
   5685 	      dlself=needless
   5686 	      export_dynamic=yes
   5687 	    fi
   5688 	    prev=
   5689 	    continue
   5690 	    ;;
   5691 	  *)
   5692 	    if test "$prev" = dlfiles; then
   5693 	      dlfiles+=" $arg"
   5694 	    else
   5695 	      dlprefiles+=" $arg"
   5696 	    fi
   5697 	    prev=
   5698 	    continue
   5699 	    ;;
   5700 	  esac
   5701 	  ;;
   5702 	expsyms)
   5703 	  export_symbols="$arg"
   5704 	  test -f "$arg" \
   5705 	    || func_fatal_error "symbol file \`$arg' does not exist"
   5706 	  prev=
   5707 	  continue
   5708 	  ;;
   5709 	expsyms_regex)
   5710 	  export_symbols_regex="$arg"
   5711 	  prev=
   5712 	  continue
   5713 	  ;;
   5714 	framework)
   5715 	  case $host in
   5716 	    *-*-darwin*)
   5717 	      case "$deplibs " in
   5718 		*" $qarg.ltframework "*) ;;
   5719 		*) deplibs+=" $qarg.ltframework" # this is fixed later
   5720 		   ;;
   5721 	      esac
   5722 	      ;;
   5723 	  esac
   5724 	  prev=
   5725 	  continue
   5726 	  ;;
   5727 	inst_prefix)
   5728 	  inst_prefix_dir="$arg"
   5729 	  prev=
   5730 	  continue
   5731 	  ;;
   5732 	objectlist)
   5733 	  if test -f "$arg"; then
   5734 	    save_arg=$arg
   5735 	    moreargs=
   5736 	    for fil in `cat "$save_arg"`
   5737 	    do
   5738 #	      moreargs+=" $fil"
   5739 	      arg=$fil
   5740 	      # A libtool-controlled object.
   5741 
   5742 	      # Check to see that this really is a libtool object.
   5743 	      if func_lalib_unsafe_p "$arg"; then
   5744 		pic_object=
   5745 		non_pic_object=
   5746 
   5747 		# Read the .lo file
   5748 		func_source "$arg"
   5749 
   5750 		if test -z "$pic_object" ||
   5751 		   test -z "$non_pic_object" ||
   5752 		   test "$pic_object" = none &&
   5753 		   test "$non_pic_object" = none; then
   5754 		  func_fatal_error "cannot find name of object for \`$arg'"
   5755 		fi
   5756 
   5757 		# Extract subdirectory from the argument.
   5758 		func_dirname "$arg" "/" ""
   5759 		xdir="$func_dirname_result"
   5760 
   5761 		if test "$pic_object" != none; then
   5762 		  # Prepend the subdirectory the object is found in.
   5763 		  pic_object="$xdir$pic_object"
   5764 
   5765 		  if test "$prev" = dlfiles; then
   5766 		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
   5767 		      dlfiles+=" $pic_object"
   5768 		      prev=
   5769 		      continue
   5770 		    else
   5771 		      # If libtool objects are unsupported, then we need to preload.
   5772 		      prev=dlprefiles
   5773 		    fi
   5774 		  fi
   5775 
   5776 		  # CHECK ME:  I think I busted this.  -Ossama
   5777 		  if test "$prev" = dlprefiles; then
   5778 		    # Preload the old-style object.
   5779 		    dlprefiles+=" $pic_object"
   5780 		    prev=
   5781 		  fi
   5782 
   5783 		  # A PIC object.
   5784 		  libobjs+=" $pic_object"
   5785 		  arg="$pic_object"
   5786 		fi
   5787 
   5788 		# Non-PIC object.
   5789 		if test "$non_pic_object" != none; then
   5790 		  # Prepend the subdirectory the object is found in.
   5791 		  non_pic_object="$xdir$non_pic_object"
   5792 
   5793 		  # A standard non-PIC object
   5794 		  non_pic_objects+=" $non_pic_object"
   5795 		  if test -z "$pic_object" || test "$pic_object" = none ; then
   5796 		    arg="$non_pic_object"
   5797 		  fi
   5798 		else
   5799 		  # If the PIC object exists, use it instead.
   5800 		  # $xdir was prepended to $pic_object above.
   5801 		  non_pic_object="$pic_object"
   5802 		  non_pic_objects+=" $non_pic_object"
   5803 		fi
   5804 	      else
   5805 		# Only an error if not doing a dry-run.
   5806 		if $opt_dry_run; then
   5807 		  # Extract subdirectory from the argument.
   5808 		  func_dirname "$arg" "/" ""
   5809 		  xdir="$func_dirname_result"
   5810 
   5811 		  func_lo2o "$arg"
   5812 		  pic_object=$xdir$objdir/$func_lo2o_result
   5813 		  non_pic_object=$xdir$func_lo2o_result
   5814 		  libobjs+=" $pic_object"
   5815 		  non_pic_objects+=" $non_pic_object"
   5816 	        else
   5817 		  func_fatal_error "\`$arg' is not a valid libtool object"
   5818 		fi
   5819 	      fi
   5820 	    done
   5821 	  else
   5822 	    func_fatal_error "link input file \`$arg' does not exist"
   5823 	  fi
   5824 	  arg=$save_arg
   5825 	  prev=
   5826 	  continue
   5827 	  ;;
   5828 	precious_regex)
   5829 	  precious_files_regex="$arg"
   5830 	  prev=
   5831 	  continue
   5832 	  ;;
   5833 	release)
   5834 	  release="-$arg"
   5835 	  prev=
   5836 	  continue
   5837 	  ;;
   5838 	rpath | xrpath)
   5839 	  # We need an absolute path.
   5840 	  case $arg in
   5841 	  [\\/]* | [A-Za-z]:[\\/]*) ;;
   5842 	  *)
   5843 	    func_fatal_error "only absolute run-paths are allowed"
   5844 	    ;;
   5845 	  esac
   5846 	  if test "$prev" = rpath; then
   5847 	    case "$rpath " in
   5848 	    *" $arg "*) ;;
   5849 	    *) rpath+=" $arg" ;;
   5850 	    esac
   5851 	  else
   5852 	    case "$xrpath " in
   5853 	    *" $arg "*) ;;
   5854 	    *) xrpath+=" $arg" ;;
   5855 	    esac
   5856 	  fi
   5857 	  prev=
   5858 	  continue
   5859 	  ;;
   5860 	shrext)
   5861 	  shrext_cmds="$arg"
   5862 	  prev=
   5863 	  continue
   5864 	  ;;
   5865 	weak)
   5866 	  weak_libs+=" $arg"
   5867 	  prev=
   5868 	  continue
   5869 	  ;;
   5870 	xcclinker)
   5871 	  linker_flags+=" $qarg"
   5872 	  compiler_flags+=" $qarg"
   5873 	  prev=
   5874 	  compile_command+=" $qarg"
   5875 	  finalize_command+=" $qarg"
   5876 	  continue
   5877 	  ;;
   5878 	xcompiler)
   5879 	  compiler_flags+=" $qarg"
   5880 	  prev=
   5881 	  compile_command+=" $qarg"
   5882 	  finalize_command+=" $qarg"
   5883 	  continue
   5884 	  ;;
   5885 	xlinker)
   5886 	  linker_flags+=" $qarg"
   5887 	  compiler_flags+=" $wl$qarg"
   5888 	  prev=
   5889 	  compile_command+=" $wl$qarg"
   5890 	  finalize_command+=" $wl$qarg"
   5891 	  continue
   5892 	  ;;
   5893 	*)
   5894 	  eval "$prev=\"\$arg\""
   5895 	  prev=
   5896 	  continue
   5897 	  ;;
   5898 	esac
   5899       fi # test -n "$prev"
   5900 
   5901       prevarg="$arg"
   5902 
   5903       case $arg in
   5904       -all-static)
   5905 	if test -n "$link_static_flag"; then
   5906 	  # See comment for -static flag below, for more details.
   5907 	  compile_command+=" $link_static_flag"
   5908 	  finalize_command+=" $link_static_flag"
   5909 	fi
   5910 	continue
   5911 	;;
   5912 
   5913       -allow-undefined)
   5914 	# FIXME: remove this flag sometime in the future.
   5915 	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
   5916 	;;
   5917 
   5918       -avoid-version)
   5919 	avoid_version=yes
   5920 	continue
   5921 	;;
   5922 
   5923       -bindir)
   5924 	prev=bindir
   5925 	continue
   5926 	;;
   5927 
   5928       -dlopen)
   5929 	prev=dlfiles
   5930 	continue
   5931 	;;
   5932 
   5933       -dlpreopen)
   5934 	prev=dlprefiles
   5935 	continue
   5936 	;;
   5937 
   5938       -export-dynamic)
   5939 	export_dynamic=yes
   5940 	continue
   5941 	;;
   5942 
   5943       -export-symbols | -export-symbols-regex)
   5944 	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
   5945 	  func_fatal_error "more than one -exported-symbols argument is not allowed"
   5946 	fi
   5947 	if test "X$arg" = "X-export-symbols"; then
   5948 	  prev=expsyms
   5949 	else
   5950 	  prev=expsyms_regex
   5951 	fi
   5952 	continue
   5953 	;;
   5954 
   5955       -framework)
   5956 	prev=framework
   5957 	continue
   5958 	;;
   5959 
   5960       -inst-prefix-dir)
   5961 	prev=inst_prefix
   5962 	continue
   5963 	;;
   5964 
   5965       # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
   5966       # so, if we see these flags be careful not to treat them like -L
   5967       -L[A-Z][A-Z]*:*)
   5968 	case $with_gcc/$host in
   5969 	no/*-*-irix* | /*-*-irix*)
   5970 	  compile_command+=" $arg"
   5971 	  finalize_command+=" $arg"
   5972 	  ;;
   5973 	esac
   5974 	continue
   5975 	;;
   5976 
   5977       -L*)
   5978 	func_stripname "-L" '' "$arg"
   5979 	if test -z "$func_stripname_result"; then
   5980 	  if test "$#" -gt 0; then
   5981 	    func_fatal_error "require no space between \`-L' and \`$1'"
   5982 	  else
   5983 	    func_fatal_error "need path for \`-L' option"
   5984 	  fi
   5985 	fi
   5986 	func_resolve_sysroot "$func_stripname_result"
   5987 	dir=$func_resolve_sysroot_result
   5988 	# We need an absolute path.
   5989 	case $dir in
   5990 	[\\/]* | [A-Za-z]:[\\/]*) ;;
   5991 	*)
   5992 	  absdir=`cd "$dir" && pwd`
   5993 	  test -z "$absdir" && \
   5994 	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
   5995 	  dir="$absdir"
   5996 	  ;;
   5997 	esac
   5998 	case "$deplibs " in
   5999 	*" -L$dir "* | *" $arg "*)
   6000 	  # Will only happen for absolute or sysroot arguments
   6001 	  ;;
   6002 	*)
   6003 	  # Preserve sysroot, but never include relative directories
   6004 	  case $dir in
   6005 	    [\\/]* | [A-Za-z]:[\\/]* | =*) deplibs+=" $arg" ;;
   6006 	    *) deplibs+=" -L$dir" ;;
   6007 	  esac
   6008 	  lib_search_path+=" $dir"
   6009 	  ;;
   6010 	esac
   6011 	case $host in
   6012 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
   6013 	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
   6014 	  case :$dllsearchpath: in
   6015 	  *":$dir:"*) ;;
   6016 	  ::) dllsearchpath=$dir;;
   6017 	  *) dllsearchpath+=":$dir";;
   6018 	  esac
   6019 	  case :$dllsearchpath: in
   6020 	  *":$testbindir:"*) ;;
   6021 	  ::) dllsearchpath=$testbindir;;
   6022 	  *) dllsearchpath+=":$testbindir";;
   6023 	  esac
   6024 	  ;;
   6025 	esac
   6026 	continue
   6027 	;;
   6028 
   6029       -l*)
   6030 	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
   6031 	  case $host in
   6032 	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
   6033 	    # These systems don't actually have a C or math library (as such)
   6034 	    continue
   6035 	    ;;
   6036 	  *-*-os2*)
   6037 	    # These systems don't actually have a C library (as such)
   6038 	    test "X$arg" = "X-lc" && continue
   6039 	    ;;
   6040 	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
   6041 	    # Do not include libc due to us having libc/libc_r.
   6042 	    test "X$arg" = "X-lc" && continue
   6043 	    ;;
   6044 	  *-*-rhapsody* | *-*-darwin1.[012])
   6045 	    # Rhapsody C and math libraries are in the System framework
   6046 	    deplibs+=" System.ltframework"
   6047 	    continue
   6048 	    ;;
   6049 	  *-*-sco3.2v5* | *-*-sco5v6*)
   6050 	    # Causes problems with __ctype
   6051 	    test "X$arg" = "X-lc" && continue
   6052 	    ;;
   6053 	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
   6054 	    # Compiler inserts libc in the correct place for threads to work
   6055 	    test "X$arg" = "X-lc" && continue
   6056 	    ;;
   6057 	  esac
   6058 	elif test "X$arg" = "X-lc_r"; then
   6059 	 case $host in
   6060 	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
   6061 	   # Do not include libc_r directly, use -pthread flag.
   6062 	   continue
   6063 	   ;;
   6064 	 esac
   6065 	fi
   6066 	deplibs+=" $arg"
   6067 	continue
   6068 	;;
   6069 
   6070       -module)
   6071 	module=yes
   6072 	continue
   6073 	;;
   6074 
   6075       # Tru64 UNIX uses -model [arg] to determine the layout of C++
   6076       # classes, name mangling, and exception handling.
   6077       # Darwin uses the -arch flag to determine output architecture.
   6078       -model|-arch|-isysroot|--sysroot)
   6079 	compiler_flags+=" $arg"
   6080 	compile_command+=" $arg"
   6081 	finalize_command+=" $arg"
   6082 	prev=xcompiler
   6083 	continue
   6084 	;;
   6085 
   6086       -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
   6087 	compiler_flags+=" $arg"
   6088 	compile_command+=" $arg"
   6089 	finalize_command+=" $arg"
   6090 	case "$new_inherited_linker_flags " in
   6091 	    *" $arg "*) ;;
   6092 	    * ) new_inherited_linker_flags+=" $arg" ;;
   6093 	esac
   6094 	continue
   6095 	;;
   6096 
   6097       -multi_module)
   6098 	single_module="${wl}-multi_module"
   6099 	continue
   6100 	;;
   6101 
   6102       -no-fast-install)
   6103 	fast_install=no
   6104 	continue
   6105 	;;
   6106 
   6107       -no-install)
   6108 	case $host in
   6109 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
   6110 	  # The PATH hackery in wrapper scripts is required on Windows
   6111 	  # and Darwin in order for the loader to find any dlls it needs.
   6112 	  func_warning "\`-no-install' is ignored for $host"
   6113 	  func_warning "assuming \`-no-fast-install' instead"
   6114 	  fast_install=no
   6115 	  ;;
   6116 	*) no_install=yes ;;
   6117 	esac
   6118 	continue
   6119 	;;
   6120 
   6121       -no-undefined)
   6122 	allow_undefined=no
   6123 	continue
   6124 	;;
   6125 
   6126       -objectlist)
   6127 	prev=objectlist
   6128 	continue
   6129 	;;
   6130 
   6131       -o) prev=output ;;
   6132 
   6133       -precious-files-regex)
   6134 	prev=precious_regex
   6135 	continue
   6136 	;;
   6137 
   6138       -release)
   6139 	prev=release
   6140 	continue
   6141 	;;
   6142 
   6143       -rpath)
   6144 	prev=rpath
   6145 	continue
   6146 	;;
   6147 
   6148       -R)
   6149 	prev=xrpath
   6150 	continue
   6151 	;;
   6152 
   6153       -R*)
   6154 	func_stripname '-R' '' "$arg"
   6155 	dir=$func_stripname_result
   6156 	# We need an absolute path.
   6157 	case $dir in
   6158 	[\\/]* | [A-Za-z]:[\\/]*) ;;
   6159 	=*)
   6160 	  func_stripname '=' '' "$dir"
   6161 	  dir=$lt_sysroot$func_stripname_result
   6162 	  ;;
   6163 	*)
   6164 	  func_fatal_error "only absolute run-paths are allowed"
   6165 	  ;;
   6166 	esac
   6167 	case "$xrpath " in
   6168 	*" $dir "*) ;;
   6169 	*) xrpath+=" $dir" ;;
   6170 	esac
   6171 	continue
   6172 	;;
   6173 
   6174       -shared)
   6175 	# The effects of -shared are defined in a previous loop.
   6176 	continue
   6177 	;;
   6178 
   6179       -shrext)
   6180 	prev=shrext
   6181 	continue
   6182 	;;
   6183 
   6184       -static | -static-libtool-libs)
   6185 	# The effects of -static are defined in a previous loop.
   6186 	# We used to do the same as -all-static on platforms that
   6187 	# didn't have a PIC flag, but the assumption that the effects
   6188 	# would be equivalent was wrong.  It would break on at least
   6189 	# Digital Unix and AIX.
   6190 	continue
   6191 	;;
   6192 
   6193       -thread-safe)
   6194 	thread_safe=yes
   6195 	continue
   6196 	;;
   6197 
   6198       -version-info)
   6199 	prev=vinfo
   6200 	continue
   6201 	;;
   6202 
   6203       -version-number)
   6204 	prev=vinfo
   6205 	vinfo_number=yes
   6206 	continue
   6207 	;;
   6208 
   6209       -weak)
   6210         prev=weak
   6211 	continue
   6212 	;;
   6213 
   6214       -Wc,*)
   6215 	func_stripname '-Wc,' '' "$arg"
   6216 	args=$func_stripname_result
   6217 	arg=
   6218 	save_ifs="$IFS"; IFS=','
   6219 	for flag in $args; do
   6220 	  IFS="$save_ifs"
   6221           func_quote_for_eval "$flag"
   6222 	  arg+=" $func_quote_for_eval_result"
   6223 	  compiler_flags+=" $func_quote_for_eval_result"
   6224 	done
   6225 	IFS="$save_ifs"
   6226 	func_stripname ' ' '' "$arg"
   6227 	arg=$func_stripname_result
   6228 	;;
   6229 
   6230       -Wl,*)
   6231 	func_stripname '-Wl,' '' "$arg"
   6232 	args=$func_stripname_result
   6233 	arg=
   6234 	save_ifs="$IFS"; IFS=','
   6235 	for flag in $args; do
   6236 	  IFS="$save_ifs"
   6237           func_quote_for_eval "$flag"
   6238 	  arg+=" $wl$func_quote_for_eval_result"
   6239 	  compiler_flags+=" $wl$func_quote_for_eval_result"
   6240 	  linker_flags+=" $func_quote_for_eval_result"
   6241 	done
   6242 	IFS="$save_ifs"
   6243 	func_stripname ' ' '' "$arg"
   6244 	arg=$func_stripname_result
   6245 	;;
   6246 
   6247       -Xcompiler)
   6248 	prev=xcompiler
   6249 	continue
   6250 	;;
   6251 
   6252       -Xlinker)
   6253 	prev=xlinker
   6254 	continue
   6255 	;;
   6256 
   6257       -XCClinker)
   6258 	prev=xcclinker
   6259 	continue
   6260 	;;
   6261 
   6262       # -msg_* for osf cc
   6263       -msg_*)
   6264 	func_quote_for_eval "$arg"
   6265 	arg="$func_quote_for_eval_result"
   6266 	;;
   6267 
   6268       # Flags to be passed through unchanged, with rationale:
   6269       # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
   6270       # -r[0-9][0-9]*        specify processor for the SGI compiler
   6271       # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
   6272       # +DA*, +DD*           enable 64-bit mode for the HP compiler
   6273       # -q*                  compiler args for the IBM compiler
   6274       # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
   6275       # -F/path              path to uninstalled frameworks, gcc on darwin
   6276       # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
   6277       # @file                GCC response files
   6278       # -tp=*                Portland pgcc target processor selection
   6279       # --sysroot=*          for sysroot support
   6280       # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
   6281       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
   6282       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
   6283       -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
   6284         func_quote_for_eval "$arg"
   6285 	arg="$func_quote_for_eval_result"
   6286         compile_command+=" $arg"
   6287         finalize_command+=" $arg"
   6288         compiler_flags+=" $arg"
   6289         continue
   6290         ;;
   6291 
   6292       # Some other compiler flag.
   6293       -* | +*)
   6294         func_quote_for_eval "$arg"
   6295 	arg="$func_quote_for_eval_result"
   6296 	;;
   6297 
   6298       *.$objext)
   6299 	# A standard object.
   6300 	objs+=" $arg"
   6301 	;;
   6302 
   6303       *.lo)
   6304 	# A libtool-controlled object.
   6305 
   6306 	# Check to see that this really is a libtool object.
   6307 	if func_lalib_unsafe_p "$arg"; then
   6308 	  pic_object=
   6309 	  non_pic_object=
   6310 
   6311 	  # Read the .lo file
   6312 	  func_source "$arg"
   6313 
   6314 	  if test -z "$pic_object" ||
   6315 	     test -z "$non_pic_object" ||
   6316 	     test "$pic_object" = none &&
   6317 	     test "$non_pic_object" = none; then
   6318 	    func_fatal_error "cannot find name of object for \`$arg'"
   6319 	  fi
   6320 
   6321 	  # Extract subdirectory from the argument.
   6322 	  func_dirname "$arg" "/" ""
   6323 	  xdir="$func_dirname_result"
   6324 
   6325 	  if test "$pic_object" != none; then
   6326 	    # Prepend the subdirectory the object is found in.
   6327 	    pic_object="$xdir$pic_object"
   6328 
   6329 	    if test "$prev" = dlfiles; then
   6330 	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
   6331 		dlfiles+=" $pic_object"
   6332 		prev=
   6333 		continue
   6334 	      else
   6335 		# If libtool objects are unsupported, then we need to preload.
   6336 		prev=dlprefiles
   6337 	      fi
   6338 	    fi
   6339 
   6340 	    # CHECK ME:  I think I busted this.  -Ossama
   6341 	    if test "$prev" = dlprefiles; then
   6342 	      # Preload the old-style object.
   6343 	      dlprefiles+=" $pic_object"
   6344 	      prev=
   6345 	    fi
   6346 
   6347 	    # A PIC object.
   6348 	    libobjs+=" $pic_object"
   6349 	    arg="$pic_object"
   6350 	  fi
   6351 
   6352 	  # Non-PIC object.
   6353 	  if test "$non_pic_object" != none; then
   6354 	    # Prepend the subdirectory the object is found in.
   6355 	    non_pic_object="$xdir$non_pic_object"
   6356 
   6357 	    # A standard non-PIC object
   6358 	    non_pic_objects+=" $non_pic_object"
   6359 	    if test -z "$pic_object" || test "$pic_object" = none ; then
   6360 	      arg="$non_pic_object"
   6361 	    fi
   6362 	  else
   6363 	    # If the PIC object exists, use it instead.
   6364 	    # $xdir was prepended to $pic_object above.
   6365 	    non_pic_object="$pic_object"
   6366 	    non_pic_objects+=" $non_pic_object"
   6367 	  fi
   6368 	else
   6369 	  # Only an error if not doing a dry-run.
   6370 	  if $opt_dry_run; then
   6371 	    # Extract subdirectory from the argument.
   6372 	    func_dirname "$arg" "/" ""
   6373 	    xdir="$func_dirname_result"
   6374 
   6375 	    func_lo2o "$arg"
   6376 	    pic_object=$xdir$objdir/$func_lo2o_result
   6377 	    non_pic_object=$xdir$func_lo2o_result
   6378 	    libobjs+=" $pic_object"
   6379 	    non_pic_objects+=" $non_pic_object"
   6380 	  else
   6381 	    func_fatal_error "\`$arg' is not a valid libtool object"
   6382 	  fi
   6383 	fi
   6384 	;;
   6385 
   6386       *.$libext)
   6387 	# An archive.
   6388 	deplibs+=" $arg"
   6389 	old_deplibs+=" $arg"
   6390 	continue
   6391 	;;
   6392 
   6393       *.la)
   6394 	# A libtool-controlled library.
   6395 
   6396 	func_resolve_sysroot "$arg"
   6397 	if test "$prev" = dlfiles; then
   6398 	  # This library was specified with -dlopen.
   6399 	  dlfiles+=" $func_resolve_sysroot_result"
   6400 	  prev=
   6401 	elif test "$prev" = dlprefiles; then
   6402 	  # The library was specified with -dlpreopen.
   6403 	  dlprefiles+=" $func_resolve_sysroot_result"
   6404 	  prev=
   6405 	else
   6406 	  deplibs+=" $func_resolve_sysroot_result"
   6407 	fi
   6408 	continue
   6409 	;;
   6410 
   6411       # Some other compiler argument.
   6412       *)
   6413 	# Unknown arguments in both finalize_command and compile_command need
   6414 	# to be aesthetically quoted because they are evaled later.
   6415 	func_quote_for_eval "$arg"
   6416 	arg="$func_quote_for_eval_result"
   6417 	;;
   6418       esac # arg
   6419 
   6420       # Now actually substitute the argument into the commands.
   6421       if test -n "$arg"; then
   6422 	compile_command+=" $arg"
   6423 	finalize_command+=" $arg"
   6424       fi
   6425     done # argument parsing loop
   6426 
   6427     test -n "$prev" && \
   6428       func_fatal_help "the \`$prevarg' option requires an argument"
   6429 
   6430     if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
   6431       eval arg=\"$export_dynamic_flag_spec\"
   6432       compile_command+=" $arg"
   6433       finalize_command+=" $arg"
   6434     fi
   6435 
   6436     oldlibs=
   6437     # calculate the name of the file, without its directory
   6438     func_basename "$output"
   6439     outputname="$func_basename_result"
   6440     libobjs_save="$libobjs"
   6441 
   6442     if test -n "$shlibpath_var"; then
   6443       # get the directories listed in $shlibpath_var
   6444       eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
   6445     else
   6446       shlib_search_path=
   6447     fi
   6448     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
   6449     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
   6450 
   6451     func_dirname "$output" "/" ""
   6452     output_objdir="$func_dirname_result$objdir"
   6453     func_to_tool_file "$output_objdir/"
   6454     tool_output_objdir=$func_to_tool_file_result
   6455     # Create the object directory.
   6456     func_mkdir_p "$output_objdir"
   6457 
   6458     # Determine the type of output
   6459     case $output in
   6460     "")
   6461       func_fatal_help "you must specify an output file"
   6462       ;;
   6463     *.$libext) linkmode=oldlib ;;
   6464     *.lo | *.$objext) linkmode=obj ;;
   6465     *.la) linkmode=lib ;;
   6466     *) linkmode=prog ;; # Anything else should be a program.
   6467     esac
   6468 
   6469     specialdeplibs=
   6470 
   6471     libs=
   6472     # Find all interdependent deplibs by searching for libraries
   6473     # that are linked more than once (e.g. -la -lb -la)
   6474     for deplib in $deplibs; do
   6475       if $opt_preserve_dup_deps ; then
   6476 	case "$libs " in
   6477 	*" $deplib "*) specialdeplibs+=" $deplib" ;;
   6478 	esac
   6479       fi
   6480       libs+=" $deplib"
   6481     done
   6482 
   6483     if test "$linkmode" = lib; then
   6484       libs="$predeps $libs $compiler_lib_search_path $postdeps"
   6485 
   6486       # Compute libraries that are listed more than once in $predeps
   6487       # $postdeps and mark them as special (i.e., whose duplicates are
   6488       # not to be eliminated).
   6489       pre_post_deps=
   6490       if $opt_duplicate_compiler_generated_deps; then
   6491 	for pre_post_dep in $predeps $postdeps; do
   6492 	  case "$pre_post_deps " in
   6493 	  *" $pre_post_dep "*) specialdeplibs+=" $pre_post_deps" ;;
   6494 	  esac
   6495 	  pre_post_deps+=" $pre_post_dep"
   6496 	done
   6497       fi
   6498       pre_post_deps=
   6499     fi
   6500 
   6501     deplibs=
   6502     newdependency_libs=
   6503     newlib_search_path=
   6504     need_relink=no # whether we're linking any uninstalled libtool libraries
   6505     notinst_deplibs= # not-installed libtool libraries
   6506     notinst_path= # paths that contain not-installed libtool libraries
   6507 
   6508     case $linkmode in
   6509     lib)
   6510 	passes="conv dlpreopen link"
   6511 	for file in $dlfiles $dlprefiles; do
   6512 	  case $file in
   6513 	  *.la) ;;
   6514 	  *)
   6515 	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
   6516 	    ;;
   6517 	  esac
   6518 	done
   6519 	;;
   6520     prog)
   6521 	compile_deplibs=
   6522 	finalize_deplibs=
   6523 	alldeplibs=no
   6524 	newdlfiles=
   6525 	newdlprefiles=
   6526 	passes="conv scan dlopen dlpreopen link"
   6527 	;;
   6528     *)  passes="conv"
   6529 	;;
   6530     esac
   6531 
   6532     for pass in $passes; do
   6533       # The preopen pass in lib mode reverses $deplibs; put it back here
   6534       # so that -L comes before libs that need it for instance...
   6535       if test "$linkmode,$pass" = "lib,link"; then
   6536 	## FIXME: Find the place where the list is rebuilt in the wrong
   6537 	##        order, and fix it there properly
   6538         tmp_deplibs=
   6539 	for deplib in $deplibs; do
   6540 	  tmp_deplibs="$deplib $tmp_deplibs"
   6541 	done
   6542 	deplibs="$tmp_deplibs"
   6543       fi
   6544 
   6545       if test "$linkmode,$pass" = "lib,link" ||
   6546 	 test "$linkmode,$pass" = "prog,scan"; then
   6547 	libs="$deplibs"
   6548 	deplibs=
   6549       fi
   6550       if test "$linkmode" = prog; then
   6551 	case $pass in
   6552 	dlopen) libs="$dlfiles" ;;
   6553 	dlpreopen) libs="$dlprefiles" ;;
   6554 	link)
   6555 	  libs="$deplibs %DEPLIBS%"
   6556 	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
   6557 	  ;;
   6558 	esac
   6559       fi
   6560       if test "$linkmode,$pass" = "lib,dlpreopen"; then
   6561 	# Collect and forward deplibs of preopened libtool libs
   6562 	for lib in $dlprefiles; do
   6563 	  # Ignore non-libtool-libs
   6564 	  dependency_libs=
   6565 	  func_resolve_sysroot "$lib"
   6566 	  case $lib in
   6567 	  *.la)	func_source "$func_resolve_sysroot_result" ;;
   6568 	  esac
   6569 
   6570 	  # Collect preopened libtool deplibs, except any this library
   6571 	  # has declared as weak libs
   6572 	  for deplib in $dependency_libs; do
   6573 	    func_basename "$deplib"
   6574             deplib_base=$func_basename_result
   6575 	    case " $weak_libs " in
   6576 	    *" $deplib_base "*) ;;
   6577 	    *) deplibs+=" $deplib" ;;
   6578 	    esac
   6579 	  done
   6580 	done
   6581 	libs="$dlprefiles"
   6582       fi
   6583       if test "$pass" = dlopen; then
   6584 	# Collect dlpreopened libraries
   6585 	save_deplibs="$deplibs"
   6586 	deplibs=
   6587       fi
   6588 
   6589       for deplib in $libs; do
   6590 	lib=
   6591 	found=no
   6592 	case $deplib in
   6593 	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
   6594 	  if test "$linkmode,$pass" = "prog,link"; then
   6595 	    compile_deplibs="$deplib $compile_deplibs"
   6596 	    finalize_deplibs="$deplib $finalize_deplibs"
   6597 	  else
   6598 	    compiler_flags+=" $deplib"
   6599 	    if test "$linkmode" = lib ; then
   6600 		case "$new_inherited_linker_flags " in
   6601 		    *" $deplib "*) ;;
   6602 		    * ) new_inherited_linker_flags+=" $deplib" ;;
   6603 		esac
   6604 	    fi
   6605 	  fi
   6606 	  continue
   6607 	  ;;
   6608 	-l*)
   6609 	  if test "$linkmode" != lib && test "$linkmode" != prog; then
   6610 	    func_warning "\`-l' is ignored for archives/objects"
   6611 	    continue
   6612 	  fi
   6613 	  func_stripname '-l' '' "$deplib"
   6614 	  name=$func_stripname_result
   6615 	  if test "$linkmode" = lib; then
   6616 	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
   6617 	  else
   6618 	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
   6619 	  fi
   6620 	  for searchdir in $searchdirs; do
   6621 	    for search_ext in .la $std_shrext .so .a; do
   6622 	      # Search the libtool library
   6623 	      lib="$searchdir/lib${name}${search_ext}"
   6624 	      if test -f "$lib"; then
   6625 		if test "$search_ext" = ".la"; then
   6626 		  found=yes
   6627 		else
   6628 		  found=no
   6629 		fi
   6630 		break 2
   6631 	      fi
   6632 	    done
   6633 	  done
   6634 	  if test "$found" != yes; then
   6635 	    # deplib doesn't seem to be a libtool library
   6636 	    if test "$linkmode,$pass" = "prog,link"; then
   6637 	      compile_deplibs="$deplib $compile_deplibs"
   6638 	      finalize_deplibs="$deplib $finalize_deplibs"
   6639 	    else
   6640 	      deplibs="$deplib $deplibs"
   6641 	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
   6642 	    fi
   6643 	    continue
   6644 	  else # deplib is a libtool library
   6645 	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
   6646 	    # We need to do some special things here, and not later.
   6647 	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
   6648 	      case " $predeps $postdeps " in
   6649 	      *" $deplib "*)
   6650 		if func_lalib_p "$lib"; then
   6651 		  library_names=
   6652 		  old_library=
   6653 		  func_source "$lib"
   6654 		  for l in $old_library $library_names; do
   6655 		    ll="$l"
   6656 		  done
   6657 		  if test "X$ll" = "X$old_library" ; then # only static version available
   6658 		    found=no
   6659 		    func_dirname "$lib" "" "."
   6660 		    ladir="$func_dirname_result"
   6661 		    lib=$ladir/$old_library
   6662 		    if test "$linkmode,$pass" = "prog,link"; then
   6663 		      compile_deplibs="$deplib $compile_deplibs"
   6664 		      finalize_deplibs="$deplib $finalize_deplibs"
   6665 		    else
   6666 		      deplibs="$deplib $deplibs"
   6667 		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
   6668 		    fi
   6669 		    continue
   6670 		  fi
   6671 		fi
   6672 		;;
   6673 	      *) ;;
   6674 	      esac
   6675 	    fi
   6676 	  fi
   6677 	  ;; # -l
   6678 	*.ltframework)
   6679 	  if test "$linkmode,$pass" = "prog,link"; then
   6680 	    compile_deplibs="$deplib $compile_deplibs"
   6681 	    finalize_deplibs="$deplib $finalize_deplibs"
   6682 	  else
   6683 	    deplibs="$deplib $deplibs"
   6684 	    if test "$linkmode" = lib ; then
   6685 		case "$new_inherited_linker_flags " in
   6686 		    *" $deplib "*) ;;
   6687 		    * ) new_inherited_linker_flags+=" $deplib" ;;
   6688 		esac
   6689 	    fi
   6690 	  fi
   6691 	  continue
   6692 	  ;;
   6693 	-L*)
   6694 	  case $linkmode in
   6695 	  lib)
   6696 	    deplibs="$deplib $deplibs"
   6697 	    test "$pass" = conv && continue
   6698 	    newdependency_libs="$deplib $newdependency_libs"
   6699 	    func_stripname '-L' '' "$deplib"
   6700 	    func_resolve_sysroot "$func_stripname_result"
   6701 	    newlib_search_path+=" $func_resolve_sysroot_result"
   6702 	    ;;
   6703 	  prog)
   6704 	    if test "$pass" = conv; then
   6705 	      deplibs="$deplib $deplibs"
   6706 	      continue
   6707 	    fi
   6708 	    if test "$pass" = scan; then
   6709 	      deplibs="$deplib $deplibs"
   6710 	    else
   6711 	      compile_deplibs="$deplib $compile_deplibs"
   6712 	      finalize_deplibs="$deplib $finalize_deplibs"
   6713 	    fi
   6714 	    func_stripname '-L' '' "$deplib"
   6715 	    func_resolve_sysroot "$func_stripname_result"
   6716 	    newlib_search_path+=" $func_resolve_sysroot_result"
   6717 	    ;;
   6718 	  *)
   6719 	    func_warning "\`-L' is ignored for archives/objects"
   6720 	    ;;
   6721 	  esac # linkmode
   6722 	  continue
   6723 	  ;; # -L
   6724 	-R*)
   6725 	  if test "$pass" = link; then
   6726 	    func_stripname '-R' '' "$deplib"
   6727 	    func_resolve_sysroot "$func_stripname_result"
   6728 	    dir=$func_resolve_sysroot_result
   6729 	    # Make sure the xrpath contains only unique directories.
   6730 	    case "$xrpath " in
   6731 	    *" $dir "*) ;;
   6732 	    *) xrpath+=" $dir" ;;
   6733 	    esac
   6734 	  fi
   6735 	  deplibs="$deplib $deplibs"
   6736 	  continue
   6737 	  ;;
   6738 	*.la)
   6739 	  func_resolve_sysroot "$deplib"
   6740 	  lib=$func_resolve_sysroot_result
   6741 	  ;;
   6742 	*.$libext)
   6743 	  if test "$pass" = conv; then
   6744 	    deplibs="$deplib $deplibs"
   6745 	    continue
   6746 	  fi
   6747 	  case $linkmode in
   6748 	  lib)
   6749 	    # Linking convenience modules into shared libraries is allowed,
   6750 	    # but linking other static libraries is non-portable.
   6751 	    case " $dlpreconveniencelibs " in
   6752 	    *" $deplib "*) ;;
   6753 	    *)
   6754 	      valid_a_lib=no
   6755 	      case $deplibs_check_method in
   6756 		match_pattern*)
   6757 		  set dummy $deplibs_check_method; shift
   6758 		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
   6759 		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
   6760 		    | $EGREP "$match_pattern_regex" > /dev/null; then
   6761 		    valid_a_lib=yes
   6762 		  fi
   6763 		;;
   6764 		pass_all)
   6765 		  valid_a_lib=yes
   6766 		;;
   6767 	      esac
   6768 	      if test "$valid_a_lib" != yes; then
   6769 		echo
   6770 		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
   6771 		echo "*** I have the capability to make that library automatically link in when"
   6772 		echo "*** you link to this library.  But I can only do this if you have a"
   6773 		echo "*** shared version of the library, which you do not appear to have"
   6774 		echo "*** because the file extensions .$libext of this argument makes me believe"
   6775 		echo "*** that it is just a static archive that I should not use here."
   6776 	      else
   6777 		echo
   6778 		$ECHO "*** Warning: Linking the shared library $output against the"
   6779 		$ECHO "*** static library $deplib is not portable!"
   6780 		deplibs="$deplib $deplibs"
   6781 	      fi
   6782 	      ;;
   6783 	    esac
   6784 	    continue
   6785 	    ;;
   6786 	  prog)
   6787 	    if test "$pass" != link; then
   6788 	      deplibs="$deplib $deplibs"
   6789 	    else
   6790 	      compile_deplibs="$deplib $compile_deplibs"
   6791 	      finalize_deplibs="$deplib $finalize_deplibs"
   6792 	    fi
   6793 	    continue
   6794 	    ;;
   6795 	  esac # linkmode
   6796 	  ;; # *.$libext
   6797 	*.lo | *.$objext)
   6798 	  if test "$pass" = conv; then
   6799 	    deplibs="$deplib $deplibs"
   6800 	  elif test "$linkmode" = prog; then
   6801 	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
   6802 	      # If there is no dlopen support or we're linking statically,
   6803 	      # we need to preload.
   6804 	      newdlprefiles+=" $deplib"
   6805 	      compile_deplibs="$deplib $compile_deplibs"
   6806 	      finalize_deplibs="$deplib $finalize_deplibs"
   6807 	    else
   6808 	      newdlfiles+=" $deplib"
   6809 	    fi
   6810 	  fi
   6811 	  continue
   6812 	  ;;
   6813 	%DEPLIBS%)
   6814 	  alldeplibs=yes
   6815 	  continue
   6816 	  ;;
   6817 	esac # case $deplib
   6818 
   6819 	if test "$found" = yes || test -f "$lib"; then :
   6820 	else
   6821 	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
   6822 	fi
   6823 
   6824 	# Check to see that this really is a libtool archive.
   6825 	func_lalib_unsafe_p "$lib" \
   6826 	  || func_fatal_error "\`$lib' is not a valid libtool archive"
   6827 
   6828 	func_dirname "$lib" "" "."
   6829 	ladir="$func_dirname_result"
   6830 
   6831 	dlname=
   6832 	dlopen=
   6833 	dlpreopen=
   6834 	libdir=
   6835 	library_names=
   6836 	old_library=
   6837 	inherited_linker_flags=
   6838 	# If the library was installed with an old release of libtool,
   6839 	# it will not redefine variables installed, or shouldnotlink
   6840 	installed=yes
   6841 	shouldnotlink=no
   6842 	avoidtemprpath=
   6843 
   6844 
   6845 	# Read the .la file
   6846 	func_source "$lib"
   6847 
   6848 	# Convert "-framework foo" to "foo.ltframework"
   6849 	if test -n "$inherited_linker_flags"; then
   6850 	  tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
   6851 	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
   6852 	    case " $new_inherited_linker_flags " in
   6853 	      *" $tmp_inherited_linker_flag "*) ;;
   6854 	      *) new_inherited_linker_flags+=" $tmp_inherited_linker_flag";;
   6855 	    esac
   6856 	  done
   6857 	fi
   6858 	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
   6859 	if test "$linkmode,$pass" = "lib,link" ||
   6860 	   test "$linkmode,$pass" = "prog,scan" ||
   6861 	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
   6862 	  test -n "$dlopen" && dlfiles+=" $dlopen"
   6863 	  test -n "$dlpreopen" && dlprefiles+=" $dlpreopen"
   6864 	fi
   6865 
   6866 	if test "$pass" = conv; then
   6867 	  # Only check for convenience libraries
   6868 	  deplibs="$lib $deplibs"
   6869 	  if test -z "$libdir"; then
   6870 	    if test -z "$old_library"; then
   6871 	      func_fatal_error "cannot find name of link library for \`$lib'"
   6872 	    fi
   6873 	    # It is a libtool convenience library, so add in its objects.
   6874 	    convenience+=" $ladir/$objdir/$old_library"
   6875 	    old_convenience+=" $ladir/$objdir/$old_library"
   6876 	    tmp_libs=
   6877 	    for deplib in $dependency_libs; do
   6878 	      deplibs="$deplib $deplibs"
   6879 	      if $opt_preserve_dup_deps ; then
   6880 		case "$tmp_libs " in
   6881 		*" $deplib "*) specialdeplibs+=" $deplib" ;;
   6882 		esac
   6883 	      fi
   6884 	      tmp_libs+=" $deplib"
   6885 	    done
   6886 	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
   6887 	    func_fatal_error "\`$lib' is not a convenience library"
   6888 	  fi
   6889 	  continue
   6890 	fi # $pass = conv
   6891 
   6892 
   6893 	# Get the name of the library we link against.
   6894 	linklib=
   6895 	if test -n "$old_library" &&
   6896 	   { test "$prefer_static_libs" = yes ||
   6897 	     test "$prefer_static_libs,$installed" = "built,no"; }; then
   6898 	  linklib=$old_library
   6899 	else
   6900 	  for l in $old_library $library_names; do
   6901 	    linklib="$l"
   6902 	  done
   6903 	fi
   6904 	if test -z "$linklib"; then
   6905 	  func_fatal_error "cannot find name of link library for \`$lib'"
   6906 	fi
   6907 
   6908 	# This library was specified with -dlopen.
   6909 	if test "$pass" = dlopen; then
   6910 	  if test -z "$libdir"; then
   6911 	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
   6912 	  fi
   6913 	  if test -z "$dlname" ||
   6914 	     test "$dlopen_support" != yes ||
   6915 	     test "$build_libtool_libs" = no; then
   6916 	    # If there is no dlname, no dlopen support or we're linking
   6917 	    # statically, we need to preload.  We also need to preload any
   6918 	    # dependent libraries so libltdl's deplib preloader doesn't
   6919 	    # bomb out in the load deplibs phase.
   6920 	    dlprefiles+=" $lib $dependency_libs"
   6921 	  else
   6922 	    newdlfiles+=" $lib"
   6923 	  fi
   6924 	  continue
   6925 	fi # $pass = dlopen
   6926 
   6927 	# We need an absolute path.
   6928 	case $ladir in
   6929 	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
   6930 	*)
   6931 	  abs_ladir=`cd "$ladir" && pwd`
   6932 	  if test -z "$abs_ladir"; then
   6933 	    func_warning "cannot determine absolute directory name of \`$ladir'"
   6934 	    func_warning "passing it literally to the linker, although it might fail"
   6935 	    abs_ladir="$ladir"
   6936 	  fi
   6937 	  ;;
   6938 	esac
   6939 	func_basename "$lib"
   6940 	laname="$func_basename_result"
   6941 
   6942 	# Find the relevant object directory and library name.
   6943 	if test "X$installed" = Xyes; then
   6944 	  if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
   6945 	    func_warning "library \`$lib' was moved."
   6946 	    dir="$ladir"
   6947 	    absdir="$abs_ladir"
   6948 	    libdir="$abs_ladir"
   6949 	  else
   6950 	    dir="$lt_sysroot$libdir"
   6951 	    absdir="$lt_sysroot$libdir"
   6952 	  fi
   6953 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
   6954 	else
   6955 	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
   6956 	    dir="$ladir"
   6957 	    absdir="$abs_ladir"
   6958 	    # Remove this search path later
   6959 	    notinst_path+=" $abs_ladir"
   6960 	  else
   6961 	    dir="$ladir/$objdir"
   6962 	    absdir="$abs_ladir/$objdir"
   6963 	    # Remove this search path later
   6964 	    notinst_path+=" $abs_ladir"
   6965 	  fi
   6966 	fi # $installed = yes
   6967 	func_stripname 'lib' '.la' "$laname"
   6968 	name=$func_stripname_result
   6969 
   6970 	# This library was specified with -dlpreopen.
   6971 	if test "$pass" = dlpreopen; then
   6972 	  if test -z "$libdir" && test "$linkmode" = prog; then
   6973 	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
   6974 	  fi
   6975 	  case "$host" in
   6976 	    # special handling for platforms with PE-DLLs.
   6977 	    *cygwin* | *mingw* | *cegcc* )
   6978 	      # Linker will automatically link against shared library if both
   6979 	      # static and shared are present.  Therefore, ensure we extract
   6980 	      # symbols from the import library if a shared library is present
   6981 	      # (otherwise, the dlopen module name will be incorrect).  We do
   6982 	      # this by putting the import library name into $newdlprefiles.
   6983 	      # We recover the dlopen module name by 'saving' the la file
   6984 	      # name in a special purpose variable, and (later) extracting the
   6985 	      # dlname from the la file.
   6986 	      if test -n "$dlname"; then
   6987 	        func_tr_sh "$dir/$linklib"
   6988 	        eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
   6989 	        newdlprefiles+=" $dir/$linklib"
   6990 	      else
   6991 	        newdlprefiles+=" $dir/$old_library"
   6992 	        # Keep a list of preopened convenience libraries to check
   6993 	        # that they are being used correctly in the link pass.
   6994 	        test -z "$libdir" && \
   6995 	          dlpreconveniencelibs+=" $dir/$old_library"
   6996 	      fi
   6997 	    ;;
   6998 	    * )
   6999 	      # Prefer using a static library (so that no silly _DYNAMIC symbols
   7000 	      # are required to link).
   7001 	      if test -n "$old_library"; then
   7002 	        newdlprefiles+=" $dir/$old_library"
   7003 	        # Keep a list of preopened convenience libraries to check
   7004 	        # that they are being used correctly in the link pass.
   7005 	        test -z "$libdir" && \
   7006 	          dlpreconveniencelibs+=" $dir/$old_library"
   7007 	      # Otherwise, use the dlname, so that lt_dlopen finds it.
   7008 	      elif test -n "$dlname"; then
   7009 	        newdlprefiles+=" $dir/$dlname"
   7010 	      else
   7011 	        newdlprefiles+=" $dir/$linklib"
   7012 	      fi
   7013 	    ;;
   7014 	  esac
   7015 	fi # $pass = dlpreopen
   7016 
   7017 	if test -z "$libdir"; then
   7018 	  # Link the convenience library
   7019 	  if test "$linkmode" = lib; then
   7020 	    deplibs="$dir/$old_library $deplibs"
   7021 	  elif test "$linkmode,$pass" = "prog,link"; then
   7022 	    compile_deplibs="$dir/$old_library $compile_deplibs"
   7023 	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
   7024 	  else
   7025 	    deplibs="$lib $deplibs" # used for prog,scan pass
   7026 	  fi
   7027 	  continue
   7028 	fi
   7029 
   7030 
   7031 	if test "$linkmode" = prog && test "$pass" != link; then
   7032 	  newlib_search_path+=" $ladir"
   7033 	  deplibs="$lib $deplibs"
   7034 
   7035 	  linkalldeplibs=no
   7036 	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
   7037 	     test "$build_libtool_libs" = no; then
   7038 	    linkalldeplibs=yes
   7039 	  fi
   7040 
   7041 	  tmp_libs=
   7042 	  for deplib in $dependency_libs; do
   7043 	    case $deplib in
   7044 	    -L*) func_stripname '-L' '' "$deplib"
   7045 	         func_resolve_sysroot "$func_stripname_result"
   7046 	         newlib_search_path+=" $func_resolve_sysroot_result"
   7047 		 ;;
   7048 	    esac
   7049 	    # Need to link against all dependency_libs?
   7050 	    if test "$linkalldeplibs" = yes; then
   7051 	      deplibs="$deplib $deplibs"
   7052 	    else
   7053 	      # Need to hardcode shared library paths
   7054 	      # or/and link against static libraries
   7055 	      newdependency_libs="$deplib $newdependency_libs"
   7056 	    fi
   7057 	    if $opt_preserve_dup_deps ; then
   7058 	      case "$tmp_libs " in
   7059 	      *" $deplib "*) specialdeplibs+=" $deplib" ;;
   7060 	      esac
   7061 	    fi
   7062 	    tmp_libs+=" $deplib"
   7063 	  done # for deplib
   7064 	  continue
   7065 	fi # $linkmode = prog...
   7066 
   7067 	if test "$linkmode,$pass" = "prog,link"; then
   7068 	  if test -n "$library_names" &&
   7069 	     { { test "$prefer_static_libs" = no ||
   7070 	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
   7071 	       test -z "$old_library"; }; then
   7072 	    # We need to hardcode the library path
   7073 	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
   7074 	      # Make sure the rpath contains only unique directories.
   7075 	      case "$temp_rpath:" in
   7076 	      *"$absdir:"*) ;;
   7077 	      *) temp_rpath+="$absdir:" ;;
   7078 	      esac
   7079 	    fi
   7080 
   7081 	    # Hardcode the library path.
   7082 	    # Skip directories that are in the system default run-time
   7083 	    # search path.
   7084 	    case " $sys_lib_dlsearch_path " in
   7085 	    *" $absdir "*) ;;
   7086 	    *)
   7087 	      case "$compile_rpath " in
   7088 	      *" $absdir "*) ;;
   7089 	      *) compile_rpath+=" $absdir" ;;
   7090 	      esac
   7091 	      ;;
   7092 	    esac
   7093 	    case " $sys_lib_dlsearch_path " in
   7094 	    *" $libdir "*) ;;
   7095 	    *)
   7096 	      case "$finalize_rpath " in
   7097 	      *" $libdir "*) ;;
   7098 	      *) finalize_rpath+=" $libdir" ;;
   7099 	      esac
   7100 	      ;;
   7101 	    esac
   7102 	  fi # $linkmode,$pass = prog,link...
   7103 
   7104 	  if test "$alldeplibs" = yes &&
   7105 	     { test "$deplibs_check_method" = pass_all ||
   7106 	       { test "$build_libtool_libs" = yes &&
   7107 		 test -n "$library_names"; }; }; then
   7108 	    # We only need to search for static libraries
   7109 	    continue
   7110 	  fi
   7111 	fi
   7112 
   7113 	link_static=no # Whether the deplib will be linked statically
   7114 	use_static_libs=$prefer_static_libs
   7115 	if test "$use_static_libs" = built && test "$installed" = yes; then
   7116 	  use_static_libs=no
   7117 	fi
   7118 	if test -n "$library_names" &&
   7119 	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
   7120 	  case $host in
   7121 	  *cygwin* | *mingw* | *cegcc*)
   7122 	      # No point in relinking DLLs because paths are not encoded
   7123 	      notinst_deplibs+=" $lib"
   7124 	      need_relink=no
   7125 	    ;;
   7126 	  *)
   7127 	    if test "$installed" = no; then
   7128 	      notinst_deplibs+=" $lib"
   7129 	      need_relink=yes
   7130 	    fi
   7131 	    ;;
   7132 	  esac
   7133 	  # This is a shared library
   7134 
   7135 	  # Warn about portability, can't link against -module's on some
   7136 	  # systems (darwin).  Don't bleat about dlopened modules though!
   7137 	  dlopenmodule=""
   7138 	  for dlpremoduletest in $dlprefiles; do
   7139 	    if test "X$dlpremoduletest" = "X$lib"; then
   7140 	      dlopenmodule="$dlpremoduletest"
   7141 	      break
   7142 	    fi
   7143 	  done
   7144 	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
   7145 	    echo
   7146 	    if test "$linkmode" = prog; then
   7147 	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
   7148 	    else
   7149 	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
   7150 	    fi
   7151 	    $ECHO "*** $linklib is not portable!"
   7152 	  fi
   7153 	  if test "$linkmode" = lib &&
   7154 	     test "$hardcode_into_libs" = yes; then
   7155 	    # Hardcode the library path.
   7156 	    # Skip directories that are in the system default run-time
   7157 	    # search path.
   7158 	    case " $sys_lib_dlsearch_path " in
   7159 	    *" $absdir "*) ;;
   7160 	    *)
   7161 	      case "$compile_rpath " in
   7162 	      *" $absdir "*) ;;
   7163 	      *) compile_rpath+=" $absdir" ;;
   7164 	      esac
   7165 	      ;;
   7166 	    esac
   7167 	    case " $sys_lib_dlsearch_path " in
   7168 	    *" $libdir "*) ;;
   7169 	    *)
   7170 	      case "$finalize_rpath " in
   7171 	      *" $libdir "*) ;;
   7172 	      *) finalize_rpath+=" $libdir" ;;
   7173 	      esac
   7174 	      ;;
   7175 	    esac
   7176 	  fi
   7177 
   7178 	  if test -n "$old_archive_from_expsyms_cmds"; then
   7179 	    # figure out the soname
   7180 	    set dummy $library_names
   7181 	    shift
   7182 	    realname="$1"
   7183 	    shift
   7184 	    libname=`eval "\\$ECHO \"$libname_spec\""`
   7185 	    # use dlname if we got it. it's perfectly good, no?
   7186 	    if test -n "$dlname"; then
   7187 	      soname="$dlname"
   7188 	    elif test -n "$soname_spec"; then
   7189 	      # bleh windows
   7190 	      case $host in
   7191 	      *cygwin* | mingw* | *cegcc*)
   7192 	        func_arith $current - $age
   7193 		major=$func_arith_result
   7194 		versuffix="-$major"
   7195 		;;
   7196 	      esac
   7197 	      eval soname=\"$soname_spec\"
   7198 	    else
   7199 	      soname="$realname"
   7200 	    fi
   7201 
   7202 	    # Make a new name for the extract_expsyms_cmds to use
   7203 	    soroot="$soname"
   7204 	    func_basename "$soroot"
   7205 	    soname="$func_basename_result"
   7206 	    func_stripname 'lib' '.dll' "$soname"
   7207 	    newlib=libimp-$func_stripname_result.a
   7208 
   7209 	    # If the library has no export list, then create one now
   7210 	    if test -f "$output_objdir/$soname-def"; then :
   7211 	    else
   7212 	      func_verbose "extracting exported symbol list from \`$soname'"
   7213 	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
   7214 	    fi
   7215 
   7216 	    # Create $newlib
   7217 	    if test -f "$output_objdir/$newlib"; then :; else
   7218 	      func_verbose "generating import library for \`$soname'"
   7219 	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
   7220 	    fi
   7221 	    # make sure the library variables are pointing to the new library
   7222 	    dir=$output_objdir
   7223 	    linklib=$newlib
   7224 	  fi # test -n "$old_archive_from_expsyms_cmds"
   7225 
   7226 	  if test "$linkmode" = prog || test "$opt_mode" != relink; then
   7227 	    add_shlibpath=
   7228 	    add_dir=
   7229 	    add=
   7230 	    lib_linked=yes
   7231 	    case $hardcode_action in
   7232 	    immediate | unsupported)
   7233 	      if test "$hardcode_direct" = no; then
   7234 		add="$dir/$linklib"
   7235 		case $host in
   7236 		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
   7237 		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
   7238 		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
   7239 		    *-*-unixware7*) add_dir="-L$dir" ;;
   7240 		  *-*-darwin* )
   7241 		    # if the lib is a (non-dlopened) module then we can not
   7242 		    # link against it, someone is ignoring the earlier warnings
   7243 		    if /usr/bin/file -L $add 2> /dev/null |
   7244 			 $GREP ": [^:]* bundle" >/dev/null ; then
   7245 		      if test "X$dlopenmodule" != "X$lib"; then
   7246 			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
   7247 			if test -z "$old_library" ; then
   7248 			  echo
   7249 			  echo "*** And there doesn't seem to be a static archive available"
   7250 			  echo "*** The link will probably fail, sorry"
   7251 			else
   7252 			  add="$dir/$old_library"
   7253 			fi
   7254 		      elif test -n "$old_library"; then
   7255 			add="$dir/$old_library"
   7256 		      fi
   7257 		    fi
   7258 		esac
   7259 	      elif test "$hardcode_minus_L" = no; then
   7260 		case $host in
   7261 		*-*-sunos*) add_shlibpath="$dir" ;;
   7262 		esac
   7263 		add_dir="-L$dir"
   7264 		add="-l$name"
   7265 	      elif test "$hardcode_shlibpath_var" = no; then
   7266 		add_shlibpath="$dir"
   7267 		add="-l$name"
   7268 	      else
   7269 		lib_linked=no
   7270 	      fi
   7271 	      ;;
   7272 	    relink)
   7273 	      if test "$hardcode_direct" = yes &&
   7274 	         test "$hardcode_direct_absolute" = no; then
   7275 		add="$dir/$linklib"
   7276 	      elif test "$hardcode_minus_L" = yes; then
   7277 		add_dir="-L$dir"
   7278 		# Try looking first in the location we're being installed to.
   7279 		if test -n "$inst_prefix_dir"; then
   7280 		  case $libdir in
   7281 		    [\\/]*)
   7282 		      add_dir+=" -L$inst_prefix_dir$libdir"
   7283 		      ;;
   7284 		  esac
   7285 		fi
   7286 		add="-l$name"
   7287 	      elif test "$hardcode_shlibpath_var" = yes; then
   7288 		add_shlibpath="$dir"
   7289 		add="-l$name"
   7290 	      else
   7291 		lib_linked=no
   7292 	      fi
   7293 	      ;;
   7294 	    *) lib_linked=no ;;
   7295 	    esac
   7296 
   7297 	    if test "$lib_linked" != yes; then
   7298 	      func_fatal_configuration "unsupported hardcode properties"
   7299 	    fi
   7300 
   7301 	    if test -n "$add_shlibpath"; then
   7302 	      case :$compile_shlibpath: in
   7303 	      *":$add_shlibpath:"*) ;;
   7304 	      *) compile_shlibpath+="$add_shlibpath:" ;;
   7305 	      esac
   7306 	    fi
   7307 	    if test "$linkmode" = prog; then
   7308 	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
   7309 	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
   7310 	    else
   7311 	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
   7312 	      test -n "$add" && deplibs="$add $deplibs"
   7313 	      if test "$hardcode_direct" != yes &&
   7314 		 test "$hardcode_minus_L" != yes &&
   7315 		 test "$hardcode_shlibpath_var" = yes; then
   7316 		case :$finalize_shlibpath: in
   7317 		*":$libdir:"*) ;;
   7318 		*) finalize_shlibpath+="$libdir:" ;;
   7319 		esac
   7320 	      fi
   7321 	    fi
   7322 	  fi
   7323 
   7324 	  if test "$linkmode" = prog || test "$opt_mode" = relink; then
   7325 	    add_shlibpath=
   7326 	    add_dir=
   7327 	    add=
   7328 	    # Finalize command for both is simple: just hardcode it.
   7329 	    if test "$hardcode_direct" = yes &&
   7330 	       test "$hardcode_direct_absolute" = no; then
   7331 	      add="$libdir/$linklib"
   7332 	    elif test "$hardcode_minus_L" = yes; then
   7333 	      add_dir="-L$libdir"
   7334 	      add="-l$name"
   7335 	    elif test "$hardcode_shlibpath_var" = yes; then
   7336 	      case :$finalize_shlibpath: in
   7337 	      *":$libdir:"*) ;;
   7338 	      *) finalize_shlibpath+="$libdir:" ;;
   7339 	      esac
   7340 	      add="-l$name"
   7341 	    elif test "$hardcode_automatic" = yes; then
   7342 	      if test -n "$inst_prefix_dir" &&
   7343 		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
   7344 		add="$inst_prefix_dir$libdir/$linklib"
   7345 	      else
   7346 		add="$libdir/$linklib"
   7347 	      fi
   7348 	    else
   7349 	      # We cannot seem to hardcode it, guess we'll fake it.
   7350 	      add_dir="-L$libdir"
   7351 	      # Try looking first in the location we're being installed to.
   7352 	      if test -n "$inst_prefix_dir"; then
   7353 		case $libdir in
   7354 		  [\\/]*)
   7355 		    add_dir+=" -L$inst_prefix_dir$libdir"
   7356 		    ;;
   7357 		esac
   7358 	      fi
   7359 	      add="-l$name"
   7360 	    fi
   7361 
   7362 	    if test "$linkmode" = prog; then
   7363 	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
   7364 	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
   7365 	    else
   7366 	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
   7367 	      test -n "$add" && deplibs="$add $deplibs"
   7368 	    fi
   7369 	  fi
   7370 	elif test "$linkmode" = prog; then
   7371 	  # Here we assume that one of hardcode_direct or hardcode_minus_L
   7372 	  # is not unsupported.  This is valid on all known static and
   7373 	  # shared platforms.
   7374 	  if test "$hardcode_direct" != unsupported; then
   7375 	    test -n "$old_library" && linklib="$old_library"
   7376 	    compile_deplibs="$dir/$linklib $compile_deplibs"
   7377 	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
   7378 	  else
   7379 	    compile_deplibs="-l$name -L$dir $compile_deplibs"
   7380 	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
   7381 	  fi
   7382 	elif test "$build_libtool_libs" = yes; then
   7383 	  # Not a shared library
   7384 	  if test "$deplibs_check_method" != pass_all; then
   7385 	    # We're trying link a shared library against a static one
   7386 	    # but the system doesn't support it.
   7387 
   7388 	    # Just print a warning and add the library to dependency_libs so
   7389 	    # that the program can be linked against the static library.
   7390 	    echo
   7391 	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
   7392 	    echo "*** I have the capability to make that library automatically link in when"
   7393 	    echo "*** you link to this library.  But I can only do this if you have a"
   7394 	    echo "*** shared version of the library, which you do not appear to have."
   7395 	    if test "$module" = yes; then
   7396 	      echo "*** But as you try to build a module library, libtool will still create "
   7397 	      echo "*** a static module, that should work as long as the dlopening application"
   7398 	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
   7399 	      if test -z "$global_symbol_pipe"; then
   7400 		echo
   7401 		echo "*** However, this would only work if libtool was able to extract symbol"
   7402 		echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
   7403 		echo "*** not find such a program.  So, this module is probably useless."
   7404 		echo "*** \`nm' from GNU binutils and a full rebuild may help."
   7405 	      fi
   7406 	      if test "$build_old_libs" = no; then
   7407 		build_libtool_libs=module
   7408 		build_old_libs=yes
   7409 	      else
   7410 		build_libtool_libs=no
   7411 	      fi
   7412 	    fi
   7413 	  else
   7414 	    deplibs="$dir/$old_library $deplibs"
   7415 	    link_static=yes
   7416 	  fi
   7417 	fi # link shared/static library?
   7418 
   7419 	if test "$linkmode" = lib; then
   7420 	  if test -n "$dependency_libs" &&
   7421 	     { test "$hardcode_into_libs" != yes ||
   7422 	       test "$build_old_libs" = yes ||
   7423 	       test "$link_static" = yes; }; then
   7424 	    # Extract -R from dependency_libs
   7425 	    temp_deplibs=
   7426 	    for libdir in $dependency_libs; do
   7427 	      case $libdir in
   7428 	      -R*) func_stripname '-R' '' "$libdir"
   7429 	           temp_xrpath=$func_stripname_result
   7430 		   case " $xrpath " in
   7431 		   *" $temp_xrpath "*) ;;
   7432 		   *) xrpath+=" $temp_xrpath";;
   7433 		   esac;;
   7434 	      *) temp_deplibs+=" $libdir";;
   7435 	      esac
   7436 	    done
   7437 	    dependency_libs="$temp_deplibs"
   7438 	  fi
   7439 
   7440 	  newlib_search_path+=" $absdir"
   7441 	  # Link against this library
   7442 	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
   7443 	  # ... and its dependency_libs
   7444 	  tmp_libs=
   7445 	  for deplib in $dependency_libs; do
   7446 	    newdependency_libs="$deplib $newdependency_libs"
   7447 	    case $deplib in
   7448               -L*) func_stripname '-L' '' "$deplib"
   7449                    func_resolve_sysroot "$func_stripname_result";;
   7450               *) func_resolve_sysroot "$deplib" ;;
   7451             esac
   7452 	    if $opt_preserve_dup_deps ; then
   7453 	      case "$tmp_libs " in
   7454 	      *" $func_resolve_sysroot_result "*)
   7455                 specialdeplibs+=" $func_resolve_sysroot_result" ;;
   7456 	      esac
   7457 	    fi
   7458 	    tmp_libs+=" $func_resolve_sysroot_result"
   7459 	  done
   7460 
   7461 	  if test "$link_all_deplibs" != no; then
   7462 	    # Add the search paths of all dependency libraries
   7463 	    for deplib in $dependency_libs; do
   7464 	      path=
   7465 	      case $deplib in
   7466 	      -L*) path="$deplib" ;;
   7467 	      *.la)
   7468 	        func_resolve_sysroot "$deplib"
   7469 	        deplib=$func_resolve_sysroot_result
   7470 	        func_dirname "$deplib" "" "."
   7471 		dir=$func_dirname_result
   7472 		# We need an absolute path.
   7473 		case $dir in
   7474 		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
   7475 		*)
   7476 		  absdir=`cd "$dir" && pwd`
   7477 		  if test -z "$absdir"; then
   7478 		    func_warning "cannot determine absolute directory name of \`$dir'"
   7479 		    absdir="$dir"
   7480 		  fi
   7481 		  ;;
   7482 		esac
   7483 		if $GREP "^installed=no" $deplib > /dev/null; then
   7484 		case $host in
   7485 		*-*-darwin*)
   7486 		  depdepl=
   7487 		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
   7488 		  if test -n "$deplibrary_names" ; then
   7489 		    for tmp in $deplibrary_names ; do
   7490 		      depdepl=$tmp
   7491 		    done
   7492 		    if test -f "$absdir/$objdir/$depdepl" ; then
   7493 		      depdepl="$absdir/$objdir/$depdepl"
   7494 		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
   7495                       if test -z "$darwin_install_name"; then
   7496                           darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
   7497                       fi
   7498 		      compiler_flags+=" ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
   7499 		      linker_flags+=" -dylib_file ${darwin_install_name}:${depdepl}"
   7500 		      path=
   7501 		    fi
   7502 		  fi
   7503 		  ;;
   7504 		*)
   7505 		  path="-L$absdir/$objdir"
   7506 		  ;;
   7507 		esac
   7508 		else
   7509 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
   7510 		  test -z "$libdir" && \
   7511 		    func_fatal_error "\`$deplib' is not a valid libtool archive"
   7512 		  test "$absdir" != "$libdir" && \
   7513 		    func_warning "\`$deplib' seems to be moved"
   7514 
   7515 		  path="-L$absdir"
   7516 		fi
   7517 		;;
   7518 	      esac
   7519 	      case " $deplibs " in
   7520 	      *" $path "*) ;;
   7521 	      *) deplibs="$path $deplibs" ;;
   7522 	      esac
   7523 	    done
   7524 	  fi # link_all_deplibs != no
   7525 	fi # linkmode = lib
   7526       done # for deplib in $libs
   7527       if test "$pass" = link; then
   7528 	if test "$linkmode" = "prog"; then
   7529 	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
   7530 	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
   7531 	else
   7532 	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
   7533 	fi
   7534       fi
   7535       dependency_libs="$newdependency_libs"
   7536       if test "$pass" = dlpreopen; then
   7537 	# Link the dlpreopened libraries before other libraries
   7538 	for deplib in $save_deplibs; do
   7539 	  deplibs="$deplib $deplibs"
   7540 	done
   7541       fi
   7542       if test "$pass" != dlopen; then
   7543 	if test "$pass" != conv; then
   7544 	  # Make sure lib_search_path contains only unique directories.
   7545 	  lib_search_path=
   7546 	  for dir in $newlib_search_path; do
   7547 	    case "$lib_search_path " in
   7548 	    *" $dir "*) ;;
   7549 	    *) lib_search_path+=" $dir" ;;
   7550 	    esac
   7551 	  done
   7552 	  newlib_search_path=
   7553 	fi
   7554 
   7555 	if test "$linkmode,$pass" != "prog,link"; then
   7556 	  vars="deplibs"
   7557 	else
   7558 	  vars="compile_deplibs finalize_deplibs"
   7559 	fi
   7560 	for var in $vars dependency_libs; do
   7561 	  # Add libraries to $var in reverse order
   7562 	  eval tmp_libs=\"\$$var\"
   7563 	  new_libs=
   7564 	  for deplib in $tmp_libs; do
   7565 	    # FIXME: Pedantically, this is the right thing to do, so
   7566 	    #        that some nasty dependency loop isn't accidentally
   7567 	    #        broken:
   7568 	    #new_libs="$deplib $new_libs"
   7569 	    # Pragmatically, this seems to cause very few problems in
   7570 	    # practice:
   7571 	    case $deplib in
   7572 	    -L*) new_libs="$deplib $new_libs" ;;
   7573 	    -R*) ;;
   7574 	    *)
   7575 	      # And here is the reason: when a library appears more
   7576 	      # than once as an explicit dependence of a library, or
   7577 	      # is implicitly linked in more than once by the
   7578 	      # compiler, it is considered special, and multiple
   7579 	      # occurrences thereof are not removed.  Compare this
   7580 	      # with having the same library being listed as a
   7581 	      # dependency of multiple other libraries: in this case,
   7582 	      # we know (pedantically, we assume) the library does not
   7583 	      # need to be listed more than once, so we keep only the
   7584 	      # last copy.  This is not always right, but it is rare
   7585 	      # enough that we require users that really mean to play
   7586 	      # such unportable linking tricks to link the library
   7587 	      # using -Wl,-lname, so that libtool does not consider it
   7588 	      # for duplicate removal.
   7589 	      case " $specialdeplibs " in
   7590 	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
   7591 	      *)
   7592 		case " $new_libs " in
   7593 		*" $deplib "*) ;;
   7594 		*) new_libs="$deplib $new_libs" ;;
   7595 		esac
   7596 		;;
   7597 	      esac
   7598 	      ;;
   7599 	    esac
   7600 	  done
   7601 	  tmp_libs=
   7602 	  for deplib in $new_libs; do
   7603 	    case $deplib in
   7604 	    -L*)
   7605 	      case " $tmp_libs " in
   7606 	      *" $deplib "*) ;;
   7607 	      *) tmp_libs+=" $deplib" ;;
   7608 	      esac
   7609 	      ;;
   7610 	    *) tmp_libs+=" $deplib" ;;
   7611 	    esac
   7612 	  done
   7613 	  eval $var=\"$tmp_libs\"
   7614 	done # for var
   7615       fi
   7616       # Last step: remove runtime libs from dependency_libs
   7617       # (they stay in deplibs)
   7618       tmp_libs=
   7619       for i in $dependency_libs ; do
   7620 	case " $predeps $postdeps $compiler_lib_search_path " in
   7621 	*" $i "*)
   7622 	  i=""
   7623 	  ;;
   7624 	esac
   7625 	if test -n "$i" ; then
   7626 	  tmp_libs+=" $i"
   7627 	fi
   7628       done
   7629       dependency_libs=$tmp_libs
   7630     done # for pass
   7631     if test "$linkmode" = prog; then
   7632       dlfiles="$newdlfiles"
   7633     fi
   7634     if test "$linkmode" = prog || test "$linkmode" = lib; then
   7635       dlprefiles="$newdlprefiles"
   7636     fi
   7637 
   7638     case $linkmode in
   7639     oldlib)
   7640       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
   7641 	func_warning "\`-dlopen' is ignored for archives"
   7642       fi
   7643 
   7644       case " $deplibs" in
   7645       *\ -l* | *\ -L*)
   7646 	func_warning "\`-l' and \`-L' are ignored for archives" ;;
   7647       esac
   7648 
   7649       test -n "$rpath" && \
   7650 	func_warning "\`-rpath' is ignored for archives"
   7651 
   7652       test -n "$xrpath" && \
   7653 	func_warning "\`-R' is ignored for archives"
   7654 
   7655       test -n "$vinfo" && \
   7656 	func_warning "\`-version-info/-version-number' is ignored for archives"
   7657 
   7658       test -n "$release" && \
   7659 	func_warning "\`-release' is ignored for archives"
   7660 
   7661       test -n "$export_symbols$export_symbols_regex" && \
   7662 	func_warning "\`-export-symbols' is ignored for archives"
   7663 
   7664       # Now set the variables for building old libraries.
   7665       build_libtool_libs=no
   7666       oldlibs="$output"
   7667       objs+="$old_deplibs"
   7668       ;;
   7669 
   7670     lib)
   7671       # Make sure we only generate libraries of the form `libNAME.la'.
   7672       case $outputname in
   7673       lib*)
   7674 	func_stripname 'lib' '.la' "$outputname"
   7675 	name=$func_stripname_result
   7676 	eval shared_ext=\"$shrext_cmds\"
   7677 	eval libname=\"$libname_spec\"
   7678 	;;
   7679       *)
   7680 	test "$module" = no && \
   7681 	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
   7682 
   7683 	if test "$need_lib_prefix" != no; then
   7684 	  # Add the "lib" prefix for modules if required
   7685 	  func_stripname '' '.la' "$outputname"
   7686 	  name=$func_stripname_result
   7687 	  eval shared_ext=\"$shrext_cmds\"
   7688 	  eval libname=\"$libname_spec\"
   7689 	else
   7690 	  func_stripname '' '.la' "$outputname"
   7691 	  libname=$func_stripname_result
   7692 	fi
   7693 	;;
   7694       esac
   7695 
   7696       if test -n "$objs"; then
   7697 	if test "$deplibs_check_method" != pass_all; then
   7698 	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
   7699 	else
   7700 	  echo
   7701 	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
   7702 	  $ECHO "*** objects $objs is not portable!"
   7703 	  libobjs+=" $objs"
   7704 	fi
   7705       fi
   7706 
   7707       test "$dlself" != no && \
   7708 	func_warning "\`-dlopen self' is ignored for libtool libraries"
   7709 
   7710       set dummy $rpath
   7711       shift
   7712       test "$#" -gt 1 && \
   7713 	func_warning "ignoring multiple \`-rpath's for a libtool library"
   7714 
   7715       install_libdir="$1"
   7716 
   7717       oldlibs=
   7718       if test -z "$rpath"; then
   7719 	if test "$build_libtool_libs" = yes; then
   7720 	  # Building a libtool convenience library.
   7721 	  # Some compilers have problems with a `.al' extension so
   7722 	  # convenience libraries should have the same extension an
   7723 	  # archive normally would.
   7724 	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
   7725 	  build_libtool_libs=convenience
   7726 	  build_old_libs=yes
   7727 	fi
   7728 
   7729 	test -n "$vinfo" && \
   7730 	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
   7731 
   7732 	test -n "$release" && \
   7733 	  func_warning "\`-release' is ignored for convenience libraries"
   7734       else
   7735 
   7736 	# Parse the version information argument.
   7737 	save_ifs="$IFS"; IFS=':'
   7738 	set dummy $vinfo 0 0 0
   7739 	shift
   7740 	IFS="$save_ifs"
   7741 
   7742 	test -n "$7" && \
   7743 	  func_fatal_help "too many parameters to \`-version-info'"
   7744 
   7745 	# convert absolute version numbers to libtool ages
   7746 	# this retains compatibility with .la files and attempts
   7747 	# to make the code below a bit more comprehensible
   7748 
   7749 	case $vinfo_number in
   7750 	yes)
   7751 	  number_major="$1"
   7752 	  number_minor="$2"
   7753 	  number_revision="$3"
   7754 	  #
   7755 	  # There are really only two kinds -- those that
   7756 	  # use the current revision as the major version
   7757 	  # and those that subtract age and use age as
   7758 	  # a minor version.  But, then there is irix
   7759 	  # which has an extra 1 added just for fun
   7760 	  #
   7761 	  case $version_type in
   7762 	  darwin|linux|osf|windows|none)
   7763 	    func_arith $number_major + $number_minor
   7764 	    current=$func_arith_result
   7765 	    age="$number_minor"
   7766 	    revision="$number_revision"
   7767 	    ;;
   7768 	  freebsd-aout|freebsd-elf|qnx|sunos)
   7769 	    current="$number_major"
   7770 	    revision="$number_minor"
   7771 	    age="0"
   7772 	    ;;
   7773 	  irix|nonstopux)
   7774 	    func_arith $number_major + $number_minor
   7775 	    current=$func_arith_result
   7776 	    age="$number_minor"
   7777 	    revision="$number_minor"
   7778 	    lt_irix_increment=no
   7779 	    ;;
   7780 	  *)
   7781 	    func_fatal_configuration "$modename: unknown library version type \`$version_type'"
   7782 	    ;;
   7783 	  esac
   7784 	  ;;
   7785 	no)
   7786 	  current="$1"
   7787 	  revision="$2"
   7788 	  age="$3"
   7789 	  ;;
   7790 	esac
   7791 
   7792 	# Check that each of the things are valid numbers.
   7793 	case $current in
   7794 	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]) ;;
   7795 	*)
   7796 	  func_error "CURRENT \`$current' must be a nonnegative integer"
   7797 	  func_fatal_error "\`$vinfo' is not valid version information"
   7798 	  ;;
   7799 	esac
   7800 
   7801 	case $revision in
   7802 	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]) ;;
   7803 	*)
   7804 	  func_error "REVISION \`$revision' must be a nonnegative integer"
   7805 	  func_fatal_error "\`$vinfo' is not valid version information"
   7806 	  ;;
   7807 	esac
   7808 
   7809 	case $age in
   7810 	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]) ;;
   7811 	*)
   7812 	  func_error "AGE \`$age' must be a nonnegative integer"
   7813 	  func_fatal_error "\`$vinfo' is not valid version information"
   7814 	  ;;
   7815 	esac
   7816 
   7817 	if test "$age" -gt "$current"; then
   7818 	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
   7819 	  func_fatal_error "\`$vinfo' is not valid version information"
   7820 	fi
   7821 
   7822 	# Calculate the version variables.
   7823 	major=
   7824 	versuffix=
   7825 	verstring=
   7826 	case $version_type in
   7827 	none) ;;
   7828 
   7829 	darwin)
   7830 	  # Like Linux, but with the current version available in
   7831 	  # verstring for coding it into the library header
   7832 	  func_arith $current - $age
   7833 	  major=.$func_arith_result
   7834 	  versuffix="$major.$age.$revision"
   7835 	  # Darwin ld doesn't like 0 for these options...
   7836 	  func_arith $current + 1
   7837 	  minor_current=$func_arith_result
   7838 	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
   7839 	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
   7840 	  ;;
   7841 
   7842 	freebsd-aout)
   7843 	  major=".$current"
   7844 	  versuffix=".$current.$revision";
   7845 	  ;;
   7846 
   7847 	freebsd-elf)
   7848 	  major=".$current"
   7849 	  versuffix=".$current"
   7850 	  ;;
   7851 
   7852 	irix | nonstopux)
   7853 	  if test "X$lt_irix_increment" = "Xno"; then
   7854 	    func_arith $current - $age
   7855 	  else
   7856 	    func_arith $current - $age + 1
   7857 	  fi
   7858 	  major=$func_arith_result
   7859 
   7860 	  case $version_type in
   7861 	    nonstopux) verstring_prefix=nonstopux ;;
   7862 	    *)         verstring_prefix=sgi ;;
   7863 	  esac
   7864 	  verstring="$verstring_prefix$major.$revision"
   7865 
   7866 	  # Add in all the interfaces that we are compatible with.
   7867 	  loop=$revision
   7868 	  while test "$loop" -ne 0; do
   7869 	    func_arith $revision - $loop
   7870 	    iface=$func_arith_result
   7871 	    func_arith $loop - 1
   7872 	    loop=$func_arith_result
   7873 	    verstring="$verstring_prefix$major.$iface:$verstring"
   7874 	  done
   7875 
   7876 	  # Before this point, $major must not contain `.'.
   7877 	  major=.$major
   7878 	  versuffix="$major.$revision"
   7879 	  ;;
   7880 
   7881 	linux)
   7882 	  func_arith $current - $age
   7883 	  major=.$func_arith_result
   7884 	  versuffix="$major.$age.$revision"
   7885 	  ;;
   7886 
   7887 	osf)
   7888 	  func_arith $current - $age
   7889 	  major=.$func_arith_result
   7890 	  versuffix=".$current.$age.$revision"
   7891 	  verstring="$current.$age.$revision"
   7892 
   7893 	  # Add in all the interfaces that we are compatible with.
   7894 	  loop=$age
   7895 	  while test "$loop" -ne 0; do
   7896 	    func_arith $current - $loop
   7897 	    iface=$func_arith_result
   7898 	    func_arith $loop - 1
   7899 	    loop=$func_arith_result
   7900 	    verstring="$verstring:${iface}.0"
   7901 	  done
   7902 
   7903 	  # Make executables depend on our current version.
   7904 	  verstring+=":${current}.0"
   7905 	  ;;
   7906 
   7907 	qnx)
   7908 	  major=".$current"
   7909 	  versuffix=".$current"
   7910 	  ;;
   7911 
   7912 	sunos)
   7913 	  major=".$current"
   7914 	  versuffix=".$current.$revision"
   7915 	  ;;
   7916 
   7917 	windows)
   7918 	  # Use '-' rather than '.', since we only want one
   7919 	  # extension on DOS 8.3 filesystems.
   7920 	  func_arith $current - $age
   7921 	  major=$func_arith_result
   7922 	  versuffix="-$major"
   7923 	  ;;
   7924 
   7925 	*)
   7926 	  func_fatal_configuration "unknown library version type \`$version_type'"
   7927 	  ;;
   7928 	esac
   7929 
   7930 	# Clear the version info if we defaulted, and they specified a release.
   7931 	if test -z "$vinfo" && test -n "$release"; then
   7932 	  major=
   7933 	  case $version_type in
   7934 	  darwin)
   7935 	    # we can't check for "0.0" in archive_cmds due to quoting
   7936 	    # problems, so we reset it completely
   7937 	    verstring=
   7938 	    ;;
   7939 	  *)
   7940 	    verstring="0.0"
   7941 	    ;;
   7942 	  esac
   7943 	  if test "$need_version" = no; then
   7944 	    versuffix=
   7945 	  else
   7946 	    versuffix=".0.0"
   7947 	  fi
   7948 	fi
   7949 
   7950 	# Remove version info from name if versioning should be avoided
   7951 	if test "$avoid_version" = yes && test "$need_version" = no; then
   7952 	  major=
   7953 	  versuffix=
   7954 	  verstring=""
   7955 	fi
   7956 
   7957 	# Check to see if the archive will have undefined symbols.
   7958 	if test "$allow_undefined" = yes; then
   7959 	  if test "$allow_undefined_flag" = unsupported; then
   7960 	    func_warning "undefined symbols not allowed in $host shared libraries"
   7961 	    build_libtool_libs=no
   7962 	    build_old_libs=yes
   7963 	  fi
   7964 	else
   7965 	  # Don't allow undefined symbols.
   7966 	  allow_undefined_flag="$no_undefined_flag"
   7967 	fi
   7968 
   7969       fi
   7970 
   7971       func_generate_dlsyms "$libname" "$libname" "yes"
   7972       libobjs+=" $symfileobj"
   7973       test "X$libobjs" = "X " && libobjs=
   7974 
   7975       if test "$opt_mode" != relink; then
   7976 	# Remove our outputs, but don't remove object files since they
   7977 	# may have been created when compiling PIC objects.
   7978 	removelist=
   7979 	tempremovelist=`$ECHO "$output_objdir/*"`
   7980 	for p in $tempremovelist; do
   7981 	  case $p in
   7982 	    *.$objext | *.gcno)
   7983 	       ;;
   7984 	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
   7985 	       if test "X$precious_files_regex" != "X"; then
   7986 		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
   7987 		 then
   7988 		   continue
   7989 		 fi
   7990 	       fi
   7991 	       removelist+=" $p"
   7992 	       ;;
   7993 	    *) ;;
   7994 	  esac
   7995 	done
   7996 	test -n "$removelist" && \
   7997 	  func_show_eval "${RM}r \$removelist"
   7998       fi
   7999 
   8000       # Now set the variables for building old libraries.
   8001       if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
   8002 	oldlibs+=" $output_objdir/$libname.$libext"
   8003 
   8004 	# Transform .lo files to .o files.
   8005 	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
   8006       fi
   8007 
   8008       # Eliminate all temporary directories.
   8009       #for path in $notinst_path; do
   8010       #	lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
   8011       #	deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
   8012       #	dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
   8013       #done
   8014 
   8015       if test -n "$xrpath"; then
   8016 	# If the user specified any rpath flags, then add them.
   8017 	temp_xrpath=
   8018 	for libdir in $xrpath; do
   8019 	  func_replace_sysroot "$libdir"
   8020 	  temp_xrpath+=" -R$func_replace_sysroot_result"
   8021 	  case "$finalize_rpath " in
   8022 	  *" $libdir "*) ;;
   8023 	  *) finalize_rpath+=" $libdir" ;;
   8024 	  esac
   8025 	done
   8026 	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
   8027 	  dependency_libs="$temp_xrpath $dependency_libs"
   8028 	fi
   8029       fi
   8030 
   8031       # Make sure dlfiles contains only unique files that won't be dlpreopened
   8032       old_dlfiles="$dlfiles"
   8033       dlfiles=
   8034       for lib in $old_dlfiles; do
   8035 	case " $dlprefiles $dlfiles " in
   8036 	*" $lib "*) ;;
   8037 	*) dlfiles+=" $lib" ;;
   8038 	esac
   8039       done
   8040 
   8041       # Make sure dlprefiles contains only unique files
   8042       old_dlprefiles="$dlprefiles"
   8043       dlprefiles=
   8044       for lib in $old_dlprefiles; do
   8045 	case "$dlprefiles " in
   8046 	*" $lib "*) ;;
   8047 	*) dlprefiles+=" $lib" ;;
   8048 	esac
   8049       done
   8050 
   8051       if test "$build_libtool_libs" = yes; then
   8052 	if test -n "$rpath"; then
   8053 	  case $host in
   8054 	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
   8055 	    # these systems don't actually have a c library (as such)!
   8056 	    ;;
   8057 	  *-*-rhapsody* | *-*-darwin1.[012])
   8058 	    # Rhapsody C library is in the System framework
   8059 	    deplibs+=" System.ltframework"
   8060 	    ;;
   8061 	  *-*-netbsd*)
   8062 	    # Don't link with libc until the a.out ld.so is fixed.
   8063 	    ;;
   8064 	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
   8065 	    # Do not include libc due to us having libc/libc_r.
   8066 	    ;;
   8067 	  *-*-sco3.2v5* | *-*-sco5v6*)
   8068 	    # Causes problems with __ctype
   8069 	    ;;
   8070 	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
   8071 	    # Compiler inserts libc in the correct place for threads to work
   8072 	    ;;
   8073 	  *)
   8074 	    # Add libc to deplibs on all other systems if necessary.
   8075 	    if test "$build_libtool_need_lc" = "yes"; then
   8076 	      deplibs+=" -lc"
   8077 	    fi
   8078 	    ;;
   8079 	  esac
   8080 	fi
   8081 
   8082 	# Transform deplibs into only deplibs that can be linked in shared.
   8083 	name_save=$name
   8084 	libname_save=$libname
   8085 	release_save=$release
   8086 	versuffix_save=$versuffix
   8087 	major_save=$major
   8088 	# I'm not sure if I'm treating the release correctly.  I think
   8089 	# release should show up in the -l (ie -lgmp5) so we don't want to
   8090 	# add it in twice.  Is that correct?
   8091 	release=""
   8092 	versuffix=""
   8093 	major=""
   8094 	newdeplibs=
   8095 	droppeddeps=no
   8096 	case $deplibs_check_method in
   8097 	pass_all)
   8098 	  # Don't check for shared/static.  Everything works.
   8099 	  # This might be a little naive.  We might want to check
   8100 	  # whether the library exists or not.  But this is on
   8101 	  # osf3 & osf4 and I'm not really sure... Just
   8102 	  # implementing what was already the behavior.
   8103 	  newdeplibs=$deplibs
   8104 	  ;;
   8105 	test_compile)
   8106 	  # This code stresses the "libraries are programs" paradigm to its
   8107 	  # limits. Maybe even breaks it.  We compile a program, linking it
   8108 	  # against the deplibs as a proxy for the library.  Then we can check
   8109 	  # whether they linked in statically or dynamically with ldd.
   8110 	  $opt_dry_run || $RM conftest.c
   8111 	  cat > conftest.c <<EOF
   8112 	  int main() { return 0; }
   8113 EOF
   8114 	  $opt_dry_run || $RM conftest
   8115 	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
   8116 	    ldd_output=`ldd conftest`
   8117 	    for i in $deplibs; do
   8118 	      case $i in
   8119 	      -l*)
   8120 		func_stripname -l '' "$i"
   8121 		name=$func_stripname_result
   8122 		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
   8123 		  case " $predeps $postdeps " in
   8124 		  *" $i "*)
   8125 		    newdeplibs+=" $i"
   8126 		    i=""
   8127 		    ;;
   8128 		  esac
   8129 		fi
   8130 		if test -n "$i" ; then
   8131 		  libname=`eval "\\$ECHO \"$libname_spec\""`
   8132 		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
   8133 		  set dummy $deplib_matches; shift
   8134 		  deplib_match=$1
   8135 		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
   8136 		    newdeplibs+=" $i"
   8137 		  else
   8138 		    droppeddeps=yes
   8139 		    echo
   8140 		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
   8141 		    echo "*** I have the capability to make that library automatically link in when"
   8142 		    echo "*** you link to this library.  But I can only do this if you have a"
   8143 		    echo "*** shared version of the library, which I believe you do not have"
   8144 		    echo "*** because a test_compile did reveal that the linker did not use it for"
   8145 		    echo "*** its dynamic dependency list that programs get resolved with at runtime."
   8146 		  fi
   8147 		fi
   8148 		;;
   8149 	      *)
   8150 		newdeplibs+=" $i"
   8151 		;;
   8152 	      esac
   8153 	    done
   8154 	  else
   8155 	    # Error occurred in the first compile.  Let's try to salvage
   8156 	    # the situation: Compile a separate program for each library.
   8157 	    for i in $deplibs; do
   8158 	      case $i in
   8159 	      -l*)
   8160 		func_stripname -l '' "$i"
   8161 		name=$func_stripname_result
   8162 		$opt_dry_run || $RM conftest
   8163 		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
   8164 		  ldd_output=`ldd conftest`
   8165 		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
   8166 		    case " $predeps $postdeps " in
   8167 		    *" $i "*)
   8168 		      newdeplibs+=" $i"
   8169 		      i=""
   8170 		      ;;
   8171 		    esac
   8172 		  fi
   8173 		  if test -n "$i" ; then
   8174 		    libname=`eval "\\$ECHO \"$libname_spec\""`
   8175 		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
   8176 		    set dummy $deplib_matches; shift
   8177 		    deplib_match=$1
   8178 		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
   8179 		      newdeplibs+=" $i"
   8180 		    else
   8181 		      droppeddeps=yes
   8182 		      echo
   8183 		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
   8184 		      echo "*** I have the capability to make that library automatically link in when"
   8185 		      echo "*** you link to this library.  But I can only do this if you have a"
   8186 		      echo "*** shared version of the library, which you do not appear to have"
   8187 		      echo "*** because a test_compile did reveal that the linker did not use this one"
   8188 		      echo "*** as a dynamic dependency that programs can get resolved with at runtime."
   8189 		    fi
   8190 		  fi
   8191 		else
   8192 		  droppeddeps=yes
   8193 		  echo
   8194 		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
   8195 		  echo "*** make it link in!  You will probably need to install it or some"
   8196 		  echo "*** library that it depends on before this library will be fully"
   8197 		  echo "*** functional.  Installing it before continuing would be even better."
   8198 		fi
   8199 		;;
   8200 	      *)
   8201 		newdeplibs+=" $i"
   8202 		;;
   8203 	      esac
   8204 	    done
   8205 	  fi
   8206 	  ;;
   8207 	file_magic*)
   8208 	  set dummy $deplibs_check_method; shift
   8209 	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
   8210 	  for a_deplib in $deplibs; do
   8211 	    case $a_deplib in
   8212 	    -l*)
   8213 	      func_stripname -l '' "$a_deplib"
   8214 	      name=$func_stripname_result
   8215 	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
   8216 		case " $predeps $postdeps " in
   8217 		*" $a_deplib "*)
   8218 		  newdeplibs+=" $a_deplib"
   8219 		  a_deplib=""
   8220 		  ;;
   8221 		esac
   8222 	      fi
   8223 	      if test -n "$a_deplib" ; then
   8224 		libname=`eval "\\$ECHO \"$libname_spec\""`
   8225 		if test -n "$file_magic_glob"; then
   8226 		  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
   8227 		else
   8228 		  libnameglob=$libname
   8229 		fi
   8230 		test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
   8231 		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
   8232 		  if test "$want_nocaseglob" = yes; then
   8233 		    shopt -s nocaseglob
   8234 		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
   8235 		    $nocaseglob
   8236 		  else
   8237 		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
   8238 		  fi
   8239 		  for potent_lib in $potential_libs; do
   8240 		      # Follow soft links.
   8241 		      if ls -lLd "$potent_lib" 2>/dev/null |
   8242 			 $GREP " -> " >/dev/null; then
   8243 			continue
   8244 		      fi
   8245 		      # The statement above tries to avoid entering an
   8246 		      # endless loop below, in case of cyclic links.
   8247 		      # We might still enter an endless loop, since a link
   8248 		      # loop can be closed while we follow links,
   8249 		      # but so what?
   8250 		      potlib="$potent_lib"
   8251 		      while test -h "$potlib" 2>/dev/null; do
   8252 			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
   8253 			case $potliblink in
   8254 			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
   8255 			*) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
   8256 			esac
   8257 		      done
   8258 		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
   8259 			 $SED -e 10q |
   8260 			 $EGREP "$file_magic_regex" > /dev/null; then
   8261 			newdeplibs+=" $a_deplib"
   8262 			a_deplib=""
   8263 			break 2
   8264 		      fi
   8265 		  done
   8266 		done
   8267 	      fi
   8268 	      if test -n "$a_deplib" ; then
   8269 		droppeddeps=yes
   8270 		echo
   8271 		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
   8272 		echo "*** I have the capability to make that library automatically link in when"
   8273 		echo "*** you link to this library.  But I can only do this if you have a"
   8274 		echo "*** shared version of the library, which you do not appear to have"
   8275 		echo "*** because I did check the linker path looking for a file starting"
   8276 		if test -z "$potlib" ; then
   8277 		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
   8278 		else
   8279 		  $ECHO "*** with $libname and none of the candidates passed a file format test"
   8280 		  $ECHO "*** using a file magic. Last file checked: $potlib"
   8281 		fi
   8282 	      fi
   8283 	      ;;
   8284 	    *)
   8285 	      # Add a -L argument.
   8286 	      newdeplibs+=" $a_deplib"
   8287 	      ;;
   8288 	    esac
   8289 	  done # Gone through all deplibs.
   8290 	  ;;
   8291 	match_pattern*)
   8292 	  set dummy $deplibs_check_method; shift
   8293 	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
   8294 	  for a_deplib in $deplibs; do
   8295 	    case $a_deplib in
   8296 	    -l*)
   8297 	      func_stripname -l '' "$a_deplib"
   8298 	      name=$func_stripname_result
   8299 	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
   8300 		case " $predeps $postdeps " in
   8301 		*" $a_deplib "*)
   8302 		  newdeplibs+=" $a_deplib"
   8303 		  a_deplib=""
   8304 		  ;;
   8305 		esac
   8306 	      fi
   8307 	      if test -n "$a_deplib" ; then
   8308 		libname=`eval "\\$ECHO \"$libname_spec\""`
   8309 		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
   8310 		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
   8311 		  for potent_lib in $potential_libs; do
   8312 		    potlib="$potent_lib" # see symlink-check above in file_magic test
   8313 		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
   8314 		       $EGREP "$match_pattern_regex" > /dev/null; then
   8315 		      newdeplibs+=" $a_deplib"
   8316 		      a_deplib=""
   8317 		      break 2
   8318 		    fi
   8319 		  done
   8320 		done
   8321 	      fi
   8322 	      if test -n "$a_deplib" ; then
   8323 		droppeddeps=yes
   8324 		echo
   8325 		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
   8326 		echo "*** I have the capability to make that library automatically link in when"
   8327 		echo "*** you link to this library.  But I can only do this if you have a"
   8328 		echo "*** shared version of the library, which you do not appear to have"
   8329 		echo "*** because I did check the linker path looking for a file starting"
   8330 		if test -z "$potlib" ; then
   8331 		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
   8332 		else
   8333 		  $ECHO "*** with $libname and none of the candidates passed a file format test"
   8334 		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
   8335 		fi
   8336 	      fi
   8337 	      ;;
   8338 	    *)
   8339 	      # Add a -L argument.
   8340 	      newdeplibs+=" $a_deplib"
   8341 	      ;;
   8342 	    esac
   8343 	  done # Gone through all deplibs.
   8344 	  ;;
   8345 	none | unknown | *)
   8346 	  newdeplibs=""
   8347 	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
   8348 	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
   8349 	    for i in $predeps $postdeps ; do
   8350 	      # can't use Xsed below, because $i might contain '/'
   8351 	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
   8352 	    done
   8353 	  fi
   8354 	  case $tmp_deplibs in
   8355 	  *[!\	\ ]*)
   8356 	    echo
   8357 	    if test "X$deplibs_check_method" = "Xnone"; then
   8358 	      echo "*** Warning: inter-library dependencies are not supported in this platform."
   8359 	    else
   8360 	      echo "*** Warning: inter-library dependencies are not known to be supported."
   8361 	    fi
   8362 	    echo "*** All declared inter-library dependencies are being dropped."
   8363 	    droppeddeps=yes
   8364 	    ;;
   8365 	  esac
   8366 	  ;;
   8367 	esac
   8368 	versuffix=$versuffix_save
   8369 	major=$major_save
   8370 	release=$release_save
   8371 	libname=$libname_save
   8372 	name=$name_save
   8373 
   8374 	case $host in
   8375 	*-*-rhapsody* | *-*-darwin1.[012])
   8376 	  # On Rhapsody replace the C library with the System framework
   8377 	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
   8378 	  ;;
   8379 	esac
   8380 
   8381 	if test "$droppeddeps" = yes; then
   8382 	  if test "$module" = yes; then
   8383 	    echo
   8384 	    echo "*** Warning: libtool could not satisfy all declared inter-library"
   8385 	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
   8386 	    echo "*** a static module, that should work as long as the dlopening"
   8387 	    echo "*** application is linked with the -dlopen flag."
   8388 	    if test -z "$global_symbol_pipe"; then
   8389 	      echo
   8390 	      echo "*** However, this would only work if libtool was able to extract symbol"
   8391 	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
   8392 	      echo "*** not find such a program.  So, this module is probably useless."
   8393 	      echo "*** \`nm' from GNU binutils and a full rebuild may help."
   8394 	    fi
   8395 	    if test "$build_old_libs" = no; then
   8396 	      oldlibs="$output_objdir/$libname.$libext"
   8397 	      build_libtool_libs=module
   8398 	      build_old_libs=yes
   8399 	    else
   8400 	      build_libtool_libs=no
   8401 	    fi
   8402 	  else
   8403 	    echo "*** The inter-library dependencies that have been dropped here will be"
   8404 	    echo "*** automatically added whenever a program is linked with this library"
   8405 	    echo "*** or is declared to -dlopen it."
   8406 
   8407 	    if test "$allow_undefined" = no; then
   8408 	      echo
   8409 	      echo "*** Since this library must not contain undefined symbols,"
   8410 	      echo "*** because either the platform does not support them or"
   8411 	      echo "*** it was explicitly requested with -no-undefined,"
   8412 	      echo "*** libtool will only create a static version of it."
   8413 	      if test "$build_old_libs" = no; then
   8414 		oldlibs="$output_objdir/$libname.$libext"
   8415 		build_libtool_libs=module
   8416 		build_old_libs=yes
   8417 	      else
   8418 		build_libtool_libs=no
   8419 	      fi
   8420 	    fi
   8421 	  fi
   8422 	fi
   8423 	# Done checking deplibs!
   8424 	deplibs=$newdeplibs
   8425       fi
   8426       # Time to change all our "foo.ltframework" stuff back to "-framework foo"
   8427       case $host in
   8428 	*-*-darwin*)
   8429 	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
   8430 	  new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
   8431 	  deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
   8432 	  ;;
   8433       esac
   8434 
   8435       # move library search paths that coincide with paths to not yet
   8436       # installed libraries to the beginning of the library search list
   8437       new_libs=
   8438       for path in $notinst_path; do
   8439 	case " $new_libs " in
   8440 	*" -L$path/$objdir "*) ;;
   8441 	*)
   8442 	  case " $deplibs " in
   8443 	  *" -L$path/$objdir "*)
   8444 	    new_libs+=" -L$path/$objdir" ;;
   8445 	  esac
   8446 	  ;;
   8447 	esac
   8448       done
   8449       for deplib in $deplibs; do
   8450 	case $deplib in
   8451 	-L*)
   8452 	  case " $new_libs " in
   8453 	  *" $deplib "*) ;;
   8454 	  *) new_libs+=" $deplib" ;;
   8455 	  esac
   8456 	  ;;
   8457 	*) new_libs+=" $deplib" ;;
   8458 	esac
   8459       done
   8460       deplibs="$new_libs"
   8461 
   8462       # All the library-specific variables (install_libdir is set above).
   8463       library_names=
   8464       old_library=
   8465       dlname=
   8466 
   8467       # Test again, we may have decided not to build it any more
   8468       if test "$build_libtool_libs" = yes; then
   8469 	if test "$hardcode_into_libs" = yes; then
   8470 	  # Hardcode the library paths
   8471 	  hardcode_libdirs=
   8472 	  dep_rpath=
   8473 	  rpath="$finalize_rpath"
   8474 	  test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
   8475 	  for libdir in $rpath; do
   8476 	    if test -n "$hardcode_libdir_flag_spec"; then
   8477 	      if test -n "$hardcode_libdir_separator"; then
   8478 		func_replace_sysroot "$libdir"
   8479 		libdir=$func_replace_sysroot_result
   8480 		if test -z "$hardcode_libdirs"; then
   8481 		  hardcode_libdirs="$libdir"
   8482 		else
   8483 		  # Just accumulate the unique libdirs.
   8484 		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
   8485 		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
   8486 		    ;;
   8487 		  *)
   8488 		    hardcode_libdirs+="$hardcode_libdir_separator$libdir"
   8489 		    ;;
   8490 		  esac
   8491 		fi
   8492 	      else
   8493 		eval flag=\"$hardcode_libdir_flag_spec\"
   8494 		dep_rpath+=" $flag"
   8495 	      fi
   8496 	    elif test -n "$runpath_var"; then
   8497 	      case "$perm_rpath " in
   8498 	      *" $libdir "*) ;;
   8499 	      *) func_apped perm_rpath " $libdir" ;;
   8500 	      esac
   8501 	    fi
   8502 	  done
   8503 	  # Substitute the hardcoded libdirs into the rpath.
   8504 	  if test -n "$hardcode_libdir_separator" &&
   8505 	     test -n "$hardcode_libdirs"; then
   8506 	    libdir="$hardcode_libdirs"
   8507 	    if test -n "$hardcode_libdir_flag_spec_ld"; then
   8508 	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
   8509 	    else
   8510 	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
   8511 	    fi
   8512 	  fi
   8513 	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
   8514 	    # We should set the runpath_var.
   8515 	    rpath=
   8516 	    for dir in $perm_rpath; do
   8517 	      rpath+="$dir:"
   8518 	    done
   8519 	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
   8520 	  fi
   8521 	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
   8522 	fi
   8523 
   8524 	shlibpath="$finalize_shlibpath"
   8525 	test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
   8526 	if test -n "$shlibpath"; then
   8527 	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
   8528 	fi
   8529 
   8530 	# Get the real and link names of the library.
   8531 	eval shared_ext=\"$shrext_cmds\"
   8532 	eval library_names=\"$library_names_spec\"
   8533 	set dummy $library_names
   8534 	shift
   8535 	realname="$1"
   8536 	shift
   8537 
   8538 	if test -n "$soname_spec"; then
   8539 	  eval soname=\"$soname_spec\"
   8540 	else
   8541 	  soname="$realname"
   8542 	fi
   8543 	if test -z "$dlname"; then
   8544 	  dlname=$soname
   8545 	fi
   8546 
   8547 	lib="$output_objdir/$realname"
   8548 	linknames=
   8549 	for link
   8550 	do
   8551 	  linknames+=" $link"
   8552 	done
   8553 
   8554 	# Use standard objects if they are pic
   8555 	test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
   8556 	test "X$libobjs" = "X " && libobjs=
   8557 
   8558 	delfiles=
   8559 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
   8560 	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
   8561 	  export_symbols="$output_objdir/$libname.uexp"
   8562 	  delfiles+=" $export_symbols"
   8563 	fi
   8564 
   8565 	orig_export_symbols=
   8566 	case $host_os in
   8567 	cygwin* | mingw* | cegcc*)
   8568 	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
   8569 	    # exporting using user supplied symfile
   8570 	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
   8571 	      # and it's NOT already a .def file. Must figure out
   8572 	      # which of the given symbols are data symbols and tag
   8573 	      # them as such. So, trigger use of export_symbols_cmds.
   8574 	      # export_symbols gets reassigned inside the "prepare
   8575 	      # the list of exported symbols" if statement, so the
   8576 	      # include_expsyms logic still works.
   8577 	      orig_export_symbols="$export_symbols"
   8578 	      export_symbols=
   8579 	      always_export_symbols=yes
   8580 	    fi
   8581 	  fi
   8582 	  ;;
   8583 	esac
   8584 
   8585 	# Prepare the list of exported symbols
   8586 	if test -z "$export_symbols"; then
   8587 	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
   8588 	    func_verbose "generating symbol list for \`$libname.la'"
   8589 	    export_symbols="$output_objdir/$libname.exp"
   8590 	    $opt_dry_run || $RM $export_symbols
   8591 	    cmds=$export_symbols_cmds
   8592 	    save_ifs="$IFS"; IFS='~'
   8593 	    for cmd1 in $cmds; do
   8594 	      IFS="$save_ifs"
   8595 	      # Take the normal branch if the nm_file_list_spec branch
   8596 	      # doesn't work or if tool conversion is not needed.
   8597 	      case $nm_file_list_spec~$to_tool_file_cmd in
   8598 		*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
   8599 		  try_normal_branch=yes
   8600 		  eval cmd=\"$cmd1\"
   8601 		  func_len " $cmd"
   8602 		  len=$func_len_result
   8603 		  ;;
   8604 		*)
   8605 		  try_normal_branch=no
   8606 		  ;;
   8607 	      esac
   8608 	      if test "$try_normal_branch" = yes \
   8609 		 && { test "$len" -lt "$max_cmd_len" \
   8610 		      || test "$max_cmd_len" -le -1; }
   8611 	      then
   8612 		func_show_eval "$cmd" 'exit $?'
   8613 		skipped_export=false
   8614 	      elif test -n "$nm_file_list_spec"; then
   8615 		func_basename "$output"
   8616 		output_la=$func_basename_result
   8617 		save_libobjs=$libobjs
   8618 		save_output=$output
   8619 		output=${output_objdir}/${output_la}.nm
   8620 		func_to_tool_file "$output"
   8621 		libobjs=$nm_file_list_spec$func_to_tool_file_result
   8622 		delfiles+=" $output"
   8623 		func_verbose "creating $NM input file list: $output"
   8624 		for obj in $save_libobjs; do
   8625 		  func_to_tool_file "$obj"
   8626 		  $ECHO "$func_to_tool_file_result"
   8627 		done > "$output"
   8628 		eval cmd=\"$cmd1\"
   8629 		func_show_eval "$cmd" 'exit $?'
   8630 		output=$save_output
   8631 		libobjs=$save_libobjs
   8632 		skipped_export=false
   8633 	      else
   8634 		# The command line is too long to execute in one step.
   8635 		func_verbose "using reloadable object file for export list..."
   8636 		skipped_export=:
   8637 		# Break out early, otherwise skipped_export may be
   8638 		# set to false by a later but shorter cmd.
   8639 		break
   8640 	      fi
   8641 	    done
   8642 	    IFS="$save_ifs"
   8643 	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
   8644 	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
   8645 	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
   8646 	    fi
   8647 	  fi
   8648 	fi
   8649 
   8650 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
   8651 	  tmp_export_symbols="$export_symbols"
   8652 	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
   8653 	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
   8654 	fi
   8655 
   8656 	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
   8657 	  # The given exports_symbols file has to be filtered, so filter it.
   8658 	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
   8659 	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
   8660 	  # 's' commands which not all seds can handle. GNU sed should be fine
   8661 	  # though. Also, the filter scales superlinearly with the number of
   8662 	  # global variables. join(1) would be nice here, but unfortunately
   8663 	  # isn't a blessed tool.
   8664 	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
   8665 	  delfiles+=" $export_symbols $output_objdir/$libname.filter"
   8666 	  export_symbols=$output_objdir/$libname.def
   8667 	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
   8668 	fi
   8669 
   8670 	tmp_deplibs=
   8671 	for test_deplib in $deplibs; do
   8672 	  case " $convenience " in
   8673 	  *" $test_deplib "*) ;;
   8674 	  *)
   8675 	    tmp_deplibs+=" $test_deplib"
   8676 	    ;;
   8677 	  esac
   8678 	done
   8679 	deplibs="$tmp_deplibs"
   8680 
   8681 	if test -n "$convenience"; then
   8682 	  if test -n "$whole_archive_flag_spec" &&
   8683 	    test "$compiler_needs_object" = yes &&
   8684 	    test -z "$libobjs"; then
   8685 	    # extract the archives, so we have objects to list.
   8686 	    # TODO: could optimize this to just extract one archive.
   8687 	    whole_archive_flag_spec=
   8688 	  fi
   8689 	  if test -n "$whole_archive_flag_spec"; then
   8690 	    save_libobjs=$libobjs
   8691 	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
   8692 	    test "X$libobjs" = "X " && libobjs=
   8693 	  else
   8694 	    gentop="$output_objdir/${outputname}x"
   8695 	    generated+=" $gentop"
   8696 
   8697 	    func_extract_archives $gentop $convenience
   8698 	    libobjs+=" $func_extract_archives_result"
   8699 	    test "X$libobjs" = "X " && libobjs=
   8700 	  fi
   8701 	fi
   8702 
   8703 	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
   8704 	  eval flag=\"$thread_safe_flag_spec\"
   8705 	  linker_flags+=" $flag"
   8706 	fi
   8707 
   8708 	# Make a backup of the uninstalled library when relinking
   8709 	if test "$opt_mode" = relink; then
   8710 	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
   8711 	fi
   8712 
   8713 	# Do each of the archive commands.
   8714 	if test "$module" = yes && test -n "$module_cmds" ; then
   8715 	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
   8716 	    eval test_cmds=\"$module_expsym_cmds\"
   8717 	    cmds=$module_expsym_cmds
   8718 	  else
   8719 	    eval test_cmds=\"$module_cmds\"
   8720 	    cmds=$module_cmds
   8721 	  fi
   8722 	else
   8723 	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
   8724 	    eval test_cmds=\"$archive_expsym_cmds\"
   8725 	    cmds=$archive_expsym_cmds
   8726 	  else
   8727 	    eval test_cmds=\"$archive_cmds\"
   8728 	    cmds=$archive_cmds
   8729 	  fi
   8730 	fi
   8731 
   8732 	if test "X$skipped_export" != "X:" &&
   8733 	   func_len " $test_cmds" &&
   8734 	   len=$func_len_result &&
   8735 	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
   8736 	  :
   8737 	else
   8738 	  # The command line is too long to link in one step, link piecewise
   8739 	  # or, if using GNU ld and skipped_export is not :, use a linker
   8740 	  # script.
   8741 
   8742 	  # Save the value of $output and $libobjs because we want to
   8743 	  # use them later.  If we have whole_archive_flag_spec, we
   8744 	  # want to use save_libobjs as it was before
   8745 	  # whole_archive_flag_spec was expanded, because we can't
   8746 	  # assume the linker understands whole_archive_flag_spec.
   8747 	  # This may have to be revisited, in case too many
   8748 	  # convenience libraries get linked in and end up exceeding
   8749 	  # the spec.
   8750 	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
   8751 	    save_libobjs=$libobjs
   8752 	  fi
   8753 	  save_output=$output
   8754 	  func_basename "$output"
   8755 	  output_la=$func_basename_result
   8756 
   8757 	  # Clear the reloadable object creation command queue and
   8758 	  # initialize k to one.
   8759 	  test_cmds=
   8760 	  concat_cmds=
   8761 	  objlist=
   8762 	  last_robj=
   8763 	  k=1
   8764 
   8765 	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
   8766 	    output=${output_objdir}/${output_la}.lnkscript
   8767 	    func_verbose "creating GNU ld script: $output"
   8768 	    echo 'INPUT (' > $output
   8769 	    for obj in $save_libobjs
   8770 	    do
   8771 	      func_to_tool_file "$obj"
   8772 	      $ECHO "$func_to_tool_file_result" >> $output
   8773 	    done
   8774 	    echo ')' >> $output
   8775 	    delfiles+=" $output"
   8776 	    func_to_tool_file "$output"
   8777 	    output=$func_to_tool_file_result
   8778 	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
   8779 	    output=${output_objdir}/${output_la}.lnk
   8780 	    func_verbose "creating linker input file list: $output"
   8781 	    : > $output
   8782 	    set x $save_libobjs
   8783 	    shift
   8784 	    firstobj=
   8785 	    if test "$compiler_needs_object" = yes; then
   8786 	      firstobj="$1 "
   8787 	      shift
   8788 	    fi
   8789 	    for obj
   8790 	    do
   8791 	      func_to_tool_file "$obj"
   8792 	      $ECHO "$func_to_tool_file_result" >> $output
   8793 	    done
   8794 	    delfiles+=" $output"
   8795 	    func_to_tool_file "$output"
   8796 	    output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
   8797 	  else
   8798 	    if test -n "$save_libobjs"; then
   8799 	      func_verbose "creating reloadable object files..."
   8800 	      output=$output_objdir/$output_la-${k}.$objext
   8801 	      eval test_cmds=\"$reload_cmds\"
   8802 	      func_len " $test_cmds"
   8803 	      len0=$func_len_result
   8804 	      len=$len0
   8805 
   8806 	      # Loop over the list of objects to be linked.
   8807 	      for obj in $save_libobjs
   8808 	      do
   8809 		func_len " $obj"
   8810 		func_arith $len + $func_len_result
   8811 		len=$func_arith_result
   8812 		if test "X$objlist" = X ||
   8813 		   test "$len" -lt "$max_cmd_len"; then
   8814 		  objlist+=" $obj"
   8815 		else
   8816 		  # The command $test_cmds is almost too long, add a
   8817 		  # command to the queue.
   8818 		  if test "$k" -eq 1 ; then
   8819 		    # The first file doesn't have a previous command to add.
   8820 		    reload_objs=$objlist
   8821 		    eval concat_cmds=\"$reload_cmds\"
   8822 		  else
   8823 		    # All subsequent reloadable object files will link in
   8824 		    # the last one created.
   8825 		    reload_objs="$objlist $last_robj"
   8826 		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
   8827 		  fi
   8828 		  last_robj=$output_objdir/$output_la-${k}.$objext
   8829 		  func_arith $k + 1
   8830 		  k=$func_arith_result
   8831 		  output=$output_objdir/$output_la-${k}.$objext
   8832 		  objlist=" $obj"
   8833 		  func_len " $last_robj"
   8834 		  func_arith $len0 + $func_len_result
   8835 		  len=$func_arith_result
   8836 		fi
   8837 	      done
   8838 	      # Handle the remaining objects by creating one last
   8839 	      # reloadable object file.  All subsequent reloadable object
   8840 	      # files will link in the last one created.
   8841 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
   8842 	      reload_objs="$objlist $last_robj"
   8843 	      eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
   8844 	      if test -n "$last_robj"; then
   8845 	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
   8846 	      fi
   8847 	      delfiles+=" $output"
   8848 
   8849 	    else
   8850 	      output=
   8851 	    fi
   8852 
   8853 	    if ${skipped_export-false}; then
   8854 	      func_verbose "generating symbol list for \`$libname.la'"
   8855 	      export_symbols="$output_objdir/$libname.exp"
   8856 	      $opt_dry_run || $RM $export_symbols
   8857 	      libobjs=$output
   8858 	      # Append the command to create the export file.
   8859 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
   8860 	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
   8861 	      if test -n "$last_robj"; then
   8862 		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
   8863 	      fi
   8864 	    fi
   8865 
   8866 	    test -n "$save_libobjs" &&
   8867 	      func_verbose "creating a temporary reloadable object file: $output"
   8868 
   8869 	    # Loop through the commands generated above and execute them.
   8870 	    save_ifs="$IFS"; IFS='~'
   8871 	    for cmd in $concat_cmds; do
   8872 	      IFS="$save_ifs"
   8873 	      $opt_silent || {
   8874 		  func_quote_for_expand "$cmd"
   8875 		  eval "func_echo $func_quote_for_expand_result"
   8876 	      }
   8877 	      $opt_dry_run || eval "$cmd" || {
   8878 		lt_exit=$?
   8879 
   8880 		# Restore the uninstalled library and exit
   8881 		if test "$opt_mode" = relink; then
   8882 		  ( cd "$output_objdir" && \
   8883 		    $RM "${realname}T" && \
   8884 		    $MV "${realname}U" "$realname" )
   8885 		fi
   8886 
   8887 		exit $lt_exit
   8888 	      }
   8889 	    done
   8890 	    IFS="$save_ifs"
   8891 
   8892 	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
   8893 	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
   8894 	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
   8895 	    fi
   8896 	  fi
   8897 
   8898           if ${skipped_export-false}; then
   8899 	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
   8900 	      tmp_export_symbols="$export_symbols"
   8901 	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
   8902 	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
   8903 	    fi
   8904 
   8905 	    if test -n "$orig_export_symbols"; then
   8906 	      # The given exports_symbols file has to be filtered, so filter it.
   8907 	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
   8908 	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
   8909 	      # 's' commands which not all seds can handle. GNU sed should be fine
   8910 	      # though. Also, the filter scales superlinearly with the number of
   8911 	      # global variables. join(1) would be nice here, but unfortunately
   8912 	      # isn't a blessed tool.
   8913 	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
   8914 	      delfiles+=" $export_symbols $output_objdir/$libname.filter"
   8915 	      export_symbols=$output_objdir/$libname.def
   8916 	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
   8917 	    fi
   8918 	  fi
   8919 
   8920 	  libobjs=$output
   8921 	  # Restore the value of output.
   8922 	  output=$save_output
   8923 
   8924 	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
   8925 	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
   8926 	    test "X$libobjs" = "X " && libobjs=
   8927 	  fi
   8928 	  # Expand the library linking commands again to reset the
   8929 	  # value of $libobjs for piecewise linking.
   8930 
   8931 	  # Do each of the archive commands.
   8932 	  if test "$module" = yes && test -n "$module_cmds" ; then
   8933 	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
   8934 	      cmds=$module_expsym_cmds
   8935 	    else
   8936 	      cmds=$module_cmds
   8937 	    fi
   8938 	  else
   8939 	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
   8940 	      cmds=$archive_expsym_cmds
   8941 	    else
   8942 	      cmds=$archive_cmds
   8943 	    fi
   8944 	  fi
   8945 	fi
   8946 
   8947 	if test -n "$delfiles"; then
   8948 	  # Append the command to remove temporary files to $cmds.
   8949 	  eval cmds=\"\$cmds~\$RM $delfiles\"
   8950 	fi
   8951 
   8952 	# Add any objects from preloaded convenience libraries
   8953 	if test -n "$dlprefiles"; then
   8954 	  gentop="$output_objdir/${outputname}x"
   8955 	  generated+=" $gentop"
   8956 
   8957 	  func_extract_archives $gentop $dlprefiles
   8958 	  libobjs+=" $func_extract_archives_result"
   8959 	  test "X$libobjs" = "X " && libobjs=
   8960 	fi
   8961 
   8962 	save_ifs="$IFS"; IFS='~'
   8963 	for cmd in $cmds; do
   8964 	  IFS="$save_ifs"
   8965 	  eval cmd=\"$cmd\"
   8966 	  $opt_silent || {
   8967 	    func_quote_for_expand "$cmd"
   8968 	    eval "func_echo $func_quote_for_expand_result"
   8969 	  }
   8970 	  $opt_dry_run || eval "$cmd" || {
   8971 	    lt_exit=$?
   8972 
   8973 	    # Restore the uninstalled library and exit
   8974 	    if test "$opt_mode" = relink; then
   8975 	      ( cd "$output_objdir" && \
   8976 	        $RM "${realname}T" && \
   8977 		$MV "${realname}U" "$realname" )
   8978 	    fi
   8979 
   8980 	    exit $lt_exit
   8981 	  }
   8982 	done
   8983 	IFS="$save_ifs"
   8984 
   8985 	# Restore the uninstalled library and exit
   8986 	if test "$opt_mode" = relink; then
   8987 	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
   8988 
   8989 	  if test -n "$convenience"; then
   8990 	    if test -z "$whole_archive_flag_spec"; then
   8991 	      func_show_eval '${RM}r "$gentop"'
   8992 	    fi
   8993 	  fi
   8994 
   8995 	  exit $EXIT_SUCCESS
   8996 	fi
   8997 
   8998 	# Create links to the real library.
   8999 	for linkname in $linknames; do
   9000 	  if test "$realname" != "$linkname"; then
   9001 	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
   9002 	  fi
   9003 	done
   9004 
   9005 	# If -module or -export-dynamic was specified, set the dlname.
   9006 	if test "$module" = yes || test "$export_dynamic" = yes; then
   9007 	  # On all known operating systems, these are identical.
   9008 	  dlname="$soname"
   9009 	fi
   9010       fi
   9011       ;;
   9012 
   9013     obj)
   9014       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
   9015 	func_warning "\`-dlopen' is ignored for objects"
   9016       fi
   9017 
   9018       case " $deplibs" in
   9019       *\ -l* | *\ -L*)
   9020 	func_warning "\`-l' and \`-L' are ignored for objects" ;;
   9021       esac
   9022 
   9023       test -n "$rpath" && \
   9024 	func_warning "\`-rpath' is ignored for objects"
   9025 
   9026       test -n "$xrpath" && \
   9027 	func_warning "\`-R' is ignored for objects"
   9028 
   9029       test -n "$vinfo" && \
   9030 	func_warning "\`-version-info' is ignored for objects"
   9031 
   9032       test -n "$release" && \
   9033 	func_warning "\`-release' is ignored for objects"
   9034 
   9035       case $output in
   9036       *.lo)
   9037 	test -n "$objs$old_deplibs" && \
   9038 	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
   9039 
   9040 	libobj=$output
   9041 	func_lo2o "$libobj"
   9042 	obj=$func_lo2o_result
   9043 	;;
   9044       *)
   9045 	libobj=
   9046 	obj="$output"
   9047 	;;
   9048       esac
   9049 
   9050       # Delete the old objects.
   9051       $opt_dry_run || $RM $obj $libobj
   9052 
   9053       # Objects from convenience libraries.  This assumes
   9054       # single-version convenience libraries.  Whenever we create
   9055       # different ones for PIC/non-PIC, this we'll have to duplicate
   9056       # the extraction.
   9057       reload_conv_objs=
   9058       gentop=
   9059       # reload_cmds runs $LD directly, so let us get rid of
   9060       # -Wl from whole_archive_flag_spec and hope we can get by with
   9061       # turning comma into space..
   9062       wl=
   9063 
   9064       if test -n "$convenience"; then
   9065 	if test -n "$whole_archive_flag_spec"; then
   9066 	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
   9067 	  reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
   9068 	else
   9069 	  gentop="$output_objdir/${obj}x"
   9070 	  generated+=" $gentop"
   9071 
   9072 	  func_extract_archives $gentop $convenience
   9073 	  reload_conv_objs="$reload_objs $func_extract_archives_result"
   9074 	fi
   9075       fi
   9076 
   9077       # If we're not building shared, we need to use non_pic_objs
   9078       test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
   9079 
   9080       # Create the old-style object.
   9081       reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
   9082 
   9083       output="$obj"
   9084       func_execute_cmds "$reload_cmds" 'exit $?'
   9085 
   9086       # Exit if we aren't doing a library object file.
   9087       if test -z "$libobj"; then
   9088 	if test -n "$gentop"; then
   9089 	  func_show_eval '${RM}r "$gentop"'
   9090 	fi
   9091 
   9092 	exit $EXIT_SUCCESS
   9093       fi
   9094 
   9095       if test "$build_libtool_libs" != yes; then
   9096 	if test -n "$gentop"; then
   9097 	  func_show_eval '${RM}r "$gentop"'
   9098 	fi
   9099 
   9100 	# Create an invalid libtool object if no PIC, so that we don't
   9101 	# accidentally link it into a program.
   9102 	# $show "echo timestamp > $libobj"
   9103 	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
   9104 	exit $EXIT_SUCCESS
   9105       fi
   9106 
   9107       if test -n "$pic_flag" || test "$pic_mode" != default; then
   9108 	# Only do commands if we really have different PIC objects.
   9109 	reload_objs="$libobjs $reload_conv_objs"
   9110 	output="$libobj"
   9111 	func_execute_cmds "$reload_cmds" 'exit $?'
   9112       fi
   9113 
   9114       if test -n "$gentop"; then
   9115 	func_show_eval '${RM}r "$gentop"'
   9116       fi
   9117 
   9118       exit $EXIT_SUCCESS
   9119       ;;
   9120 
   9121     prog)
   9122       case $host in
   9123 	*cygwin*) func_stripname '' '.exe' "$output"
   9124 	          output=$func_stripname_result.exe;;
   9125       esac
   9126       test -n "$vinfo" && \
   9127 	func_warning "\`-version-info' is ignored for programs"
   9128 
   9129       test -n "$release" && \
   9130 	func_warning "\`-release' is ignored for programs"
   9131 
   9132       test "$preload" = yes \
   9133         && test "$dlopen_support" = unknown \
   9134 	&& test "$dlopen_self" = unknown \
   9135 	&& test "$dlopen_self_static" = unknown && \
   9136 	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
   9137 
   9138       case $host in
   9139       *-*-rhapsody* | *-*-darwin1.[012])
   9140 	# On Rhapsody replace the C library is the System framework
   9141 	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
   9142 	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
   9143 	;;
   9144       esac
   9145 
   9146       case $host in
   9147       *-*-darwin*)
   9148 	# Don't allow lazy linking, it breaks C++ global constructors
   9149 	# But is supposedly fixed on 10.4 or later (yay!).
   9150 	if test "$tagname" = CXX ; then
   9151 	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
   9152 	    10.[0123])
   9153 	      compile_command+=" ${wl}-bind_at_load"
   9154 	      finalize_command+=" ${wl}-bind_at_load"
   9155 	    ;;
   9156 	  esac
   9157 	fi
   9158 	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
   9159 	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
   9160 	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
   9161 	;;
   9162       esac
   9163 
   9164 
   9165       # move library search paths that coincide with paths to not yet
   9166       # installed libraries to the beginning of the library search list
   9167       new_libs=
   9168       for path in $notinst_path; do
   9169 	case " $new_libs " in
   9170 	*" -L$path/$objdir "*) ;;
   9171 	*)
   9172 	  case " $compile_deplibs " in
   9173 	  *" -L$path/$objdir "*)
   9174 	    new_libs+=" -L$path/$objdir" ;;
   9175 	  esac
   9176 	  ;;
   9177 	esac
   9178       done
   9179       for deplib in $compile_deplibs; do
   9180 	case $deplib in
   9181 	-L*)
   9182 	  case " $new_libs " in
   9183 	  *" $deplib "*) ;;
   9184 	  *) new_libs+=" $deplib" ;;
   9185 	  esac
   9186 	  ;;
   9187 	*) new_libs+=" $deplib" ;;
   9188 	esac
   9189       done
   9190       compile_deplibs="$new_libs"
   9191 
   9192 
   9193       compile_command+=" $compile_deplibs"
   9194       finalize_command+=" $finalize_deplibs"
   9195 
   9196       if test -n "$rpath$xrpath"; then
   9197 	# If the user specified any rpath flags, then add them.
   9198 	for libdir in $rpath $xrpath; do
   9199 	  # This is the magic to use -rpath.
   9200 	  case "$finalize_rpath " in
   9201 	  *" $libdir "*) ;;
   9202 	  *) finalize_rpath+=" $libdir" ;;
   9203 	  esac
   9204 	done
   9205       fi
   9206 
   9207       # Now hardcode the library paths
   9208       rpath=
   9209       hardcode_libdirs=
   9210       for libdir in $compile_rpath $finalize_rpath; do
   9211 	if test -n "$hardcode_libdir_flag_spec"; then
   9212 	  if test -n "$hardcode_libdir_separator"; then
   9213 	    if test -z "$hardcode_libdirs"; then
   9214 	      hardcode_libdirs="$libdir"
   9215 	    else
   9216 	      # Just accumulate the unique libdirs.
   9217 	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
   9218 	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
   9219 		;;
   9220 	      *)
   9221 		hardcode_libdirs+="$hardcode_libdir_separator$libdir"
   9222 		;;
   9223 	      esac
   9224 	    fi
   9225 	  else
   9226 	    eval flag=\"$hardcode_libdir_flag_spec\"
   9227 	    rpath+=" $flag"
   9228 	  fi
   9229 	elif test -n "$runpath_var"; then
   9230 	  case "$perm_rpath " in
   9231 	  *" $libdir "*) ;;
   9232 	  *) perm_rpath+=" $libdir" ;;
   9233 	  esac
   9234 	fi
   9235 	case $host in
   9236 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
   9237 	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
   9238 	  case :$dllsearchpath: in
   9239 	  *":$libdir:"*) ;;
   9240 	  ::) dllsearchpath=$libdir;;
   9241 	  *) dllsearchpath+=":$libdir";;
   9242 	  esac
   9243 	  case :$dllsearchpath: in
   9244 	  *":$testbindir:"*) ;;
   9245 	  ::) dllsearchpath=$testbindir;;
   9246 	  *) dllsearchpath+=":$testbindir";;
   9247 	  esac
   9248 	  ;;
   9249 	esac
   9250       done
   9251       # Substitute the hardcoded libdirs into the rpath.
   9252       if test -n "$hardcode_libdir_separator" &&
   9253 	 test -n "$hardcode_libdirs"; then
   9254 	libdir="$hardcode_libdirs"
   9255 	eval rpath=\" $hardcode_libdir_flag_spec\"
   9256       fi
   9257       compile_rpath="$rpath"
   9258 
   9259       rpath=
   9260       hardcode_libdirs=
   9261       for libdir in $finalize_rpath; do
   9262 	if test -n "$hardcode_libdir_flag_spec"; then
   9263 	  if test -n "$hardcode_libdir_separator"; then
   9264 	    if test -z "$hardcode_libdirs"; then
   9265 	      hardcode_libdirs="$libdir"
   9266 	    else
   9267 	      # Just accumulate the unique libdirs.
   9268 	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
   9269 	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
   9270 		;;
   9271 	      *)
   9272 		hardcode_libdirs+="$hardcode_libdir_separator$libdir"
   9273 		;;
   9274 	      esac
   9275 	    fi
   9276 	  else
   9277 	    eval flag=\"$hardcode_libdir_flag_spec\"
   9278 	    rpath+=" $flag"
   9279 	  fi
   9280 	elif test -n "$runpath_var"; then
   9281 	  case "$finalize_perm_rpath " in
   9282 	  *" $libdir "*) ;;
   9283 	  *) finalize_perm_rpath+=" $libdir" ;;
   9284 	  esac
   9285 	fi
   9286       done
   9287       # Substitute the hardcoded libdirs into the rpath.
   9288       if test -n "$hardcode_libdir_separator" &&
   9289 	 test -n "$hardcode_libdirs"; then
   9290 	libdir="$hardcode_libdirs"
   9291 	eval rpath=\" $hardcode_libdir_flag_spec\"
   9292       fi
   9293       finalize_rpath="$rpath"
   9294 
   9295       if test -n "$libobjs" && test "$build_old_libs" = yes; then
   9296 	# Transform all the library objects into standard objects.
   9297 	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
   9298 	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
   9299       fi
   9300 
   9301       func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
   9302 
   9303       # template prelinking step
   9304       if test -n "$prelink_cmds"; then
   9305 	func_execute_cmds "$prelink_cmds" 'exit $?'
   9306       fi
   9307 
   9308       wrappers_required=yes
   9309       case $host in
   9310       *cegcc* | *mingw32ce*)
   9311         # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
   9312         wrappers_required=no
   9313         ;;
   9314       *cygwin* | *mingw* )
   9315         if test "$build_libtool_libs" != yes; then
   9316           wrappers_required=no
   9317         fi
   9318         ;;
   9319       *)
   9320         if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
   9321           wrappers_required=no
   9322         fi
   9323         ;;
   9324       esac
   9325       if test "$wrappers_required" = no; then
   9326 	# Replace the output file specification.
   9327 	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
   9328 	link_command="$compile_command$compile_rpath"
   9329 
   9330 	# We have no uninstalled library dependencies, so finalize right now.
   9331 	exit_status=0
   9332 	func_show_eval "$link_command" 'exit_status=$?'
   9333 
   9334 	if test -n "$postlink_cmds"; then
   9335 	  func_to_tool_file "$output"
   9336 	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
   9337 	  func_execute_cmds "$postlink_cmds" 'exit $?'
   9338 	fi
   9339 
   9340 	# Delete the generated files.
   9341 	if test -f "$output_objdir/${outputname}S.${objext}"; then
   9342 	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
   9343 	fi
   9344 
   9345 	exit $exit_status
   9346       fi
   9347 
   9348       if test -n "$compile_shlibpath$finalize_shlibpath"; then
   9349 	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
   9350       fi
   9351       if test -n "$finalize_shlibpath"; then
   9352 	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
   9353       fi
   9354 
   9355       compile_var=
   9356       finalize_var=
   9357       if test -n "$runpath_var"; then
   9358 	if test -n "$perm_rpath"; then
   9359 	  # We should set the runpath_var.
   9360 	  rpath=
   9361 	  for dir in $perm_rpath; do
   9362 	    rpath+="$dir:"
   9363 	  done
   9364 	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
   9365 	fi
   9366 	if test -n "$finalize_perm_rpath"; then
   9367 	  # We should set the runpath_var.
   9368 	  rpath=
   9369 	  for dir in $finalize_perm_rpath; do
   9370 	    rpath+="$dir:"
   9371 	  done
   9372 	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
   9373 	fi
   9374       fi
   9375 
   9376       if test "$no_install" = yes; then
   9377 	# We don't need to create a wrapper script.
   9378 	link_command="$compile_var$compile_command$compile_rpath"
   9379 	# Replace the output file specification.
   9380 	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
   9381 	# Delete the old output file.
   9382 	$opt_dry_run || $RM $output
   9383 	# Link the executable and exit
   9384 	func_show_eval "$link_command" 'exit $?'
   9385 
   9386 	if test -n "$postlink_cmds"; then
   9387 	  func_to_tool_file "$output"
   9388 	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
   9389 	  func_execute_cmds "$postlink_cmds" 'exit $?'
   9390 	fi
   9391 
   9392 	exit $EXIT_SUCCESS
   9393       fi
   9394 
   9395       if test "$hardcode_action" = relink; then
   9396 	# Fast installation is not supported
   9397 	link_command="$compile_var$compile_command$compile_rpath"
   9398 	relink_command="$finalize_var$finalize_command$finalize_rpath"
   9399 
   9400 	func_warning "this platform does not like uninstalled shared libraries"
   9401 	func_warning "\`$output' will be relinked during installation"
   9402       else
   9403 	if test "$fast_install" != no; then
   9404 	  link_command="$finalize_var$compile_command$finalize_rpath"
   9405 	  if test "$fast_install" = yes; then
   9406 	    relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
   9407 	  else
   9408 	    # fast_install is set to needless
   9409 	    relink_command=
   9410 	  fi
   9411 	else
   9412 	  link_command="$compile_var$compile_command$compile_rpath"
   9413 	  relink_command="$finalize_var$finalize_command$finalize_rpath"
   9414 	fi
   9415       fi
   9416 
   9417       # Replace the output file specification.
   9418       link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
   9419 
   9420       # Delete the old output files.
   9421       $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
   9422 
   9423       func_show_eval "$link_command" 'exit $?'
   9424 
   9425       if test -n "$postlink_cmds"; then
   9426 	func_to_tool_file "$output_objdir/$outputname"
   9427 	postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
   9428 	func_execute_cmds "$postlink_cmds" 'exit $?'
   9429       fi
   9430 
   9431       # Now create the wrapper script.
   9432       func_verbose "creating $output"
   9433 
   9434       # Quote the relink command for shipping.
   9435       if test -n "$relink_command"; then
   9436 	# Preserve any variables that may affect compiler behavior
   9437 	for var in $variables_saved_for_relink; do
   9438 	  if eval test -z \"\${$var+set}\"; then
   9439 	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
   9440 	  elif eval var_value=\$$var; test -z "$var_value"; then
   9441 	    relink_command="$var=; export $var; $relink_command"
   9442 	  else
   9443 	    func_quote_for_eval "$var_value"
   9444 	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
   9445 	  fi
   9446 	done
   9447 	relink_command="(cd `pwd`; $relink_command)"
   9448 	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
   9449       fi
   9450 
   9451       # Only actually do things if not in dry run mode.
   9452       $opt_dry_run || {
   9453 	# win32 will think the script is a binary if it has
   9454 	# a .exe suffix, so we strip it off here.
   9455 	case $output in
   9456 	  *.exe) func_stripname '' '.exe' "$output"
   9457 	         output=$func_stripname_result ;;
   9458 	esac
   9459 	# test for cygwin because mv fails w/o .exe extensions
   9460 	case $host in
   9461 	  *cygwin*)
   9462 	    exeext=.exe
   9463 	    func_stripname '' '.exe' "$outputname"
   9464 	    outputname=$func_stripname_result ;;
   9465 	  *) exeext= ;;
   9466 	esac
   9467 	case $host in
   9468 	  *cygwin* | *mingw* )
   9469 	    func_dirname_and_basename "$output" "" "."
   9470 	    output_name=$func_basename_result
   9471 	    output_path=$func_dirname_result
   9472 	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
   9473 	    cwrapper="$output_path/$output_name.exe"
   9474 	    $RM $cwrappersource $cwrapper
   9475 	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
   9476 
   9477 	    func_emit_cwrapperexe_src > $cwrappersource
   9478 
   9479 	    # The wrapper executable is built using the $host compiler,
   9480 	    # because it contains $host paths and files. If cross-
   9481 	    # compiling, it, like the target executable, must be
   9482 	    # executed on the $host or under an emulation environment.
   9483 	    $opt_dry_run || {
   9484 	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
   9485 	      $STRIP $cwrapper
   9486 	    }
   9487 
   9488 	    # Now, create the wrapper script for func_source use:
   9489 	    func_ltwrapper_scriptname $cwrapper
   9490 	    $RM $func_ltwrapper_scriptname_result
   9491 	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
   9492 	    $opt_dry_run || {
   9493 	      # note: this script will not be executed, so do not chmod.
   9494 	      if test "x$build" = "x$host" ; then
   9495 		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
   9496 	      else
   9497 		func_emit_wrapper no > $func_ltwrapper_scriptname_result
   9498 	      fi
   9499 	    }
   9500 	  ;;
   9501 	  * )
   9502 	    $RM $output
   9503 	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
   9504 
   9505 	    func_emit_wrapper no > $output
   9506 	    chmod +x $output
   9507 	  ;;
   9508 	esac
   9509       }
   9510       exit $EXIT_SUCCESS
   9511       ;;
   9512     esac
   9513 
   9514     # See if we need to build an old-fashioned archive.
   9515     for oldlib in $oldlibs; do
   9516 
   9517       if test "$build_libtool_libs" = convenience; then
   9518 	oldobjs="$libobjs_save $symfileobj"
   9519 	addlibs="$convenience"
   9520 	build_libtool_libs=no
   9521       else
   9522 	if test "$build_libtool_libs" = module; then
   9523 	  oldobjs="$libobjs_save"
   9524 	  build_libtool_libs=no
   9525 	else
   9526 	  oldobjs="$old_deplibs $non_pic_objects"
   9527 	  if test "$preload" = yes && test -f "$symfileobj"; then
   9528 	    oldobjs+=" $symfileobj"
   9529 	  fi
   9530 	fi
   9531 	addlibs="$old_convenience"
   9532       fi
   9533 
   9534       if test -n "$addlibs"; then
   9535 	gentop="$output_objdir/${outputname}x"
   9536 	generated+=" $gentop"
   9537 
   9538 	func_extract_archives $gentop $addlibs
   9539 	oldobjs+=" $func_extract_archives_result"
   9540       fi
   9541 
   9542       # Do each command in the archive commands.
   9543       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
   9544 	cmds=$old_archive_from_new_cmds
   9545       else
   9546 
   9547 	# Add any objects from preloaded convenience libraries
   9548 	if test -n "$dlprefiles"; then
   9549 	  gentop="$output_objdir/${outputname}x"
   9550 	  generated+=" $gentop"
   9551 
   9552 	  func_extract_archives $gentop $dlprefiles
   9553 	  oldobjs+=" $func_extract_archives_result"
   9554 	fi
   9555 
   9556 	# POSIX demands no paths to be encoded in archives.  We have
   9557 	# to avoid creating archives with duplicate basenames if we
   9558 	# might have to extract them afterwards, e.g., when creating a
   9559 	# static archive out of a convenience library, or when linking
   9560 	# the entirety of a libtool archive into another (currently
   9561 	# not supported by libtool).
   9562 	if (for obj in $oldobjs
   9563 	    do
   9564 	      func_basename "$obj"
   9565 	      $ECHO "$func_basename_result"
   9566 	    done | sort | sort -uc >/dev/null 2>&1); then
   9567 	  :
   9568 	else
   9569 	  echo "copying selected object files to avoid basename conflicts..."
   9570 	  gentop="$output_objdir/${outputname}x"
   9571 	  generated+=" $gentop"
   9572 	  func_mkdir_p "$gentop"
   9573 	  save_oldobjs=$oldobjs
   9574 	  oldobjs=
   9575 	  counter=1
   9576 	  for obj in $save_oldobjs
   9577 	  do
   9578 	    func_basename "$obj"
   9579 	    objbase="$func_basename_result"
   9580 	    case " $oldobjs " in
   9581 	    " ") oldobjs=$obj ;;
   9582 	    *[\ /]"$objbase "*)
   9583 	      while :; do
   9584 		# Make sure we don't pick an alternate name that also
   9585 		# overlaps.
   9586 		newobj=lt$counter-$objbase
   9587 		func_arith $counter + 1
   9588 		counter=$func_arith_result
   9589 		case " $oldobjs " in
   9590 		*[\ /]"$newobj "*) ;;
   9591 		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
   9592 		esac
   9593 	      done
   9594 	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
   9595 	      oldobjs+=" $gentop/$newobj"
   9596 	      ;;
   9597 	    *) oldobjs+=" $obj" ;;
   9598 	    esac
   9599 	  done
   9600 	fi
   9601 	eval cmds=\"$old_archive_cmds\"
   9602 
   9603 	func_len " $cmds"
   9604 	len=$func_len_result
   9605 	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
   9606 	  cmds=$old_archive_cmds
   9607 	elif test -n "$archiver_list_spec"; then
   9608 	  func_verbose "using command file archive linking..."
   9609 	  for obj in $oldobjs
   9610 	  do
   9611 	    func_to_tool_file "$obj"
   9612 	    $ECHO "$func_to_tool_file_result"
   9613 	  done > $output_objdir/$libname.libcmd
   9614 	  func_to_tool_file "$output_objdir/$libname.libcmd"
   9615 	  oldobjs=" $archiver_list_spec$func_to_tool_file_result"
   9616 	  cmds=$old_archive_cmds
   9617 	else
   9618 	  # the command line is too long to link in one step, link in parts
   9619 	  func_verbose "using piecewise archive linking..."
   9620 	  save_RANLIB=$RANLIB
   9621 	  RANLIB=:
   9622 	  objlist=
   9623 	  concat_cmds=
   9624 	  save_oldobjs=$oldobjs
   9625 	  oldobjs=
   9626 	  # Is there a better way of finding the last object in the list?
   9627 	  for obj in $save_oldobjs
   9628 	  do
   9629 	    last_oldobj=$obj
   9630 	  done
   9631 	  eval test_cmds=\"$old_archive_cmds\"
   9632 	  func_len " $test_cmds"
   9633 	  len0=$func_len_result
   9634 	  len=$len0
   9635 	  for obj in $save_oldobjs
   9636 	  do
   9637 	    func_len " $obj"
   9638 	    func_arith $len + $func_len_result
   9639 	    len=$func_arith_result
   9640 	    objlist+=" $obj"
   9641 	    if test "$len" -lt "$max_cmd_len"; then
   9642 	      :
   9643 	    else
   9644 	      # the above command should be used before it gets too long
   9645 	      oldobjs=$objlist
   9646 	      if test "$obj" = "$last_oldobj" ; then
   9647 		RANLIB=$save_RANLIB
   9648 	      fi
   9649 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
   9650 	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
   9651 	      objlist=
   9652 	      len=$len0
   9653 	    fi
   9654 	  done
   9655 	  RANLIB=$save_RANLIB
   9656 	  oldobjs=$objlist
   9657 	  if test "X$oldobjs" = "X" ; then
   9658 	    eval cmds=\"\$concat_cmds\"
   9659 	  else
   9660 	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
   9661 	  fi
   9662 	fi
   9663       fi
   9664       func_execute_cmds "$cmds" 'exit $?'
   9665     done
   9666 
   9667     test -n "$generated" && \
   9668       func_show_eval "${RM}r$generated"
   9669 
   9670     # Now create the libtool archive.
   9671     case $output in
   9672     *.la)
   9673       old_library=
   9674       test "$build_old_libs" = yes && old_library="$libname.$libext"
   9675       func_verbose "creating $output"
   9676 
   9677       # Preserve any variables that may affect compiler behavior
   9678       for var in $variables_saved_for_relink; do
   9679 	if eval test -z \"\${$var+set}\"; then
   9680 	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
   9681 	elif eval var_value=\$$var; test -z "$var_value"; then
   9682 	  relink_command="$var=; export $var; $relink_command"
   9683 	else
   9684 	  func_quote_for_eval "$var_value"
   9685 	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
   9686 	fi
   9687       done
   9688       # Quote the link command for shipping.
   9689       relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
   9690       relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
   9691       if test "$hardcode_automatic" = yes ; then
   9692 	relink_command=
   9693       fi
   9694 
   9695       # Only create the output if not a dry run.
   9696       $opt_dry_run || {
   9697 	for installed in no yes; do
   9698 	  if test "$installed" = yes; then
   9699 	    if test -z "$install_libdir"; then
   9700 	      break
   9701 	    fi
   9702 	    output="$output_objdir/$outputname"i
   9703 	    # Replace all uninstalled libtool libraries with the installed ones
   9704 	    newdependency_libs=
   9705 	    for deplib in $dependency_libs; do
   9706 	      case $deplib in
   9707 	      *.la)
   9708 		func_basename "$deplib"
   9709 		name="$func_basename_result"
   9710 		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
   9711 		test -z "$libdir" && \
   9712 		  func_fatal_error "\`$deplib' is not a valid libtool archive"
   9713 		newdependency_libs+=" ${lt_sysroot:+=}$libdir/$name"
   9714 		;;
   9715 	      -L*)
   9716 		func_stripname -L '' "$deplib"
   9717 		func_replace_sysroot "$func_stripname_result"
   9718 		newdependency_libs+=" -L$func_replace_sysroot_result"
   9719 		;;
   9720 	      -R*)
   9721 		func_stripname -R '' "$deplib"
   9722 		func_replace_sysroot "$func_stripname_result"
   9723 		newdependency_libs+=" -R$func_replace_sysroot_result"
   9724 		;;
   9725 	      *) newdependency_libs+=" $deplib" ;;
   9726 	      esac
   9727 	    done
   9728 	    dependency_libs="$newdependency_libs"
   9729 	    newdlfiles=
   9730 
   9731 	    for lib in $dlfiles; do
   9732 	      case $lib in
   9733 	      *.la)
   9734 	        func_basename "$lib"
   9735 		name="$func_basename_result"
   9736 		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
   9737 		test -z "$libdir" && \
   9738 		  func_fatal_error "\`$lib' is not a valid libtool archive"
   9739 		newdlfiles+=" ${lt_sysroot:+=}$libdir/$name"
   9740 		;;
   9741 	      *) newdlfiles+=" $lib" ;;
   9742 	      esac
   9743 	    done
   9744 	    dlfiles="$newdlfiles"
   9745 	    newdlprefiles=
   9746 	    for lib in $dlprefiles; do
   9747 	      case $lib in
   9748 	      *.la)
   9749 		# Only pass preopened files to the pseudo-archive (for
   9750 		# eventual linking with the app. that links it) if we
   9751 		# didn't already link the preopened objects directly into
   9752 		# the library:
   9753 		func_basename "$lib"
   9754 		name="$func_basename_result"
   9755 		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
   9756 		test -z "$libdir" && \
   9757 		  func_fatal_error "\`$lib' is not a valid libtool archive"
   9758 		newdlprefiles+=" ${lt_sysroot:+=}$libdir/$name"
   9759 		;;
   9760 	      esac
   9761 	    done
   9762 	    dlprefiles="$newdlprefiles"
   9763 	  else
   9764 	    newdlfiles=
   9765 	    for lib in $dlfiles; do
   9766 	      case $lib in
   9767 		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
   9768 		*) abs=`pwd`"/$lib" ;;
   9769 	      esac
   9770 	      newdlfiles+=" $abs"
   9771 	    done
   9772 	    dlfiles="$newdlfiles"
   9773 	    newdlprefiles=
   9774 	    for lib in $dlprefiles; do
   9775 	      case $lib in
   9776 		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
   9777 		*) abs=`pwd`"/$lib" ;;
   9778 	      esac
   9779 	      newdlprefiles+=" $abs"
   9780 	    done
   9781 	    dlprefiles="$newdlprefiles"
   9782 	  fi
   9783 	  $RM $output
   9784 	  # place dlname in correct position for cygwin
   9785 	  # In fact, it would be nice if we could use this code for all target
   9786 	  # systems that can't hard-code library paths into their executables
   9787 	  # and that have no shared library path variable independent of PATH,
   9788 	  # but it turns out we can't easily determine that from inspecting
   9789 	  # libtool variables, so we have to hard-code the OSs to which it
   9790 	  # applies here; at the moment, that means platforms that use the PE
   9791 	  # object format with DLL files.  See the long comment at the top of
   9792 	  # tests/bindir.at for full details.
   9793 	  tdlname=$dlname
   9794 	  case $host,$output,$installed,$module,$dlname in
   9795 	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
   9796 	      # If a -bindir argument was supplied, place the dll there.
   9797 	      if test "x$bindir" != x ;
   9798 	      then
   9799 		func_relative_path "$install_libdir" "$bindir"
   9800 		tdlname=$func_relative_path_result$dlname
   9801 	      else
   9802 		# Otherwise fall back on heuristic.
   9803 		tdlname=../bin/$dlname
   9804 	      fi
   9805 	      ;;
   9806 	  esac
   9807 	  $ECHO > $output "\
   9808 # $outputname - a libtool library file
   9809 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
   9810 #
   9811 # Please DO NOT delete this file!
   9812 # It is necessary for linking the library.
   9813 
   9814 # The name that we can dlopen(3).
   9815 dlname='$tdlname'
   9816 
   9817 # Names of this library.
   9818 library_names='$library_names'
   9819 
   9820 # The name of the static archive.
   9821 old_library='$old_library'
   9822 
   9823 # Linker flags that can not go in dependency_libs.
   9824 inherited_linker_flags='$new_inherited_linker_flags'
   9825 
   9826 # Libraries that this one depends upon.
   9827 dependency_libs='$dependency_libs'
   9828 
   9829 # Names of additional weak libraries provided by this library
   9830 weak_library_names='$weak_libs'
   9831 
   9832 # Version information for $libname.
   9833 current=$current
   9834 age=$age
   9835 revision=$revision
   9836 
   9837 # Is this an already installed library?
   9838 installed=$installed
   9839 
   9840 # Should we warn about portability when linking against -modules?
   9841 shouldnotlink=$module
   9842 
   9843 # Files to dlopen/dlpreopen
   9844 dlopen='$dlfiles'
   9845 dlpreopen='$dlprefiles'
   9846 
   9847 # Directory that this library needs to be installed in:
   9848 libdir='$install_libdir'"
   9849 	  if test "$installed" = no && test "$need_relink" = yes; then
   9850 	    $ECHO >> $output "\
   9851 relink_command=\"$relink_command\""
   9852 	  fi
   9853 	done
   9854       }
   9855 
   9856       # Do a symbolic link so that the libtool archive can be found in
   9857       # LD_LIBRARY_PATH before the program is installed.
   9858       func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
   9859       ;;
   9860     esac
   9861     exit $EXIT_SUCCESS
   9862 }
   9863 
   9864 { test "$opt_mode" = link || test "$opt_mode" = relink; } &&
   9865     func_mode_link ${1+"$@"}
   9866 
   9867 
   9868 # func_mode_uninstall arg...
   9869 func_mode_uninstall ()
   9870 {
   9871     $opt_debug
   9872     RM="$nonopt"
   9873     files=
   9874     rmforce=
   9875     exit_status=0
   9876 
   9877     # This variable tells wrapper scripts just to set variables rather
   9878     # than running their programs.
   9879     libtool_install_magic="$magic"
   9880 
   9881     for arg
   9882     do
   9883       case $arg in
   9884       -f) RM+=" $arg"; rmforce=yes ;;
   9885       -*) RM+=" $arg" ;;
   9886       *) files+=" $arg" ;;
   9887       esac
   9888     done
   9889 
   9890     test -z "$RM" && \
   9891       func_fatal_help "you must specify an RM program"
   9892 
   9893     rmdirs=
   9894 
   9895     for file in $files; do
   9896       func_dirname "$file" "" "."
   9897       dir="$func_dirname_result"
   9898       if test "X$dir" = X.; then
   9899 	odir="$objdir"
   9900       else
   9901 	odir="$dir/$objdir"
   9902       fi
   9903       func_basename "$file"
   9904       name="$func_basename_result"
   9905       test "$opt_mode" = uninstall && odir="$dir"
   9906 
   9907       # Remember odir for removal later, being careful to avoid duplicates
   9908       if test "$opt_mode" = clean; then
   9909 	case " $rmdirs " in
   9910 	  *" $odir "*) ;;
   9911 	  *) rmdirs+=" $odir" ;;
   9912 	esac
   9913       fi
   9914 
   9915       # Don't error if the file doesn't exist and rm -f was used.
   9916       if { test -L "$file"; } >/dev/null 2>&1 ||
   9917 	 { test -h "$file"; } >/dev/null 2>&1 ||
   9918 	 test -f "$file"; then
   9919 	:
   9920       elif test -d "$file"; then
   9921 	exit_status=1
   9922 	continue
   9923       elif test "$rmforce" = yes; then
   9924 	continue
   9925       fi
   9926 
   9927       rmfiles="$file"
   9928 
   9929       case $name in
   9930       *.la)
   9931 	# Possibly a libtool archive, so verify it.
   9932 	if func_lalib_p "$file"; then
   9933 	  func_source $dir/$name
   9934 
   9935 	  # Delete the libtool libraries and symlinks.
   9936 	  for n in $library_names; do
   9937 	    rmfiles+=" $odir/$n"
   9938 	  done
   9939 	  test -n "$old_library" && rmfiles+=" $odir/$old_library"
   9940 
   9941 	  case "$opt_mode" in
   9942 	  clean)
   9943 	    case " $library_names " in
   9944 	    *" $dlname "*) ;;
   9945 	    *) test -n "$dlname" && rmfiles+=" $odir/$dlname" ;;
   9946 	    esac
   9947 	    test -n "$libdir" && rmfiles+=" $odir/$name $odir/${name}i"
   9948 	    ;;
   9949 	  uninstall)
   9950 	    if test -n "$library_names"; then
   9951 	      # Do each command in the postuninstall commands.
   9952 	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
   9953 	    fi
   9954 
   9955 	    if test -n "$old_library"; then
   9956 	      # Do each command in the old_postuninstall commands.
   9957 	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
   9958 	    fi
   9959 	    # FIXME: should reinstall the best remaining shared library.
   9960 	    ;;
   9961 	  esac
   9962 	fi
   9963 	;;
   9964 
   9965       *.lo)
   9966 	# Possibly a libtool object, so verify it.
   9967 	if func_lalib_p "$file"; then
   9968 
   9969 	  # Read the .lo file
   9970 	  func_source $dir/$name
   9971 
   9972 	  # Add PIC object to the list of files to remove.
   9973 	  if test -n "$pic_object" &&
   9974 	     test "$pic_object" != none; then
   9975 	    rmfiles+=" $dir/$pic_object"
   9976 	  fi
   9977 
   9978 	  # Add non-PIC object to the list of files to remove.
   9979 	  if test -n "$non_pic_object" &&
   9980 	     test "$non_pic_object" != none; then
   9981 	    rmfiles+=" $dir/$non_pic_object"
   9982 	  fi
   9983 	fi
   9984 	;;
   9985 
   9986       *)
   9987 	if test "$opt_mode" = clean ; then
   9988 	  noexename=$name
   9989 	  case $file in
   9990 	  *.exe)
   9991 	    func_stripname '' '.exe' "$file"
   9992 	    file=$func_stripname_result
   9993 	    func_stripname '' '.exe' "$name"
   9994 	    noexename=$func_stripname_result
   9995 	    # $file with .exe has already been added to rmfiles,
   9996 	    # add $file without .exe
   9997 	    rmfiles+=" $file"
   9998 	    ;;
   9999 	  esac
   10000 	  # Do a test to see if this is a libtool program.
   10001 	  if func_ltwrapper_p "$file"; then
   10002 	    if func_ltwrapper_executable_p "$file"; then
   10003 	      func_ltwrapper_scriptname "$file"
   10004 	      relink_command=
   10005 	      func_source $func_ltwrapper_scriptname_result
   10006 	      rmfiles+=" $func_ltwrapper_scriptname_result"
   10007 	    else
   10008 	      relink_command=
   10009 	      func_source $dir/$noexename
   10010 	    fi
   10011 
   10012 	    # note $name still contains .exe if it was in $file originally
   10013 	    # as does the version of $file that was added into $rmfiles
   10014 	    rmfiles+=" $odir/$name $odir/${name}S.${objext}"
   10015 	    if test "$fast_install" = yes && test -n "$relink_command"; then
   10016 	      rmfiles+=" $odir/lt-$name"
   10017 	    fi
   10018 	    if test "X$noexename" != "X$name" ; then
   10019 	      rmfiles+=" $odir/lt-${noexename}.c"
   10020 	    fi
   10021 	  fi
   10022 	fi
   10023 	;;
   10024       esac
   10025       func_show_eval "$RM $rmfiles" 'exit_status=1'
   10026     done
   10027 
   10028     # Try to remove the ${objdir}s in the directories where we deleted files
   10029     for dir in $rmdirs; do
   10030       if test -d "$dir"; then
   10031 	func_show_eval "rmdir $dir >/dev/null 2>&1"
   10032       fi
   10033     done
   10034 
   10035     exit $exit_status
   10036 }
   10037 
   10038 { test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
   10039     func_mode_uninstall ${1+"$@"}
   10040 
   10041 test -z "$opt_mode" && {
   10042   help="$generic_help"
   10043   func_fatal_help "you must specify a MODE"
   10044 }
   10045 
   10046 test -z "$exec_cmd" && \
   10047   func_fatal_help "invalid operation mode \`$opt_mode'"
   10048 
   10049 if test -n "$exec_cmd"; then
   10050   eval exec "$exec_cmd"
   10051   exit $EXIT_FAILURE
   10052 fi
   10053 
   10054 exit $exit_status
   10055 
   10056 
   10057 # The TAGs below are defined such that we never get into a situation
   10058 # in which we disable both kinds of libraries.  Given conflicting
   10059 # choices, we go for a static library, that is the most portable,
   10060 # since we can't tell whether shared libraries were disabled because
   10061 # the user asked for that or because the platform doesn't support
   10062 # them.  This is particularly important on AIX, because we don't
   10063 # support having both static and shared libraries enabled at the same
   10064 # time on that platform, so we default to a shared-only configuration.
   10065 # If a disable-shared tag is given, we'll fallback to a static-only
   10066 # configuration.  But we'll never go from static-only to shared-only.
   10067 
   10068 # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
   10069 build_libtool_libs=no
   10070 build_old_libs=yes
   10071 # ### END LIBTOOL TAG CONFIG: disable-shared
   10072 
   10073 # ### BEGIN LIBTOOL TAG CONFIG: disable-static
   10074 build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
   10075 # ### END LIBTOOL TAG CONFIG: disable-static
   10076 
   10077 # Local Variables:
   10078 # mode:shell-script
   10079 # sh-indentation:2
   10080 # End:
   10081 # vi:sw=2
   10082 
   10083 
   10084 # ### BEGIN LIBTOOL TAG CONFIG: CXX
   10085 
   10086 # The linker used to build libraries.
   10087 LD="/usr/bin/ld -m elf_x86_64"
   10088 
   10089 # How to create reloadable object files.
   10090 reload_flag=" -r"
   10091 reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
   10092 
   10093 # Commands used to build an old-style archive.
   10094 old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib"
   10095 
   10096 # A language specific compiler.
   10097 CC="g++"
   10098 
   10099 # Is the compiler the GNU compiler?
   10100 with_gcc=yes
   10101 
   10102 # Compiler flag to turn off builtin functions.
   10103 no_builtin_flag=" -fno-builtin"
   10104 
   10105 # Additional compiler flags for building library objects.
   10106 pic_flag=" -fPIC -DPIC"
   10107 
   10108 # How to pass a linker flag through the compiler.
   10109 wl="-Wl,"
   10110 
   10111 # Compiler flag to prevent dynamic linking.
   10112 link_static_flag="-static"
   10113 
   10114 # Does compiler simultaneously support -c and -o options?
   10115 compiler_c_o="yes"
   10116 
   10117 # Whether or not to add -lc for building shared libraries.
   10118 build_libtool_need_lc=no
   10119 
   10120 # Whether or not to disallow shared libs when runtime libs are static.
   10121 allow_libtool_libs_with_static_runtimes=no
   10122 
   10123 # Compiler flag to allow reflexive dlopens.
   10124 export_dynamic_flag_spec="\${wl}--export-dynamic"
   10125 
   10126 # Compiler flag to generate shared objects directly from archives.
   10127 whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
   10128 
   10129 # Whether the compiler copes with passing no objects directly.
   10130 compiler_needs_object="no"
   10131 
   10132 # Create an old-style archive from a shared archive.
   10133 old_archive_from_new_cmds=""
   10134 
   10135 # Create a temporary old-style archive to link instead of a shared archive.
   10136 old_archive_from_expsyms_cmds=""
   10137 
   10138 # Commands used to build a shared archive.
   10139 archive_cmds="\$CC \$pic_flag -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
   10140 archive_expsym_cmds="\$CC \$pic_flag -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib"
   10141 
   10142 # Commands used to build a loadable module if different from building
   10143 # a shared archive.
   10144 module_cmds=""
   10145 module_expsym_cmds=""
   10146 
   10147 # Whether we are building with GNU ld or not.
   10148 with_gnu_ld="yes"
   10149 
   10150 # Flag that allows shared libraries with undefined symbols to be built.
   10151 allow_undefined_flag=""
   10152 
   10153 # Flag that enforces no undefined symbols.
   10154 no_undefined_flag=""
   10155 
   10156 # Flag to hardcode $libdir into a binary during linking.
   10157 # This must work even if $libdir does not exist
   10158 hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir"
   10159 
   10160 # If ld is used when linking, flag to hardcode $libdir into a binary
   10161 # during linking.  This must work even if $libdir does not exist.
   10162 hardcode_libdir_flag_spec_ld=""
   10163 
   10164 # Whether we need a single "-rpath" flag with a separated argument.
   10165 hardcode_libdir_separator=""
   10166 
   10167 # Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
   10168 # DIR into the resulting binary.
   10169 hardcode_direct=no
   10170 
   10171 # Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
   10172 # DIR into the resulting binary and the resulting library dependency is
   10173 # "absolute",i.e impossible to change by setting ${shlibpath_var} if the
   10174 # library is relocated.
   10175 hardcode_direct_absolute=no
   10176 
   10177 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
   10178 # into the resulting binary.
   10179 hardcode_minus_L=no
   10180 
   10181 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
   10182 # into the resulting binary.
   10183 hardcode_shlibpath_var=unsupported
   10184 
   10185 # Set to "yes" if building a shared library automatically hardcodes DIR
   10186 # into the library and all subsequent libraries and executables linked
   10187 # against it.
   10188 hardcode_automatic=no
   10189 
   10190 # Set to yes if linker adds runtime paths of dependent libraries
   10191 # to runtime path list.
   10192 inherit_rpath=no
   10193 
   10194 # Whether libtool must link a program against all its dependency libraries.
   10195 link_all_deplibs=no
   10196 
   10197 # Set to "yes" if exported symbols are required.
   10198 always_export_symbols=no
   10199 
   10200 # The commands to list exported symbols.
   10201 export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
   10202 
   10203 # Symbols that should not be listed in the preloaded symbols.
   10204 exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*"
   10205 
   10206 # Symbols that must always be exported.
   10207 include_expsyms=""
   10208 
   10209 # Commands necessary for linking programs (against libraries) with templates.
   10210 prelink_cmds=""
   10211 
   10212 # Commands necessary for finishing linking programs.
   10213 postlink_cmds=""
   10214 
   10215 # Specify filename containing input files.
   10216 file_list_spec=""
   10217 
   10218 # How to hardcode a shared library path into an executable.
   10219 hardcode_action=immediate
   10220 
   10221 # The directories searched by this compiler when creating a shared library.
   10222 compiler_lib_search_dirs="/usr/lib/gcc/x86_64-linux-gnu/4.4.3 /usr/lib/gcc/x86_64-linux-gnu/4.4.3 /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib /lib/../lib /usr/lib/../lib /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../.. /usr/lib/x86_64-linux-gnu"
   10223 
   10224 # Dependencies to place before and after the objects being linked to
   10225 # create a shared library.
   10226 predep_objects="/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.4.3/crtbeginS.o"
   10227 postdep_objects="/usr/lib/gcc/x86_64-linux-gnu/4.4.3/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/crtn.o"
   10228 predeps=""
   10229 postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
   10230 
   10231 # The library search path used internally by the compiler when linking
   10232 # a shared library.
   10233 compiler_lib_search_path="-L/usr/lib/gcc/x86_64-linux-gnu/4.4.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.4.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../.. -L/usr/lib/x86_64-linux-gnu"
   10234 
   10235 # ### END LIBTOOL TAG CONFIG: CXX
   10236