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