ltmain.sh
上传用户:zm130024
上传日期:2007-01-04
资源大小:432k
文件大小:107k
源码类别:

代理服务器

开发平台:

Unix_Linux

  1. # ltmain.sh - Provide generalized library-building support services.
  2. # NOTE: Changing this file will not affect anything until you rerun ltconfig.
  3. #
  4. # Copyright (C) 1996-1999 Free Software Foundation, Inc.
  5. # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
  6. #
  7. # This program is free software; you can redistribute it and/or modify
  8. # it under the terms of the GNU General Public License as published by
  9. # the Free Software Foundation; either version 2 of the License, or
  10. # (at your option) any later version.
  11. #
  12. # This program is distributed in the hope that it will be useful, but
  13. # WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15. # General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU General Public License
  18. # along with this program; if not, write to the Free Software
  19. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  20. #
  21. # As a special exception to the GNU General Public License, if you
  22. # distribute this file as part of a program that contains a
  23. # configuration script generated by Autoconf, you may include it under
  24. # the same distribution terms that you use for the rest of that program.
  25. # Check that we have a working $echo.
  26. if test "X$1" = X--no-reexec; then
  27.   # Discard the --no-reexec flag, and continue.
  28.   shift
  29. elif test "X$1" = X--fallback-echo; then
  30.   # Avoid inline document here, it may be left over
  31.   :
  32. elif test "X`($echo 't') 2>/dev/null`" = 'Xt'; then
  33.   # Yippee, $echo works!
  34.   :
  35. else
  36.   # Restart under the correct shell, and then maybe $echo will work.
  37.   exec $SHELL "$0" --no-reexec ${1+"$@"}
  38. fi
  39. if test "X$1" = X--fallback-echo; then
  40.   # used as fallback echo
  41.   shift
  42.   cat <<EOF
  43. $*
  44. EOF
  45.   exit 0
  46. fi
  47. # The name of this program.
  48. progname=`$echo "$0" | sed 's%^.*/%%'`
  49. modename="$progname"
  50. # Constants.
  51. PROGRAM=ltmain.sh
  52. PACKAGE=libtool
  53. VERSION=1.3.3
  54. TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)"
  55. default_mode=
  56. help="Try `$progname --help' for more information."
  57. magic="%%%MAGIC variable%%%"
  58. mkdir="mkdir"
  59. mv="mv -f"
  60. rm="rm -f"
  61. # Sed substitution that helps us do robust quoting.  It backslashifies
  62. # metacharacters that are still active within double-quoted strings.
  63. Xsed='sed -e 1s/^X//'
  64. sed_quote_subst='s/([\`\"$\\])/\1/g'
  65. SP2NL='tr 40 12'
  66. NL2SP='tr 1512 4040'
  67. # NLS nuisances.
  68. # Only set LANG and LC_ALL to C if already set.
  69. # These must not be set unconditionally because not all systems understand
  70. # e.g. LANG=C (notably SCO).
  71. # We save the old values to restore during execute mode.
  72. if test "${LC_ALL+set}" = set; then
  73.   save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
  74. fi
  75. if test "${LANG+set}" = set; then
  76.   save_LANG="$LANG"; LANG=C; export LANG
  77. fi
  78. if test "$LTCONFIG_VERSION" != "$VERSION"; then
  79.   echo "$modename: ltconfig version `$LTCONFIG_VERSION' does not match $PROGRAM version `$VERSION'" 1>&2
  80.   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
  81.   exit 1
  82. fi
  83. if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
  84.   echo "$modename: not configured to build any kind of library" 1>&2
  85.   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
  86.   exit 1
  87. fi
  88. # Global variables.
  89. mode=$default_mode
  90. nonopt=
  91. prev=
  92. prevopt=
  93. run=
  94. show="$echo"
  95. show_help=
  96. execute_dlfiles=
  97. lo2o="s/\.lo$/.${objext}/"
  98. o2lo="s/\.${objext}$/.lo/"
  99. # Parse our command line options once, thoroughly.
  100. while test $# -gt 0
  101. do
  102.   arg="$1"
  103.   shift
  104.   case "$arg" in
  105.   -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
  106.   *) optarg= ;;
  107.   esac
  108.   # If the previous option needs an argument, assign it.
  109.   if test -n "$prev"; then
  110.     case "$prev" in
  111.     execute_dlfiles)
  112.       eval "$prev="$$prev $arg""
  113.       ;;
  114.     *)
  115.       eval "$prev=$arg"
  116.       ;;
  117.     esac
  118.     prev=
  119.     prevopt=
  120.     continue
  121.   fi
  122.   # Have we seen a non-optional argument yet?
  123.   case "$arg" in
  124.   --help)
  125.     show_help=yes
  126.     ;;
  127.   --version)
  128.     echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
  129.     exit 0
  130.     ;;
  131.   --config)
  132.     sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0
  133.     exit 0
  134.     ;;
  135.   --debug)
  136.     echo "$progname: enabling shell trace mode"
  137.     set -x
  138.     ;;
  139.   --dry-run | -n)
  140.     run=:
  141.     ;;
  142.   --features)
  143.     echo "host: $host"
  144.     if test "$build_libtool_libs" = yes; then
  145.       echo "enable shared libraries"
  146.     else
  147.       echo "disable shared libraries"
  148.     fi
  149.     if test "$build_old_libs" = yes; then
  150.       echo "enable static libraries"
  151.     else
  152.       echo "disable static libraries"
  153.     fi
  154.     exit 0
  155.     ;;
  156.   --finish) mode="finish" ;;
  157.   --mode) prevopt="--mode" prev=mode ;;
  158.   --mode=*) mode="$optarg" ;;
  159.   --quiet | --silent)
  160.     show=:
  161.     ;;
  162.   -dlopen)
  163.     prevopt="-dlopen"
  164.     prev=execute_dlfiles
  165.     ;;
  166.   -*)
  167.     $echo "$modename: unrecognized option `$arg'" 1>&2
  168.     $echo "$help" 1>&2
  169.     exit 1
  170.     ;;
  171.   *)
  172.     nonopt="$arg"
  173.     break
  174.     ;;
  175.   esac
  176. done
  177. if test -n "$prevopt"; then
  178.   $echo "$modename: option `$prevopt' requires an argument" 1>&2
  179.   $echo "$help" 1>&2
  180.   exit 1
  181. fi
  182. if test -z "$show_help"; then
  183.   # Infer the operation mode.
  184.   if test -z "$mode"; then
  185.     case "$nonopt" in
  186.     *cc | *++ | gcc* | *-gcc*)
  187.       mode=link
  188.       for arg
  189.       do
  190. case "$arg" in
  191. -c)
  192.    mode=compile
  193.    break
  194.    ;;
  195. esac
  196.       done
  197.       ;;
  198.     *db | *dbx | *strace | *truss)
  199.       mode=execute
  200.       ;;
  201.     *install*|cp|mv)
  202.       mode=install
  203.       ;;
  204.     *rm)
  205.       mode=uninstall
  206.       ;;
  207.     *)
  208.       # If we have no mode, but dlfiles were specified, then do execute mode.
  209.       test -n "$execute_dlfiles" && mode=execute
  210.       # Just use the default operation mode.
  211.       if test -z "$mode"; then
  212. if test -n "$nonopt"; then
  213.   $echo "$modename: warning: cannot infer operation mode from `$nonopt'" 1>&2
  214. else
  215.   $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
  216. fi
  217.       fi
  218.       ;;
  219.     esac
  220.   fi
  221.   # Only execute mode is allowed to have -dlopen flags.
  222.   if test -n "$execute_dlfiles" && test "$mode" != execute; then
  223.     $echo "$modename: unrecognized option `-dlopen'" 1>&2
  224.     $echo "$help" 1>&2
  225.     exit 1
  226.   fi
  227.   # Change the help message to a mode-specific one.
  228.   generic_help="$help"
  229.   help="Try `$modename --help --mode=$mode' for more information."
  230.   # These modes are in order of execution frequency so that they run quickly.
  231.   case "$mode" in
  232.   # libtool compile mode
  233.   compile)
  234.     modename="$modename: compile"
  235.     # Get the compilation command and the source file.
  236.     base_compile=
  237.     lastarg=
  238.     srcfile="$nonopt"
  239.     suppress_output=
  240.     user_target=no
  241.     for arg
  242.     do
  243.       # Accept any command-line options.
  244.       case "$arg" in
  245.       -o)
  246. if test "$user_target" != "no"; then
  247.   $echo "$modename: you cannot specify `-o' more than once" 1>&2
  248.   exit 1
  249. fi
  250. user_target=next
  251. ;;
  252.       -static)
  253. build_old_libs=yes
  254. continue
  255. ;;
  256.       esac
  257.       case "$user_target" in
  258.       next)
  259. # The next one is the -o target name
  260. user_target=yes
  261. continue
  262. ;;
  263.       yes)
  264. # We got the output file
  265. user_target=set
  266. libobj="$arg"
  267. continue
  268. ;;
  269.       esac
  270.       # Accept the current argument as the source file.
  271.       lastarg="$srcfile"
  272.       srcfile="$arg"
  273.       # Aesthetically quote the previous argument.
  274.       # Backslashify any backslashes, double quotes, and dollar signs.
  275.       # These are the only characters that are still specially
  276.       # interpreted inside of double-quoted scrings.
  277.       lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
  278.       # Double-quote args containing other shell metacharacters.
  279.       # Many Bourne shells cannot handle close brackets correctly in scan
  280.       # sets, so we specify it separately.
  281.       case "$lastarg" in
  282.       *[[~#^&*(){}|;<>?'  ]*|*]*)
  283. lastarg=""$lastarg""
  284. ;;
  285.       esac
  286.       # Add the previous argument to base_compile.
  287.       if test -z "$base_compile"; then
  288. base_compile="$lastarg"
  289.       else
  290. base_compile="$base_compile $lastarg"
  291.       fi
  292.     done
  293.     case "$user_target" in
  294.     set)
  295.       ;;
  296.     no)
  297.       # Get the name of the library object.
  298.       libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
  299.       ;;
  300.     *)
  301.       $echo "$modename: you must specify a target with `-o'" 1>&2
  302.       exit 1
  303.       ;;
  304.     esac
  305.     # Recognize several different file suffixes.
  306.     # If the user specifies -o file.o, it is replaced with file.lo
  307.     xform='[cCFSfmso]'
  308.     case "$libobj" in
  309.     *.ada) xform=ada ;;
  310.     *.adb) xform=adb ;;
  311.     *.ads) xform=ads ;;
  312.     *.asm) xform=asm ;;
  313.     *.c++) xform=c++ ;;
  314.     *.cc) xform=cc ;;
  315.     *.cpp) xform=cpp ;;
  316.     *.cxx) xform=cxx ;;
  317.     *.f90) xform=f90 ;;
  318.     *.for) xform=for ;;
  319.     esac
  320.     libobj=`$echo "X$libobj" | $Xsed -e "s/.$xform$/.lo/"`
  321.     case "$libobj" in
  322.     *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
  323.     *)
  324.       $echo "$modename: cannot determine name of library object from `$libobj'" 1>&2
  325.       exit 1
  326.       ;;
  327.     esac
  328.     if test -z "$base_compile"; then
  329.       $echo "$modename: you must specify a compilation command" 1>&2
  330.       $echo "$help" 1>&2
  331.       exit 1
  332.     fi
  333.     # Delete any leftover library objects.
  334.     if test "$build_old_libs" = yes; then
  335.       removelist="$obj $libobj"
  336.     else
  337.       removelist="$libobj"
  338.     fi
  339.     $run $rm $removelist
  340.     trap "$run $rm $removelist; exit 1" 1 2 15
  341.     # Calculate the filename of the output object if compiler does
  342.     # not support -o with -c
  343.     if test "$compiler_c_o" = no; then
  344.       output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%..*$%%'`.${objext}
  345.       lockfile="$output_obj.lock"
  346.       removelist="$removelist $output_obj $lockfile"
  347.       trap "$run $rm $removelist; exit 1" 1 2 15
  348.     else
  349.       need_locks=no
  350.       lockfile=
  351.     fi
  352.     # Lock this critical section if it is needed
  353.     # We use this script file to make the link, it avoids creating a new file
  354.     if test "$need_locks" = yes; then
  355.       until ln "$0" "$lockfile" 2>/dev/null; do
  356. $show "Waiting for $lockfile to be removed"
  357. sleep 2
  358.       done
  359.     elif test "$need_locks" = warn; then
  360.       if test -f "$lockfile"; then
  361. echo "
  362. *** ERROR, $lockfile exists and contains:
  363. `cat $lockfile 2>/dev/null`
  364. This indicates that another process is trying to use the same
  365. temporary object file, and libtool could not work around it because
  366. your compiler does not support `-c' and `-o' together.  If you
  367. repeat this compilation, it may succeed, by chance, but you had better
  368. avoid parallel builds (make -j) in this platform, or get a better
  369. compiler."
  370. $run $rm $removelist
  371. exit 1
  372.       fi
  373.       echo $srcfile > "$lockfile"
  374.     fi
  375.     if test -n "$fix_srcfile_path"; then
  376.       eval srcfile="$fix_srcfile_path"
  377.     fi
  378.     # Only build a PIC object if we are building libtool libraries.
  379.     if test "$build_libtool_libs" = yes; then
  380.       # Without this assignment, base_compile gets emptied.
  381.       fbsd_hideous_sh_bug=$base_compile
  382.       # All platforms use -DPIC, to notify preprocessed assembler code.
  383.       command="$base_compile $pic_flag -DPIC $srcfile"
  384.       if test "$build_old_libs" = yes; then
  385. lo_libobj="$libobj"
  386. dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
  387. if test "X$dir" = "X$libobj"; then
  388.   dir="$objdir"
  389. else
  390.   dir="$dir/$objdir"
  391. fi
  392. libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
  393. if test -d "$dir"; then
  394.   $show "$rm $libobj"
  395.   $run $rm $libobj
  396. else
  397.   $show "$mkdir $dir"
  398.   $run $mkdir $dir
  399.   status=$?
  400.   if test $status -ne 0 && test ! -d $dir; then
  401.     exit $status
  402.   fi
  403. fi
  404.       fi
  405.       if test "$compiler_o_lo" = yes; then
  406. output_obj="$libobj"
  407. command="$command -o $output_obj"
  408.       elif test "$compiler_c_o" = yes; then
  409. output_obj="$obj"
  410. command="$command -o $output_obj"
  411.       fi
  412.       $run $rm "$output_obj"
  413.       $show "$command"
  414.       if $run eval "$command"; then :
  415.       else
  416. test -n "$output_obj" && $run $rm $removelist
  417. exit 1
  418.       fi
  419.       if test "$need_locks" = warn &&
  420.  test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
  421. echo "
  422. *** ERROR, $lockfile contains:
  423. `cat $lockfile 2>/dev/null`
  424. but it should contain:
  425. $srcfile
  426. This indicates that another process is trying to use the same
  427. temporary object file, and libtool could not work around it because
  428. your compiler does not support `-c' and `-o' together.  If you
  429. repeat this compilation, it may succeed, by chance, but you had better
  430. avoid parallel builds (make -j) in this platform, or get a better
  431. compiler."
  432. $run $rm $removelist
  433. exit 1
  434.       fi
  435.       # Just move the object if needed, then go on to compile the next one
  436.       if test x"$output_obj" != x"$libobj"; then
  437. $show "$mv $output_obj $libobj"
  438. if $run $mv $output_obj $libobj; then :
  439. else
  440.   error=$?
  441.   $run $rm $removelist
  442.   exit $error
  443. fi
  444.       fi
  445.       # If we have no pic_flag, then copy the object into place and finish.
  446.       if test -z "$pic_flag" && test "$build_old_libs" = yes; then
  447. # Rename the .lo from within objdir to obj
  448. if test -f $obj; then
  449.   $show $rm $obj
  450.   $run $rm $obj
  451. fi
  452. $show "$mv $libobj $obj"
  453. if $run $mv $libobj $obj; then :
  454. else
  455.   error=$?
  456.   $run $rm $removelist
  457.   exit $error
  458. fi
  459. # Now arrange that obj and lo_libobj become the same file
  460. $show "$LN_S $obj $lo_libobj"
  461. if $run $LN_S $obj $lo_libobj; then
  462.   exit 0
  463. else
  464.   error=$?
  465.   $run $rm $removelist
  466.   exit $error
  467. fi
  468.       fi
  469.       # Allow error messages only from the first compilation.
  470.       suppress_output=' >/dev/null 2>&1'
  471.     fi
  472.     # Only build a position-dependent object if we build old libraries.
  473.     if test "$build_old_libs" = yes; then
  474.       command="$base_compile $srcfile"
  475.       if test "$compiler_c_o" = yes; then
  476. command="$command -o $obj"
  477. output_obj="$obj"
  478.       fi
  479.       # Suppress compiler output if we already did a PIC compilation.
  480.       command="$command$suppress_output"
  481.       $run $rm "$output_obj"
  482.       $show "$command"
  483.       if $run eval "$command"; then :
  484.       else
  485. $run $rm $removelist
  486. exit 1
  487.       fi
  488.       if test "$need_locks" = warn &&
  489.  test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
  490. echo "
  491. *** ERROR, $lockfile contains:
  492. `cat $lockfile 2>/dev/null`
  493. but it should contain:
  494. $srcfile
  495. This indicates that another process is trying to use the same
  496. temporary object file, and libtool could not work around it because
  497. your compiler does not support `-c' and `-o' together.  If you
  498. repeat this compilation, it may succeed, by chance, but you had better
  499. avoid parallel builds (make -j) in this platform, or get a better
  500. compiler."
  501. $run $rm $removelist
  502. exit 1
  503.       fi
  504.       # Just move the object if needed
  505.       if test x"$output_obj" != x"$obj"; then
  506. $show "$mv $output_obj $obj"
  507. if $run $mv $output_obj $obj; then :
  508. else
  509.   error=$?
  510.   $run $rm $removelist
  511.   exit $error
  512. fi
  513.       fi
  514.       # Create an invalid libtool object if no PIC, so that we do not
  515.       # accidentally link it into a program.
  516.       if test "$build_libtool_libs" != yes; then
  517. $show "echo timestamp > $libobj"
  518. $run eval "echo timestamp > $libobj" || exit $?
  519.       else
  520. # Move the .lo from within objdir
  521. $show "$mv $libobj $lo_libobj"
  522. if $run $mv $libobj $lo_libobj; then :
  523. else
  524.   error=$?
  525.   $run $rm $removelist
  526.   exit $error
  527. fi
  528.       fi
  529.     fi
  530.     # Unlock the critical section if it was locked
  531.     if test "$need_locks" != no; then
  532.       $rm "$lockfile"
  533.     fi
  534.     exit 0
  535.     ;;
  536.   # libtool link mode
  537.   link)
  538.     modename="$modename: link"
  539.     C_compiler="$CC" # save it, to compile generated C sources
  540.     CC="$nonopt"
  541.     case "$host" in
  542.     *-*-cygwin* | *-*-mingw* | *-*-os2*)
  543.       # It is impossible to link a dll without this setting, and
  544.       # we shouldn't force the makefile maintainer to figure out
  545.       # which system we are compiling for in order to pass an extra
  546.       # flag for every libtool invokation.
  547.       # allow_undefined=no
  548.       # FIXME: Unfortunately, there are problems with the above when trying
  549.       # to make a dll which has undefined symbols, in which case not
  550.       # even a static library is built.  For now, we need to specify
  551.       # -no-undefined on the libtool link line when we can be certain
  552.       # that all symbols are satisfied, otherwise we get a static library.
  553.       allow_undefined=yes
  554.       # This is a source program that is used to create dlls on Windows
  555.       # Don't remove nor modify the starting and closing comments
  556. # /* ltdll.c starts here */
  557. # #define WIN32_LEAN_AND_MEAN
  558. # #include <windows.h>
  559. # #undef WIN32_LEAN_AND_MEAN
  560. # #include <stdio.h>
  561. #
  562. # #ifndef __CYGWIN__
  563. # #  ifdef __CYGWIN32__
  564. # #    define __CYGWIN__ __CYGWIN32__
  565. # #  endif
  566. # #endif
  567. #
  568. # #ifdef __cplusplus
  569. # extern "C" {
  570. # #endif
  571. # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
  572. # #ifdef __cplusplus
  573. # }
  574. # #endif
  575. #
  576. # #ifdef __CYGWIN__
  577. # #include <cygwin/cygwin_dll.h>
  578. # DECLARE_CYGWIN_DLL( DllMain );
  579. # #endif
  580. # HINSTANCE __hDllInstance_base;
  581. #
  582. # BOOL APIENTRY
  583. # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
  584. # {
  585. #   __hDllInstance_base = hInst;
  586. #   return TRUE;
  587. # }
  588. # /* ltdll.c ends here */
  589.       # This is a source program that is used to create import libraries
  590.       # on Windows for dlls which lack them. Don't remove nor modify the
  591.       # starting and closing comments
  592. # /* impgen.c starts here */
  593. # /*   Copyright (C) 1999 Free Software Foundation, Inc.
  594. #  This file is part of GNU libtool.
  595. #  This program is free software; you can redistribute it and/or modify
  596. #  it under the terms of the GNU General Public License as published by
  597. #  the Free Software Foundation; either version 2 of the License, or
  598. #  (at your option) any later version.
  599. #  This program is distributed in the hope that it will be useful,
  600. #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  601. #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  602. #  GNU General Public License for more details.
  603. #  You should have received a copy of the GNU General Public License
  604. #  along with this program; if not, write to the Free Software
  605. #  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  606. #  */
  607. #  #include <stdio.h> /* for printf() */
  608. #  #include <unistd.h> /* for open(), lseek(), read() */
  609. #  #include <fcntl.h> /* for O_RDONLY, O_BINARY */
  610. #  #include <string.h> /* for strdup() */
  611. #  static unsigned int
  612. #  pe_get16 (fd, offset)
  613. #       int fd;
  614. #       int offset;
  615. #  {
  616. #    unsigned char b[2];
  617. #    lseek (fd, offset, SEEK_SET);
  618. #    read (fd, b, 2);
  619. #    return b[0] + (b[1]<<8);
  620. #  }
  621. #  static unsigned int
  622. #  pe_get32 (fd, offset)
  623. #      int fd;
  624. #      int offset;
  625. #  {
  626. #    unsigned char b[4];
  627. #    lseek (fd, offset, SEEK_SET);
  628. #    read (fd, b, 4);
  629. #    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
  630. #  }
  631. #  static unsigned int
  632. #  pe_as32 (ptr)
  633. #       void *ptr;
  634. #  {
  635. #    unsigned char *b = ptr;
  636. #    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
  637. #  }
  638. #  int
  639. #  main (argc, argv)
  640. #      int argc;
  641. #      char *argv[];
  642. #  {
  643. #      int dll;
  644. #      unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
  645. #      unsigned long export_rva, export_size, nsections, secptr, expptr;
  646. #      unsigned long name_rvas, nexp;
  647. #      unsigned char *expdata, *erva;
  648. #      char *filename, *dll_name;
  649. #      filename = argv[1];
  650. #      dll = open(filename, O_RDONLY|O_BINARY);
  651. #      if (!dll)
  652. #   return 1;
  653. #      dll_name = filename;
  654. #    
  655. #      for (i=0; filename[i]; i++)
  656. #   if (filename[i] == '/' || filename[i] == '\'  || filename[i] == ':')
  657. #       dll_name = filename + i +1;
  658. #      pe_header_offset = pe_get32 (dll, 0x3c);
  659. #      opthdr_ofs = pe_header_offset + 4 + 20;
  660. #      num_entries = pe_get32 (dll, opthdr_ofs + 92);
  661. #      if (num_entries < 1) /* no exports */
  662. #   return 1;
  663. #      export_rva = pe_get32 (dll, opthdr_ofs + 96);
  664. #      export_size = pe_get32 (dll, opthdr_ofs + 100);
  665. #      nsections = pe_get16 (dll, pe_header_offset + 4 +2);
  666. #      secptr = (pe_header_offset + 4 + 20 +
  667. #         pe_get16 (dll, pe_header_offset + 4 + 16));
  668. #      expptr = 0;
  669. #      for (i = 0; i < nsections; i++)
  670. #      {
  671. #   char sname[8];
  672. #   unsigned long secptr1 = secptr + 40 * i;
  673. #   unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
  674. #   unsigned long vsize = pe_get32 (dll, secptr1 + 16);
  675. #   unsigned long fptr = pe_get32 (dll, secptr1 + 20);
  676. #   lseek(dll, secptr1, SEEK_SET);
  677. #   read(dll, sname, 8);
  678. #   if (vaddr <= export_rva && vaddr+vsize > export_rva)
  679. #   {
  680. #       expptr = fptr + (export_rva - vaddr);
  681. #       if (export_rva + export_size > vaddr + vsize)
  682. #   export_size = vsize - (export_rva - vaddr);
  683. #       break;
  684. #   }
  685. #      }
  686. #      expdata = (unsigned char*)malloc(export_size);
  687. #      lseek (dll, expptr, SEEK_SET);
  688. #      read (dll, expdata, export_size);
  689. #      erva = expdata - export_rva;
  690. #      nexp = pe_as32 (expdata+24);
  691. #      name_rvas = pe_as32 (expdata+32);
  692. #      printf ("EXPORTSn");
  693. #      for (i = 0; i<nexp; i++)
  694. #      {
  695. #   unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
  696. #   printf ("t%s @ %ld ;n", erva+name_rva, 1+ i);
  697. #      }
  698. #      return 0;
  699. #  }
  700. # /* impgen.c ends here */
  701.       ;;
  702.     *)
  703.       allow_undefined=yes
  704.       ;;
  705.     esac
  706.     compile_command="$CC"
  707.     finalize_command="$CC"
  708.     compile_rpath=
  709.     finalize_rpath=
  710.     compile_shlibpath=
  711.     finalize_shlibpath=
  712.     convenience=
  713.     old_convenience=
  714.     deplibs=
  715.     linkopts=
  716.     if test -n "$shlibpath_var"; then
  717.       # get the directories listed in $shlibpath_var
  718.       eval lib_search_path=`$echo "X ${$shlibpath_var}" | $Xsed -e 's/:/ /g'`
  719.     else
  720.       lib_search_path=
  721.     fi
  722.     # now prepend the system-specific ones
  723.     eval lib_search_path="$sys_lib_search_path_spec$lib_search_path"
  724.     eval sys_lib_dlsearch_path="$sys_lib_dlsearch_path_spec"
  725.     
  726.     avoid_version=no
  727.     dlfiles=
  728.     dlprefiles=
  729.     dlself=no
  730.     export_dynamic=no
  731.     export_symbols=
  732.     export_symbols_regex=
  733.     generated=
  734.     libobjs=
  735.     link_against_libtool_libs=
  736.     ltlibs=
  737.     module=no
  738.     objs=
  739.     prefer_static_libs=no
  740.     preload=no
  741.     prev=
  742.     prevarg=
  743.     release=
  744.     rpath=
  745.     xrpath=
  746.     perm_rpath=
  747.     temp_rpath=
  748.     thread_safe=no
  749.     vinfo=
  750.     # We need to know -static, to get the right output filenames.
  751.     for arg
  752.     do
  753.       case "$arg" in
  754.       -all-static | -static)
  755. if test "X$arg" = "X-all-static"; then
  756.   if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
  757.     $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
  758.   fi
  759.   if test -n "$link_static_flag"; then
  760.     dlopen_self=$dlopen_self_static
  761.   fi
  762. else
  763.   if test -z "$pic_flag" && test -n "$link_static_flag"; then
  764.     dlopen_self=$dlopen_self_static
  765.   fi
  766. fi
  767. build_libtool_libs=no
  768. build_old_libs=yes
  769. prefer_static_libs=yes
  770. break
  771. ;;
  772.        #XXX
  773.       -all-dynamic)
  774.         if test "$build_libtool_libs" = no; then
  775.         $echo "$modename: warning: unable to build only dynamic libraries in this configuration" 1>&2
  776.       fi
  777.       build_old_libs=no
  778.       prefer_static_libs=no
  779.       break
  780.       ;;
  781.       esac
  782.     done
  783.     # See if our shared archives depend on static archives.
  784.     test -n "$old_archive_from_new_cmds" && build_old_libs=yes
  785.     # Go through the arguments, transforming them on the way.
  786.     while test $# -gt 0; do
  787.       arg="$1"
  788.       shift
  789.       # If the previous option needs an argument, assign it.
  790.       if test -n "$prev"; then
  791. case "$prev" in
  792. output)
  793.   compile_command="$compile_command @OUTPUT@"
  794.   finalize_command="$finalize_command @OUTPUT@"
  795.   ;;
  796. esac
  797. case "$prev" in
  798. dlfiles|dlprefiles)
  799.   if test "$preload" = no; then
  800.     # Add the symbol object into the linking commands.
  801.     compile_command="$compile_command @SYMFILE@"
  802.     finalize_command="$finalize_command @SYMFILE@"
  803.     preload=yes
  804.   fi
  805.   case "$arg" in
  806.   *.la | *.lo) ;;  # We handle these cases below.
  807.   force)
  808.     if test "$dlself" = no; then
  809.       dlself=needless
  810.       export_dynamic=yes
  811.     fi
  812.     prev=
  813.     continue
  814.     ;;
  815.   self)
  816.     if test "$prev" = dlprefiles; then
  817.       dlself=yes
  818.     elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
  819.       dlself=yes
  820.     else
  821.       dlself=needless
  822.       export_dynamic=yes
  823.     fi
  824.     prev=
  825.     continue
  826.     ;;
  827.   *)
  828.     if test "$prev" = dlfiles; then
  829.       dlfiles="$dlfiles $arg"
  830.     else
  831.       dlprefiles="$dlprefiles $arg"
  832.     fi
  833.     prev=
  834.     ;;
  835.   esac
  836.   ;;
  837. expsyms)
  838.   export_symbols="$arg"
  839.   if test ! -f "$arg"; then
  840.     $echo "$modename: symbol file `$arg' does not exist"
  841.     exit 1
  842.   fi
  843.   prev=
  844.   continue
  845.   ;;
  846. expsyms_regex)
  847.   export_symbols_regex="$arg"
  848.   prev=
  849.   continue
  850.   ;;
  851. release)
  852.   release="-$arg"
  853.   prev=
  854.   continue
  855.   ;;
  856. rpath | xrpath)
  857.   # We need an absolute path.
  858.   case "$arg" in
  859.   [\/]* | [A-Za-z]:[\/]*) ;;
  860.   *)
  861.     $echo "$modename: only absolute run-paths are allowed" 1>&2
  862.     exit 1
  863.     ;;
  864.   esac
  865.   if test "$prev" = rpath; then
  866.     case "$rpath " in
  867.     *" $arg "*) ;;
  868.     *) rpath="$rpath $arg" ;;
  869.     esac
  870.   else
  871.     case "$xrpath " in
  872.     *" $arg "*) ;;
  873.     *) xrpath="$xrpath $arg" ;;
  874.     esac
  875.   fi
  876.   prev=
  877.   continue
  878.   ;;
  879. *)
  880.   eval "$prev="$arg""
  881.   prev=
  882.   continue
  883.   ;;
  884. esac
  885.       fi
  886.       prevarg="$arg"
  887.       case "$arg" in
  888.       -all-static)
  889. if test -n "$link_static_flag"; then
  890.   compile_command="$compile_command $link_static_flag"
  891.   finalize_command="$finalize_command $link_static_flag"
  892. fi
  893. continue
  894. ;;
  895.       -allow-undefined)
  896. # FIXME: remove this flag sometime in the future.
  897. $echo "$modename: `-allow-undefined' is deprecated because it is the default" 1>&2
  898. continue
  899. ;;
  900.       -avoid-version)
  901. avoid_version=yes
  902. continue
  903. ;;
  904.       -dlopen)
  905. prev=dlfiles
  906. continue
  907. ;;
  908.       -dlpreopen)
  909. prev=dlprefiles
  910. continue
  911. ;;
  912.       -export-dynamic)
  913. export_dynamic=yes
  914. continue
  915. ;;
  916.       -export-symbols | -export-symbols-regex)
  917. if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
  918.   $echo "$modename: not more than one -exported-symbols argument allowed"
  919.   exit 1
  920. fi
  921. if test "X$arg" = "X-export-symbols"; then
  922.   prev=expsyms
  923. else
  924.   prev=expsyms_regex
  925. fi
  926. continue
  927. ;;
  928.       -L*)
  929. dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
  930. # We need an absolute path.
  931. case "$dir" in
  932. [\/]* | [A-Za-z]:[\/]*) ;;
  933. *)
  934.   absdir=`cd "$dir" && pwd`
  935.   if test -z "$absdir"; then
  936.     $echo "$modename: warning: cannot determine absolute directory name of `$dir'" 1>&2
  937.     $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
  938.     absdir="$dir"
  939.   fi
  940.   dir="$absdir"
  941.   ;;
  942. esac
  943. case " $deplibs " in
  944. *" $arg "*) ;;
  945. *) deplibs="$deplibs $arg";;
  946. esac
  947. case " $lib_search_path " in
  948. *" $dir "*) ;;
  949. *) lib_search_path="$lib_search_path $dir";;
  950. esac
  951. case "$host" in
  952. *-*-cygwin* | *-*-mingw* | *-*-os2*)
  953.   dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
  954.   case ":$dllsearchpath:" in
  955.   ::) dllsearchpath="$dllsearchdir";;
  956.   *":$dllsearchdir:"*) ;;
  957.   *) dllsearchpath="$dllsearchpath:$dllsearchdir";;
  958.   esac
  959.   ;;
  960. esac
  961. ;;
  962.       -l*)
  963. if test "$arg" = "-lc"; then
  964.   case "$host" in
  965.   *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
  966.     # These systems don't actually have c library (as such)
  967.     continue
  968.     ;;
  969.   esac
  970. elif test "$arg" = "-lm"; then
  971.   case "$host" in
  972.   *-*-cygwin* | *-*-beos*)
  973.     # These systems don't actually have math library (as such)
  974.     continue
  975.     ;;
  976.   esac
  977. fi
  978. deplibs="$deplibs $arg"
  979. ;;
  980.       -module)
  981. module=yes
  982. continue
  983. ;;
  984.       -no-undefined)
  985. allow_undefined=no
  986. continue
  987. ;;
  988.       -o) prev=output ;;
  989.       -release)
  990. prev=release
  991. continue
  992. ;;
  993.       -rpath)
  994. prev=rpath
  995. continue
  996. ;;
  997.       -R)
  998. prev=xrpath
  999. continue
  1000. ;;
  1001.       -R*)
  1002. dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
  1003. # We need an absolute path.
  1004. case "$dir" in
  1005. [\/]* | [A-Za-z]:[\/]*) ;;
  1006. *)
  1007.   $echo "$modename: only absolute run-paths are allowed" 1>&2
  1008.   exit 1
  1009.   ;;
  1010. esac
  1011. case "$xrpath " in
  1012. *" $dir "*) ;;
  1013. *) xrpath="$xrpath $dir" ;;
  1014. esac
  1015. continue
  1016. ;;
  1017.       -static)
  1018. # If we have no pic_flag, then this is the same as -all-static.
  1019. if test -z "$pic_flag" && test -n "$link_static_flag"; then
  1020.   compile_command="$compile_command $link_static_flag"
  1021.   finalize_command="$finalize_command $link_static_flag"
  1022. fi
  1023. continue
  1024. ;;
  1025.       -thread-safe)
  1026. thread_safe=yes
  1027. continue
  1028. ;;
  1029.       -version-info)
  1030. prev=vinfo
  1031. continue
  1032. ;;
  1033.       # Some other compiler flag.
  1034.       -* | +*)
  1035. # Unknown arguments in both finalize_command and compile_command need
  1036. # to be aesthetically quoted because they are evaled later.
  1037. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
  1038. case "$arg" in
  1039. *[[~#^&*(){}|;<>?'  ]*|*]*)
  1040.   arg=""$arg""
  1041.   ;;
  1042. esac
  1043. ;;
  1044.       *.o | *.obj | *.a | *.lib)
  1045. # A standard object.
  1046. objs="$objs $arg"
  1047. ;;
  1048.       *.lo)
  1049. # A library object.
  1050. if test "$prev" = dlfiles; then
  1051.   dlfiles="$dlfiles $arg"
  1052.   if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then
  1053.     prev=
  1054.     continue
  1055.   else
  1056.     # If libtool objects are unsupported, then we need to preload.
  1057.     prev=dlprefiles
  1058.   fi
  1059. fi
  1060. if test "$prev" = dlprefiles; then
  1061.   # Preload the old-style object.
  1062.   dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
  1063.   prev=
  1064. fi
  1065. libobjs="$libobjs $arg"
  1066. ;;
  1067.       *.la)
  1068. # A libtool-controlled library.
  1069. dlname=
  1070. libdir=
  1071. library_names=
  1072. old_library=
  1073. # Check to see that this really is a libtool archive.
  1074. if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
  1075. else
  1076.   $echo "$modename: `$arg' is not a valid libtool archive" 1>&2
  1077.   exit 1
  1078. fi
  1079. # If the library was installed with an old release of libtool,
  1080. # it will not redefine variable installed.
  1081. installed=yes
  1082. # Read the .la file
  1083. # If there is no directory component, then add one.
  1084. case "$arg" in
  1085. */* | *\*) . $arg ;;
  1086. *) . ./$arg ;;
  1087. esac
  1088. # Get the name of the library we link against.
  1089. linklib=
  1090. for l in $old_library $library_names; do
  1091.   linklib="$l"
  1092. done
  1093. if test -z "$linklib"; then
  1094.   $echo "$modename: cannot find name of link library for `$arg'" 1>&2
  1095.   exit 1
  1096. fi
  1097. # Find the relevant object directory and library name.
  1098. name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/.la$//' -e 's/^lib//'`
  1099. if test "X$installed" = Xyes; then
  1100.   dir="$libdir"
  1101. else
  1102.   dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
  1103.   if test "X$dir" = "X$arg"; then
  1104.     dir="$objdir"
  1105.   else
  1106.     dir="$dir/$objdir"
  1107.   fi
  1108. fi
  1109. if test -n "$dependency_libs"; then
  1110.   # Extract -R and -L from dependency_libs
  1111.   temp_deplibs=
  1112.   for deplib in $dependency_libs; do
  1113.     case "$deplib" in
  1114.     -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
  1115.  case " $rpath $xrpath " in
  1116.  *" $temp_xrpath "*) ;;
  1117.  *) xrpath="$xrpath $temp_xrpath";;
  1118.  esac;;
  1119.     -L*) case "$compile_command $temp_deplibs " in
  1120.  *" $deplib "*) ;;
  1121.  *) temp_deplibs="$temp_deplibs $deplib";;
  1122.  esac
  1123.  temp_dir=`$echo "X$deplib" | $Xsed -e 's/^-L//'`
  1124.  case " $lib_search_path " in
  1125.  *" $temp_dir "*) ;;
  1126.  *) lib_search_path="$lib_search_path $temp_dir";;
  1127.  esac
  1128.  ;;
  1129.     *) temp_deplibs="$temp_deplibs $deplib";;
  1130.     esac
  1131.   done
  1132.   dependency_libs="$temp_deplibs"
  1133. fi
  1134. if test -z "$libdir"; then
  1135.   # It is a libtool convenience library, so add in its objects.
  1136.   convenience="$convenience $dir/$old_library"
  1137.   old_convenience="$old_convenience $dir/$old_library"
  1138.   deplibs="$deplibs$dependency_libs"
  1139.   compile_command="$compile_command $dir/$old_library$dependency_libs"
  1140.   finalize_command="$finalize_command $dir/$old_library$dependency_libs"
  1141.   continue
  1142. fi
  1143. # This library was specified with -dlopen.
  1144. if test "$prev" = dlfiles; then
  1145.   dlfiles="$dlfiles $arg"
  1146.   if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then
  1147.     # If there is no dlname, no dlopen support or we're linking statically,
  1148.     # we need to preload.
  1149.     prev=dlprefiles
  1150.   else
  1151.     # We should not create a dependency on this library, but we
  1152.     # may need any libraries it requires.
  1153.     compile_command="$compile_command$dependency_libs"
  1154.     finalize_command="$finalize_command$dependency_libs"
  1155.     prev=
  1156.     continue
  1157.   fi
  1158. fi
  1159. # The library was specified with -dlpreopen.
  1160. if test "$prev" = dlprefiles; then
  1161.   # Prefer using a static library (so that no silly _DYNAMIC symbols
  1162.   # are required to link).
  1163.   if test -n "$old_library"; then
  1164.     dlprefiles="$dlprefiles $dir/$old_library"
  1165.   else
  1166.     dlprefiles="$dlprefiles $dir/$linklib"
  1167.   fi
  1168.   prev=
  1169. fi
  1170. if test -n "$library_names" &&
  1171.    { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
  1172.   link_against_libtool_libs="$link_against_libtool_libs $arg"
  1173.   if test -n "$shlibpath_var"; then
  1174.     # Make sure the rpath contains only unique directories.
  1175.     case "$temp_rpath " in
  1176.     *" $dir "*) ;;
  1177.     *) temp_rpath="$temp_rpath $dir" ;;
  1178.     esac
  1179.   fi
  1180.   # We need an absolute path.
  1181.   case "$dir" in
  1182.   [\/] | [A-Za-z]:[\/]*) absdir="$dir" ;;
  1183.   *)
  1184.     absdir=`cd "$dir" && pwd`
  1185.     if test -z "$absdir"; then
  1186.       $echo "$modename: warning: cannot determine absolute directory name of `$dir'" 1>&2
  1187.       $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
  1188.       absdir="$dir"
  1189.     fi
  1190.     ;;
  1191.   esac
  1192.   
  1193.   # This is the magic to use -rpath.
  1194.   # Skip directories that are in the system default run-time
  1195.   # search path, unless they have been requested with -R.
  1196.   case " $sys_lib_dlsearch_path " in
  1197.   *" $absdir "*) ;;
  1198.   *)
  1199.     case "$compile_rpath " in
  1200.     *" $absdir "*) ;;
  1201.     *) compile_rpath="$compile_rpath $absdir" 
  1202.     esac
  1203.     ;;
  1204.   esac
  1205.   case " $sys_lib_dlsearch_path " in
  1206.   *" $libdir "*) ;;
  1207.   *)
  1208.     case "$finalize_rpath " in
  1209.     *" $libdir "*) ;;
  1210.     *) finalize_rpath="$finalize_rpath $libdir"
  1211.     esac
  1212.     ;;
  1213.   esac
  1214.   lib_linked=yes
  1215.   case "$hardcode_action" in
  1216.   immediate | unsupported)
  1217.     if test "$hardcode_direct" = no; then
  1218.       compile_command="$compile_command $dir/$linklib"
  1219.       deplibs="$deplibs $dir/$linklib"
  1220.       case "$host" in
  1221.       *-*-cygwin* | *-*-mingw* | *-*-os2*)
  1222. dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
  1223. if test -n "$dllsearchpath"; then
  1224.   dllsearchpath="$dllsearchpath:$dllsearchdir"
  1225. else
  1226.   dllsearchpath="$dllsearchdir"
  1227. fi
  1228. ;;
  1229.       esac
  1230.     elif test "$hardcode_minus_L" = no; then
  1231.       case "$host" in
  1232.       *-*-sunos*)
  1233. compile_shlibpath="$compile_shlibpath$dir:"
  1234. ;;
  1235.       esac
  1236.       case "$compile_command " in
  1237.       *" -L$dir "*) ;;
  1238.       *) compile_command="$compile_command -L$dir";;
  1239.       esac
  1240.       compile_command="$compile_command -l$name"
  1241.       deplibs="$deplibs -L$dir -l$name"
  1242.     elif test "$hardcode_shlibpath_var" = no; then
  1243.       case ":$compile_shlibpath:" in
  1244.       *":$dir:"*) ;;
  1245.       *) compile_shlibpath="$compile_shlibpath$dir:";;
  1246.       esac
  1247.       compile_command="$compile_command -l$name"
  1248.       deplibs="$deplibs -l$name"
  1249.     else
  1250.       lib_linked=no
  1251.     fi
  1252.     ;;
  1253.   relink)
  1254.     if test "$hardcode_direct" = yes; then
  1255.       compile_command="$compile_command $absdir/$linklib"
  1256.       deplibs="$deplibs $absdir/$linklib"
  1257.     elif test "$hardcode_minus_L" = yes; then
  1258.       case "$compile_command " in
  1259.       *" -L$absdir "*) ;;
  1260.       *) compile_command="$compile_command -L$absdir";;
  1261.       esac
  1262.       compile_command="$compile_command -l$name"
  1263.       deplibs="$deplibs -L$absdir -l$name"
  1264.     elif test "$hardcode_shlibpath_var" = yes; then
  1265.       case ":$compile_shlibpath:" in
  1266.       *":$absdir:"*) ;;
  1267.       *) compile_shlibpath="$compile_shlibpath$absdir:";;
  1268.       esac
  1269.       compile_command="$compile_command -l$name"
  1270.       deplibs="$deplibs -l$name"
  1271.     else
  1272.       lib_linked=no
  1273.     fi
  1274.     ;;
  1275.   *)
  1276.     lib_linked=no
  1277.     ;;
  1278.   esac
  1279.   if test "$lib_linked" != yes; then
  1280.     $echo "$modename: configuration error: unsupported hardcode properties"
  1281.     exit 1
  1282.   fi
  1283.   # Finalize command for both is simple: just hardcode it.
  1284.   if test "$hardcode_direct" = yes; then
  1285.     finalize_command="$finalize_command $libdir/$linklib"
  1286.   elif test "$hardcode_minus_L" = yes; then
  1287.     case "$finalize_command " in
  1288.     *" -L$libdir "*) ;;
  1289.     *) finalize_command="$finalize_command -L$libdir";;
  1290.     esac
  1291.     finalize_command="$finalize_command -l$name"
  1292.   elif test "$hardcode_shlibpath_var" = yes; then
  1293.     case ":$finalize_shlibpath:" in
  1294.     *":$libdir:"*) ;;
  1295.     *) finalize_shlibpath="$finalize_shlibpath$libdir:";;
  1296.     esac
  1297.     finalize_command="$finalize_command -l$name"
  1298.   else
  1299.     # We cannot seem to hardcode it, guess we'll fake it.
  1300.     case "$finalize_command " in
  1301.     *" -L$dir "*) ;;
  1302.     *) finalize_command="$finalize_command -L$libdir";;
  1303.     esac
  1304.     finalize_command="$finalize_command -l$name"
  1305.   fi
  1306. else
  1307.   # Transform directly to old archives if we don't build new libraries.
  1308.   if test -n "$pic_flag" && test -z "$old_library"; then
  1309.     $echo "$modename: cannot find static library for `$arg'" 1>&2
  1310.     exit 1
  1311.   fi
  1312.   # Here we assume that one of hardcode_direct or hardcode_minus_L
  1313.   # is not unsupported.  This is valid on all known static and
  1314.   # shared platforms.
  1315.   if test "$hardcode_direct" != unsupported; then
  1316.     test -n "$old_library" && linklib="$old_library"
  1317.     compile_command="$compile_command $dir/$linklib"
  1318.     finalize_command="$finalize_command $dir/$linklib"
  1319.   else
  1320.     case "$compile_command " in
  1321.     *" -L$dir "*) ;;
  1322.     *) compile_command="$compile_command -L$dir";;
  1323.     esac
  1324.     compile_command="$compile_command -l$name"
  1325.     case "$finalize_command " in
  1326.     *" -L$dir "*) ;;
  1327.     *) finalize_command="$finalize_command -L$dir";;
  1328.     esac
  1329.     finalize_command="$finalize_command -l$name"
  1330.   fi
  1331. fi
  1332. # Add in any libraries that this one depends upon.
  1333. compile_command="$compile_command$dependency_libs"
  1334. finalize_command="$finalize_command$dependency_libs"
  1335. continue
  1336. ;;
  1337.       # Some other compiler argument.
  1338.       *)
  1339. # Unknown arguments in both finalize_command and compile_command need
  1340. # to be aesthetically quoted because they are evaled later.
  1341. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
  1342. case "$arg" in
  1343. *[[~#^&*(){}|;<>?'  ]*|*]*)
  1344.   arg=""$arg""
  1345.   ;;
  1346. esac
  1347. ;;
  1348.       esac
  1349.       # Now actually substitute the argument into the commands.
  1350.       if test -n "$arg"; then
  1351. compile_command="$compile_command $arg"
  1352. finalize_command="$finalize_command $arg"
  1353.       fi
  1354.     done
  1355.     if test -n "$prev"; then
  1356.       $echo "$modename: the `$prevarg' option requires an argument" 1>&2
  1357.       $echo "$help" 1>&2
  1358.       exit 1
  1359.     fi
  1360.     if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
  1361.       eval arg="$export_dynamic_flag_spec"
  1362.       compile_command="$compile_command $arg"
  1363.       finalize_command="$finalize_command $arg"
  1364.     fi
  1365.     oldlibs=
  1366.     # calculate the name of the file, without its directory
  1367.     outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
  1368.     libobjs_save="$libobjs"
  1369.     case "$output" in
  1370.     "")
  1371.       $echo "$modename: you must specify an output file" 1>&2
  1372.       $echo "$help" 1>&2
  1373.       exit 1
  1374.       ;;
  1375.     *.a | *.lib)
  1376.       if test -n "$link_against_libtool_libs"; then
  1377. $echo "$modename: error: cannot link libtool libraries into archives" 1>&2
  1378. exit 1
  1379.       fi
  1380.       if test -n "$deplibs"; then
  1381. $echo "$modename: warning: `-l' and `-L' are ignored for archives" 1>&2
  1382.       fi
  1383.       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
  1384. $echo "$modename: warning: `-dlopen' is ignored for archives" 1>&2
  1385.       fi
  1386.       if test -n "$rpath"; then
  1387. $echo "$modename: warning: `-rpath' is ignored for archives" 1>&2
  1388.       fi
  1389.       if test -n "$xrpath"; then
  1390. $echo "$modename: warning: `-R' is ignored for archives" 1>&2
  1391.       fi
  1392.       if test -n "$vinfo"; then
  1393. $echo "$modename: warning: `-version-info' is ignored for archives" 1>&2
  1394.       fi
  1395.       if test -n "$release"; then
  1396. $echo "$modename: warning: `-release' is ignored for archives" 1>&2
  1397.       fi
  1398.       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
  1399. $echo "$modename: warning: `-export-symbols' is ignored for archives" 1>&2
  1400.       fi
  1401.       # Now set the variables for building old libraries.
  1402.       build_libtool_libs=no
  1403.       oldlibs="$output"
  1404.       ;;
  1405.     *.la)
  1406.       # Make sure we only generate libraries of the form `libNAME.la'.
  1407.       case "$outputname" in
  1408.       lib*)
  1409. name=`$echo "X$outputname" | $Xsed -e 's/.la$//' -e 's/^lib//'`
  1410. eval libname="$libname_spec"
  1411. ;;
  1412.       *)
  1413. if test "$module" = no; then
  1414.   $echo "$modename: libtool library `$output' must begin with `lib'" 1>&2
  1415.   $echo "$help" 1>&2
  1416.   exit 1
  1417. fi
  1418. if test "$need_lib_prefix" != no; then
  1419.   # Add the "lib" prefix for modules if required
  1420.   name=`$echo "X$outputname" | $Xsed -e 's/.la$//'`
  1421.   eval libname="$libname_spec"
  1422. else
  1423.   libname=`$echo "X$outputname" | $Xsed -e 's/.la$//'`
  1424. fi
  1425. ;;
  1426.       esac
  1427.       output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
  1428.       if test "X$output_objdir" = "X$output"; then
  1429. output_objdir="$objdir"
  1430.       else
  1431. output_objdir="$output_objdir/$objdir"
  1432.       fi
  1433.       if test -n "$objs"; then
  1434. $echo "$modename: cannot build libtool library `$output' from non-libtool objects:$objs" 2>&1
  1435. exit 1
  1436.       fi
  1437.       # How the heck are we supposed to write a wrapper for a shared library?
  1438.       if test -n "$link_against_libtool_libs"; then
  1439.  $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
  1440.  exit 1
  1441.       fi
  1442.       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
  1443. $echo "$modename: warning: `-dlopen' is ignored for libtool libraries" 1>&2
  1444.       fi
  1445.       set dummy $rpath
  1446.       if test $# -gt 2; then
  1447. $echo "$modename: warning: ignoring multiple `-rpath's for a libtool library" 1>&2
  1448.       fi
  1449.       install_libdir="$2"
  1450.       oldlibs=
  1451.       if test -z "$rpath"; then
  1452. if test "$build_libtool_libs" = yes; then
  1453.   # Building a libtool convenience library.
  1454.   libext=al
  1455.   oldlibs="$output_objdir/$libname.$libext $oldlibs"
  1456.   build_libtool_libs=convenience
  1457.   build_old_libs=yes
  1458. fi
  1459. dependency_libs="$deplibs"
  1460. if test -n "$vinfo"; then
  1461.   $echo "$modename: warning: `-version-info' is ignored for convenience libraries" 1>&2
  1462. fi
  1463. if test -n "$release"; then
  1464.   $echo "$modename: warning: `-release' is ignored for convenience libraries" 1>&2
  1465. fi
  1466.       else
  1467. # Parse the version information argument.
  1468. IFS="${IFS=  }"; save_ifs="$IFS"; IFS=':'
  1469. set dummy $vinfo 0 0 0
  1470. IFS="$save_ifs"
  1471. if test -n "$8"; then
  1472.   $echo "$modename: too many parameters to `-version-info'" 1>&2
  1473.   $echo "$help" 1>&2
  1474.   exit 1
  1475. fi
  1476. current="$2"
  1477. revision="$3"
  1478. age="$4"
  1479. # Check that each of the things are valid numbers.
  1480. case "$current" in
  1481. 0 | [1-9] | [1-9][0-9]*) ;;
  1482. *)
  1483.   $echo "$modename: CURRENT `$current' is not a nonnegative integer" 1>&2
  1484.   $echo "$modename: `$vinfo' is not valid version information" 1>&2
  1485.   exit 1
  1486.   ;;
  1487. esac
  1488. case "$revision" in
  1489. 0 | [1-9] | [1-9][0-9]*) ;;
  1490. *)
  1491.   $echo "$modename: REVISION `$revision' is not a nonnegative integer" 1>&2
  1492.   $echo "$modename: `$vinfo' is not valid version information" 1>&2
  1493.   exit 1
  1494.   ;;
  1495. esac
  1496. case "$age" in
  1497. 0 | [1-9] | [1-9][0-9]*) ;;
  1498. *)
  1499.   $echo "$modename: AGE `$age' is not a nonnegative integer" 1>&2
  1500.   $echo "$modename: `$vinfo' is not valid version information" 1>&2
  1501.   exit 1
  1502.   ;;
  1503. esac
  1504. if test $age -gt $current; then
  1505.   $echo "$modename: AGE `$age' is greater than the current interface number `$current'" 1>&2
  1506.   $echo "$modename: `$vinfo' is not valid version information" 1>&2
  1507.   exit 1
  1508. fi
  1509. # Calculate the version variables.
  1510. major=
  1511. versuffix=
  1512. verstring=
  1513. case "$version_type" in
  1514. none) ;;
  1515. irix)
  1516.   major=`expr $current - $age + 1`
  1517.   versuffix="$major.$revision"
  1518.   verstring="sgi$major.$revision"
  1519.   # Add in all the interfaces that we are compatible with.
  1520.   loop=$revision
  1521.   while test $loop != 0; do
  1522.     iface=`expr $revision - $loop`
  1523.     loop=`expr $loop - 1`
  1524.     verstring="sgi$major.$iface:$verstring"
  1525.   done
  1526.   ;;
  1527. linux)
  1528.   major=.`expr $current - $age`
  1529.   versuffix="$major.$age.$revision"
  1530.   ;;
  1531. osf)
  1532.   major=`expr $current - $age`
  1533.   versuffix=".$current.$age.$revision"
  1534.   verstring="$current.$age.$revision"
  1535.   # Add in all the interfaces that we are compatible with.
  1536.   loop=$age
  1537.   while test $loop != 0; do
  1538.     iface=`expr $current - $loop`
  1539.     loop=`expr $loop - 1`
  1540.     verstring="$verstring:${iface}.0"
  1541.   done
  1542.   # Make executables depend on our current version.
  1543.   verstring="$verstring:${current}.0"
  1544.   ;;
  1545. sunos)
  1546.   major=".$current"
  1547.   versuffix=".$current.$revision"
  1548.   ;;
  1549. freebsd-aout)
  1550.   major=".$current"
  1551.   versuffix=".$current.$revision";
  1552.   ;;
  1553. freebsd-elf)
  1554.   major=".$current"
  1555.   versuffix=".$current";
  1556.   ;;
  1557. windows)
  1558.   # Like Linux, but with '-' rather than '.', since we only
  1559.   # want one extension on Windows 95.
  1560.   major=`expr $current - $age`
  1561.   versuffix="-$major-$age-$revision"
  1562.   ;;
  1563. *)
  1564.   $echo "$modename: unknown library version type `$version_type'" 1>&2
  1565.   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
  1566.   exit 1
  1567.   ;;
  1568. esac
  1569. # Clear the version info if we defaulted, and they specified a release.
  1570. if test -z "$vinfo" && test -n "$release"; then
  1571.   major=
  1572.   verstring="0.0"
  1573.   if test "$need_version" = no; then
  1574.     versuffix=
  1575.   else
  1576.     versuffix=".0.0"
  1577.   fi
  1578. fi
  1579. # Remove version info from name if versioning should be avoided
  1580. if test "$avoid_version" = yes && test "$need_version" = no; then
  1581.   major=
  1582.   versuffix=
  1583.   verstring=""
  1584. fi
  1585. # Check to see if the archive will have undefined symbols.
  1586. if test "$allow_undefined" = yes; then
  1587.   if test "$allow_undefined_flag" = unsupported; then
  1588.     $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
  1589.     build_libtool_libs=no
  1590.     build_old_libs=yes
  1591.   fi
  1592. else
  1593.   # Don't allow undefined symbols.
  1594.   allow_undefined_flag="$no_undefined_flag"
  1595. fi
  1596. dependency_libs="$deplibs"
  1597. case "$host" in
  1598. *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
  1599.   # these systems don't actually have a c library (as such)!
  1600.   ;;
  1601. *)
  1602.   # Add libc to deplibs on all other systems.
  1603.   deplibs="$deplibs -lc"
  1604.   ;;
  1605. esac
  1606.       fi
  1607.       # Create the output directory, or remove our outputs if we need to.
  1608.       if test -d $output_objdir; then
  1609. $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
  1610. $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
  1611.       else
  1612. $show "$mkdir $output_objdir"
  1613. $run $mkdir $output_objdir
  1614. status=$?
  1615. if test $status -ne 0 && test ! -d $output_objdir; then
  1616.   exit $status
  1617. fi
  1618.       fi
  1619.       # Now set the variables for building old libraries.
  1620.       if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
  1621. oldlibs="$oldlibs $output_objdir/$libname.$libext"
  1622. # Transform .lo files to .o files.
  1623. oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/.'${libext}'$/d' -e "$lo2o" | $NL2SP`
  1624.       fi
  1625.       if test "$build_libtool_libs" = yes; then
  1626. # Transform deplibs into only deplibs that can be linked in shared.
  1627. name_save=$name
  1628. libname_save=$libname
  1629. release_save=$release
  1630. versuffix_save=$versuffix
  1631. major_save=$major
  1632. # I'm not sure if I'm treating the release correctly.  I think
  1633. # release should show up in the -l (ie -lgmp5) so we don't want to
  1634. # add it in twice.  Is that correct?
  1635. release=""
  1636. versuffix=""
  1637. major=""
  1638. newdeplibs=
  1639. droppeddeps=no
  1640. case "$deplibs_check_method" in
  1641. pass_all)
  1642.   # Don't check for shared/static.  Everything works.
  1643.   # This might be a little naive.  We might want to check
  1644.   # whether the library exists or not.  But this is on
  1645.   # osf3 & osf4 and I'm not really sure... Just
  1646.   # implementing what was already the behaviour.
  1647.   newdeplibs=$deplibs
  1648.   ;;
  1649. test_compile)
  1650.   # This code stresses the "libraries are programs" paradigm to its
  1651.   # limits. Maybe even breaks it.  We compile a program, linking it
  1652.   # against the deplibs as a proxy for the library.  Then we can check
  1653.   # whether they linked in statically or dynamically with ldd.
  1654.   $rm conftest.c
  1655.   cat > conftest.c <<EOF
  1656.   int main() { return 0; }
  1657. EOF
  1658.   $rm conftest
  1659.   $C_compiler -o conftest conftest.c $deplibs
  1660.   if test $? -eq 0 ; then
  1661.     ldd_output=`ldd conftest`
  1662.     for i in $deplibs; do
  1663.       name="`expr $i : '-l(.*)'`"
  1664.       # If $name is empty we are operating on a -L argument.
  1665.       if test "$name" != "" ; then
  1666. libname=`eval \$echo "$libname_spec"`
  1667. deplib_matches=`eval \$echo "$library_names_spec"`
  1668. set dummy $deplib_matches
  1669. deplib_match=$2
  1670. if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
  1671.   newdeplibs="$newdeplibs $i"
  1672. else
  1673.   droppeddeps=yes
  1674.   echo
  1675.   echo "*** Warning: This library needs some functionality provided by $i."
  1676.   echo "*** I have the capability to make that library automatically link in when"
  1677.   echo "*** you link to this library.  But I can only do this if you have a"
  1678.   echo "*** shared version of the library, which you do not appear to have."
  1679. fi
  1680.       else
  1681. newdeplibs="$newdeplibs $i"
  1682.       fi
  1683.     done
  1684.   else
  1685.     # Error occured in the first compile.  Let's try to salvage the situation:
  1686.     # Compile a seperate program for each library.
  1687.     for i in $deplibs; do
  1688.       name="`expr $i : '-l(.*)'`"
  1689.      # If $name is empty we are operating on a -L argument.
  1690.       if test "$name" != "" ; then
  1691. $rm conftest
  1692. $C_compiler -o conftest conftest.c $i
  1693. # Did it work?
  1694. if test $? -eq 0 ; then
  1695.   ldd_output=`ldd conftest`
  1696.   libname=`eval \$echo "$libname_spec"`
  1697.   deplib_matches=`eval \$echo "$library_names_spec"`
  1698.   set dummy $deplib_matches
  1699.   deplib_match=$2
  1700.   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
  1701.     newdeplibs="$newdeplibs $i"
  1702.   else
  1703.     droppeddeps=yes
  1704.     echo
  1705.     echo "*** Warning: This library needs some functionality provided by $i."
  1706.     echo "*** I have the capability to make that library automatically link in when"
  1707.     echo "*** you link to this library.  But I can only do this if you have a"
  1708.     echo "*** shared version of the library, which you do not appear to have."
  1709.   fi
  1710. else
  1711.   droppeddeps=yes
  1712.   echo
  1713.   echo "*** Warning!  Library $i is needed by this library but I was not able to"
  1714.   echo "***  make it link in!  You will probably need to install it or some"
  1715.   echo "*** library that it depends on before this library will be fully"
  1716.   echo "*** functional.  Installing it before continuing would be even better."
  1717. fi
  1718.       else
  1719. newdeplibs="$newdeplibs $i"
  1720.       fi
  1721.     done
  1722.   fi
  1723.   ;;
  1724. file_magic*)
  1725.   set dummy $deplibs_check_method
  1726.   file_magic_regex="`expr "$deplibs_check_method" : "$2 (.*)"`"
  1727.   for a_deplib in $deplibs; do
  1728.     name="`expr $a_deplib : '-l(.*)'`"
  1729.     # If $name is empty we are operating on a -L argument.
  1730.     if test "$name" != "" ; then
  1731.       libname=`eval \$echo "$libname_spec"`
  1732.       for i in $lib_search_path; do
  1733.     potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
  1734.     for potent_lib in $potential_libs; do
  1735.       # Follow soft links.
  1736.       if ls -lLd "$potent_lib" 2>/dev/null 
  1737.  | grep " -> " >/dev/null; then
  1738. continue 
  1739.       fi
  1740.       # The statement above tries to avoid entering an
  1741.       # endless loop below, in case of cyclic links.
  1742.       # We might still enter an endless loop, since a link
  1743.       # loop can be closed while we follow links,
  1744.       # but so what?
  1745.       potlib="$potent_lib"
  1746.       while test -h "$potlib" 2>/dev/null; do
  1747. potliblink=`ls -ld $potlib | sed 's/.* -> //'`
  1748. case "$potliblink" in
  1749. [\/]* | [A-Za-z]:[\/]*) potlib="$potliblink";;
  1750. *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
  1751. esac
  1752.       done
  1753.       if eval $file_magic_cmd "$potlib" 2>/dev/null 
  1754.  | sed 10q 
  1755.  | egrep "$file_magic_regex" > /dev/null; then
  1756. newdeplibs="$newdeplibs $a_deplib"
  1757. a_deplib=""
  1758. break 2
  1759.       fi
  1760.     done
  1761.       done
  1762.       if test -n "$a_deplib" ; then
  1763. droppeddeps=yes
  1764. echo
  1765. echo "*** Warning: This library needs some functionality provided by $a_deplib."
  1766. echo "*** I have the capability to make that library automatically link in when"
  1767. echo "*** you link to this library.  But I can only do this if you have a"
  1768. echo "*** shared version of the library, which you do not appear to have."
  1769.       fi
  1770.     else
  1771.       # Add a -L argument.
  1772.       newdeplibs="$newdeplibs $a_deplib"
  1773.     fi
  1774.   done # Gone through all deplibs.
  1775.   ;;
  1776. none | unknown | *)
  1777.   newdeplibs=""
  1778.   if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' 
  1779.        -e 's/ -[LR][^ ]*//g' -e 's/[  ]//g' |
  1780.      grep . >/dev/null; then
  1781.     echo
  1782.     if test "X$deplibs_check_method" = "Xnone"; then
  1783.       echo "*** Warning: inter-library dependencies are not supported in this platform."
  1784.     else
  1785.       echo "*** Warning: inter-library dependencies are not known to be supported."
  1786.     fi
  1787.     echo "*** All declared inter-library dependencies are being dropped."
  1788.     droppeddeps=yes
  1789.   fi
  1790.   ;;
  1791. esac
  1792. versuffix=$versuffix_save
  1793. major=$major_save
  1794. release=$release_save
  1795. libname=$libname_save
  1796. name=$name_save
  1797. if test "$droppeddeps" = yes; then
  1798.   if test "$module" = yes; then
  1799.     echo
  1800.     echo "*** Warning: libtool could not satisfy all declared inter-library"
  1801.     echo "*** dependencies of module $libname.  Therefore, libtool will create"
  1802.     echo "*** a static module, that should work as long as the dlopening"
  1803.     echo "*** application is linked with the -dlopen flag."
  1804.     if test -z "$global_symbol_pipe"; then
  1805.       echo
  1806.       echo "*** However, this would only work if libtool was able to extract symbol"
  1807.       echo "*** lists from a program, using `nm' or equivalent, but libtool could"
  1808.       echo "*** not find such a program.  So, this module is probably useless."
  1809.       echo "*** `nm' from GNU binutils and a full rebuild may help."
  1810.     fi
  1811.     if test "$build_old_libs" = no; then
  1812.       oldlibs="$output_objdir/$libname.$libext"
  1813.       build_libtool_libs=module
  1814.       build_old_libs=yes
  1815.     else
  1816.       build_libtool_libs=no
  1817.     fi
  1818.   else
  1819.     echo "*** The inter-library dependencies that have been dropped here will be"
  1820.     echo "*** automatically added whenever a program is linked with this library"
  1821.     echo "*** or is declared to -dlopen it."
  1822.   fi
  1823. fi
  1824. # Done checking deplibs!
  1825. deplibs=$newdeplibs
  1826.       fi
  1827.       # All the library-specific variables (install_libdir is set above).
  1828.       library_names=
  1829.       old_library=
  1830.       dlname=
  1831.       
  1832.       # Test again, we may have decided not to build it any more
  1833.       if test "$build_libtool_libs" = yes; then
  1834. # Get the real and link names of the library.
  1835. eval library_names="$library_names_spec"
  1836. set dummy $library_names
  1837. realname="$2"
  1838. shift; shift
  1839. if test -n "$soname_spec"; then
  1840.   eval soname="$soname_spec"
  1841. else
  1842.   soname="$realname"
  1843. fi
  1844. lib="$output_objdir/$realname"
  1845. for link
  1846. do
  1847.   linknames="$linknames $link"
  1848. done
  1849. # Ensure that we have .o objects for linkers which dislike .lo
  1850. # (e.g. aix) incase we are running --disable-static
  1851. for obj in $libobjs; do
  1852.   oldobj=`$echo "X$obj" | $Xsed -e "$lo2o"`
  1853.   if test ! -f $oldobj; then
  1854.     $show "${LN_S} $obj $oldobj"
  1855.     $run ${LN_S} $obj $oldobj || exit $?
  1856.   fi
  1857. done
  1858. # Use standard objects if they are pic
  1859. test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  1860. # Prepare the list of exported symbols
  1861. if test -z "$export_symbols"; then
  1862.   if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
  1863.     $show "generating symbol list for `$libname.la'"
  1864.     export_symbols="$output_objdir/$libname.exp"
  1865.     $run $rm $export_symbols
  1866.     eval cmds="$export_symbols_cmds"
  1867.     IFS="${IFS=  }"; save_ifs="$IFS"; IFS='~'
  1868.     for cmd in $cmds; do
  1869.       IFS="$save_ifs"
  1870.       $show "$cmd"
  1871.       $run eval "$cmd" || exit $?
  1872.     done
  1873.     IFS="$save_ifs"
  1874.     if test -n "$export_symbols_regex"; then
  1875.       $show "egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T""
  1876.       $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
  1877.       $show "$mv "${export_symbols}T" "$export_symbols""
  1878.       $run eval '$mv "${export_symbols}T" "$export_symbols"'
  1879.     fi
  1880.   fi
  1881. fi
  1882. if test -n "$export_symbols" && test -n "$include_expsyms"; then
  1883.   $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
  1884. fi
  1885. if test -n "$convenience"; then
  1886.   if test -n "$whole_archive_flag_spec"; then
  1887.     eval libobjs="$libobjs $whole_archive_flag_spec"
  1888.   else
  1889.     gentop="$output_objdir/${outputname}x"
  1890.     $show "${rm}r $gentop"
  1891.     $run ${rm}r "$gentop"
  1892.     $show "mkdir $gentop"
  1893.     $run mkdir "$gentop"
  1894.     status=$?
  1895.     if test $status -ne 0 && test ! -d "$gentop"; then
  1896.       exit $status
  1897.     fi
  1898.     generated="$generated $gentop"
  1899.     for xlib in $convenience; do
  1900.       # Extract the objects.
  1901.       case "$xlib" in
  1902.       [\/]* | [A-Za-z]:[\/]*) xabs="$xlib" ;;
  1903.       *) xabs=`pwd`"/$xlib" ;;
  1904.       esac
  1905.       xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
  1906.       xdir="$gentop/$xlib"
  1907.       $show "${rm}r $xdir"
  1908.       $run ${rm}r "$xdir"
  1909.       $show "mkdir $xdir"
  1910.       $run mkdir "$xdir"
  1911.       status=$?
  1912.       if test $status -ne 0 && test ! -d "$xdir"; then
  1913. exit $status
  1914.       fi
  1915.       $show "(cd $xdir && $AR x $xabs)"
  1916.       $run eval "(cd $xdir && $AR x $xabs)" || exit $?
  1917.       libobjs="$libobjs "`find $xdir -name *.o -print -o -name *.lo -print | $NL2SP`
  1918.     done
  1919.   fi
  1920. fi
  1921. if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
  1922.   eval flag="$thread_safe_flag_spec"
  1923.   linkopts="$linkopts $flag"
  1924. fi
  1925. # Do each of the archive commands.
  1926. if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
  1927.   eval cmds="$archive_expsym_cmds"
  1928. else
  1929.   eval cmds="$archive_cmds"
  1930. fi
  1931. IFS="${IFS=  }"; save_ifs="$IFS"; IFS='~'
  1932. for cmd in $cmds; do
  1933.   IFS="$save_ifs"
  1934.   $show "$cmd"
  1935.   $run eval "$cmd" || exit $?
  1936. done
  1937. IFS="$save_ifs"
  1938. # Create links to the real library.
  1939. for linkname in $linknames; do
  1940.   if test "$realname" != "$linkname"; then
  1941.     $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
  1942.     $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
  1943.   fi
  1944. done
  1945. # If -module or -export-dynamic was specified, set the dlname.
  1946. if test "$module" = yes || test "$export_dynamic" = yes; then
  1947.   # On all known operating systems, these are identical.
  1948.   dlname="$soname"
  1949. fi
  1950.       fi
  1951.       ;;
  1952.     *.lo | *.o | *.obj)
  1953.       if test -n "$link_against_libtool_libs"; then
  1954. $echo "$modename: error: cannot link libtool libraries into objects" 1>&2
  1955. exit 1
  1956.       fi
  1957.       if test -n "$deplibs"; then
  1958. $echo "$modename: warning: `-l' and `-L' are ignored for objects" 1>&2
  1959.       fi
  1960.       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
  1961. $echo "$modename: warning: `-dlopen' is ignored for objects" 1>&2
  1962.       fi
  1963.       if test -n "$rpath"; then
  1964. $echo "$modename: warning: `-rpath' is ignored for objects" 1>&2
  1965.       fi
  1966.       if test -n "$xrpath"; then
  1967. $echo "$modename: warning: `-R' is ignored for objects" 1>&2
  1968.       fi
  1969.       if test -n "$vinfo"; then
  1970. $echo "$modename: warning: `-version-info' is ignored for objects" 1>&2
  1971.       fi
  1972.       if test -n "$release"; then
  1973. $echo "$modename: warning: `-release' is ignored for objects" 1>&2
  1974.       fi
  1975.       case "$output" in
  1976.       *.lo)
  1977. if test -n "$objs"; then
  1978.   $echo "$modename: cannot build library object `$output' from non-libtool objects" 1>&2
  1979.   exit 1
  1980. fi
  1981. libobj="$output"
  1982. obj=`$echo "X$output" | $Xsed -e "$lo2o"`
  1983. ;;
  1984.       *)
  1985. libobj=
  1986. obj="$output"
  1987. ;;
  1988.       esac
  1989.       # Delete the old objects.
  1990.       $run $rm $obj $libobj
  1991.       # Objects from convenience libraries.  This assumes
  1992.       # single-version convenience libraries.  Whenever we create
  1993.       # different ones for PIC/non-PIC, this we'll have to duplicate
  1994.       # the extraction.
  1995.       reload_conv_objs=
  1996.       gentop=
  1997.       # reload_cmds runs $LD directly, so let us get rid of
  1998.       # -Wl from whole_archive_flag_spec
  1999.       wl= 
  2000.       if test -n "$convenience"; then
  2001. if test -n "$whole_archive_flag_spec"; then
  2002.   eval reload_conv_objs="$reload_objs $whole_archive_flag_spec"
  2003. else
  2004.   gentop="$output_objdir/${obj}x"
  2005.   $show "${rm}r $gentop"
  2006.   $run ${rm}r "$gentop"
  2007.   $show "mkdir $gentop"
  2008.   $run mkdir "$gentop"
  2009.   status=$?
  2010.   if test $status -ne 0 && test ! -d "$gentop"; then
  2011.     exit $status
  2012.   fi
  2013.   generated="$generated $gentop"
  2014.   for xlib in $convenience; do
  2015.     # Extract the objects.
  2016.     case "$xlib" in
  2017.     [\/]* | [A-Za-z]:[\/]*) xabs="$xlib" ;;
  2018.     *) xabs=`pwd`"/$xlib" ;;
  2019.     esac
  2020.     xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
  2021.     xdir="$gentop/$xlib"
  2022.     $show "${rm}r $xdir"
  2023.     $run ${rm}r "$xdir"
  2024.     $show "mkdir $xdir"
  2025.     $run mkdir "$xdir"
  2026.     status=$?
  2027.     if test $status -ne 0 && test ! -d "$xdir"; then
  2028.       exit $status
  2029.     fi
  2030.     $show "(cd $xdir && $AR x $xabs)"
  2031.     $run eval "(cd $xdir && $AR x $xabs)" || exit $?
  2032.     reload_conv_objs="$reload_objs "`find $xdir -name *.o -print -o -name *.lo -print | $NL2SP`
  2033.   done
  2034. fi
  2035.       fi
  2036.       # Create the old-style object.
  2037.       reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/.'${libext}$'/d' -e '/.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs"
  2038.       output="$obj"
  2039.       eval cmds="$reload_cmds"
  2040.       IFS="${IFS=  }"; save_ifs="$IFS"; IFS='~'
  2041.       for cmd in $cmds; do
  2042. IFS="$save_ifs"
  2043. $show "$cmd"
  2044. $run eval "$cmd" || exit $?
  2045.       done
  2046.       IFS="$save_ifs"
  2047.       # Exit if we aren't doing a library object file.
  2048.       if test -z "$libobj"; then
  2049. if test -n "$gentop"; then
  2050.   $show "${rm}r $gentop"
  2051.   $run ${rm}r $gentop
  2052. fi
  2053. exit 0
  2054.       fi
  2055.       if test "$build_libtool_libs" != yes; then
  2056. if test -n "$gentop"; then
  2057.   $show "${rm}r $gentop"
  2058.   $run ${rm}r $gentop
  2059. fi
  2060. # Create an invalid libtool object if no PIC, so that we don't
  2061. # accidentally link it into a program.
  2062. $show "echo timestamp > $libobj"
  2063. $run eval "echo timestamp > $libobj" || exit $?
  2064. exit 0
  2065.       fi
  2066.       if test -n "$pic_flag"; then
  2067. # Only do commands if we really have different PIC objects.
  2068. reload_objs="$libobjs $reload_conv_objs"
  2069. output="$libobj"
  2070. eval cmds="$reload_cmds"
  2071. IFS="${IFS=  }"; save_ifs="$IFS"; IFS='~'
  2072. for cmd in $cmds; do
  2073.   IFS="$save_ifs"
  2074.   $show "$cmd"
  2075.   $run eval "$cmd" || exit $?
  2076. done
  2077. IFS="$save_ifs"
  2078.       else
  2079. # Just create a symlink.
  2080. $show $rm $libobj
  2081. $run $rm $libobj
  2082. $show "$LN_S $obj $libobj"
  2083. $run $LN_S $obj $libobj || exit $?
  2084.       fi
  2085.       if test -n "$gentop"; then
  2086. $show "${rm}r $gentop"
  2087. $run ${rm}r $gentop
  2088.       fi
  2089.       exit 0
  2090.       ;;
  2091.     # Anything else should be a program.
  2092.     *)
  2093.       if test -n "$vinfo"; then
  2094. $echo "$modename: warning: `-version-info' is ignored for programs" 1>&2
  2095.       fi
  2096.       if test -n "$release"; then
  2097. $echo "$modename: warning: `-release' is ignored for programs" 1>&2
  2098.       fi
  2099.       if test "$preload" = yes; then
  2100. if test "$dlopen" = unknown && test "$dlopen_self" = unknown &&
  2101.    test "$dlopen_self_static" = unknown; then
  2102.   $echo "$modename: warning: `AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
  2103. fi 
  2104.       fi
  2105.     
  2106.       if test -n "$rpath$xrpath"; then
  2107. # If the user specified any rpath flags, then add them.
  2108. for libdir in $rpath $xrpath; do
  2109.   # This is the magic to use -rpath.
  2110.   case "$compile_rpath " in
  2111.   *" $libdir "*) ;;
  2112.   *) compile_rpath="$compile_rpath $libdir" ;;
  2113.   esac
  2114.   case "$finalize_rpath " in
  2115.   *" $libdir "*) ;;
  2116.   *) finalize_rpath="$finalize_rpath $libdir" ;;
  2117.   esac
  2118. done
  2119.       fi
  2120.       # Now hardcode the library paths
  2121.       rpath=
  2122.       hardcode_libdirs=
  2123.       for libdir in $compile_rpath $finalize_rpath; do
  2124. if test -n "$hardcode_libdir_flag_spec"; then
  2125.   if test -n "$hardcode_libdir_separator"; then
  2126.     if test -z "$hardcode_libdirs"; then
  2127.       hardcode_libdirs="$libdir"
  2128.     else
  2129.       # Just accumulate the unique libdirs.
  2130.       case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
  2131.       *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
  2132. ;;
  2133.       *)
  2134. hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
  2135. ;;
  2136.       esac
  2137.     fi
  2138.   else
  2139.     eval flag="$hardcode_libdir_flag_spec"
  2140.     rpath="$rpath $flag"
  2141.   fi
  2142. elif test -n "$runpath_var"; then
  2143.   case "$perm_rpath " in
  2144.   *" $libdir "*) ;;
  2145.   *) perm_rpath="$perm_rpath $libdir" ;;
  2146.   esac
  2147. fi
  2148.       done
  2149.       # Substitute the hardcoded libdirs into the rpath.
  2150.       if test -n "$hardcode_libdir_separator" &&
  2151.  test -n "$hardcode_libdirs"; then
  2152. libdir="$hardcode_libdirs"
  2153. eval rpath=" $hardcode_libdir_flag_spec"
  2154.       fi
  2155.       compile_rpath="$rpath"
  2156.       rpath=
  2157.       hardcode_libdirs=
  2158.       for libdir in $finalize_rpath; do
  2159. if test -n "$hardcode_libdir_flag_spec"; then
  2160.   if test -n "$hardcode_libdir_separator"; then
  2161.     if test -z "$hardcode_libdirs"; then
  2162.       hardcode_libdirs="$libdir"
  2163.     else
  2164.       # Just accumulate the unique libdirs.
  2165.       case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
  2166.       *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
  2167. ;;
  2168.       *)
  2169. hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
  2170. ;;
  2171.       esac
  2172.     fi
  2173.   else
  2174.     eval flag="$hardcode_libdir_flag_spec"
  2175.     rpath="$rpath $flag"
  2176.   fi
  2177. elif test -n "$runpath_var"; then
  2178.   case "$finalize_perm_rpath " in
  2179.   *" $libdir "*) ;;
  2180.   *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
  2181.   esac
  2182. fi
  2183.       done
  2184.       # Substitute the hardcoded libdirs into the rpath.
  2185.       if test -n "$hardcode_libdir_separator" &&
  2186.  test -n "$hardcode_libdirs"; then
  2187. libdir="$hardcode_libdirs"
  2188. eval rpath=" $hardcode_libdir_flag_spec"
  2189.       fi
  2190.       finalize_rpath="$rpath"
  2191.       output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
  2192.       if test "X$output_objdir" = "X$output"; then
  2193. output_objdir="$objdir"
  2194.       else
  2195. output_objdir="$output_objdir/$objdir"
  2196.       fi
  2197.       # Create the binary in the object directory, then wrap it.
  2198.       if test ! -d $output_objdir; then
  2199. $show "$mkdir $output_objdir"
  2200. $run $mkdir $output_objdir
  2201. status=$?
  2202. if test $status -ne 0 && test ! -d $output_objdir; then
  2203.   exit $status
  2204. fi
  2205.       fi
  2206.       if test -n "$libobjs" && test "$build_old_libs" = yes; then
  2207. # Transform all the library objects into standard objects.
  2208. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  2209. finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  2210.       fi
  2211.       dlsyms=
  2212.       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
  2213. if test -n "$NM" && test -n "$global_symbol_pipe"; then
  2214.   dlsyms="${outputname}S.c"
  2215. else
  2216.   $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
  2217. fi
  2218.       fi
  2219.       if test -n "$dlsyms"; then
  2220. case "$dlsyms" in
  2221. "") ;;
  2222. *.c)
  2223.   # Discover the nlist of each of the dlfiles.
  2224.   nlist="$output_objdir/${outputname}.nm"
  2225.   $show "$rm $nlist ${nlist}S ${nlist}T"
  2226.   $run $rm "$nlist" "${nlist}S" "${nlist}T"
  2227.   # Parse the name list into a source file.
  2228.   $show "creating $output_objdir/$dlsyms"
  2229.   test -z "$run" && $echo > "$output_objdir/$dlsyms" "
  2230. /* $dlsyms - symbol resolution table for `$outputname' dlsym emulation. */
  2231. /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
  2232. #ifdef __cplusplus
  2233. extern "C" {
  2234. #endif
  2235. /* Prevent the only kind of declaration conflicts we can make. */
  2236. #define lt_preloaded_symbols some_other_symbol
  2237. /* External symbol declarations for the compiler. */
  2238. "
  2239.   if test "$dlself" = yes; then
  2240.     $show "generating symbol list for `$output'"
  2241.     test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
  2242.     # Add our own program objects to the symbol list.
  2243.     progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  2244.     for arg in $progfiles; do
  2245.       $show "extracting global C symbols from `$arg'"
  2246.       $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
  2247.     done
  2248.     if test -n "$exclude_expsyms"; then
  2249.       $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
  2250.       $run eval '$mv "$nlist"T "$nlist"'
  2251.     fi
  2252.     
  2253.     if test -n "$export_symbols_regex"; then
  2254.       $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
  2255.       $run eval '$mv "$nlist"T "$nlist"'
  2256.     fi
  2257.     # Prepare the list of exported symbols
  2258.     if test -z "$export_symbols"; then
  2259.       export_symbols="$output_objdir/$output.exp"
  2260.       $run $rm $export_symbols
  2261.       $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* (.*)$/1/p' "'< "$nlist" > "$export_symbols"'
  2262.     else
  2263.       $run eval "sed -e 's/([][.*^$])/\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
  2264.       $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
  2265.       $run eval 'mv "$nlist"T "$nlist"'
  2266.     fi
  2267.   fi
  2268.   for arg in $dlprefiles; do
  2269.     $show "extracting global C symbols from `$arg'"
  2270.     name=`echo "$arg" | sed -e 's%^.*/%%'`
  2271.     $run eval 'echo ": $name " >> "$nlist"'
  2272.     $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
  2273.   done
  2274.   if test -z "$run"; then
  2275.     # Make sure we have at least an empty file.
  2276.     test -f "$nlist" || : > "$nlist"
  2277.     if test -n "$exclude_expsyms"; then
  2278.       egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
  2279.       $mv "$nlist"T "$nlist"
  2280.     fi
  2281.     # Try sorting and uniquifying the output.
  2282.     if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then
  2283.       :
  2284.     else
  2285.       grep -v "^: " < "$nlist" > "$nlist"S
  2286.     fi
  2287.     if test -f "$nlist"S; then
  2288.       eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
  2289.     else
  2290.       echo '/* NONE */' >> "$output_objdir/$dlsyms"
  2291.     fi
  2292.     $echo >> "$output_objdir/$dlsyms" "
  2293. #undef lt_preloaded_symbols
  2294. #if defined (__STDC__) && __STDC__
  2295. # define lt_ptr_t void *
  2296. #else
  2297. # define lt_ptr_t char *
  2298. # define const
  2299. #endif
  2300. /* The mapping between symbol names and symbols. */
  2301. const struct {
  2302.   const char *name;
  2303.   lt_ptr_t address;
  2304. }
  2305. lt_preloaded_symbols[] =
  2306. {
  2307. "
  2308.     sed -n -e 's/^: ([^ ]*) $/  {"1", (lt_ptr_t) 0},/p' 
  2309. -e 's/^. ([^ ]*) ([^ ]*)$/  {"2", (lt_ptr_t) &2},/p' 
  2310.   < "$nlist" >> "$output_objdir/$dlsyms"
  2311.     $echo >> "$output_objdir/$dlsyms" "
  2312.   {0, (lt_ptr_t) 0}
  2313. };
  2314. /* This works around a problem in FreeBSD linker */
  2315. #ifdef FREEBSD_WORKAROUND
  2316. static const void *lt_preloaded_setup() {
  2317.   return lt_preloaded_symbols;
  2318. }
  2319. #endif
  2320. #ifdef __cplusplus
  2321. }
  2322. #endif
  2323. "
  2324.   fi
  2325.   pic_flag_for_symtable=
  2326.   case "$host" in
  2327.   # compiling the symbol table file with pic_flag works around
  2328.   # a FreeBSD bug that causes programs to crash when -lm is
  2329.   # linked before any other PIC object.  But we must not use
  2330.   # pic_flag when linking with -static.  The problem exists in
  2331.   # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
  2332.   *-*-freebsd2*|*-*-freebsd3.0*)
  2333.     case "$compile_command " in
  2334.     *" -static "*) ;;
  2335.     *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
  2336.     esac
  2337.   esac
  2338.   # Now compile the dynamic symbol file.
  2339.   $show "(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")"
  2340.   $run eval '(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
  2341.   # Clean up the generated files.
  2342.   $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
  2343.   $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
  2344.   # Transform the symbol file into the correct name.
  2345.   compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
  2346.   finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
  2347.   ;;
  2348. *)
  2349.   $echo "$modename: unknown suffix for `$dlsyms'" 1>&2
  2350.   exit 1
  2351.   ;;
  2352. esac
  2353.       else
  2354. # We keep going just in case the user didn't refer to
  2355. # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
  2356. # really was required.
  2357. # Nullify the symbol file.
  2358. compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
  2359. finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
  2360.       fi
  2361.       if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
  2362. # Replace the output file specification.
  2363. compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
  2364. link_command="$compile_command$compile_rpath"
  2365. # We have no uninstalled library dependencies, so finalize right now.
  2366. $show "$link_command"
  2367. $run eval "$link_command"
  2368. status=$?
  2369. # Delete the generated files.
  2370. if test -n "$dlsyms"; then
  2371.   $show "$rm $output_objdir/${outputname}S.${objext}"
  2372.   $run $rm "$output_objdir/${outputname}S.${objext}"
  2373. fi
  2374. exit $status
  2375.       fi
  2376.       if test -n "$shlibpath_var"; then
  2377. # We should set the shlibpath_var
  2378. rpath=
  2379. for dir in $temp_rpath; do
  2380.   case "$dir" in
  2381.   [\/]* | [A-Za-z]:[\/]*)
  2382.     # Absolute path.
  2383.     rpath="$rpath$dir:"
  2384.     ;;
  2385.   *)
  2386.     # Relative path: add a thisdir entry.
  2387.     rpath="$rpath$thisdir/$dir:"
  2388.     ;;
  2389.   esac
  2390. done
  2391. temp_rpath="$rpath"
  2392.       fi
  2393.       if test -n "$compile_shlibpath$finalize_shlibpath"; then
  2394. compile_command="$shlibpath_var="$compile_shlibpath$finalize_shlibpath$$shlibpath_var" $compile_command"
  2395.       fi
  2396.       if test -n "$finalize_shlibpath"; then
  2397. finalize_command="$shlibpath_var="$finalize_shlibpath$$shlibpath_var" $finalize_command"
  2398.       fi
  2399.       compile_var=
  2400.       finalize_var=
  2401.       if test -n "$runpath_var"; then
  2402. if test -n "$perm_rpath"; then
  2403.   # We should set the runpath_var.
  2404.   rpath=
  2405.   for dir in $perm_rpath; do
  2406.     rpath="$rpath$dir:"
  2407.   done
  2408.   compile_var="$runpath_var="$rpath$$runpath_var" "
  2409. fi
  2410. if test -n "$finalize_perm_rpath"; then
  2411.   # We should set the runpath_var.
  2412.   rpath=
  2413.   for dir in $finalize_perm_rpath; do
  2414.     rpath="$rpath$dir:"
  2415.   done
  2416.   finalize_var="$runpath_var="$rpath$$runpath_var" "
  2417. fi
  2418.       fi
  2419.       if test "$hardcode_action" = relink; then
  2420. # Fast installation is not supported
  2421. link_command="$compile_var$compile_command$compile_rpath"
  2422. relink_command="$finalize_var$finalize_command$finalize_rpath"
  2423. $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
  2424. $echo "$modename: `$output' will be relinked during installation" 1>&2
  2425.       else
  2426. if test "$fast_install" != no; then
  2427.   link_command="$finalize_var$compile_command$finalize_rpath"
  2428.   if test "$fast_install" = yes; then
  2429.     relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%$progdir/$file%g'`
  2430.   else
  2431.     # fast_install is set to needless
  2432.     relink_command=
  2433.   fi
  2434. else
  2435.   link_command="$compile_var$compile_command$compile_rpath"
  2436.   relink_command="$finalize_var$finalize_command$finalize_rpath"
  2437. fi
  2438.       fi
  2439.       # Replace the output file specification.
  2440.       link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
  2441.       
  2442.       # Delete the old output files.
  2443.       $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
  2444.       $show "$link_command"
  2445.       $run eval "$link_command" || exit $?
  2446.       # Now create the wrapper script.
  2447.       $show "creating $output"
  2448.       # Quote the relink command for shipping.
  2449.       if test -n "$relink_command"; then
  2450. relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
  2451.       fi
  2452.       # Quote $echo for shipping.
  2453.       if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
  2454. case "$0" in
  2455. [\/]* | [A-Za-z]:[\/]*) qecho="$SHELL $0 --fallback-echo";;
  2456. *) qecho="$SHELL `pwd`/$0 --fallback-echo";;
  2457. esac
  2458. qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
  2459.       else
  2460. qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
  2461.       fi
  2462.       # Only actually do things if our run command is non-null.
  2463.       if test -z "$run"; then
  2464. # win32 will think the script is a binary if it has
  2465. # a .exe suffix, so we strip it off here.
  2466. case $output in
  2467.   *.exe) output=`echo $output|sed 's,.exe$,,'` ;;
  2468. esac
  2469. $rm $output
  2470. trap "$rm $output; exit 1" 1 2 15
  2471. $echo > $output "
  2472. #! $SHELL
  2473. # $output - temporary wrapper script for $objdir/$outputname
  2474. # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
  2475. #
  2476. # The $output program cannot be directly executed until all the libtool
  2477. # libraries that it depends on are installed.
  2478. #
  2479. # This wrapper script should never be moved out of the build directory.
  2480. # If it is, it will not operate correctly.
  2481. # Sed substitution that helps us do robust quoting.  It backslashifies
  2482. # metacharacters that are still active within double-quoted strings.
  2483. Xsed='sed -e 1s/^X//'
  2484. sed_quote_subst='$sed_quote_subst'
  2485. # The HP-UX ksh and POSIX shell print the target directory to stdout
  2486. # if CDPATH is set.
  2487. if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
  2488. relink_command="$relink_command"
  2489. # This environment variable determines our operation mode.
  2490. if test "$libtool_install_magic" = "$magic"; then
  2491.   # install mode needs the following variable:
  2492.   link_against_libtool_libs='$link_against_libtool_libs'
  2493. else
  2494.   # When we are sourced in execute mode, $file and $echo are already set.
  2495.   if test "$libtool_execute_magic" != "$magic"; then
  2496.     echo="$qecho"
  2497.     file="$0"
  2498.     # Make sure echo works.
  2499.     if test "X$1" = X--no-reexec; then
  2500.       # Discard the --no-reexec flag, and continue.
  2501.       shift
  2502.     elif test "X`($echo 't') 2>/dev/null`" = 'Xt'; then
  2503.       # Yippee, $echo works!
  2504.       :
  2505.     else
  2506.       # Restart under the correct shell, and then maybe $echo will work.
  2507.       exec $SHELL "$0" --no-reexec ${1+"$@"}
  2508.     fi
  2509.   fi
  2510. "
  2511. $echo >> $output "
  2512.   # Find the directory that this script lives in.
  2513.   thisdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  2514.   test "x$thisdir" = "x$file" && thisdir=.
  2515.   # Follow symbolic links until we get to the real thisdir.
  2516.   file=`ls -ld "$file" | sed -n 's/.*-> //p'`
  2517.   while test -n "$file"; do
  2518.     destdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  2519.     # If there was a directory component, then change thisdir.
  2520.     if test "x$destdir" != "x$file"; then
  2521.       case "$destdir" in
  2522.       [\/]* | [A-Za-z]:[\/]*) thisdir="$destdir" ;;
  2523.       *) thisdir="$thisdir/$destdir" ;;
  2524.       esac
  2525.     fi
  2526.     file=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  2527.     file=`ls -ld "$thisdir/$file" | sed -n 's/.*-> //p'`
  2528.   done
  2529.   # Try to get the absolute directory name.
  2530.   absdir=`cd "$thisdir" && pwd`
  2531.   test -n "$absdir" && thisdir="$absdir"
  2532. "
  2533. if test "$fast_install" = yes; then
  2534.   echo >> $output "
  2535.   program=lt-'$outputname'
  2536.   progdir="$thisdir/$objdir"
  2537.   
  2538.   if test ! -f "$progdir/$program" || \
  2539.      { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | sed 1q`; \
  2540.        test "X$file" != "X$progdir/$program"; }; then
  2541.     file="$$-$program"
  2542.     if test ! -d "$progdir"; then
  2543.       $mkdir "$progdir"
  2544.     else
  2545.       $rm "$progdir/$file"
  2546.     fi"
  2547.   echo >> $output "
  2548.     # relink executable if necessary
  2549.     if test -n "$relink_command"; then
  2550.       if (cd "$thisdir" && eval $relink_command); then :
  2551.       else
  2552. $rm "$progdir/$file"
  2553. exit 1
  2554.       fi
  2555.     fi
  2556.     $mv "$progdir/$file" "$progdir/$program" 2>/dev/null ||
  2557.     { $rm "$progdir/$program";
  2558.       $mv "$progdir/$file" "$progdir/$program"; }
  2559.     $rm "$progdir/$file"
  2560.   fi"
  2561. else
  2562.   echo >> $output "
  2563.   program='$outputname$exeext'
  2564.   progdir="$thisdir/$objdir"
  2565. "
  2566. fi
  2567. echo >> $output "
  2568.   if test -f "$progdir/$program"; then"
  2569. # Export our shlibpath_var if we have one.
  2570. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
  2571.   $echo >> $output "
  2572.     # Add our own library path to $shlibpath_var
  2573.     $shlibpath_var="$temp_rpath$$shlibpath_var"
  2574.     # Some systems cannot cope with colon-terminated $shlibpath_var
  2575.     # The second colon is a workaround for a bug in BeOS R4 sed
  2576.     $shlibpath_var=`$echo "X$$shlibpath_var" | $Xsed -e 's/::*$//'`
  2577.     export $shlibpath_var
  2578. "
  2579. fi
  2580. # fixup the dll searchpath if we need to.
  2581. if test -n "$dllsearchpath"; then
  2582.   $echo >> $output "
  2583.     # Add the dll search path components to the executable PATH
  2584.     PATH=$dllsearchpath:$PATH
  2585. "
  2586. fi
  2587. $echo >> $output "
  2588.     if test "$libtool_execute_magic" != "$magic"; then
  2589.       # Run the actual program with our arguments.
  2590. "
  2591. case $host in
  2592. *-*-cygwin* | *-*-mingw | *-*-os2*)
  2593.   # win32 systems need to use the prog path for dll
  2594.   # lookup to work
  2595.   $echo >> $output "
  2596.       exec $progdir\\$program ${1+"$@"}
  2597. "
  2598.   ;;
  2599. *)
  2600.   $echo >> $output "
  2601.       # Export the path to the program.
  2602.       PATH="$progdir:$PATH"
  2603.       export PATH
  2604.       exec $program ${1+"$@"}
  2605. "
  2606.   ;;
  2607. esac
  2608. $echo >> $output "
  2609.       $echo "$0: cannot exec $program ${1+"$@"}"
  2610.       exit 1
  2611.     fi
  2612.   else
  2613.     # The program doesn't exist.
  2614.     $echo "$0: error: $progdir/$program does not exist" 1>&2
  2615.     $echo "This script is just a wrapper for $program." 1>&2
  2616.     echo "See the $PACKAGE documentation for more information." 1>&2
  2617.     exit 1
  2618.   fi
  2619. fi
  2620. "
  2621. chmod +x $output
  2622.       fi
  2623.       exit 0
  2624.       ;;
  2625.     esac
  2626.     # See if we need to build an old-fashioned archive.
  2627.     for oldlib in $oldlibs; do
  2628.       if test "$build_libtool_libs" = convenience; then
  2629. oldobjs="$libobjs_save"
  2630. addlibs="$convenience"
  2631. build_libtool_libs=no
  2632.       else
  2633. if test "$build_libtool_libs" = module; then
  2634.   oldobjs="$libobjs_save"
  2635.   build_libtool_libs=no
  2636. else
  2637.   oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/.'${libext}'$/d' -e '/.lib$/d' -e "$lo2o" | $NL2SP`
  2638. fi
  2639. addlibs="$old_convenience"
  2640.       fi
  2641.       if test -n "$addlibs"; then
  2642. gentop="$output_objdir/${outputname}x"
  2643. $show "${rm}r $gentop"
  2644. $run ${rm}r "$gentop"
  2645. $show "mkdir $gentop"
  2646. $run mkdir "$gentop"
  2647. status=$?
  2648. if test $status -ne 0 && test ! -d "$gentop"; then
  2649.   exit $status
  2650. fi
  2651. generated="$generated $gentop"
  2652.   
  2653. # Add in members from convenience archives.
  2654. for xlib in $addlibs; do
  2655.   # Extract the objects.
  2656.   case "$xlib" in
  2657.   [\/]* | [A-Za-z]:[\/]*) xabs="$xlib" ;;
  2658.   *) xabs=`pwd`"/$xlib" ;;
  2659.   esac
  2660.   xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
  2661.   xdir="$gentop/$xlib"
  2662.   $show "${rm}r $xdir"
  2663.   $run ${rm}r "$xdir"
  2664.   $show "mkdir $xdir"
  2665.   $run mkdir "$xdir"
  2666.   status=$?
  2667.   if test $status -ne 0 && test ! -d "$xdir"; then
  2668.     exit $status
  2669.   fi
  2670.   $show "(cd $xdir && $AR x $xabs)"
  2671.   $run eval "(cd $xdir && $AR x $xabs)" || exit $?
  2672.   oldobjs="$oldobjs "`find $xdir -name *.${objext} -print -o -name *.lo -print | $NL2SP`
  2673. done
  2674.       fi
  2675.       # Do each command in the archive commands.
  2676.       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
  2677. eval cmds="$old_archive_from_new_cmds"
  2678.       else
  2679. # Ensure that we have .o objects in place incase we decided
  2680. # not to build a shared library, and have fallen back to building
  2681. # static libs even though --disable-static was passed!
  2682. for oldobj in $oldobjs; do
  2683.   if test ! -f $oldobj; then
  2684.     obj=`$echo "X$oldobj" | $Xsed -e "$o2lo"`
  2685.     $show "${LN_S} $obj $oldobj"
  2686.     $run ${LN_S} $obj $oldobj || exit $?
  2687.   fi
  2688. done
  2689. eval cmds="$old_archive_cmds"
  2690.       fi
  2691.       IFS="${IFS=  }"; save_ifs="$IFS"; IFS='~'
  2692.       for cmd in $cmds; do
  2693. IFS="$save_ifs"
  2694. $show "$cmd"
  2695. $run eval "$cmd" || exit $?
  2696.       done
  2697.       IFS="$save_ifs"
  2698.     done
  2699.     if test -n "$generated"; then
  2700.       $show "${rm}r$generated"
  2701.       $run ${rm}r$generated
  2702.     fi
  2703.     # Now create the libtool archive.
  2704.     case "$output" in
  2705.     *.la)
  2706.       old_library=
  2707.       test "$build_old_libs" = yes && old_library="$libname.$libext"
  2708.       $show "creating $output"
  2709.       if test -n "$xrpath"; then
  2710. temp_xrpath=
  2711. for libdir in $xrpath; do
  2712.   temp_xrpath="$temp_xrpath -R$libdir"
  2713. done
  2714. dependency_libs="$temp_xrpath $dependency_libs"
  2715.       fi
  2716.       # Only create the output if not a dry run.
  2717.       if test -z "$run"; then
  2718. for installed in no yes; do
  2719.   if test "$installed" = yes; then
  2720.     if test -z "$install_libdir"; then
  2721.       break
  2722.     fi
  2723.     output="$output_objdir/$outputname"i
  2724.   fi
  2725.   $rm $output
  2726.   $echo > $output "
  2727. # $outputname - a libtool library file
  2728. # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
  2729. #
  2730. # Please DO NOT delete this file!
  2731. # It is necessary for linking the library.
  2732. # The name that we can dlopen(3).
  2733. dlname='$dlname'
  2734. # Names of this library.
  2735. library_names='$library_names'
  2736. # The name of the static archive.
  2737. old_library='$old_library'
  2738. # Libraries that this one depends upon.
  2739. dependency_libs='$dependency_libs'
  2740. # Version information for $libname.
  2741. current=$current
  2742. age=$age
  2743. revision=$revision
  2744. # Is this an already installed library?
  2745. installed=$installed
  2746. # Directory that this library needs to be installed in:
  2747. libdir='$install_libdir'
  2748. "
  2749. done
  2750.       fi
  2751.       # Do a symbolic link so that the libtool archive can be found in
  2752.       # LD_LIBRARY_PATH before the program is installed.
  2753.       $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
  2754.       $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $?
  2755.       ;;
  2756.     esac
  2757.     exit 0
  2758.     ;;
  2759.   # libtool install mode
  2760.   install)
  2761.     modename="$modename: install"
  2762.     # There may be an optional sh(1) argument at the beginning of
  2763.     # install_prog (especially on Windows NT).
  2764.     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then
  2765.       # Aesthetically quote it.
  2766.       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
  2767.       case "$arg" in
  2768.       *[[~#^&*(){}|;<>?'  ]*|*]*)
  2769. arg=""$arg""
  2770. ;;
  2771.       esac
  2772.       install_prog="$arg "
  2773.       arg="$1"
  2774.       shift
  2775.     else
  2776.       install_prog=
  2777.       arg="$nonopt"
  2778.     fi
  2779.     # The real first argument should be the name of the installation program.
  2780.     # Aesthetically quote it.
  2781.     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
  2782.     case "$arg" in
  2783.     *[[~#^&*(){}|;<>?'  ]*|*]*)
  2784.       arg=""$arg""
  2785.       ;;
  2786.     esac
  2787.     install_prog="$install_prog$arg"
  2788.     # We need to accept at least all the BSD install flags.
  2789.     dest=
  2790.     files=
  2791.     opts=
  2792.     prev=
  2793.     install_type=
  2794.     isdir=no
  2795.     stripme=
  2796.     for arg
  2797.     do
  2798.       if test -n "$dest"; then
  2799. files="$files $dest"
  2800. dest="$arg"
  2801. continue
  2802.       fi
  2803.       case "$arg" in
  2804.       -d) isdir=yes ;;
  2805.       -f) prev="-f" ;;
  2806.       -g) prev="-g" ;;
  2807.       -m) prev="-m" ;;
  2808.       -o) prev="-o" ;;
  2809.       -s)
  2810. stripme=" -s"
  2811. continue
  2812. ;;
  2813.       -*) ;;
  2814.       *)
  2815. # If the previous option needed an argument, then skip it.
  2816. if test -n "$prev"; then
  2817.   prev=
  2818. else
  2819.   dest="$arg"
  2820.   continue
  2821. fi
  2822. ;;
  2823.       esac
  2824.       # Aesthetically quote the argument.
  2825.       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
  2826.       case "$arg" in
  2827.       *[[~#^&*(){}|;<>?'  ]*|*]*)
  2828. arg=""$arg""
  2829. ;;
  2830.       esac
  2831.       install_prog="$install_prog $arg"
  2832.     done
  2833.     if test -z "$install_prog"; then
  2834.       $echo "$modename: you must specify an install program" 1>&2
  2835.       $echo "$help" 1>&2
  2836.       exit 1
  2837.     fi
  2838.     if test -n "$prev"; then
  2839.       $echo "$modename: the `$prev' option requires an argument" 1>&2
  2840.       $echo "$help" 1>&2
  2841.       exit 1
  2842.     fi
  2843.     if test -z "$files"; then
  2844.       if test -z "$dest"; then
  2845. $echo "$modename: no file or destination specified" 1>&2
  2846.       else
  2847. $echo "$modename: you must specify a destination" 1>&2
  2848.       fi
  2849.       $echo "$help" 1>&2
  2850.       exit 1
  2851.     fi
  2852.     # Strip any trailing slash from the destination.
  2853.     dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
  2854.     # Check to see that the destination is a directory.
  2855.     test -d "$dest" && isdir=yes
  2856.     if test "$isdir" = yes; then
  2857.       destdir="$dest"
  2858.       destname=
  2859.     else
  2860.       destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
  2861.       test "X$destdir" = "X$dest" && destdir=.
  2862.       destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
  2863.       # Not a directory, so check to see that there is only one file specified.
  2864.       set dummy $files
  2865.       if test $# -gt 2; then
  2866. $echo "$modename: `$dest' is not a directory" 1>&2
  2867. $echo "$help" 1>&2
  2868. exit 1
  2869.       fi
  2870.     fi
  2871.     case "$destdir" in
  2872.     [\/]* | [A-Za-z]:[\/]*) ;;
  2873.     *)
  2874.       for file in $files; do
  2875. case "$file" in
  2876. *.lo) ;;
  2877. *)
  2878.   $echo "$modename: `$destdir' must be an absolute directory name" 1>&2
  2879.   $echo "$help" 1>&2
  2880.   exit 1
  2881.   ;;
  2882. esac
  2883.       done
  2884.       ;;
  2885.     esac
  2886.     # This variable tells wrapper scripts just to set variables rather
  2887.     # than running their programs.
  2888.     libtool_install_magic="$magic"
  2889.     staticlibs=
  2890.     future_libdirs=
  2891.     current_libdirs=
  2892.     for file in $files; do
  2893.       # Do each installation.
  2894.       case "$file" in
  2895.       *.a | *.lib)
  2896. # Do the static libraries later.
  2897. staticlibs="$staticlibs $file"
  2898. ;;
  2899.       *.la)
  2900. # Check to see that this really is a libtool archive.
  2901. if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
  2902. else
  2903.   $echo "$modename: `$file' is not a valid libtool archive" 1>&2
  2904.   $echo "$help" 1>&2
  2905.   exit 1
  2906. fi
  2907. library_names=
  2908. old_library=
  2909. # If there is no directory component, then add one.
  2910. case "$file" in
  2911. */* | *\*) . $file ;;
  2912. *) . ./$file ;;
  2913. esac
  2914. # Add the libdir to current_libdirs if it is the destination.
  2915. if test "X$destdir" = "X$libdir"; then
  2916.   case "$current_libdirs " in
  2917.   *" $libdir "*) ;;
  2918.   *) current_libdirs="$current_libdirs $libdir" ;;
  2919.   esac
  2920. else
  2921.   # Note the libdir as a future libdir.
  2922.   case "$future_libdirs " in
  2923.   *" $libdir "*) ;;
  2924.   *) future_libdirs="$future_libdirs $libdir" ;;
  2925.   esac
  2926. fi
  2927. dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
  2928. test "X$dir" = "X$file/" && dir=
  2929. dir="$dir$objdir"
  2930. # See the names of the shared library.
  2931. set dummy $library_names
  2932. if test -n "$2"; then
  2933.   realname="$2"
  2934.   shift
  2935.   shift
  2936.   # Install the shared library and build the symlinks.
  2937.   $show "$install_prog $dir/$realname $destdir/$realname"
  2938.   $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
  2939.   if test $# -gt 0; then
  2940.     # Delete the old symlinks, and create new ones.
  2941.     for linkname
  2942.     do
  2943.       if test "$linkname" != "$realname"; then
  2944. $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
  2945. $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
  2946.       fi
  2947.     done
  2948.   fi
  2949.   # Do each command in the postinstall commands.
  2950.   lib="$destdir/$realname"
  2951.   eval cmds="$postinstall_cmds"
  2952.   IFS="${IFS=  }"; save_ifs="$IFS"; IFS='~'
  2953.   for cmd in $cmds; do
  2954.     IFS="$save_ifs"
  2955.     $show "$cmd"
  2956.     $run eval "$cmd" || exit $?
  2957.   done
  2958.   IFS="$save_ifs"
  2959. fi
  2960. # Install the pseudo-library for information purposes.
  2961. name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  2962. instname="$dir/$name"i
  2963. $show "$install_prog $instname $destdir/$name"
  2964. $run eval "$install_prog $instname $destdir/$name" || exit $?
  2965. # Maybe install the static library, too.
  2966. test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
  2967. ;;
  2968.       *.lo)
  2969. # Install (i.e. copy) a libtool object.
  2970. # Figure out destination file name, if it wasn't already specified.
  2971. if test -n "$destname"; then
  2972.   destfile="$destdir/$destname"
  2973. else
  2974.   destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  2975.   destfile="$destdir/$destfile"
  2976. fi
  2977. # Deduce the name of the destination old-style object file.
  2978. case "$destfile" in
  2979. *.lo)
  2980.   staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
  2981.   ;;
  2982. *.o | *.obj)
  2983.   staticdest="$destfile"
  2984.   destfile=
  2985.   ;;
  2986. *)
  2987.   $echo "$modename: cannot copy a libtool object to `$destfile'" 1>&2
  2988.   $echo "$help" 1>&2
  2989.   exit 1
  2990.   ;;
  2991. esac
  2992. # Install the libtool object if requested.
  2993. if test -n "$destfile"; then
  2994.   $show "$install_prog $file $destfile"
  2995.   $run eval "$install_prog $file $destfile" || exit $?
  2996. fi
  2997. # Install the old object if enabled.
  2998. if test "$build_old_libs" = yes; then
  2999.   # Deduce the name of the old-style object file.
  3000.   staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
  3001.   $show "$install_prog $staticobj $staticdest"
  3002.   $run eval "$install_prog $staticobj $staticdest" || exit $?
  3003. fi
  3004. exit 0
  3005. ;;
  3006.       *)
  3007. # Figure out destination file name, if it wasn't already specified.
  3008. if test -n "$destname"; then
  3009.   destfile="$destdir/$destname"
  3010. else
  3011.   destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  3012.   destfile="$destdir/$destfile"
  3013. fi
  3014. # Do a test to see if this is really a libtool program.
  3015. if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  3016.   link_against_libtool_libs=
  3017.   relink_command=
  3018.   # If there is no directory component, then add one.
  3019.   case "$file" in
  3020.   */* | *\*) . $file ;;
  3021.   *) . ./$file ;;
  3022.   esac
  3023.   # Check the variables that should have been set.
  3024.   if test -z "$link_against_libtool_libs"; then
  3025.     $echo "$modename: invalid libtool wrapper script `$file'" 1>&2
  3026.     exit 1
  3027.   fi
  3028.   finalize=yes
  3029.   for lib in $link_against_libtool_libs; do
  3030.     # Check to see that each library is installed.
  3031.     libdir=
  3032.     if test -f "$lib"; then
  3033.       # If there is no directory component, then add one.
  3034.       case "$lib" in
  3035.       */* | *\*) . $lib ;;
  3036.       *) . ./$lib ;;
  3037.       esac
  3038.     fi
  3039.     libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
  3040.     if test -n "$libdir" && test ! -f "$libfile"; then
  3041.       $echo "$modename: warning: `$lib' has not been installed in `$libdir'" 1>&2
  3042.       finalize=no
  3043.     fi
  3044.   done
  3045.   outputname=
  3046.   if test "$fast_install" = no && test -n "$relink_command"; then
  3047.     if test "$finalize" = yes && test -z "$run"; then
  3048.       tmpdir="/tmp"
  3049.       test -n "$TMPDIR" && tmpdir="$TMPDIR"
  3050.       tmpdir="$tmpdir/libtool-$$"
  3051.       if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
  3052.       else
  3053. $echo "$modename: error: cannot create temporary directory `$tmpdir'" 1>&2
  3054. continue
  3055.       fi
  3056.       outputname="$tmpdir/$file"
  3057.       # Replace the output file specification.
  3058.       relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
  3059.       $show "$relink_command"
  3060.       if $run eval "$relink_command"; then :
  3061.       else
  3062. $echo "$modename: error: relink `$file' with the above command before installing it" 1>&2
  3063. ${rm}r "$tmpdir"
  3064. continue
  3065.       fi
  3066.       file="$outputname"
  3067.     else
  3068.       $echo "$modename: warning: cannot relink `$file'" 1>&2
  3069.     fi
  3070.   else
  3071.     # Install the binary that we compiled earlier.
  3072.     file=`$echo "X$file" | $Xsed -e "s%([^/]*)$%$objdir/1%"`
  3073.   fi
  3074. fi
  3075. $show "$install_prog$stripme $file $destfile"
  3076. $run eval "$install_prog$stripme $file $destfile" || exit $?
  3077. test -n "$outputname" && ${rm}r "$tmpdir"
  3078. ;;
  3079.       esac
  3080.     done
  3081.     for file in $staticlibs; do
  3082.       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  3083.       # Set up the ranlib parameters.
  3084.       oldlib="$destdir/$name"
  3085.       $show "$install_prog $file $oldlib"
  3086.       $run eval "$install_prog $file $oldlib" || exit $?
  3087.       # Do each command in the postinstall commands.
  3088.       eval cmds="$old_postinstall_cmds"
  3089.       IFS="${IFS=  }"; save_ifs="$IFS"; IFS='~'
  3090.       for cmd in $cmds; do
  3091. IFS="$save_ifs"
  3092. $show "$cmd"
  3093. $run eval "$cmd" || exit $?
  3094.       done
  3095.       IFS="$save_ifs"
  3096.     done
  3097.     if test -n "$future_libdirs"; then
  3098.       $echo "$modename: warning: remember to run `$progname --finish$future_libdirs'" 1>&2
  3099.     fi
  3100.     if test -n "$current_libdirs"; then
  3101.       # Maybe just do a dry run.
  3102.       test -n "$run" && current_libdirs=" -n$current_libdirs"
  3103.       exec $SHELL $0 --finish$current_libdirs
  3104.       exit 1
  3105.     fi
  3106.     exit 0
  3107.     ;;
  3108.   # libtool finish mode
  3109.   finish)
  3110.     modename="$modename: finish"
  3111.     libdirs="$nonopt"
  3112.     admincmds=
  3113.     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
  3114.       for dir
  3115.       do
  3116. libdirs="$libdirs $dir"
  3117.       done
  3118.       for libdir in $libdirs; do
  3119. if test -n "$finish_cmds"; then
  3120.   # Do each command in the finish commands.
  3121.   eval cmds="$finish_cmds"
  3122.   IFS="${IFS=  }"; save_ifs="$IFS"; IFS='~'
  3123.   for cmd in $cmds; do
  3124.     IFS="$save_ifs"
  3125.     $show "$cmd"
  3126.     $run eval "$cmd" || admincmds="$admincmds
  3127.        $cmd"
  3128.   done
  3129.   IFS="$save_ifs"
  3130. fi
  3131. if test -n "$finish_eval"; then
  3132.   # Do the single finish_eval.
  3133.   eval cmds="$finish_eval"
  3134.   $run eval "$cmds" || admincmds="$admincmds
  3135.        $cmds"
  3136. fi
  3137.       done
  3138.     fi
  3139.     # Exit here if they wanted silent mode.
  3140.     test "$show" = : && exit 0
  3141.     echo "----------------------------------------------------------------------"
  3142.     echo "Libraries have been installed in:"
  3143.     for libdir in $libdirs; do
  3144.       echo "   $libdir"
  3145.     done
  3146.     echo
  3147.     echo "If you ever happen to want to link against installed libraries"
  3148.     echo "in a given directory, LIBDIR, you must either use libtool, and"
  3149.     echo "specify the full pathname of the library, or use `-LLIBDIR'"
  3150.     echo "flag during linking and do at least one of the following:"
  3151.     if test -n "$shlibpath_var"; then
  3152.       echo "   - add LIBDIR to the `$shlibpath_var' environment variable"
  3153.       echo "     during execution"
  3154.     fi
  3155.     if test -n "$runpath_var"; then
  3156.       echo "   - add LIBDIR to the `$runpath_var' environment variable"
  3157.       echo "     during linking"
  3158.     fi
  3159.     if test -n "$hardcode_libdir_flag_spec"; then
  3160.       libdir=LIBDIR
  3161.       eval flag="$hardcode_libdir_flag_spec"
  3162.       echo "   - use the `$flag' linker flag"
  3163.     fi
  3164.     if test -n "$admincmds"; then
  3165.       echo "   - have your system administrator run these commands:$admincmds"
  3166.     fi
  3167.     if test -f /etc/ld.so.conf; then
  3168.       echo "   - have your system administrator add LIBDIR to `/etc/ld.so.conf'"
  3169.     fi
  3170.     echo
  3171.     echo "See any operating system documentation about shared libraries for"
  3172.     echo "more information, such as the ld(1) and ld.so(8) manual pages."
  3173.     echo "----------------------------------------------------------------------"
  3174.     exit 0
  3175.     ;;
  3176.   # libtool execute mode
  3177.   execute)
  3178.     modename="$modename: execute"
  3179.     # The first argument is the command name.
  3180.     cmd="$nonopt"
  3181.     if test -z "$cmd"; then
  3182.       $echo "$modename: you must specify a COMMAND" 1>&2
  3183.       $echo "$help"
  3184.       exit 1
  3185.     fi
  3186.     # Handle -dlopen flags immediately.
  3187.     for file in $execute_dlfiles; do
  3188.       if test ! -f "$file"; then
  3189. $echo "$modename: `$file' is not a file" 1>&2
  3190. $echo "$help" 1>&2
  3191. exit 1
  3192.       fi
  3193.       dir=
  3194.       case "$file" in
  3195.       *.la)
  3196. # Check to see that this really is a libtool archive.
  3197. if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
  3198. else
  3199.   $echo "$modename: `$lib' is not a valid libtool archive" 1>&2
  3200.   $echo "$help" 1>&2
  3201.   exit 1
  3202. fi
  3203. # Read the libtool library.
  3204. dlname=
  3205. library_names=
  3206. # If there is no directory component, then add one.
  3207. case "$file" in
  3208. */* | *\*) . $file ;;
  3209. *) . ./$file ;;
  3210. esac
  3211. # Skip this library if it cannot be dlopened.
  3212. if test -z "$dlname"; then
  3213.   # Warn if it was a shared library.
  3214.   test -n "$library_names" && $echo "$modename: warning: `$file' was not linked with `-export-dynamic'"
  3215.   continue
  3216. fi
  3217. dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  3218. test "X$dir" = "X$file" && dir=.
  3219. if test -f "$dir/$objdir/$dlname"; then
  3220.   dir="$dir/$objdir"
  3221. else
  3222.   $echo "$modename: cannot find `$dlname' in `$dir' or `$dir/$objdir'" 1>&2
  3223.   exit 1
  3224. fi
  3225. ;;
  3226.       *.lo)
  3227. # Just add the directory containing the .lo file.
  3228. dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  3229. test "X$dir" = "X$file" && dir=.
  3230. ;;
  3231.       *)
  3232. $echo "$modename: warning `-dlopen' is ignored for non-libtool libraries and objects" 1>&2
  3233. continue
  3234. ;;
  3235.       esac
  3236.       # Get the absolute pathname.
  3237.       absdir=`cd "$dir" && pwd`
  3238.       test -n "$absdir" && dir="$absdir"
  3239.       # Now add the directory to shlibpath_var.
  3240.       if eval "test -z "$$shlibpath_var""; then
  3241. eval "$shlibpath_var="$dir""
  3242.       else
  3243. eval "$shlibpath_var="$dir:$$shlibpath_var""
  3244.       fi
  3245.     done
  3246.     # This variable tells wrapper scripts just to set shlibpath_var
  3247.     # rather than running their programs.
  3248.     libtool_execute_magic="$magic"
  3249.     # Check if any of the arguments is a wrapper script.
  3250.     args=
  3251.     for file
  3252.     do
  3253.       case "$file" in
  3254.       -*) ;;
  3255.       *)
  3256. # Do a test to see if this is really a libtool program.
  3257. if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  3258.   # If there is no directory component, then add one.
  3259.   case "$file" in
  3260.   */* | *\*) . $file ;;
  3261.   *) . ./$file ;;
  3262.   esac
  3263.   # Transform arg to wrapped name.
  3264.   file="$progdir/$program"
  3265. fi
  3266. ;;
  3267.       esac
  3268.       # Quote arguments (to preserve shell metacharacters).
  3269.       file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
  3270.       args="$args "$file""
  3271.     done
  3272.     if test -z "$run"; then
  3273.       # Export the shlibpath_var.
  3274.       eval "export $shlibpath_var"
  3275.       # Restore saved enviroment variables
  3276.       if test "${save_LC_ALL+set}" = set; then
  3277. LC_ALL="$save_LC_ALL"; export LC_ALL
  3278.       fi
  3279.       if test "${save_LANG+set}" = set; then
  3280. LANG="$save_LANG"; export LANG
  3281.       fi
  3282.       # Now actually exec the command.
  3283.       eval "exec $cmd$args"
  3284.       $echo "$modename: cannot exec $cmd$args"
  3285.       exit 1
  3286.     else
  3287.       # Display what would be done.
  3288.       eval "$echo "$shlibpath_var=$$shlibpath_var""
  3289.       $echo "export $shlibpath_var"
  3290.       $echo "$cmd$args"
  3291.       exit 0
  3292.     fi
  3293.     ;;
  3294.   # libtool uninstall mode
  3295.   uninstall)
  3296.     modename="$modename: uninstall"
  3297.     rm="$nonopt"
  3298.     files=
  3299.     for arg
  3300.     do
  3301.       case "$arg" in
  3302.       -*) rm="$rm $arg" ;;
  3303.       *) files="$files $arg" ;;
  3304.       esac
  3305.     done
  3306.     if test -z "$rm"; then
  3307.       $echo "$modename: you must specify an RM program" 1>&2
  3308.       $echo "$help" 1>&2
  3309.       exit 1
  3310.     fi
  3311.     for file in $files; do
  3312.       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  3313.       test "X$dir" = "X$file" && dir=.
  3314.       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  3315.       rmfiles="$file"
  3316.       case "$name" in
  3317.       *.la)
  3318. # Possibly a libtool archive, so verify it.
  3319. if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  3320.   . $dir/$name
  3321.   # Delete the libtool libraries and symlinks.
  3322.   for n in $library_names; do
  3323.     rmfiles="$rmfiles $dir/$n"
  3324.   done
  3325.   test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
  3326.   $show "$rm $rmfiles"
  3327.   $run $rm $rmfiles
  3328.   if test -n "$library_names"; then
  3329.     # Do each command in the postuninstall commands.
  3330.     eval cmds="$postuninstall_cmds"
  3331.     IFS="${IFS=  }"; save_ifs="$IFS"; IFS='~'
  3332.     for cmd in $cmds; do
  3333.       IFS="$save_ifs"
  3334.       $show "$cmd"
  3335.       $run eval "$cmd"
  3336.     done
  3337.     IFS="$save_ifs"
  3338.   fi
  3339.   if test -n "$old_library"; then
  3340.     # Do each command in the old_postuninstall commands.
  3341.     eval cmds="$old_postuninstall_cmds"
  3342.     IFS="${IFS=  }"; save_ifs="$IFS"; IFS='~'
  3343.     for cmd in $cmds; do
  3344.       IFS="$save_ifs"
  3345.       $show "$cmd"
  3346.       $run eval "$cmd"
  3347.     done
  3348.     IFS="$save_ifs"
  3349.   fi
  3350.   # FIXME: should reinstall the best remaining shared library.
  3351. fi
  3352. ;;
  3353.       *.lo)
  3354. if test "$build_old_libs" = yes; then
  3355.   oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
  3356.   rmfiles="$rmfiles $dir/$oldobj"
  3357. fi
  3358. $show "$rm $rmfiles"
  3359. $run $rm $rmfiles
  3360. ;;
  3361.       *)
  3362. $show "$rm $rmfiles"
  3363. $run $rm $rmfiles
  3364. ;;
  3365.       esac
  3366.     done
  3367.     exit 0
  3368.     ;;
  3369.   "")
  3370.     $echo "$modename: you must specify a MODE" 1>&2
  3371.     $echo "$generic_help" 1>&2
  3372.     exit 1
  3373.     ;;
  3374.   esac
  3375.   $echo "$modename: invalid operation mode `$mode'" 1>&2
  3376.   $echo "$generic_help" 1>&2
  3377.   exit 1
  3378. fi # test -z "$show_help"
  3379. # We need to display help for each of the modes.
  3380. case "$mode" in
  3381. "") $echo 
  3382. "Usage: $modename [OPTION]... [MODE-ARG]...
  3383. Provide generalized library-building support services.
  3384.     --config          show all configuration variables
  3385.     --debug           enable verbose shell tracing
  3386. -n, --dry-run         display commands without modifying any files
  3387.     --features        display basic configuration information and exit
  3388.     --finish          same as `--mode=finish'
  3389.     --help            display this help message and exit
  3390.     --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
  3391.     --quiet           same as `--silent'
  3392.     --silent          don't print informational messages
  3393.     --version         print version information
  3394. MODE must be one of the following:
  3395.       compile         compile a source file into a libtool object
  3396.       execute         automatically set library path, then run a program
  3397.       finish          complete the installation of libtool libraries
  3398.       install         install libraries or executables
  3399.       link            create a library or an executable
  3400.       uninstall       remove libraries from an installed directory
  3401. MODE-ARGS vary depending on the MODE.  Try `$modename --help --mode=MODE' for
  3402. a more detailed description of MODE."
  3403.   exit 0
  3404.   ;;
  3405. compile)
  3406.   $echo 
  3407. "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
  3408. Compile a source file into a libtool library object.
  3409. This mode accepts the following additional options:
  3410.   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
  3411.   -static           always build a `.o' file suitable for static linking
  3412. COMPILE-COMMAND is a command to be used in creating a `standard' object file
  3413. from the given SOURCEFILE.
  3414. The output file name is determined by removing the directory component from
  3415. SOURCEFILE, then substituting the C source code suffix `.c' with the
  3416. library object suffix, `.lo'."
  3417.   ;;
  3418. execute)
  3419.   $echo 
  3420. "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
  3421. Automatically set library path, then run a program.
  3422. This mode accepts the following additional options:
  3423.   -dlopen FILE      add the directory containing FILE to the library path
  3424. This mode sets the library path environment variable according to `-dlopen'
  3425. flags.
  3426. If any of the ARGS are libtool executable wrappers, then they are translated
  3427. into their corresponding uninstalled binary, and any of their required library
  3428. directories are added to the library path.
  3429. Then, COMMAND is executed, with ARGS as arguments."
  3430.   ;;
  3431. finish)
  3432.   $echo 
  3433. "Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
  3434. Complete the installation of libtool libraries.
  3435. Each LIBDIR is a directory that contains libtool libraries.
  3436. The commands that this mode executes may require superuser privileges.  Use
  3437. the `--dry-run' option if you just want to see what would be executed."
  3438.   ;;
  3439. install)
  3440.   $echo 
  3441. "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
  3442. Install executables or libraries.
  3443. INSTALL-COMMAND is the installation command.  The first component should be
  3444. either the `install' or `cp' program.
  3445. The rest of the components are interpreted as arguments to that command (only
  3446. BSD-compatible install options are recognized)."
  3447.   ;;
  3448. link)
  3449.   $echo 
  3450. "Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
  3451. Link object files or libraries together to form another library, or to
  3452. create an executable program.
  3453. LINK-COMMAND is a command using the C compiler that you would use to create
  3454. a program from several object files.
  3455. The following components of LINK-COMMAND are treated specially:
  3456.   -all-static       do not do any dynamic linking at all
  3457.   -avoid-version    do not add a version suffix if possible
  3458.   -dlopen FILE      `-dlpreopen' FILE if it cannot be dlopened at runtime
  3459.   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
  3460.   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
  3461.   -export-symbols SYMFILE
  3462.     try to export only the symbols listed in SYMFILE
  3463.   -export-symbols-regex REGEX
  3464.     try to export only the symbols matching REGEX
  3465.   -LLIBDIR          search LIBDIR for required installed libraries
  3466.   -lNAME            OUTPUT-FILE requires the installed library libNAME
  3467.   -module           build a library that can dlopened
  3468.   -no-undefined     declare that a library does not refer to external symbols
  3469.   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
  3470.   -release RELEASE  specify package release information
  3471.   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
  3472.   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
  3473.   -static           do not do any dynamic linking of libtool libraries
  3474.   -version-info CURRENT[:REVISION[:AGE]]
  3475.     specify library version info [each variable defaults to 0]
  3476. All other options (arguments beginning with `-') are ignored.
  3477. Every other argument is treated as a filename.  Files ending in `.la' are
  3478. treated as uninstalled libtool libraries, other files are standard or library
  3479. object files.
  3480. If the OUTPUT-FILE ends in `.la', then a libtool library is created,
  3481. only library objects (`.lo' files) may be specified, and `-rpath' is
  3482. required, except when creating a convenience library.
  3483. If OUTPUT-FILE ends in `.a' or `.lib', then a standard library is created
  3484. using `ar' and `ranlib', or on Windows using `lib'.
  3485. If OUTPUT-FILE ends in `.lo' or `.${objext}', then a reloadable object file
  3486. is created, otherwise an executable program is created."
  3487.   ;;
  3488. uninstall)
  3489.   $echo 
  3490. "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
  3491. Remove libraries from an installation directory.
  3492. RM is the name of the program to use to delete files associated with each FILE
  3493. (typically `/bin/rm').  RM-OPTIONS are options (such as `-f') to be passed
  3494. to RM.
  3495. If FILE is a libtool library, all the files associated with it are deleted.
  3496. Otherwise, only FILE itself is deleted using RM."
  3497.   ;;
  3498. *)
  3499.   $echo "$modename: invalid operation mode `$mode'" 1>&2
  3500.   $echo "$help" 1>&2
  3501.   exit 1
  3502.   ;;
  3503. esac
  3504. echo
  3505. $echo "Try `$modename --help' for more information about other modes."
  3506. exit 0
  3507. # Local Variables:
  3508. # mode:shell-script
  3509. # sh-indentation:2
  3510. # End: