[BACK]Return to ltmain.sh CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_toolkit

Diff for /OpenXM/src/ox_toolkit/ltmain.sh between version 1.1 and 1.2

version 1.1, 2004/06/28 12:39:11 version 1.2, 2007/04/08 18:27:09
Line 1 
Line 1 
 # ltmain.sh - Provide generalized library-building support services.  # ltmain.sh - Provide generalized library-building support services.
 # NOTE: Changing this file will not affect anything until you rerun ltconfig.  # NOTE: Changing this file will not affect anything until you rerun configure.
 #  #
 # Copyright (C) 1996-1999 Free Software Foundation, Inc.  # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
   # Free Software Foundation, Inc.
 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996  # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #  #
 # This program is free software; you can redistribute it and/or modify  # This program is free software; you can redistribute it and/or modify
Line 16 
Line 17 
 #  #
 # You should have received a copy of the GNU General Public License  # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software  # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #  #
 # As a special exception to the GNU General Public License, if you  # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a  # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under  # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.  # the same distribution terms that you use for the rest of that program.
   
 EXPR_COMPAT=1  basename="s,^.*/,,g"
 export EXPR_COMPAT  
   
   # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
   # is ksh but when the shell is invoked as "sh" and the current value of
   # the _XPG environment variable is not equal to 1 (one), the special
   # positional parameter $0, within a function call, is the name of the
   # function.
   progpath="$0"
   
   # The name of this program:
   progname=`echo "$progpath" | $SED $basename`
   modename="$progname"
   
   # Global variables:
   EXIT_SUCCESS=0
   EXIT_FAILURE=1
   
   PROGRAM=ltmain.sh
   PACKAGE=libtool
   VERSION=1.5.22
   TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
   
   # See if we are running on zsh, and set the options which allow our
   # commands through without removal of \ escapes.
   if test -n "${ZSH_VERSION+set}" ; then
     setopt NO_GLOB_SUBST
   fi
   
 # Check that we have a working $echo.  # Check that we have a working $echo.
 if test "X$1" = X--no-reexec; then  if test "X$1" = X--no-reexec; then
   # Discard the --no-reexec flag, and continue.    # Discard the --no-reexec flag, and continue.
Line 38  elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
Line 64  elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
   :    :
 else  else
   # Restart under the correct shell, and then maybe $echo will work.    # Restart under the correct shell, and then maybe $echo will work.
   exec $SHELL "$0" --no-reexec ${1+"$@"}    exec $SHELL "$progpath" --no-reexec ${1+"$@"}
 fi  fi
   
 if test "X$1" = X--fallback-echo; then  if test "X$1" = X--fallback-echo; then
Line 47  if test "X$1" = X--fallback-echo; then
Line 73  if test "X$1" = X--fallback-echo; then
   cat <<EOF    cat <<EOF
 $*  $*
 EOF  EOF
   exit 0    exit $EXIT_SUCCESS
 fi  fi
   
 # The name of this program.  
 progname=`$echo "$0" | sed 's%^.*/%%'`  
 modename="$progname"  
   
 # Constants.  
 PROGRAM=ltmain.sh  
 PACKAGE=libtool  
 VERSION=1.3.5-freebsd-ports  
 TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"  
   
 default_mode=  default_mode=
 help="Try \`$progname --help' for more information."  help="Try \`$progname --help' for more information."
 magic="%%%MAGIC variable%%%"  magic="%%%MAGIC variable%%%"
Line 69  rm="rm -f"
Line 85  rm="rm -f"
   
 # Sed substitution that helps us do robust quoting.  It backslashifies  # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.  # metacharacters that are still active within double-quoted strings.
 Xsed='sed -e 1s/^X//'  Xsed="${SED}"' -e 1s/^X//'
 sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'  sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
 SP2NL='tr \040 \012'  # test EBCDIC or ASCII
 NL2SP='tr \015\012 \040\040'  case `echo X|tr X '\101'` in
    A) # ASCII based system
       # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
     SP2NL='tr \040 \012'
     NL2SP='tr \015\012 \040\040'
     ;;
    *) # EBCDIC based system
     SP2NL='tr \100 \n'
     NL2SP='tr \r\n \100\100'
     ;;
   esac
   
 # NLS nuisances.  # NLS nuisances.
 # Only set LANG and LC_ALL to C if already set.  # Only set LANG and LC_ALL to C if already set.
Line 86  if test "${LANG+set}" = set; then
Line 112  if test "${LANG+set}" = set; then
   save_LANG="$LANG"; LANG=C; export LANG    save_LANG="$LANG"; LANG=C; export LANG
 fi  fi
   
 if test "$LTCONFIG_VERSION" != "$VERSION"; then  # Make sure IFS has a sensible default
   echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2  lt_nl='
   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2  '
   exit 1  IFS="   $lt_nl"
 fi  
   
 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
   echo "$modename: not configured to build any kind of library" 1>&2    $echo "$modename: not configured to build any kind of library" 1>&2
   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2    $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
   exit 1    exit $EXIT_FAILURE
 fi  fi
   
 # Global variables.  # Global variables.
Line 107  run=
Line 132  run=
 show="$echo"  show="$echo"
 show_help=  show_help=
 execute_dlfiles=  execute_dlfiles=
   duplicate_deps=no
   preserve_args=
 lo2o="s/\\.lo\$/.${objext}/"  lo2o="s/\\.lo\$/.${objext}/"
 o2lo="s/\\.${objext}\$/.lo/"  o2lo="s/\\.${objext}\$/.lo/"
   
   #####################################
   # Shell function definitions:
   # This seems to be the best place for them
   
   # func_mktempdir [string]
   # Make a temporary directory that won't clash with other running
   # libtool processes, and avoids race conditions if possible.  If
   # given, STRING is the basename for that directory.
   func_mktempdir ()
   {
       my_template="${TMPDIR-/tmp}/${1-$progname}"
   
       if test "$run" = ":"; then
         # Return a directory name, but don't create it in dry-run mode
         my_tmpdir="${my_template}-$$"
       else
   
         # If mktemp works, use that first and foremost
         my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
   
         if test ! -d "$my_tmpdir"; then
           # Failing that, at least try and use $RANDOM to avoid a race
           my_tmpdir="${my_template}-${RANDOM-0}$$"
   
           save_mktempdir_umask=`umask`
           umask 0077
           $mkdir "$my_tmpdir"
           umask $save_mktempdir_umask
         fi
   
         # If we're not in dry-run mode, bomb out on failure
         test -d "$my_tmpdir" || {
           $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
           exit $EXIT_FAILURE
         }
       fi
   
       $echo "X$my_tmpdir" | $Xsed
   }
   
   
   # func_win32_libid arg
   # return the library type of file 'arg'
   #
   # Need a lot of goo to handle *both* DLLs and import libs
   # Has to be a shell function in order to 'eat' the argument
   # that is supplied when $file_magic_command is called.
   func_win32_libid ()
   {
     win32_libid_type="unknown"
     win32_fileres=`file -L $1 2>/dev/null`
     case $win32_fileres in
     *ar\ archive\ import\ library*) # definitely import
       win32_libid_type="x86 archive import"
       ;;
     *ar\ archive*) # could be an import, or static
       if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
         $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
         win32_nmres=`eval $NM -f posix -A $1 | \
           $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
         case $win32_nmres in
         import*)  win32_libid_type="x86 archive import";;
         *)        win32_libid_type="x86 archive static";;
         esac
       fi
       ;;
     *DLL*)
       win32_libid_type="x86 DLL"
       ;;
     *executable*) # but shell scripts are "executable" too...
       case $win32_fileres in
       *MS\ Windows\ PE\ Intel*)
         win32_libid_type="x86 DLL"
         ;;
       esac
       ;;
     esac
     $echo $win32_libid_type
   }
   
   
   # func_infer_tag arg
   # Infer tagged configuration to use if any are available and
   # if one wasn't chosen via the "--tag" command line option.
   # Only attempt this if the compiler in the base compile
   # command doesn't match the default compiler.
   # arg is usually of the form 'gcc ...'
   func_infer_tag ()
   {
       # FreeBSD-specific: where we install compilers with non-standard names
       tag_compilers_CC="*cc cc* *gcc gcc*"
       tag_compilers_CXX="*c++ c++* *g++ g++*"
       base_compiler=`set -- "$@"; echo $1`
   
       # If $tagname isn't set, then try to infer if the default "CC" tag applies
       if test -z "$tagname"; then
         for zp in $tag_compilers_CC; do
           case $base_compiler in
            $zp) tagname="CC"; break;;
           esac
         done
       fi
   
       if test -n "$available_tags" && test -z "$tagname"; then
         CC_quoted=
         for arg in $CC; do
           case $arg in
             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
             arg="\"$arg\""
             ;;
           esac
           CC_quoted="$CC_quoted $arg"
         done
         case $@ in
         # Blanks in the command may have been stripped by the calling shell,
         # but not from the CC environment variable when configure was run.
         " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
         # Blanks at the start of $base_compile will cause this to fail
         # if we don't check for them as well.
         *)
           for z in $available_tags; do
             if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
               # Evaluate the configuration.
               eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
               CC_quoted=
               for arg in $CC; do
               # Double-quote args containing other shell metacharacters.
               case $arg in
                 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
                 arg="\"$arg\""
                 ;;
               esac
               CC_quoted="$CC_quoted $arg"
             done
               case "$@ " in
                 " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
                 # The compiler in the base compile command matches
                 # the one in the tagged configuration.
                 # Assume this is the tagged configuration we want.
                 tagname=$z
                 break
                 ;;
               esac
   
               # FreeBSD-specific: try compilers based on inferred tag
               if test -z "$tagname"; then
                 eval "tag_compilers=\$tag_compilers_${z}"
                 if test -n "$tag_compilers"; then
                   for zp in $tag_compilers; do
                     case $base_compiler in
                       $zp) tagname=$z; break;;
                     esac
                   done
                   if test -n "$tagname"; then
                     break
                   fi
                 fi
               fi
             fi
           done
           # If $tagname still isn't set, then no tagged configuration
           # was found and let the user know that the "--tag" command
           # line option must be used.
           if test -z "$tagname"; then
             $echo "$modename: unable to infer tagged configuration"
             $echo "$modename: specify a tag with \`--tag'" 1>&2
             exit $EXIT_FAILURE
   #        else
   #          $echo "$modename: using $tagname tagged configuration"
           fi
           ;;
         esac
       fi
   }
   
   
   # func_extract_an_archive dir oldlib
   func_extract_an_archive ()
   {
       f_ex_an_ar_dir="$1"; shift
       f_ex_an_ar_oldlib="$1"
   
       $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
       $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
       if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
        :
       else
         $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
         exit $EXIT_FAILURE
       fi
   }
   
   # func_extract_archives gentop oldlib ...
   func_extract_archives ()
   {
       my_gentop="$1"; shift
       my_oldlibs=${1+"$@"}
       my_oldobjs=""
       my_xlib=""
       my_xabs=""
       my_xdir=""
       my_status=""
   
       $show "${rm}r $my_gentop"
       $run ${rm}r "$my_gentop"
       $show "$mkdir $my_gentop"
       $run $mkdir "$my_gentop"
       my_status=$?
       if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
         exit $my_status
       fi
   
       for my_xlib in $my_oldlibs; do
         # Extract the objects.
         case $my_xlib in
           [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
           *) my_xabs=`pwd`"/$my_xlib" ;;
         esac
         my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
         my_xdir="$my_gentop/$my_xlib"
   
         $show "${rm}r $my_xdir"
         $run ${rm}r "$my_xdir"
         $show "$mkdir $my_xdir"
         $run $mkdir "$my_xdir"
         exit_status=$?
         if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
           exit $exit_status
         fi
         case $host in
         *-darwin*)
           $show "Extracting $my_xabs"
           # Do not bother doing anything if just a dry run
           if test -z "$run"; then
             darwin_orig_dir=`pwd`
             cd $my_xdir || exit $?
             darwin_archive=$my_xabs
             darwin_curdir=`pwd`
             darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
             darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
             if test -n "$darwin_arches"; then
               darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
               darwin_arch=
               $show "$darwin_base_archive has multiple architectures $darwin_arches"
               for darwin_arch in  $darwin_arches ; do
                 mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
                 lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
                 cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
                 func_extract_an_archive "`pwd`" "${darwin_base_archive}"
                 cd "$darwin_curdir"
                 $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
               done # $darwin_arches
         ## Okay now we have a bunch of thin objects, gotta fatten them up :)
               darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
               darwin_file=
               darwin_files=
               for darwin_file in $darwin_filelist; do
                 darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
                 lipo -create -output "$darwin_file" $darwin_files
               done # $darwin_filelist
               ${rm}r unfat-$$
               cd "$darwin_orig_dir"
             else
               cd "$darwin_orig_dir"
               func_extract_an_archive "$my_xdir" "$my_xabs"
             fi # $darwin_arches
           fi # $run
           ;;
         *)
           func_extract_an_archive "$my_xdir" "$my_xabs"
           ;;
         esac
         my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
       done
       func_extract_archives_result="$my_oldobjs"
   }
   # End of Shell function definitions
   #####################################
   
   # Darwin sucks
   eval std_shrext=\"$shrext_cmds\"
   
   disable_libs=no
   
 # Parse our command line options once, thoroughly.  # Parse our command line options once, thoroughly.
 while test $# -gt 0  while test "$#" -gt 0
 do  do
   arg="$1"    arg="$1"
   shift    shift
   
   case "$arg" in    case $arg in
   -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;    -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
   *) optarg= ;;    *) optarg= ;;
   esac    esac
   
   # If the previous option needs an argument, assign it.    # If the previous option needs an argument, assign it.
   if test -n "$prev"; then    if test -n "$prev"; then
     case "$prev" in      case $prev in
     execute_dlfiles)      execute_dlfiles)
       eval "$prev=\"\$$prev \$arg\""        execute_dlfiles="$execute_dlfiles $arg"
       ;;        ;;
       tag)
         tagname="$arg"
         preserve_args="${preserve_args}=$arg"
   
         # Check whether tagname contains only valid characters
         case $tagname in
         *[!-_A-Za-z0-9,/]*)
           $echo "$progname: invalid tag name: $tagname" 1>&2
           exit $EXIT_FAILURE
           ;;
         esac
   
         case $tagname in
         CC)
           # Don't test for the "default" C tag, as we know, it's there, but
           # not specially marked.
           ;;
         *)
           if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
             taglist="$taglist $tagname"
             # Evaluate the configuration.
             eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
           else
             $echo "$progname: ignoring unknown tag $tagname" 1>&2
           fi
           ;;
         esac
         ;;
     *)      *)
       eval "$prev=\$arg"        eval "$prev=\$arg"
       ;;        ;;
Line 138  do
Line 477  do
   fi    fi
   
   # Have we seen a non-optional argument yet?    # Have we seen a non-optional argument yet?
   case "$arg" in    case $arg in
   --help)    --help)
     show_help=yes      show_help=yes
     ;;      ;;
   
   --version)    --version)
     echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"      $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
     exit 0      $echo
       $echo "Copyright (C) 2005  Free Software Foundation, Inc."
       $echo "This is free software; see the source for copying conditions.  There is NO"
       $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
       exit $?
     ;;      ;;
   
   --config)    --config)
     sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0      ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
     exit 0      # Now print the configurations for the tags.
       for tagname in $taglist; do
         ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
       done
       exit $?
     ;;      ;;
   
   --debug)    --debug)
     echo "$progname: enabling shell trace mode"      $echo "$progname: enabling shell trace mode"
     set -x      set -x
       preserve_args="$preserve_args $arg"
     ;;      ;;
   
   --dry-run | -n)    --dry-run | -n)
Line 163  do
Line 511  do
     ;;      ;;
   
   --features)    --features)
     echo "host: $host"      $echo "host: $host"
     if test "$build_libtool_libs" = yes; then      if test "$build_libtool_libs" = yes; then
       echo "enable shared libraries"        $echo "enable shared libraries"
     else      else
       echo "disable shared libraries"        $echo "disable shared libraries"
     fi      fi
     if test "$build_old_libs" = yes; then      if test "$build_old_libs" = yes; then
       echo "enable static libraries"        $echo "enable static libraries"
     else      else
       echo "disable static libraries"        $echo "disable static libraries"
     fi      fi
     exit 0      exit $?
     ;;      ;;
   
   --finish) mode="finish" ;;    --finish) mode="finish" ;;
Line 182  do
Line 530  do
   --mode) prevopt="--mode" prev=mode ;;    --mode) prevopt="--mode" prev=mode ;;
   --mode=*) mode="$optarg" ;;    --mode=*) mode="$optarg" ;;
   
     --preserve-dup-deps) duplicate_deps="yes" ;;
   
   --quiet | --silent)    --quiet | --silent)
     show=:      show=:
       preserve_args="$preserve_args $arg"
     ;;      ;;
   
     --tag)
       prevopt="--tag"
       prev=tag
       preserve_args="$preserve_args --tag"
       ;;
     --tag=*)
       set tag "$optarg" ${1+"$@"}
       shift
       prev=tag
       preserve_args="$preserve_args --tag"
       ;;
   
   -dlopen)    -dlopen)
     prevopt="-dlopen"      prevopt="-dlopen"
     prev=execute_dlfiles      prev=execute_dlfiles
Line 194  do
Line 557  do
   -*)    -*)
     $echo "$modename: unrecognized option \`$arg'" 1>&2      $echo "$modename: unrecognized option \`$arg'" 1>&2
     $echo "$help" 1>&2      $echo "$help" 1>&2
     exit 1      exit $EXIT_FAILURE
     ;;      ;;
   
   *)    *)
Line 207  done
Line 570  done
 if test -n "$prevopt"; then  if test -n "$prevopt"; then
   $echo "$modename: option \`$prevopt' requires an argument" 1>&2    $echo "$modename: option \`$prevopt' requires an argument" 1>&2
   $echo "$help" 1>&2    $echo "$help" 1>&2
   exit 1    exit $EXIT_FAILURE
 fi  fi
   
   case $disable_libs in
   no)
     ;;
   shared)
     build_libtool_libs=no
     build_old_libs=yes
     ;;
   static)
     build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
     ;;
   esac
   
   # If this variable is set in any of the actions, the command in it
   # will be execed at the end.  This prevents here-documents from being
   # left over by shells.
   exec_cmd=
   
 if test -z "$show_help"; then  if test -z "$show_help"; then
   
   # Infer the operation mode.    # Infer the operation mode.
   if test -z "$mode"; then    if test -z "$mode"; then
     case "$nonopt" in      $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
     *cc | *++ | gcc* | *-gcc*)      $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
       case $nonopt in
       *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
       mode=link        mode=link
       for arg        for arg
       do        do
         case "$arg" in          case $arg in
         -c)          -c)
            mode=compile             mode=compile
            break             break
Line 256  if test -z "$show_help"; then
Line 638  if test -z "$show_help"; then
   if test -n "$execute_dlfiles" && test "$mode" != execute; then    if test -n "$execute_dlfiles" && test "$mode" != execute; then
     $echo "$modename: unrecognized option \`-dlopen'" 1>&2      $echo "$modename: unrecognized option \`-dlopen'" 1>&2
     $echo "$help" 1>&2      $echo "$help" 1>&2
     exit 1      exit $EXIT_FAILURE
   fi    fi
   
   # Change the help message to a mode-specific one.    # Change the help message to a mode-specific one.
Line 264  if test -z "$show_help"; then
Line 646  if test -z "$show_help"; then
   help="Try \`$modename --help --mode=$mode' for more information."    help="Try \`$modename --help --mode=$mode' for more information."
   
   # These modes are in order of execution frequency so that they run quickly.    # These modes are in order of execution frequency so that they run quickly.
   case "$mode" in    case $mode in
   # libtool compile mode    # libtool compile mode
   compile)    compile)
     modename="$modename: compile"      modename="$modename: compile"
     # Get the compilation command and the source file.      # Get the compilation command and the source file.
     base_compile=      base_compile=
     lastarg=      srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
     srcfile="$nonopt"      suppress_opt=yes
     suppress_output=      suppress_output=
       arg_mode=normal
       libobj=
       later=
   
     user_target=no  
     for arg      for arg
     do      do
       # Accept any command-line options.        case $arg_mode in
       case "$arg" in        arg  )
       -o)          # do not "continue".  Instead, add this to base_compile
         if test "$user_target" != "no"; then          lastarg="$arg"
           $echo "$modename: you cannot specify \`-o' more than once" 1>&2          arg_mode=normal
           exit 1  
         fi  
         user_target=next  
         ;;          ;;
   
       -static)        target )
         build_old_libs=yes  
         continue  
         ;;  
       esac  
   
       case "$user_target" in  
       next)  
         # The next one is the -o target name  
         user_target=yes  
         continue  
         ;;  
       yes)  
         # We got the output file  
         user_target=set  
         libobj="$arg"          libobj="$arg"
           arg_mode=normal
         continue          continue
         ;;          ;;
       esac  
   
       # Accept the current argument as the source file.        normal )
       lastarg="$srcfile"          # Accept any command-line options.
       srcfile="$arg"          case $arg in
           -o)
             if test -n "$libobj" ; then
               $echo "$modename: you cannot specify \`-o' more than once" 1>&2
               exit $EXIT_FAILURE
             fi
             arg_mode=target
             continue
             ;;
   
       # Aesthetically quote the previous argument.          -static | -prefer-pic | -prefer-non-pic)
             later="$later $arg"
             continue
             ;;
   
       # Backslashify any backslashes, double quotes, and dollar signs.          -no-suppress)
       # These are the only characters that are still specially            suppress_opt=no
       # interpreted inside of double-quoted scrings.            continue
             ;;
   
           -Xcompiler)
             arg_mode=arg  #  the next one goes into the "base_compile" arg list
             continue      #  The current "srcfile" will either be retained or
             ;;            #  replaced later.  I would guess that would be a bug.
   
           -Wc,*)
             args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
             lastarg=
             save_ifs="$IFS"; IFS=','
             for arg in $args; do
               IFS="$save_ifs"
   
               # Double-quote args containing other shell metacharacters.
               # Many Bourne shells cannot handle close brackets correctly
               # in scan sets, so we specify it separately.
               case $arg in
                 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
                 arg="\"$arg\""
                 ;;
               esac
               lastarg="$lastarg $arg"
             done
             IFS="$save_ifs"
             lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
   
             # Add the arguments to base_compile.
             base_compile="$base_compile $lastarg"
             continue
             ;;
   
           * )
             # Accept the current argument as the source file.
             # The previous "srcfile" becomes the current argument.
             #
             lastarg="$srcfile"
             srcfile="$arg"
             ;;
           esac  #  case $arg
           ;;
         esac    #  case $arg_mode
   
         # Aesthetically quote the previous argument.
       lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`        lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
   
         case $lastarg in
       # Double-quote args containing other shell metacharacters.        # Double-quote args containing other shell metacharacters.
       # Many Bourne shells cannot handle close brackets correctly in scan        # Many Bourne shells cannot handle close brackets correctly
       # sets, so we specify it separately.        # in scan sets, and some SunOS ksh mistreat backslash-escaping
       case "$lastarg" in        # in scan sets (worked around with variable expansion),
       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)        # and furthermore cannot handle '|' '&' '(' ')' in scan sets
         # at all, so we specify them separately.
         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
         lastarg="\"$lastarg\""          lastarg="\"$lastarg\""
         ;;          ;;
       esac        esac
   
       # Add the previous argument to base_compile.        base_compile="$base_compile $lastarg"
       if test -z "$base_compile"; then      done # for arg
         base_compile="$lastarg"  
       else  
         base_compile="$base_compile $lastarg"  
       fi  
     done  
   
     case "$user_target" in      case $arg_mode in
     set)      arg)
         $echo "$modename: you must specify an argument for -Xcompile"
         exit $EXIT_FAILURE
       ;;        ;;
     no)      target)
       # Get the name of the library object.        $echo "$modename: you must specify a target with \`-o'" 1>&2
       libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`        exit $EXIT_FAILURE
       ;;        ;;
     *)      *)
       $echo "$modename: you must specify a target with \`-o'" 1>&2        # Get the name of the library object.
       exit 1        [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
       ;;        ;;
     esac      esac
   
     # Recognize several different file suffixes.      # Recognize several different file suffixes.
     # If the user specifies -o file.o, it is replaced with file.lo      # If the user specifies -o file.o, it is replaced with file.lo
     xform='[cCFSfmso]'      xform='[cCFSifmso]'
     case "$libobj" in      case $libobj in
     *.ada) xform=ada ;;      *.ada) xform=ada ;;
     *.adb) xform=adb ;;      *.adb) xform=adb ;;
     *.ads) xform=ads ;;      *.ads) xform=ads ;;
     *.asm) xform=asm ;;      *.asm) xform=asm ;;
     *.c++) xform=c++ ;;      *.c++) xform=c++ ;;
     *.cc) xform=cc ;;      *.cc) xform=cc ;;
       *.ii) xform=ii ;;
       *.class) xform=class ;;
     *.cpp) xform=cpp ;;      *.cpp) xform=cpp ;;
     *.cxx) xform=cxx ;;      *.cxx) xform=cxx ;;
     *.f90) xform=f90 ;;      *.f90) xform=f90 ;;
     *.for) xform=for ;;      *.for) xform=for ;;
       *.java) xform=java ;;
     esac      esac
   
     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`      libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
   
     case "$libobj" in      case $libobj in
     *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;      *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
     *)      *)
       $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2        $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
       exit 1        exit $EXIT_FAILURE
       ;;        ;;
     esac      esac
   
       func_infer_tag $base_compile
   
       for arg in $later; do
         case $arg in
         -static)
           build_old_libs=yes
           continue
           ;;
   
         -prefer-pic)
           pic_mode=yes
           continue
           ;;
   
         -prefer-non-pic)
           pic_mode=no
           continue
           ;;
         esac
       done
   
       qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
       case $qlibobj in
         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
           qlibobj="\"$qlibobj\"" ;;
       esac
       test "X$libobj" != "X$qlibobj" \
           && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"'  &()|`$[]' \
           && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
       objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
       xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
       if test "X$xdir" = "X$obj"; then
         xdir=
       else
         xdir=$xdir/
       fi
       lobj=${xdir}$objdir/$objname
   
     if test -z "$base_compile"; then      if test -z "$base_compile"; then
       $echo "$modename: you must specify a compilation command" 1>&2        $echo "$modename: you must specify a compilation command" 1>&2
       $echo "$help" 1>&2        $echo "$help" 1>&2
       exit 1        exit $EXIT_FAILURE
     fi      fi
   
     # Delete any leftover library objects.      # Delete any leftover library objects.
     if test "$build_old_libs" = yes; then      if test "$build_old_libs" = yes; then
       removelist="$obj $libobj"        removelist="$obj $lobj $libobj ${libobj}T"
     else      else
       removelist="$libobj"        removelist="$lobj $libobj ${libobj}T"
     fi      fi
   
     $run $rm $removelist      $run $rm $removelist
     trap "$run $rm $removelist; exit 1" 1 2 15      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
   
       # On Cygwin there's no "real" PIC flag so we must build both object types
       case $host_os in
       cygwin* | mingw* | pw32* | os2*)
         pic_mode=default
         ;;
       esac
       if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
         # non-PIC code in shared libraries is not supported
         pic_mode=default
       fi
   
     # Calculate the filename of the output object if compiler does      # Calculate the filename of the output object if compiler does
     # not support -o with -c      # not support -o with -c
     if test "$compiler_c_o" = no; then      if test "$compiler_c_o" = no; then
       output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext}        output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
       lockfile="$output_obj.lock"        lockfile="$output_obj.lock"
       removelist="$removelist $output_obj $lockfile"        removelist="$removelist $output_obj $lockfile"
       trap "$run $rm $removelist; exit 1" 1 2 15        trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
     else      else
         output_obj=
       need_locks=no        need_locks=no
       lockfile=        lockfile=
     fi      fi
Line 405  if test -z "$show_help"; then
Line 880  if test -z "$show_help"; then
     # Lock this critical section if it is needed      # Lock this critical section if it is needed
     # We use this script file to make the link, it avoids creating a new file      # We use this script file to make the link, it avoids creating a new file
     if test "$need_locks" = yes; then      if test "$need_locks" = yes; then
       until ln "$0" "$lockfile" 2>/dev/null; do        until $run ln "$progpath" "$lockfile" 2>/dev/null; do
         $show "Waiting for $lockfile to be removed"          $show "Waiting for $lockfile to be removed"
         sleep 2          sleep 2
       done        done
     elif test "$need_locks" = warn; then      elif test "$need_locks" = warn; then
       if test -f "$lockfile"; then        if test -f "$lockfile"; then
         echo "\          $echo "\
 *** ERROR, $lockfile exists and contains:  *** ERROR, $lockfile exists and contains:
 `cat $lockfile 2>/dev/null`  `cat $lockfile 2>/dev/null`
   
Line 423  avoid parallel builds (make -j) in this platform, or g
Line 898  avoid parallel builds (make -j) in this platform, or g
 compiler."  compiler."
   
         $run $rm $removelist          $run $rm $removelist
         exit 1          exit $EXIT_FAILURE
       fi        fi
       echo $srcfile > "$lockfile"        $echo "$srcfile" > "$lockfile"
     fi      fi
   
     if test -n "$fix_srcfile_path"; then      if test -n "$fix_srcfile_path"; then
       eval srcfile=\"$fix_srcfile_path\"        eval srcfile=\"$fix_srcfile_path\"
     fi      fi
       qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
       case $qsrcfile in
         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
         qsrcfile="\"$qsrcfile\"" ;;
       esac
   
       $run $rm "$libobj" "${libobj}T"
   
       # Create a libtool object file (analogous to a ".la" file),
       # but don't create it if we're doing a dry run.
       test -z "$run" && cat > ${libobj}T <<EOF
   # $libobj - a libtool object file
   # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
   #
   # Please DO NOT delete this file!
   # It is necessary for linking the library.
   
   # Name of the PIC object.
   EOF
   
     # Only build a PIC object if we are building libtool libraries.      # Only build a PIC object if we are building libtool libraries.
     if test "$build_libtool_libs" = yes; then      if test "$build_libtool_libs" = yes; then
       # Without this assignment, base_compile gets emptied.        # Without this assignment, base_compile gets emptied.
       fbsd_hideous_sh_bug=$base_compile        fbsd_hideous_sh_bug=$base_compile
   
       # All platforms use -DPIC, to notify preprocessed assembler code.        if test "$pic_mode" != no; then
       command="$base_compile $srcfile $pic_flag -DPIC"          command="$base_compile $qsrcfile $pic_flag"
       if test "$build_old_libs" = yes; then        else
         lo_libobj="$libobj"          # Don't build PIC code
         dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`          command="$base_compile $qsrcfile"
         if test "X$dir" = "X$libobj"; then        fi
           dir="$objdir"  
         else  
           dir="$dir/$objdir"  
         fi  
         libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`  
   
         if test -d "$dir"; then        if test ! -d "${xdir}$objdir"; then
           $show "$rm $libobj"          $show "$mkdir ${xdir}$objdir"
           $run $rm $libobj          $run $mkdir ${xdir}$objdir
         else          exit_status=$?
           $show "$mkdir $dir"          if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
           $run $mkdir $dir            exit $exit_status
           status=$?  
           if test $status -ne 0 && test ! -d $dir; then  
             exit $status  
           fi  
         fi          fi
       fi        fi
       if test "$compiler_o_lo" = yes; then  
         output_obj="$libobj"        if test -z "$output_obj"; then
         command="$command -o $output_obj"          # Place PIC objects in $objdir
       elif test "$compiler_c_o" = yes; then          command="$command -o $lobj"
         output_obj="$obj"  
         command="$command -o $output_obj"  
       fi        fi
   
       $run $rm "$output_obj"        $run $rm "$lobj" "$output_obj"
   
       $show "$command"        $show "$command"
       if $run eval "$command"; then :        if $run eval "$command"; then :
       else        else
         test -n "$output_obj" && $run $rm $removelist          test -n "$output_obj" && $run $rm $removelist
         exit 1          exit $EXIT_FAILURE
       fi        fi
   
       if test "$need_locks" = warn &&        if test "$need_locks" = warn &&
          test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then           test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
         echo "\          $echo "\
 *** ERROR, $lockfile contains:  *** ERROR, $lockfile contains:
 `cat $lockfile 2>/dev/null`  `cat $lockfile 2>/dev/null`
   
Line 494  avoid parallel builds (make -j) in this platform, or g
Line 978  avoid parallel builds (make -j) in this platform, or g
 compiler."  compiler."
   
         $run $rm $removelist          $run $rm $removelist
         exit 1          exit $EXIT_FAILURE
       fi        fi
   
       # Just move the object if needed, then go on to compile the next one        # Just move the object if needed, then go on to compile the next one
       if test x"$output_obj" != x"$libobj"; then        if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
         $show "$mv $output_obj $libobj"          $show "$mv $output_obj $lobj"
         if $run $mv $output_obj $libobj; then :          if $run $mv $output_obj $lobj; then :
         else          else
           error=$?            error=$?
           $run $rm $removelist            $run $rm $removelist
Line 508  compiler."
Line 992  compiler."
         fi          fi
       fi        fi
   
       # If we have no pic_flag, then copy the object into place and finish.        # Append the name of the PIC object to the libtool object file.
       if test -z "$pic_flag" && test "$build_old_libs" = yes; then        test -z "$run" && cat >> ${libobj}T <<EOF
         # Rename the .lo from within objdir to obj  pic_object='$objdir/$objname'
         if test -f $obj; then  
           $show $rm $obj  
           $run $rm $obj  
         fi  
   
         $show "$mv $libobj $obj"  EOF
         if $run $mv $libobj $obj; then :  
         else  
           error=$?  
           $run $rm $removelist  
           exit $error  
         fi  
   
         xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`        # Allow error messages only from the first compilation.
         if test "X$xdir" = "X$obj"; then        if test "$suppress_opt" = yes; then
           xdir="."          suppress_output=' >/dev/null 2>&1'
         else  
           xdir="$xdir"  
         fi  
         baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`  
         libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`  
         # Now arrange that obj and lo_libobj become the same file  
         $show "(cd $xdir && $LN_S $baseobj $libobj)"  
         if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then  
           exit 0  
         else  
           error=$?  
           $run $rm $removelist  
           exit $error  
         fi  
       fi        fi
       else
         # No PIC object so indicate it doesn't exist in the libtool
         # object file.
         test -z "$run" && cat >> ${libobj}T <<EOF
   pic_object=none
   
       # Allow error messages only from the first compilation.  EOF
       suppress_output=' >/dev/null 2>&1'  
     fi      fi
   
     # Only build a position-dependent object if we build old libraries.      # Only build a position-dependent object if we build old libraries.
     if test "$build_old_libs" = yes; then      if test "$build_old_libs" = yes; then
       command="$base_compile $srcfile"        if test "$pic_mode" != yes; then
           # Don't build PIC code
           command="$base_compile $qsrcfile"
         else
           command="$base_compile $qsrcfile $pic_flag"
         fi
       if test "$compiler_c_o" = yes; then        if test "$compiler_c_o" = yes; then
         command="$command -o $obj"          command="$command -o $obj"
         output_obj="$obj"  
       fi        fi
   
       # Suppress compiler output if we already did a PIC compilation.        # Suppress compiler output if we already did a PIC compilation.
       command="$command$suppress_output"        command="$command$suppress_output"
       $run $rm "$output_obj"        $run $rm "$obj" "$output_obj"
       $show "$command"        $show "$command"
       if $run eval "$command"; then :        if $run eval "$command"; then :
       else        else
         $run $rm $removelist          $run $rm $removelist
         exit 1          exit $EXIT_FAILURE
       fi        fi
   
       if test "$need_locks" = warn &&        if test "$need_locks" = warn &&
          test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then           test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
         echo "\          $echo "\
 *** ERROR, $lockfile contains:  *** ERROR, $lockfile contains:
 `cat $lockfile 2>/dev/null`  `cat $lockfile 2>/dev/null`
   
Line 582  avoid parallel builds (make -j) in this platform, or g
Line 1050  avoid parallel builds (make -j) in this platform, or g
 compiler."  compiler."
   
         $run $rm $removelist          $run $rm $removelist
         exit 1          exit $EXIT_FAILURE
       fi        fi
   
       # Just move the object if needed        # Just move the object if needed
       if test x"$output_obj" != x"$obj"; then        if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
         $show "$mv $output_obj $obj"          $show "$mv $output_obj $obj"
         if $run $mv $output_obj $obj; then :          if $run $mv $output_obj $obj; then :
         else          else
Line 596  compiler."
Line 1064  compiler."
         fi          fi
       fi        fi
   
       # Create an invalid libtool object if no PIC, so that we do not        # Append the name of the non-PIC object the libtool object file.
       # accidentally link it into a program.        # Only append if the libtool object file exists.
       if test "$build_libtool_libs" != yes; then        test -z "$run" && cat >> ${libobj}T <<EOF
         $show "echo timestamp > $libobj"  # Name of the non-PIC object.
         $run eval "echo timestamp > \$libobj" || exit $?  non_pic_object='$objname'
       else  
         # Move the .lo from within objdir  EOF
         $show "$mv $libobj $lo_libobj"      else
         if $run $mv $libobj $lo_libobj; then :        # Append the name of the non-PIC object the libtool object file.
         else        # Only append if the libtool object file exists.
           error=$?        test -z "$run" && cat >> ${libobj}T <<EOF
           $run $rm $removelist  # Name of the non-PIC object.
           exit $error  non_pic_object=none
         fi  
       fi  EOF
     fi      fi
   
       $run $mv "${libobj}T" "${libobj}"
   
     # Unlock the critical section if it was locked      # Unlock the critical section if it was locked
     if test "$need_locks" != no; then      if test "$need_locks" != no; then
       $rm "$lockfile"        $run $rm "$lockfile"
     fi      fi
   
     exit 0      exit $EXIT_SUCCESS
     ;;      ;;
   
   # libtool link mode    # libtool link mode
   link)    link | relink)
     modename="$modename: link"      modename="$modename: link"
     case "$host" in      case $host in
     *-*-cygwin* | *-*-mingw* | *-*-os2*)      *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
       # It is impossible to link a dll without this setting, and        # It is impossible to link a dll without this setting, and
       # we shouldn't force the makefile maintainer to figure out        # we shouldn't force the makefile maintainer to figure out
       # which system we are compiling for in order to pass an extra        # which system we are compiling for in order to pass an extra
       # flag for every libtool invokation.        # flag for every libtool invocation.
       # allow_undefined=no        # allow_undefined=no
   
       # FIXME: Unfortunately, there are problems with the above when trying        # FIXME: Unfortunately, there are problems with the above when trying
Line 638  compiler."
Line 1108  compiler."
       # -no-undefined on the libtool link line when we can be certain        # -no-undefined on the libtool link line when we can be certain
       # that all symbols are satisfied, otherwise we get a static library.        # that all symbols are satisfied, otherwise we get a static library.
       allow_undefined=yes        allow_undefined=yes
   
       # This is a source program that is used to create dlls on Windows  
       # Don't remove nor modify the starting and closing comments  
 # /* ltdll.c starts here */  
 # #define WIN32_LEAN_AND_MEAN  
 # #include <windows.h>  
 # #undef WIN32_LEAN_AND_MEAN  
 # #include <stdio.h>  
 #  
 # #ifndef __CYGWIN__  
 # #  ifdef __CYGWIN32__  
 # #    define __CYGWIN__ __CYGWIN32__  
 # #  endif  
 # #endif  
 #  
 # #ifdef __cplusplus  
 # extern "C" {  
 # #endif  
 # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);  
 # #ifdef __cplusplus  
 # }  
 # #endif  
 #  
 # #ifdef __CYGWIN__  
 # #include <cygwin/cygwin_dll.h>  
 # DECLARE_CYGWIN_DLL( DllMain );  
 # #endif  
 # HINSTANCE __hDllInstance_base;  
 #  
 # BOOL APIENTRY  
 # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)  
 # {  
 #   __hDllInstance_base = hInst;  
 #   return TRUE;  
 # }  
 # /* ltdll.c ends here */  
       # This is a source program that is used to create import libraries  
       # on Windows for dlls which lack them. Don't remove nor modify the  
       # starting and closing comments  
 # /* impgen.c starts here */  
 # /*   Copyright (C) 1999 Free Software Foundation, Inc.  
 #  
 #  This file is part of GNU libtool.  
 #  
 #  This program is free software; you can redistribute it and/or modify  
 #  it under the terms of the GNU General Public License as published by  
 #  the Free Software Foundation; either version 2 of the License, or  
 #  (at your option) any later version.  
 #  
 #  This program is distributed in the hope that it will be useful,  
 #  but WITHOUT ANY WARRANTY; without even the implied warranty of  
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 #  GNU General Public License for more details.  
 #  
 #  You should have received a copy of the GNU General Public License  
 #  along with this program; if not, write to the Free Software  
 #  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
 #  */  
 #  
 #  #include <stdio.h>           /* for printf() */  
 #  #include <unistd.h>          /* for open(), lseek(), read() */  
 #  #include <fcntl.h>           /* for O_RDONLY, O_BINARY */  
 #  #include <string.h>          /* for strdup() */  
 #  
 #  static unsigned int  
 #  pe_get16 (fd, offset)  
 #       int fd;  
 #       int offset;  
 #  {  
 #    unsigned char b[2];  
 #    lseek (fd, offset, SEEK_SET);  
 #    read (fd, b, 2);  
 #    return b[0] + (b[1]<<8);  
 #  }  
 #  
 #  static unsigned int  
 #  pe_get32 (fd, offset)  
 #      int fd;  
 #      int offset;  
 #  {  
 #    unsigned char b[4];  
 #    lseek (fd, offset, SEEK_SET);  
 #    read (fd, b, 4);  
 #    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);  
 #  }  
 #  
 #  static unsigned int  
 #  pe_as32 (ptr)  
 #       void *ptr;  
 #  {  
 #    unsigned char *b = ptr;  
 #    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);  
 #  }  
 #  
 #  int  
 #  main (argc, argv)  
 #      int argc;  
 #      char *argv[];  
 #  {  
 #      int dll;  
 #      unsigned long pe_header_offset, opthdr_ofs, num_entries, i;  
 #      unsigned long export_rva, export_size, nsections, secptr, expptr;  
 #      unsigned long name_rvas, nexp;  
 #      unsigned char *expdata, *erva;  
 #      char *filename, *dll_name;  
 #  
 #      filename = argv[1];  
 #  
 #      dll = open(filename, O_RDONLY|O_BINARY);  
 #      if (!dll)  
 #       return 1;  
 #  
 #      dll_name = filename;  
 #  
 #      for (i=0; filename[i]; i++)  
 #       if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')  
 #           dll_name = filename + i +1;  
 #  
 #      pe_header_offset = pe_get32 (dll, 0x3c);  
 #      opthdr_ofs = pe_header_offset + 4 + 20;  
 #      num_entries = pe_get32 (dll, opthdr_ofs + 92);  
 #  
 #      if (num_entries < 1) /* no exports */  
 #       return 1;  
 #  
 #      export_rva = pe_get32 (dll, opthdr_ofs + 96);  
 #      export_size = pe_get32 (dll, opthdr_ofs + 100);  
 #      nsections = pe_get16 (dll, pe_header_offset + 4 +2);  
 #      secptr = (pe_header_offset + 4 + 20 +  
 #             pe_get16 (dll, pe_header_offset + 4 + 16));  
 #  
 #      expptr = 0;  
 #      for (i = 0; i < nsections; i++)  
 #      {  
 #       char sname[8];  
 #       unsigned long secptr1 = secptr + 40 * i;  
 #       unsigned long vaddr = pe_get32 (dll, secptr1 + 12);  
 #       unsigned long vsize = pe_get32 (dll, secptr1 + 16);  
 #       unsigned long fptr = pe_get32 (dll, secptr1 + 20);  
 #       lseek(dll, secptr1, SEEK_SET);  
 #       read(dll, sname, 8);  
 #       if (vaddr <= export_rva && vaddr+vsize > export_rva)  
 #       {  
 #           expptr = fptr + (export_rva - vaddr);  
 #           if (export_rva + export_size > vaddr + vsize)  
 #               export_size = vsize - (export_rva - vaddr);  
 #           break;  
 #       }  
 #      }  
 #  
 #      expdata = (unsigned char*)malloc(export_size);  
 #      lseek (dll, expptr, SEEK_SET);  
 #      read (dll, expdata, export_size);  
 #      erva = expdata - export_rva;  
 #  
 #      nexp = pe_as32 (expdata+24);  
 #      name_rvas = pe_as32 (expdata+32);  
 #  
 #      printf ("EXPORTS\n");  
 #      for (i = 0; i<nexp; i++)  
 #      {  
 #       unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);  
 #       printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);  
 #      }  
 #  
 #      return 0;  
 #  }  
 # /* impgen.c ends here */  
       ;;        ;;
     *)      *)
       allow_undefined=yes        allow_undefined=yes
       ;;        ;;
     esac      esac
       libtool_args="$nonopt"
       base_compile="$nonopt $@"
     compile_command="$nonopt"      compile_command="$nonopt"
     finalize_command="$nonopt"      finalize_command="$nonopt"
   
Line 821  compiler."
Line 1125  compiler."
     convenience=      convenience=
     old_convenience=      old_convenience=
     deplibs=      deplibs=
     linkopts=      old_deplibs=
       compiler_flags=
       linker_flags=
       dllsearchpath=
       lib_search_path=`pwd`
       inst_prefix_dir=
   
     if test -n "$shlibpath_var"; then  
       # get the directories listed in $shlibpath_var  
       eval lib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`  
     else  
       lib_search_path=  
     fi  
     # now prepend the system-specific ones  
     eval lib_search_path=\"$sys_lib_search_path_spec\$lib_search_path\"  
     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"  
   
     avoid_version=no      avoid_version=no
     dlfiles=      dlfiles=
     dlprefiles=      dlprefiles=
Line 842  compiler."
Line 1141  compiler."
     export_symbols_regex=      export_symbols_regex=
     generated=      generated=
     libobjs=      libobjs=
     link_against_libtool_libs=  
     ltlibs=      ltlibs=
     module=no      module=no
       no_install=no
     objs=      objs=
       non_pic_objects=
       notinst_path= # paths that contain not-installed libtool libraries
       precious_files_regex=
     prefer_static_libs=no      prefer_static_libs=no
     preload=no      preload=no
     prev=      prev=
Line 857  compiler."
Line 1159  compiler."
     temp_rpath=      temp_rpath=
     thread_safe=no      thread_safe=no
     vinfo=      vinfo=
       vinfo_number=no
   
       func_infer_tag $base_compile
   
     # We need to know -static, to get the right output filenames.      # We need to know -static, to get the right output filenames.
     for arg      for arg
     do      do
       case "$arg" in        case $arg in
       -all-static | -static)        -all-static | -static)
         if test "X$arg" = "X-all-static"; then          if test "X$arg" = "X-all-static"; then
           if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then            if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
Line 870  compiler."
Line 1175  compiler."
           if test -n "$link_static_flag"; then            if test -n "$link_static_flag"; then
             dlopen_self=$dlopen_self_static              dlopen_self=$dlopen_self_static
           fi            fi
             prefer_static_libs=yes
         else          else
           if test -z "$pic_flag" && test -n "$link_static_flag"; then            if test -z "$pic_flag" && test -n "$link_static_flag"; then
             dlopen_self=$dlopen_self_static              dlopen_self=$dlopen_self_static
           fi            fi
             prefer_static_libs=built
         fi          fi
         build_libtool_libs=no          build_libtool_libs=no
         build_old_libs=yes          build_old_libs=yes
         prefer_static_libs=yes  
         break          break
         ;;          ;;
       esac        esac
Line 887  compiler."
Line 1193  compiler."
     test -n "$old_archive_from_new_cmds" && build_old_libs=yes      test -n "$old_archive_from_new_cmds" && build_old_libs=yes
   
     # Go through the arguments, transforming them on the way.      # Go through the arguments, transforming them on the way.
     while test $# -gt 0; do      while test "$#" -gt 0; do
       arg="$1"        arg="$1"
       shift        shift
         case $arg in
         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
           qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
           ;;
         *) qarg=$arg ;;
         esac
         libtool_args="$libtool_args $qarg"
   
       # If the previous option needs an argument, assign it.        # If the previous option needs an argument, assign it.
       if test -n "$prev"; then        if test -n "$prev"; then
         case "$prev" in          case $prev in
         output)          output)
           compile_command="$compile_command @OUTPUT@"            compile_command="$compile_command @OUTPUT@"
           finalize_command="$finalize_command @OUTPUT@"            finalize_command="$finalize_command @OUTPUT@"
           ;;            ;;
         esac          esac
   
         case "$prev" in          case $prev in
         dlfiles|dlprefiles)          dlfiles|dlprefiles)
           if test "$preload" = no; then            if test "$preload" = no; then
             # Add the symbol object into the linking commands.              # Add the symbol object into the linking commands.
Line 908  compiler."
Line 1221  compiler."
             finalize_command="$finalize_command @SYMFILE@"              finalize_command="$finalize_command @SYMFILE@"
             preload=yes              preload=yes
           fi            fi
           case "$arg" in            case $arg in
           *.la | *.lo) ;;  # We handle these cases below.            *.la | *.lo) ;;  # We handle these cases below.
           force)            force)
             if test "$dlself" = no; then              if test "$dlself" = no; then
Line 937  compiler."
Line 1250  compiler."
               dlprefiles="$dlprefiles $arg"                dlprefiles="$dlprefiles $arg"
             fi              fi
             prev=              prev=
               continue
             ;;              ;;
           esac            esac
           ;;            ;;
Line 944  compiler."
Line 1258  compiler."
           export_symbols="$arg"            export_symbols="$arg"
           if test ! -f "$arg"; then            if test ! -f "$arg"; then
             $echo "$modename: symbol file \`$arg' does not exist"              $echo "$modename: symbol file \`$arg' does not exist"
             exit 1              exit $EXIT_FAILURE
           fi            fi
           prev=            prev=
           continue            continue
Line 954  compiler."
Line 1268  compiler."
           prev=            prev=
           continue            continue
           ;;            ;;
           inst_prefix)
             inst_prefix_dir="$arg"
             prev=
             continue
             ;;
           precious_regex)
             precious_files_regex="$arg"
             prev=
             continue
             ;;
         release)          release)
           if test "$release_suffix" = all; then  
             release="$arg"  
           elif test "$release_suffix" = yes; then  
           release="-$arg"            release="-$arg"
             prev=
             continue
             ;;
           objectlist)
             if test -f "$arg"; then
               save_arg=$arg
               moreargs=
               for fil in `cat $save_arg`
               do
   #             moreargs="$moreargs $fil"
                 arg=$fil
                 # A libtool-controlled object.
   
                 # Check to see that this really is a libtool object.
                 if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
                   pic_object=
                   non_pic_object=
   
                   # Read the .lo file
                   # If there is no directory component, then add one.
                   case $arg in
                   */* | *\\*) . $arg ;;
                   *) . ./$arg ;;
                   esac
   
                   if test -z "$pic_object" || \
                      test -z "$non_pic_object" ||
                      test "$pic_object" = none && \
                      test "$non_pic_object" = none; then
                     $echo "$modename: cannot find name of object for \`$arg'" 1>&2
                     exit $EXIT_FAILURE
                   fi
   
                   # Extract subdirectory from the argument.
                   xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
                   if test "X$xdir" = "X$arg"; then
                     xdir=
                   else
                     xdir="$xdir/"
                   fi
   
                   if test "$pic_object" != none; then
                     # Prepend the subdirectory the object is found in.
                     pic_object="$xdir$pic_object"
   
                     if test "$prev" = dlfiles; then
                       if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
                         dlfiles="$dlfiles $pic_object"
                         prev=
                         continue
                       else
                         # If libtool objects are unsupported, then we need to preload.
                         prev=dlprefiles
                       fi
                     fi
   
                     # CHECK ME:  I think I busted this.  -Ossama
                     if test "$prev" = dlprefiles; then
                       # Preload the old-style object.
                       dlprefiles="$dlprefiles $pic_object"
                       prev=
                     fi
   
                     # A PIC object.
                     libobjs="$libobjs $pic_object"
                     arg="$pic_object"
                   fi
   
                   # Non-PIC object.
                   if test "$non_pic_object" != none; then
                     # Prepend the subdirectory the object is found in.
                     non_pic_object="$xdir$non_pic_object"
   
                     # A standard non-PIC object
                     non_pic_objects="$non_pic_objects $non_pic_object"
                     if test -z "$pic_object" || test "$pic_object" = none ; then
                       arg="$non_pic_object"
                     fi
                   else
                     # If the PIC object exists, use it instead.
                     # $xdir was prepended to $pic_object above.
                     non_pic_object="$pic_object"
                     non_pic_objects="$non_pic_objects $non_pic_object"
                   fi
                 else
                   # Only an error if not doing a dry-run.
                   if test -z "$run"; then
                     $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
                     exit $EXIT_FAILURE
                   else
                     # Dry-run case.
   
                     # Extract subdirectory from the argument.
                     xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
                     if test "X$xdir" = "X$arg"; then
                       xdir=
                     else
                       xdir="$xdir/"
                     fi
   
                     pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
                     non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
                     libobjs="$libobjs $pic_object"
                     non_pic_objects="$non_pic_objects $non_pic_object"
                   fi
                 fi
               done
             else
               $echo "$modename: link input file \`$save_arg' does not exist"
               exit $EXIT_FAILURE
           fi            fi
             arg=$save_arg
           prev=            prev=
           continue            continue
           ;;            ;;
         rpath | xrpath)          rpath | xrpath)
           # We need an absolute path.            # We need an absolute path.
           case "$arg" in            case $arg in
           [\\/]* | [A-Za-z]:[\\/]*) ;;            [\\/]* | [A-Za-z]:[\\/]*) ;;
           *)            *)
             $echo "$modename: only absolute run-paths are allowed" 1>&2              $echo "$modename: only absolute run-paths are allowed" 1>&2
             exit 1              exit $EXIT_FAILURE
             ;;              ;;
           esac            esac
           if test "$prev" = rpath; then            if test "$prev" = rpath; then
Line 986  compiler."
Line 1418  compiler."
           prev=            prev=
           continue            continue
           ;;            ;;
           xcompiler)
             compiler_flags="$compiler_flags $qarg"
             prev=
             compile_command="$compile_command $qarg"
             finalize_command="$finalize_command $qarg"
             continue
             ;;
           xlinker)
             linker_flags="$linker_flags $qarg"
             compiler_flags="$compiler_flags $wl$qarg"
             prev=
             compile_command="$compile_command $wl$qarg"
             finalize_command="$finalize_command $wl$qarg"
             continue
             ;;
           xcclinker)
             linker_flags="$linker_flags $qarg"
             compiler_flags="$compiler_flags $qarg"
             prev=
             compile_command="$compile_command $qarg"
             finalize_command="$finalize_command $qarg"
             continue
             ;;
           shrext)
             shrext_cmds="$arg"
             prev=
             continue
             ;;
           darwin_framework|darwin_framework_skip)
             test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
             compile_command="$compile_command $arg"
             finalize_command="$finalize_command $arg"
             prev=
             continue
             ;;
         *)          *)
           eval "$prev=\"\$arg\""            eval "$prev=\"\$arg\""
           prev=            prev=
           continue            continue
           ;;            ;;
         esac          esac
       fi        fi # test -n "$prev"
   
       prevarg="$arg"        prevarg="$arg"
   
       case "$arg" in        case $arg in
       -all-static)        -all-static)
         if test -n "$link_static_flag"; then          if test -n "$link_static_flag"; then
           compile_command="$compile_command $link_static_flag"            compile_command="$compile_command $link_static_flag"
Line 1012  compiler."
Line 1479  compiler."
         ;;          ;;
   
       -avoid-version)        -avoid-version)
         build_old_libs=no  
         avoid_version=yes          avoid_version=yes
         continue          continue
         ;;          ;;
Line 1034  compiler."
Line 1500  compiler."
   
       -export-symbols | -export-symbols-regex)        -export-symbols | -export-symbols-regex)
         if test -n "$export_symbols" || test -n "$export_symbols_regex"; then          if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
           $echo "$modename: not more than one -exported-symbols argument allowed"            $echo "$modename: more than one -exported-symbols argument is not allowed"
           exit 1            exit $EXIT_FAILURE
         fi          fi
         if test "X$arg" = "X-export-symbols"; then          if test "X$arg" = "X-export-symbols"; then
           prev=expsyms            prev=expsyms
Line 1045  compiler."
Line 1511  compiler."
         continue          continue
         ;;          ;;
   
         -framework|-arch|-isysroot)
           case " $CC " in
             *" ${arg} ${1} "* | *" ${arg} ${1} "*)
                   prev=darwin_framework_skip ;;
             *) compiler_flags="$compiler_flags $arg"
                prev=darwin_framework ;;
           esac
           compile_command="$compile_command $arg"
           finalize_command="$finalize_command $arg"
           continue
           ;;
   
         -inst-prefix-dir)
           prev=inst_prefix
           continue
           ;;
   
         # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
         # so, if we see these flags be careful not to treat them like -L
         -L[A-Z][A-Z]*:*)
           case $with_gcc/$host in
           no/*-*-irix* | /*-*-irix*)
             compile_command="$compile_command $arg"
             finalize_command="$finalize_command $arg"
             ;;
           esac
           continue
           ;;
   
       -L*)        -L*)
         dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`          dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
         # We need an absolute path.          # We need an absolute path.
         case "$dir" in          case $dir in
         [\\/]* | [A-Za-z]:[\\/]*) ;;          [\\/]* | [A-Za-z]:[\\/]*) ;;
         *)          *)
           absdir=`cd "$dir" && pwd`            absdir=`cd "$dir" && pwd`
           if test -z "$absdir"; then            if test -z "$absdir"; then
             $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2              $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
             $echo "$modename: passing it literally to the linker, although it might fail" 1>&2  
             absdir="$dir"              absdir="$dir"
               notinst_path="$notinst_path $dir"
           fi            fi
           dir="$absdir"            dir="$absdir"
           ;;            ;;
         esac          esac
         case " $deplibs " in          case "$deplibs " in
         *" $arg "*) ;;          *" -L$dir "*) ;;
         *) deplibs="$deplibs $arg";;          *)
             deplibs="$deplibs -L$dir"
             lib_search_path="$lib_search_path $dir"
             ;;
         esac          esac
         case " $lib_search_path " in          case $host in
         *" $dir "*) ;;          *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
         *) lib_search_path="$lib_search_path $dir";;            testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
         esac            case :$dllsearchpath: in
         case "$host" in            *":$dir:"*) ;;
         *-*-cygwin* | *-*-mingw* | *-*-os2*)            *) dllsearchpath="$dllsearchpath:$dir";;
           dllsearchdir=`cd "$dir" && pwd || echo "$dir"`  
           case ":$dllsearchpath:" in  
           ::) dllsearchpath="$dllsearchdir";;  
           *":$dllsearchdir:"*) ;;  
           *) dllsearchpath="$dllsearchpath:$dllsearchdir";;  
           esac            esac
             case :$dllsearchpath: in
             *":$testbindir:"*) ;;
             *) dllsearchpath="$dllsearchpath:$testbindir";;
             esac
           ;;            ;;
         esac          esac
           continue
         ;;          ;;
   
       -l*)        -l*)
         if test "$arg" = "-lc"; then          if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
           case "$host" in            case $host in
           *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)            *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
             # These systems don't actually have c library (as such)              # These systems don't actually have a C or math library (as such)
             continue              continue
             ;;              ;;
           esac            *-*-os2*)
         elif test "$arg" = "-lm"; then              # These systems don't actually have a C library (as such)
           case "$host" in              test "X$arg" = "X-lc" && continue
           *-*-cygwin* | *-*-beos*)              ;;
             # These systems don't actually have math library (as such)            *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
               # Do not include libc due to us having libc/libc_r.
               test "X$arg" = "X-lc" && continue
               ;;
             *-*-rhapsody* | *-*-darwin1.[012])
               # Rhapsody C and math libraries are in the System framework
               deplibs="$deplibs -framework System"
             continue              continue
             ;;              ;;
             *-*-sco3.2v5* | *-*-sco5v6*)
               # Causes problems with __ctype
               test "X$arg" = "X-lc" && continue
               ;;
             *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
               # Compiler inserts libc in the correct place for threads to work
               test "X$arg" = "X-lc" && continue
               ;;
           esac            esac
           elif test "X$arg" = "X-lc_r"; then
            case $host in
            *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
              # Do not include libc_r directly, use -pthread flag.
              continue
              ;;
            esac
         fi          fi
         deplibs="$deplibs $arg"          deplibs="$deplibs $arg"
           continue
         ;;          ;;
   
       -?thread)        # Tru64 UNIX uses -model [arg] to determine the layout of C++
         # classes, name mangling, and exception handling.
         -model)
           compile_command="$compile_command $arg"
           compiler_flags="$compiler_flags $arg"
           finalize_command="$finalize_command $arg"
           prev=xcompiler
           continue
           ;;
   
        -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
           compiler_flags="$compiler_flags $arg"
           compile_command="$compile_command $arg"
           finalize_command="$finalize_command $arg"
         deplibs="$deplibs $arg"          deplibs="$deplibs $arg"
           continue
         ;;          ;;
   
       -module)        -module)
Line 1108  compiler."
Line 1642  compiler."
         continue          continue
         ;;          ;;
   
         # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
         # -r[0-9][0-9]* specifies the processor on the SGI compiler
         # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
         # +DA*, +DD* enable 64-bit mode on the HP compiler
         # -q* pass through compiler args for the IBM compiler
         # -m* pass through architecture-specific compiler args for GCC
         # -m*, -t[45]*, -txscale* pass through architecture-specific
         # compiler args for GCC
         # -pg pass through profiling flag for GCC
         # @file GCC response files
         -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
         -t[45]*|-txscale*|@*)
   
           # Unknown arguments in both finalize_command and compile_command need
           # to be aesthetically quoted because they are evaled later.
           arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
           case $arg in
           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
             arg="\"$arg\""
             ;;
           esac
           compile_command="$compile_command $arg"
           finalize_command="$finalize_command $arg"
           compiler_flags="$compiler_flags $arg"
           continue
           ;;
   
         -shrext)
           prev=shrext
           continue
           ;;
   
         -no-fast-install)
           fast_install=no
           continue
           ;;
   
         -no-install)
           case $host in
           *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
             # The PATH hackery in wrapper scripts is required on Windows
             # in order for the loader to find any dlls it needs.
             $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
             $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
             fast_install=no
             ;;
           *) no_install=yes ;;
           esac
           continue
           ;;
   
       -no-undefined)        -no-undefined)
         allow_undefined=no          allow_undefined=no
         continue          continue
         ;;          ;;
   
         -objectlist)
           prev=objectlist
           continue
           ;;
   
       -o) prev=output ;;        -o) prev=output ;;
   
         -precious-files-regex)
           prev=precious_regex
           continue
           ;;
   
       -release)        -release)
         prev=release          prev=release
         continue          continue
Line 1133  compiler."
Line 1728  compiler."
       -R*)        -R*)
         dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`          dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
         # We need an absolute path.          # We need an absolute path.
         case "$dir" in          case $dir in
         [\\/]* | [A-Za-z]:[\\/]*) ;;          [\\/]* | [A-Za-z]:[\\/]*) ;;
         *)          *)
           $echo "$modename: only absolute run-paths are allowed" 1>&2            $echo "$modename: only absolute run-paths are allowed" 1>&2
           exit 1            exit $EXIT_FAILURE
           ;;            ;;
         esac          esac
         case "$xrpath " in          case "$xrpath " in
Line 1148  compiler."
Line 1743  compiler."
         ;;          ;;
   
       -static)        -static)
         # If we have no pic_flag, then this is the same as -all-static.          # The effects of -static are defined in a previous loop.
         if test -z "$pic_flag" && test -n "$link_static_flag"; then          # We used to do the same as -all-static on platforms that
           compile_command="$compile_command $link_static_flag"          # didn't have a PIC flag, but the assumption that the effects
           finalize_command="$finalize_command $link_static_flag"          # would be equivalent was wrong.  It would break on at least
         fi          # Digital Unix and AIX.
         continue          continue
         ;;          ;;
   
Line 1165  compiler."
Line 1760  compiler."
         prev=vinfo          prev=vinfo
         continue          continue
         ;;          ;;
         -version-number)
           prev=vinfo
           vinfo_number=yes
           continue
           ;;
   
         -Wc,*)
           args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
           arg=
           save_ifs="$IFS"; IFS=','
           for flag in $args; do
             IFS="$save_ifs"
             case $flag in
               *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
               flag="\"$flag\""
               ;;
             esac
             arg="$arg $wl$flag"
             compiler_flags="$compiler_flags $flag"
           done
           IFS="$save_ifs"
           arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
           ;;
   
         -Wl,*)
           args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
           arg=
           save_ifs="$IFS"; IFS=','
           for flag in $args; do
             IFS="$save_ifs"
             case $flag in
               *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
               flag="\"$flag\""
               ;;
             esac
             arg="$arg $wl$flag"
             compiler_flags="$compiler_flags $wl$flag"
             linker_flags="$linker_flags $flag"
           done
           IFS="$save_ifs"
           arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
           ;;
   
         -Xcompiler)
           prev=xcompiler
           continue
           ;;
   
         -Xlinker)
           prev=xlinker
           continue
           ;;
   
         -XCClinker)
           prev=xcclinker
           continue
           ;;
   
       # Some other compiler flag.        # Some other compiler flag.
       -* | +*)        -* | +*)
         # Unknown arguments in both finalize_command and compile_command need          # Unknown arguments in both finalize_command and compile_command need
         # to be aesthetically quoted because they are evaled later.          # to be aesthetically quoted because they are evaled later.
         arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`          arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
         case "$arg" in          case $arg in
         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)          *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
           arg="\"$arg\""            arg="\"$arg\""
           ;;            ;;
         esac          esac
         ;;          ;;
   
       *.o | *.obj | *.a | *.lib)        *.$objext)
         # A standard object.          # A standard object.
         libobjs="$libobjs $arg"          objs="$objs $arg"
         ;;          ;;
   
       *.lo)        *.lo)
         # A library object.          # A libtool-controlled object.
         if test "$prev" = dlfiles; then  
           dlfiles="$dlfiles $arg"          # Check to see that this really is a libtool object.
           if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then          if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
             prev=            pic_object=
             continue            non_pic_object=
   
             # Read the .lo file
             # If there is no directory component, then add one.
             case $arg in
             */* | *\\*) . $arg ;;
             *) . ./$arg ;;
             esac
   
             if test -z "$pic_object" || \
                test -z "$non_pic_object" ||
                test "$pic_object" = none && \
                test "$non_pic_object" = none; then
               $echo "$modename: cannot find name of object for \`$arg'" 1>&2
               exit $EXIT_FAILURE
             fi
   
             # Extract subdirectory from the argument.
             xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
             if test "X$xdir" = "X$arg"; then
               xdir=
             else
               xdir="$xdir/"
             fi
   
             if test "$pic_object" != none; then
               # Prepend the subdirectory the object is found in.
               pic_object="$xdir$pic_object"
   
               if test "$prev" = dlfiles; then
                 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
                   dlfiles="$dlfiles $pic_object"
                   prev=
                   continue
                 else
                   # If libtool objects are unsupported, then we need to preload.
                   prev=dlprefiles
                 fi
               fi
   
               # CHECK ME:  I think I busted this.  -Ossama
               if test "$prev" = dlprefiles; then
                 # Preload the old-style object.
                 dlprefiles="$dlprefiles $pic_object"
                 prev=
               fi
   
               # A PIC object.
               libobjs="$libobjs $pic_object"
               arg="$pic_object"
             fi
   
             # Non-PIC object.
             if test "$non_pic_object" != none; then
               # Prepend the subdirectory the object is found in.
               non_pic_object="$xdir$non_pic_object"
   
               # A standard non-PIC object
               non_pic_objects="$non_pic_objects $non_pic_object"
               if test -z "$pic_object" || test "$pic_object" = none ; then
                 arg="$non_pic_object"
               fi
           else            else
             # If libtool objects are unsupported, then we need to preload.              # If the PIC object exists, use it instead.
             prev=dlprefiles              # $xdir was prepended to $pic_object above.
               non_pic_object="$pic_object"
               non_pic_objects="$non_pic_objects $non_pic_object"
           fi            fi
         fi          else
             # Only an error if not doing a dry-run.
             if test -z "$run"; then
               $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
               exit $EXIT_FAILURE
             else
               # Dry-run case.
   
         if test "$prev" = dlprefiles; then              # Extract subdirectory from the argument.
           # Preload the old-style object.              xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
           dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`              if test "X$xdir" = "X$arg"; then
           prev=                xdir=
               else
                 xdir="$xdir/"
               fi
   
               pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
               non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
               libobjs="$libobjs $pic_object"
               non_pic_objects="$non_pic_objects $non_pic_object"
             fi
         fi          fi
         libobjs="$libobjs $arg"  
         ;;          ;;
   
         *.$libext)
           # An archive.
           deplibs="$deplibs $arg"
           old_deplibs="$old_deplibs $arg"
           continue
           ;;
   
       *.la)        *.la)
         # A libtool-controlled library.          # A libtool-controlled library.
   
         dlname=          if test "$prev" = dlfiles; then
         libdir=            # This library was specified with -dlopen.
         library_names=            dlfiles="$dlfiles $arg"
         old_library=            prev=
           elif test "$prev" = dlprefiles; then
             # The library was specified with -dlpreopen.
             dlprefiles="$dlprefiles $arg"
             prev=
           else
             deplibs="$deplibs $arg"
           fi
           continue
           ;;
   
         # Some other compiler argument.
         *)
           # Unknown arguments in both finalize_command and compile_command need
           # to be aesthetically quoted because they are evaled later.
           arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
           case $arg in
           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
             arg="\"$arg\""
             ;;
           esac
           ;;
         esac # arg
   
         # Now actually substitute the argument into the commands.
         if test -n "$arg"; then
           compile_command="$compile_command $arg"
           finalize_command="$finalize_command $arg"
         fi
       done # argument parsing loop
   
       if test -n "$prev"; then
         $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
         $echo "$help" 1>&2
         exit $EXIT_FAILURE
       fi
   
       if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
         eval arg=\"$export_dynamic_flag_spec\"
         compile_command="$compile_command $arg"
         finalize_command="$finalize_command $arg"
       fi
   
       oldlibs=
       # calculate the name of the file, without its directory
       outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
       libobjs_save="$libobjs"
   
       if test -n "$shlibpath_var"; then
         # get the directories listed in $shlibpath_var
         eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
       else
         shlib_search_path=
       fi
       eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
       eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
   
       output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
       if test "X$output_objdir" = "X$output"; then
         output_objdir="$objdir"
       else
         output_objdir="$output_objdir/$objdir"
       fi
       # Create the object directory.
       if test ! -d "$output_objdir"; then
         $show "$mkdir $output_objdir"
         $run $mkdir $output_objdir
         exit_status=$?
         if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
           exit $exit_status
         fi
       fi
   
       # Determine the type of output
       case $output in
       "")
         $echo "$modename: you must specify an output file" 1>&2
         $echo "$help" 1>&2
         exit $EXIT_FAILURE
         ;;
       *.$libext) linkmode=oldlib ;;
       *.lo | *.$objext) linkmode=obj ;;
       *.la) linkmode=lib ;;
       *) linkmode=prog ;; # Anything else should be a program.
       esac
   
       case $host in
       *cygwin* | *mingw* | *pw32*)
         # don't eliminate duplications in $postdeps and $predeps
         duplicate_compiler_generated_deps=yes
         ;;
       *)
         duplicate_compiler_generated_deps=$duplicate_deps
         ;;
       esac
       specialdeplibs=
   
       libs=
       # Find all interdependent deplibs by searching for libraries
       # that are linked more than once (e.g. -la -lb -la)
       for deplib in $deplibs; do
         if test "X$duplicate_deps" = "Xyes" ; then
           case "$libs " in
           *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
           esac
         fi
         libs="$libs $deplib"
       done
   
       if test "$linkmode" = lib; then
         libs="$predeps $libs $compiler_lib_search_path $postdeps"
   
         # Compute libraries that are listed more than once in $predeps
         # $postdeps and mark them as special (i.e., whose duplicates are
         # not to be eliminated).
         pre_post_deps=
         if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
           for pre_post_dep in $predeps $postdeps; do
             case "$pre_post_deps " in
             *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
             esac
             pre_post_deps="$pre_post_deps $pre_post_dep"
           done
         fi
         pre_post_deps=
       fi
   
       deplibs=
       newdependency_libs=
       newlib_search_path=
       need_relink=no # whether we're linking any uninstalled libtool libraries
       notinst_deplibs= # not-installed libtool libraries
       case $linkmode in
       lib)
           passes="conv link"
           for file in $dlfiles $dlprefiles; do
             case $file in
             *.la) ;;
             *)
               $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
               exit $EXIT_FAILURE
               ;;
             esac
           done
           ;;
       prog)
           compile_deplibs=
           finalize_deplibs=
           alldeplibs=no
           newdlfiles=
           newdlprefiles=
           passes="conv scan dlopen dlpreopen link"
           ;;
       *)  passes="conv"
           ;;
       esac
       for pass in $passes; do
         if test "$linkmode,$pass" = "lib,link" ||
            test "$linkmode,$pass" = "prog,scan"; then
           libs="$deplibs"
           deplibs=
         fi
         if test "$linkmode" = prog; then
           case $pass in
           dlopen) libs="$dlfiles" ;;
           dlpreopen) libs="$dlprefiles" ;;
           link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
           esac
         fi
         if test "$pass" = dlopen; then
           # Collect dlpreopened libraries
           save_deplibs="$deplibs"
           deplibs=
         fi
         for deplib in $libs; do
           lib=
           found=no
           case $deplib in
           -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
             if test "$linkmode,$pass" = "prog,link"; then
               compile_deplibs="$deplib $compile_deplibs"
               finalize_deplibs="$deplib $finalize_deplibs"
             else
               compiler_flags="$compiler_flags $deplib"
             fi
   
             case $linkmode in
             lib)
               deplibs="$deplib $deplibs"
               test "$pass" = conv && continue
               newdependency_libs="$deplib $newdependency_libs"
               ;;
             prog)
               if test "$pass" = conv; then
                 deplibs="$deplib $deplibs"
                 continue
               fi
               if test "$pass" = scan; then
                 deplibs="$deplib $deplibs"
               else
                 compile_deplibs="$deplib $compile_deplibs"
                 finalize_deplibs="$deplib $finalize_deplibs"
               fi
               ;;
             *)
               ;;
             esac # linkmode
   
             continue
             ;;
           -l*)
             if test "$linkmode" != lib && test "$linkmode" != prog; then
               $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
               continue
             fi
             name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
             for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
               for search_ext in .la $std_shrext .so .a; do
                 # Search the libtool library
                 lib="$searchdir/lib${name}${search_ext}"
                 if test -f "$lib"; then
                   if test "$search_ext" = ".la"; then
                     found=yes
                   else
                     found=no
                   fi
                   break 2
                 fi
               done
             done
             if test "$found" != yes; then
               # deplib doesn't seem to be a libtool library
               if test "$linkmode,$pass" = "prog,link"; then
                 compile_deplibs="$deplib $compile_deplibs"
                 finalize_deplibs="$deplib $finalize_deplibs"
               else
                 deplibs="$deplib $deplibs"
                 test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
               fi
               continue
             else # deplib is a libtool library
               # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
               # We need to do some special things here, and not later.
               if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
                 case " $predeps $postdeps " in
                 *" $deplib "*)
                   if (${SED} -e '2q' $lib |
                       grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
                     library_names=
                     old_library=
                     case $lib in
                     */* | *\\*) . $lib ;;
                     *) . ./$lib ;;
                     esac
                     for l in $old_library $library_names; do
                       ll="$l"
                     done
                     if test "X$ll" = "X$old_library" ; then # only static version available
                       found=no
                       ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
                       test "X$ladir" = "X$lib" && ladir="."
                       lib=$ladir/$old_library
                       if test "$linkmode,$pass" = "prog,link"; then
                         compile_deplibs="$deplib $compile_deplibs"
                         finalize_deplibs="$deplib $finalize_deplibs"
                       else
                         deplibs="$deplib $deplibs"
                         test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
                       fi
                       continue
                     fi
                   fi
                   ;;
                 *) ;;
                 esac
               fi
             fi
             ;; # -l
           -L*)
             case $linkmode in
             lib)
               deplibs="$deplib $deplibs"
               test "$pass" = conv && continue
               newdependency_libs="$deplib $newdependency_libs"
               newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
               ;;
             prog)
               if test "$pass" = conv; then
                 deplibs="$deplib $deplibs"
                 continue
               fi
               if test "$pass" = scan; then
                 deplibs="$deplib $deplibs"
               else
                 compile_deplibs="$deplib $compile_deplibs"
                 finalize_deplibs="$deplib $finalize_deplibs"
               fi
               newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
               ;;
             *)
               $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
               ;;
             esac # linkmode
             continue
             ;; # -L
           -R*)
             if test "$pass" = link; then
               dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
               # Make sure the xrpath contains only unique directories.
               case "$xrpath " in
               *" $dir "*) ;;
               *) xrpath="$xrpath $dir" ;;
               esac
             fi
             deplibs="$deplib $deplibs"
             continue
             ;;
           *.la) lib="$deplib" ;;
           *.$libext)
             if test "$pass" = conv; then
               deplibs="$deplib $deplibs"
               continue
             fi
             case $linkmode in
             lib)
               valid_a_lib=no
               case $deplibs_check_method in
                 match_pattern*)
                   set dummy $deplibs_check_method
                   match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
                   if eval $echo \"$deplib\" 2>/dev/null \
                       | $SED 10q \
                       | $EGREP "$match_pattern_regex" > /dev/null; then
                     valid_a_lib=yes
                   fi
                   ;;
                 pass_all)
                   valid_a_lib=yes
                   ;;
               esac
               if test "$valid_a_lib" != yes; then
                 $echo
                 $echo "*** Warning: Trying to link with static lib archive $deplib."
                 $echo "*** I have the capability to make that library automatically link in when"
                 $echo "*** you link to this library.  But I can only do this if you have a"
                 $echo "*** shared version of the library, which you do not appear to have"
                 $echo "*** because the file extensions .$libext of this argument makes me believe"
                 $echo "*** that it is just a static archive that I should not used here."
               else
                 $echo
                 $echo "*** Warning: Linking the shared library $output against the"
                 $echo "*** static library $deplib is not portable!"
                 deplibs="$deplib $deplibs"
               fi
               continue
               ;;
             prog)
               if test "$pass" != link; then
                 deplibs="$deplib $deplibs"
               else
                 compile_deplibs="$deplib $compile_deplibs"
                 finalize_deplibs="$deplib $finalize_deplibs"
               fi
               continue
               ;;
             esac # linkmode
             ;; # *.$libext
           *.lo | *.$objext)
             if test "$pass" = conv; then
               deplibs="$deplib $deplibs"
             elif test "$linkmode" = prog; then
               if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
                 # If there is no dlopen support or we're linking statically,
                 # we need to preload.
                 newdlprefiles="$newdlprefiles $deplib"
                 compile_deplibs="$deplib $compile_deplibs"
                 finalize_deplibs="$deplib $finalize_deplibs"
               else
                 newdlfiles="$newdlfiles $deplib"
               fi
             fi
             continue
             ;;
           %DEPLIBS%)
             alldeplibs=yes
             continue
             ;;
           esac # case $deplib
           if test "$found" = yes || test -f "$lib"; then :
           else
             $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
             exit $EXIT_FAILURE
           fi
   
         # Check to see that this really is a libtool archive.          # Check to see that this really is a libtool archive.
         if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :          if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
         else          else
           $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2            $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
           exit 1            exit $EXIT_FAILURE
         fi          fi
   
           ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
           test "X$ladir" = "X$lib" && ladir="."
   
           dlname=
           dlopen=
           dlpreopen=
           libdir=
           library_names=
           old_library=
         # If the library was installed with an old release of libtool,          # If the library was installed with an old release of libtool,
         # it will not redefine variable installed.          # it will not redefine variables installed, or shouldnotlink
         installed=yes          installed=yes
           shouldnotlink=no
           avoidtemprpath=
   
   
         # Read the .la file          # Read the .la file
         # If there is no directory component, then add one.          case $lib in
         case "$arg" in          */* | *\\*) . $lib ;;
         */* | *\\*) . $arg ;;          *) . ./$lib ;;
         *) . ./$arg ;;  
         esac          esac
   
           if test "$linkmode,$pass" = "lib,link" ||
              test "$linkmode,$pass" = "prog,scan" ||
              { test "$linkmode" != prog && test "$linkmode" != lib; }; then
             test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
             test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
           fi
   
           if test "$pass" = conv; then
             # Only check for convenience libraries
             deplibs="$lib $deplibs"
             if test -z "$libdir"; then
               if test -z "$old_library"; then
                 $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
                 exit $EXIT_FAILURE
               fi
               # It is a libtool convenience library, so add in its objects.
               convenience="$convenience $ladir/$objdir/$old_library"
               old_convenience="$old_convenience $ladir/$objdir/$old_library"
               tmp_libs=
               for deplib in $dependency_libs; do
                 deplibs="$deplib $deplibs"
                 if test "X$duplicate_deps" = "Xyes" ; then
                   case "$tmp_libs " in
                   *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
                   esac
                 fi
                 tmp_libs="$tmp_libs $deplib"
               done
             elif test "$linkmode" != prog && test "$linkmode" != lib; then
               $echo "$modename: \`$lib' is not a convenience library" 1>&2
               exit $EXIT_FAILURE
             fi
             continue
           fi # $pass = conv
   
   
         # Get the name of the library we link against.          # Get the name of the library we link against.
         linklib=          linklib=
         for l in $old_library $library_names; do          for l in $old_library $library_names; do
           linklib="$l"            linklib="$l"
         done          done
   
         if test -z "$linklib"; then          if test -z "$linklib"; then
           $echo "$modename: cannot find name of link library for \`$arg'" 1>&2            $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
           exit 1            exit $EXIT_FAILURE
         fi          fi
   
         # Find the relevant object directory and library name.          # This library was specified with -dlopen.
         name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`          if test "$pass" = dlopen; then
             if test -z "$libdir"; then
               $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
               exit $EXIT_FAILURE
             fi
             if test -z "$dlname" ||
                test "$dlopen_support" != yes ||
                test "$build_libtool_libs" = no; then
               # If there is no dlname, no dlopen support or we're linking
               # statically, we need to preload.  We also need to preload any
               # dependent libraries so libltdl's deplib preloader doesn't
               # bomb out in the load deplibs phase.
               dlprefiles="$dlprefiles $lib $dependency_libs"
             else
               newdlfiles="$newdlfiles $lib"
             fi
             continue
           fi # $pass = dlopen
   
           # We need an absolute path.
           case $ladir in
           [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
           *)
             abs_ladir=`cd "$ladir" && pwd`
             if test -z "$abs_ladir"; then
               $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
               $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
               abs_ladir="$ladir"
             fi
             ;;
           esac
           laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
   
           # Find the relevant object directory and library name.
         if test "X$installed" = Xyes; then          if test "X$installed" = Xyes; then
           dir="$libdir"            if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
               $echo "$modename: warning: library \`$lib' was moved." 1>&2
               dir="$ladir"
               absdir="$abs_ladir"
               libdir="$abs_ladir"
             else
               dir="$libdir"
               absdir="$libdir"
             fi
             test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
         else          else
           dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`            if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
           if test "X$dir" = "X$arg"; then              dir="$ladir"
             dir="$objdir"              absdir="$abs_ladir"
               # Remove this search path later
               notinst_path="$notinst_path $abs_ladir"
           else            else
             dir="$dir/$objdir"              dir="$ladir/$objdir"
               absdir="$abs_ladir/$objdir"
               # Remove this search path later
               notinst_path="$notinst_path $abs_ladir"
           fi            fi
         fi          fi # $installed = yes
           name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
   
         if test -n "$dependency_libs"; then          # This library was specified with -dlpreopen.
           # Extract -R and -L from dependency_libs          if test "$pass" = dlpreopen; then
           temp_deplibs=            if test -z "$libdir"; then
           for deplib in $dependency_libs; do              $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
             case "$deplib" in              exit $EXIT_FAILURE
             -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'`            fi
                  case " $rpath $xrpath " in            # Prefer using a static library (so that no silly _DYNAMIC symbols
                  *" $temp_xrpath "*) ;;            # are required to link).
                  *) xrpath="$xrpath $temp_xrpath";;            if test -n "$old_library"; then
                  esac;;              newdlprefiles="$newdlprefiles $dir/$old_library"
             -L*) case "$compile_command $temp_deplibs " in            # Otherwise, use the dlname, so that lt_dlopen finds it.
                  *" $deplib "*) ;;            elif test -n "$dlname"; then
                  *) temp_deplibs="$temp_deplibs $deplib";;              newdlprefiles="$newdlprefiles $dir/$dlname"
                  esac            else
                  temp_dir=`$echo "X$deplib" | $Xsed -e 's/^-L//'`              newdlprefiles="$newdlprefiles $dir/$linklib"
                  case " $lib_search_path " in            fi
                  *" $temp_dir "*) ;;          fi # $pass = dlpreopen
                  *) lib_search_path="$lib_search_path $temp_dir";;  
                  esac  
                  ;;  
             *) temp_deplibs="$temp_deplibs $deplib";;  
             esac  
           done  
           dependency_libs="$temp_deplibs"  
         fi  
   
         if test -z "$libdir"; then          if test -z "$libdir"; then
           # It is a libtool convenience library, so add in its objects.            # Link the convenience library
           convenience="$convenience $dir/$old_library"            if test "$linkmode" = lib; then
           old_convenience="$old_convenience $dir/$old_library"              deplibs="$dir/$old_library $deplibs"
           deplibs="$deplibs$dependency_libs"            elif test "$linkmode,$pass" = "prog,link"; then
           compile_command="$compile_command $dir/$old_library$dependency_libs"              compile_deplibs="$dir/$old_library $compile_deplibs"
           finalize_command="$finalize_command $dir/$old_library$dependency_libs"              finalize_deplibs="$dir/$old_library $finalize_deplibs"
             else
               deplibs="$lib $deplibs" # used for prog,scan pass
             fi
           continue            continue
         fi          fi
   
         # This library was specified with -dlopen.  
         if test "$prev" = dlfiles; then          if test "$linkmode" = prog && test "$pass" != link; then
           dlfiles="$dlfiles $arg"            newlib_search_path="$newlib_search_path $ladir"
           if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then            deplibs="$lib $deplibs"
             # If there is no dlname, no dlopen support or we're linking statically,  
             # we need to preload.            linkalldeplibs=no
             prev=dlprefiles            if test "$link_all_deplibs" != no || test -z "$library_names" ||
           else               test "$build_libtool_libs" = no; then
             # We should not create a dependency on this library, but we              linkalldeplibs=yes
             # may need any libraries it requires.  
             compile_command="$compile_command$dependency_libs"  
             finalize_command="$finalize_command$dependency_libs"  
             prev=  
             continue  
           fi            fi
         fi  
   
         # The library was specified with -dlpreopen.            tmp_libs=
         if test "$prev" = dlprefiles; then            for deplib in $dependency_libs; do
           # Prefer using a static library (so that no silly _DYNAMIC symbols              case $deplib in
           # are required to link).              -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
           if test -n "$old_library"; then              esac
             dlprefiles="$dlprefiles $dir/$old_library"              # Need to link against all dependency_libs?
           else              if test "$linkalldeplibs" = yes; then
             dlprefiles="$dlprefiles $dir/$linklib"                deplibs="$deplib $deplibs"
               else
                 # Need to hardcode shared library paths
                 # or/and link against static libraries
                 newdependency_libs="$deplib $newdependency_libs"
               fi
               if test "X$duplicate_deps" = "Xyes" ; then
                 case "$tmp_libs " in
                 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
                 esac
               fi
               tmp_libs="$tmp_libs $deplib"
             done # for deplib
             continue
           fi # $linkmode = prog...
   
           if test "$linkmode,$pass" = "prog,link"; then
             if test -n "$library_names" &&
                { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
               # We need to hardcode the library path
               if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
                 # Make sure the rpath contains only unique directories.
                 case "$temp_rpath " in
                 *" $dir "*) ;;
                 *" $absdir "*) ;;
                 *) temp_rpath="$temp_rpath $absdir" ;;
                 esac
               fi
   
               # Hardcode the library path.
               # Skip directories that are in the system default run-time
               # search path.
               case " $sys_lib_dlsearch_path " in
               *" $absdir "*) ;;
               *)
                 case "$compile_rpath " in
                 *" $absdir "*) ;;
                 *) compile_rpath="$compile_rpath $absdir"
                 esac
                 ;;
               esac
               case " $sys_lib_dlsearch_path " in
               *" $libdir "*) ;;
               *)
                 case "$finalize_rpath " in
                 *" $libdir "*) ;;
                 *) finalize_rpath="$finalize_rpath $libdir"
                 esac
                 ;;
               esac
             fi # $linkmode,$pass = prog,link...
   
             if test "$alldeplibs" = yes &&
                { test "$deplibs_check_method" = pass_all ||
                  { test "$build_libtool_libs" = yes &&
                    test -n "$library_names"; }; }; then
               # We only need to search for static libraries
               continue
           fi            fi
           prev=  
         fi          fi
   
           link_static=no # Whether the deplib will be linked statically
           use_static_libs=$prefer_static_libs
           if test "$use_static_libs" = built && test "$installed" = yes ; then
             use_static_libs=no
           fi
         if test -n "$library_names" &&          if test -n "$library_names" &&
            { test "$prefer_static_libs" = no || test -z "$old_library"; }; then             { test "$use_static_libs" = no || test -z "$old_library"; }; then
           link_against_libtool_libs="$link_against_libtool_libs $arg"            if test "$installed" = no; then
           if test -n "$shlibpath_var"; then              notinst_deplibs="$notinst_deplibs $lib"
             # Make sure the rpath contains only unique directories.              need_relink=yes
             case "$temp_rpath " in  
             *" $dir "*) ;;  
             *) temp_rpath="$temp_rpath $dir" ;;  
             esac  
           fi            fi
             # This is a shared library
   
           # We need an absolute path.            # Warn about portability, can't link against -module's on
           case "$dir" in            # some systems (darwin)
           [\\/] | [A-Za-z]:[\\/]*) absdir="$dir" ;;            if test "$shouldnotlink" = yes && test "$pass" = link ; then
           *)              $echo
             absdir=`cd "$dir" && pwd`              if test "$linkmode" = prog; then
             if test -z "$absdir"; then                $echo "*** Warning: Linking the executable $output against the loadable module"
               $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2              else
               $echo "$modename: passing it literally to the linker, although it might fail" 1>&2                $echo "*** Warning: Linking the shared library $output against the loadable module"
               absdir="$dir"  
             fi              fi
             ;;              $echo "*** $linklib is not portable!"
           esac            fi
             if test "$linkmode" = lib &&
           # This is the magic to use -rpath.               test "$hardcode_into_libs" = yes; then
           # Skip directories that are in the system default run-time              # Hardcode the library path.
           # search path, unless they have been requested with -R.              # Skip directories that are in the system default run-time
           case " $sys_lib_dlsearch_path " in              # search path.
           *" $absdir "*) ;;              case " $sys_lib_dlsearch_path " in
           *)  
             case "$compile_rpath " in  
             *" $absdir "*) ;;              *" $absdir "*) ;;
             *) compile_rpath="$compile_rpath $absdir"              *)
                 case "$compile_rpath " in
                 *" $absdir "*) ;;
                 *) compile_rpath="$compile_rpath $absdir"
                 esac
                 ;;
             esac              esac
             ;;              case " $sys_lib_dlsearch_path " in
           esac  
   
           case " $sys_lib_dlsearch_path " in  
           *" $libdir "*) ;;  
           *)  
             case "$finalize_rpath " in  
             *" $libdir "*) ;;              *" $libdir "*) ;;
             *) finalize_rpath="$finalize_rpath $libdir"              *)
                 case "$finalize_rpath " in
                 *" $libdir "*) ;;
                 *) finalize_rpath="$finalize_rpath $libdir"
                 esac
                 ;;
             esac              esac
             ;;            fi
           esac  
   
           lib_linked=yes            if test -n "$old_archive_from_expsyms_cmds"; then
           case "$hardcode_action" in              # figure out the soname
           immediate | unsupported)              set dummy $library_names
             if test "$hardcode_direct" = no; then              realname="$2"
               compile_command="$compile_command $dir/$linklib"              shift; shift
               deplibs="$deplibs $dir/$linklib"              libname=`eval \\$echo \"$libname_spec\"`
               case "$host" in              # use dlname if we got it. it's perfectly good, no?
               *-*-cygwin* | *-*-mingw* | *-*-os2*)              if test -n "$dlname"; then
                 dllsearchdir=`cd "$dir" && pwd || echo "$dir"`                soname="$dlname"
                 if test -n "$dllsearchpath"; then              elif test -n "$soname_spec"; then
                   dllsearchpath="$dllsearchpath:$dllsearchdir"                # bleh windows
                 else                case $host in
                   dllsearchpath="$dllsearchdir"                *cygwin* | mingw*)
                 fi                  major=`expr $current - $age`
                   versuffix="-$major"
                 ;;                  ;;
               esac                esac
             elif test "$hardcode_minus_L" = no; then                eval soname=\"$soname_spec\"
               case "$host" in              else
               *-*-sunos*)                soname="$realname"
                 compile_shlibpath="$compile_shlibpath$dir:"              fi
                 ;;  
               # Make a new name for the extract_expsyms_cmds to use
               soroot="$soname"
               soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
               newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
   
               # If the library has no export list, then create one now
               if test -f "$output_objdir/$soname-def"; then :
               else
                 $show "extracting exported symbol list from \`$soname'"
                 save_ifs="$IFS"; IFS='~'
                 cmds=$extract_expsyms_cmds
                 for cmd in $cmds; do
                   IFS="$save_ifs"
                   eval cmd=\"$cmd\"
                   $show "$cmd"
                   $run eval "$cmd" || exit $?
                 done
                 IFS="$save_ifs"
               fi
   
               # Create $newlib
               if test -f "$output_objdir/$newlib"; then :; else
                 $show "generating import library for \`$soname'"
                 save_ifs="$IFS"; IFS='~'
                 cmds=$old_archive_from_expsyms_cmds
                 for cmd in $cmds; do
                   IFS="$save_ifs"
                   eval cmd=\"$cmd\"
                   $show "$cmd"
                   $run eval "$cmd" || exit $?
                 done
                 IFS="$save_ifs"
               fi
               # make sure the library variables are pointing to the new library
               dir=$output_objdir
               linklib=$newlib
             fi # test -n "$old_archive_from_expsyms_cmds"
   
             if test "$linkmode" = prog || test "$mode" != relink; then
               add_shlibpath=
               add_dir=
               add=
               lib_linked=yes
               case $hardcode_action in
               immediate | unsupported)
                 if test "$hardcode_direct" = no; then
                   add="$dir/$linklib"
                   case $host in
                     *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
                     *-*-sysv4*uw2*) add_dir="-L$dir" ;;
                     *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
                       *-*-unixware7*) add_dir="-L$dir" ;;
                     *-*-darwin* )
                       # if the lib is a module then we can not link against
                       # it, someone is ignoring the new warnings I added
                       if /usr/bin/file -L $add 2> /dev/null |
                         $EGREP ": [^:]* bundle" >/dev/null ; then
                         $echo "** Warning, lib $linklib is a module, not a shared library"
                         if test -z "$old_library" ; then
                           $echo
                           $echo "** And there doesn't seem to be a static archive available"
                           $echo "** The link will probably fail, sorry"
                         else
                           add="$dir/$old_library"
                         fi
                       fi
                   esac
                 elif test "$hardcode_minus_L" = no; then
                   case $host in
                   *-*-sunos*) add_shlibpath="$dir" ;;
                   esac
                   add_dir="-L$dir"
                   add="-l$name"
                 elif test "$hardcode_shlibpath_var" = no; then
                   add_shlibpath="$dir"
                   add="-l$name"
                 else
                   lib_linked=no
                 fi
                 ;;
               relink)
                 if test "$hardcode_direct" = yes; then
                   add="$dir/$linklib"
                 elif test "$hardcode_minus_L" = yes; then
                   add_dir="-L$dir"
                   # Try looking first in the location we're being installed to.
                   if test -n "$inst_prefix_dir"; then
                     case $libdir in
                       [\\/]*)
                         add_dir="$add_dir -L$inst_prefix_dir$libdir"
                         ;;
                     esac
                   fi
                   add="-l$name"
                 elif test "$hardcode_shlibpath_var" = yes; then
                   add_shlibpath="$dir"
                   add="-l$name"
                 else
                   lib_linked=no
                 fi
                 ;;
               *) lib_linked=no ;;
               esac
   
               if test "$lib_linked" != yes; then
                 $echo "$modename: configuration error: unsupported hardcode properties"
                 exit $EXIT_FAILURE
               fi
   
               if test -n "$add_shlibpath"; then
                 case :$compile_shlibpath: in
                 *":$add_shlibpath:"*) ;;
                 *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
               esac                esac
               case "$compile_command " in              fi
               *" -L$dir "*) ;;              if test "$linkmode" = prog; then
               *) compile_command="$compile_command -L$dir";;                test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
               esac                test -n "$add" && compile_deplibs="$add $compile_deplibs"
               compile_command="$compile_command -l$name"  
               deplibs="$deplibs -L$dir -l$name"  
             elif test "$hardcode_shlibpath_var" = no; then  
               case ":$compile_shlibpath:" in  
               *":$dir:"*) ;;  
               *) compile_shlibpath="$compile_shlibpath$dir:";;  
               esac  
               compile_command="$compile_command -l$name"  
               deplibs="$deplibs -l$name"  
             else              else
               lib_linked=no                test -n "$add_dir" && deplibs="$add_dir $deplibs"
                 test -n "$add" && deplibs="$add $deplibs"
                 if test "$hardcode_direct" != yes && \
                    test "$hardcode_minus_L" != yes && \
                    test "$hardcode_shlibpath_var" = yes; then
                   case :$finalize_shlibpath: in
                   *":$libdir:"*) ;;
                   *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
                   esac
                 fi
             fi              fi
             ;;            fi
   
           relink)            if test "$linkmode" = prog || test "$mode" = relink; then
               add_shlibpath=
               add_dir=
               add=
               # Finalize command for both is simple: just hardcode it.
             if test "$hardcode_direct" = yes; then              if test "$hardcode_direct" = yes; then
               compile_command="$compile_command $absdir/$linklib"                add="$libdir/$linklib"
               deplibs="$deplibs $absdir/$linklib"  
             elif test "$hardcode_minus_L" = yes; then              elif test "$hardcode_minus_L" = yes; then
               case "$compile_command " in                add_dir="-L$libdir"
               *" -L$absdir "*) ;;                add="-l$name"
               *) compile_command="$compile_command -L$absdir";;  
               esac  
               compile_command="$compile_command -l$name"  
               deplibs="$deplibs -L$absdir -l$name"  
             elif test "$hardcode_shlibpath_var" = yes; then              elif test "$hardcode_shlibpath_var" = yes; then
               case ":$compile_shlibpath:" in                case :$finalize_shlibpath: in
               *":$absdir:"*) ;;                *":$libdir:"*) ;;
               *) compile_shlibpath="$compile_shlibpath$absdir:";;                *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
               esac                esac
               compile_command="$compile_command -l$name"                add="-l$name"
               deplibs="$deplibs -l$name"              elif test "$hardcode_automatic" = yes; then
                 if test -n "$inst_prefix_dir" &&
                    test -f "$inst_prefix_dir$libdir/$linklib" ; then
                   add="$inst_prefix_dir$libdir/$linklib"
                 else
                   add="$libdir/$linklib"
                 fi
             else              else
               lib_linked=no                # We cannot seem to hardcode it, guess we'll fake it.
                 add_dir="-L$libdir"
                 # Try looking first in the location we're being installed to.
                 if test -n "$inst_prefix_dir"; then
                   case $libdir in
                     [\\/]*)
                       add_dir="$add_dir -L$inst_prefix_dir$libdir"
                       ;;
                   esac
                 fi
                 add="-l$name"
             fi              fi
             ;;  
   
           *)              if test "$linkmode" = prog; then
             lib_linked=no                test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
             ;;                test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
           esac              else
                 test -n "$add_dir" && deplibs="$add_dir $deplibs"
           if test "$lib_linked" != yes; then                test -n "$add" && deplibs="$add $deplibs"
             $echo "$modename: configuration error: unsupported hardcode properties"              fi
             exit 1  
           fi            fi
           elif test "$linkmode" = prog; then
           # Finalize command for both is simple: just hardcode it.  
           if test "$hardcode_direct" = yes; then  
             finalize_command="$finalize_command $libdir/$linklib"  
           elif test "$hardcode_minus_L" = yes; then  
             case "$finalize_command " in  
             *" -L$libdir "*) ;;  
             *) finalize_command="$finalize_command -L$libdir";;  
             esac  
             finalize_command="$finalize_command -l$name"  
           elif test "$hardcode_shlibpath_var" = yes; then  
             case ":$finalize_shlibpath:" in  
             *":$libdir:"*) ;;  
             *) finalize_shlibpath="$finalize_shlibpath$libdir:";;  
             esac  
             finalize_command="$finalize_command -l$name"  
           else  
             # We cannot seem to hardcode it, guess we'll fake it.  
             case "$finalize_command " in  
             *" -L$dir "*) ;;  
             *) finalize_command="$finalize_command -L$libdir";;  
             esac  
             finalize_command="$finalize_command -l$name"  
           fi  
         else  
           # Transform directly to old archives if we don't build new libraries.  
           if test -n "$pic_flag" && test -z "$old_library"; then  
             $echo "$modename: cannot find static library for \`$arg'" 1>&2  
             exit 1  
           fi  
   
           # Here we assume that one of hardcode_direct or hardcode_minus_L            # Here we assume that one of hardcode_direct or hardcode_minus_L
           # is not unsupported.  This is valid on all known static and            # is not unsupported.  This is valid on all known static and
           # shared platforms.            # shared platforms.
           if test "$hardcode_direct" != unsupported; then            if test "$hardcode_direct" != unsupported; then
             test -n "$old_library" && linklib="$old_library"              test -n "$old_library" && linklib="$old_library"
             compile_command="$compile_command $dir/$linklib"              compile_deplibs="$dir/$linklib $compile_deplibs"
             finalize_command="$finalize_command $dir/$linklib"              finalize_deplibs="$dir/$linklib $finalize_deplibs"
           else            else
             case "$compile_command " in              compile_deplibs="-l$name -L$dir $compile_deplibs"
             *" -L$dir "*) ;;              finalize_deplibs="-l$name -L$dir $finalize_deplibs"
             *) compile_command="$compile_command -L$dir";;  
             esac  
             compile_command="$compile_command -l$name"  
             case "$finalize_command " in  
             *" -L$dir "*) ;;  
             *) finalize_command="$finalize_command -L$dir";;  
             esac  
             finalize_command="$finalize_command -l$name"  
           fi            fi
         fi          elif test "$build_libtool_libs" = yes; then
             # Not a shared library
             if test "$deplibs_check_method" != pass_all; then
               # We're trying link a shared library against a static one
               # but the system doesn't support it.
   
         # Add in any libraries that this one depends upon.              # Just print a warning and add the library to dependency_libs so
         compile_command="$compile_command$dependency_libs"              # that the program can be linked against the static library.
         finalize_command="$finalize_command$dependency_libs"              $echo
         continue              $echo "*** Warning: This system can not link to static lib archive $lib."
         ;;              $echo "*** I have the capability to make that library automatically link in when"
               $echo "*** you link to this library.  But I can only do this if you have a"
               $echo "*** shared version of the library, which you do not appear to have."
               if test "$module" = yes; then
                 $echo "*** But as you try to build a module library, libtool will still create "
                 $echo "*** a static module, that should work as long as the dlopening application"
                 $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
                 if test -z "$global_symbol_pipe"; then
                   $echo
                   $echo "*** However, this would only work if libtool was able to extract symbol"
                   $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
                   $echo "*** not find such a program.  So, this module is probably useless."
                   $echo "*** \`nm' from GNU binutils and a full rebuild may help."
                 fi
                 if test "$build_old_libs" = no; then
                   build_libtool_libs=module
                   build_old_libs=yes
                 else
                   build_libtool_libs=no
                 fi
               fi
             else
               deplibs="$dir/$old_library $deplibs"
               link_static=yes
             fi
           fi # link shared/static library?
   
       # Some other compiler argument.          if test "$linkmode" = lib; then
       *)            if test -n "$dependency_libs" &&
         # Unknown arguments in both finalize_command and compile_command need               { test "$hardcode_into_libs" != yes ||
         # to be aesthetically quoted because they are evaled later.                 test "$build_old_libs" = yes ||
         arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`                 test "$link_static" = yes; }; then
         case "$arg" in              # Extract -R from dependency_libs
         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)              temp_deplibs=
           arg="\"$arg\""              for libdir in $dependency_libs; do
           ;;                case $libdir in
         esac                -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
         ;;                     case " $xrpath " in
       esac                     *" $temp_xrpath "*) ;;
                      *) xrpath="$xrpath $temp_xrpath";;
                      esac;;
                 *) temp_deplibs="$temp_deplibs $libdir";;
                 esac
               done
               dependency_libs="$temp_deplibs"
             fi
   
       # Now actually substitute the argument into the commands.            newlib_search_path="$newlib_search_path $absdir"
       if test -n "$arg"; then            # Link against this library
         compile_command="$compile_command $arg"            test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
         finalize_command="$finalize_command $arg"            # ... and its dependency_libs
             tmp_libs=
             for deplib in $dependency_libs; do
               newdependency_libs="$deplib $newdependency_libs"
               if test "X$duplicate_deps" = "Xyes" ; then
                 case "$tmp_libs " in
                 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
                 esac
               fi
               tmp_libs="$tmp_libs $deplib"
             done
   
             if test "$link_all_deplibs" != no; then
               # Add the search paths of all dependency libraries
               for deplib in $dependency_libs; do
                 case $deplib in
                 -L*) path="$deplib" ;;
                 *.la)
                   dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
                   test "X$dir" = "X$deplib" && dir="."
                   # We need an absolute path.
                   case $dir in
                   [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
                   *)
                     absdir=`cd "$dir" && pwd`
                     if test -z "$absdir"; then
                       $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
                       absdir="$dir"
                     fi
                     ;;
                   esac
                   if grep "^installed=no" $deplib > /dev/null; then
                     path="$absdir/$objdir"
                   else
                     eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
                     if test -z "$libdir"; then
                       $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
                       exit $EXIT_FAILURE
                     fi
                     if test "$absdir" != "$libdir"; then
                       $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
                     fi
                     path="$absdir"
                   fi
                   depdepl=
                   case $host in
                   *-*-darwin*)
                     # we do not want to link against static libs,
                     # but need to link against shared
                     eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
                     if test -n "$deplibrary_names" ; then
                       for tmp in $deplibrary_names ; do
                         depdepl=$tmp
                       done
                       if test -f "$path/$depdepl" ; then
                         depdepl="$path/$depdepl"
                       fi
                       # do not add paths which are already there
                       case " $newlib_search_path " in
                       *" $path "*) ;;
                       *) newlib_search_path="$newlib_search_path $path";;
                       esac
                     fi
                     path=""
                     ;;
                   *)
                     path="-L$path"
                     ;;
                   esac
                   ;;
                 -l*)
                   case $host in
                   *-*-darwin*)
                     # Again, we only want to link against shared libraries
                     eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
                     for tmp in $newlib_search_path ; do
                       if test -f "$tmp/lib$tmp_libs.dylib" ; then
                         eval depdepl="$tmp/lib$tmp_libs.dylib"
                         break
                       fi
                     done
                     path=""
                     ;;
                   *) continue ;;
                   esac
                   ;;
                 *) continue ;;
                 esac
                 case " $deplibs " in
                 *" $path "*) ;;
                 *) deplibs="$path $deplibs" ;;
                 esac
                 case " $deplibs " in
                 *" $depdepl "*) ;;
                 *) deplibs="$depdepl $deplibs" ;;
                 esac
               done
             fi # link_all_deplibs != no
           fi # linkmode = lib
         done # for deplib in $libs
         dependency_libs="$newdependency_libs"
         if test "$pass" = dlpreopen; then
           # Link the dlpreopened libraries before other libraries
           for deplib in $save_deplibs; do
             deplibs="$deplib $deplibs"
           done
       fi        fi
     done        if test "$pass" != dlopen; then
           if test "$pass" != conv; then
             # Make sure lib_search_path contains only unique directories.
             lib_search_path=
             for dir in $newlib_search_path; do
               case "$lib_search_path " in
               *" $dir "*) ;;
               *) lib_search_path="$lib_search_path $dir" ;;
               esac
             done
             newlib_search_path=
           fi
   
     if test -n "$prev"; then          if test "$linkmode,$pass" != "prog,link"; then
       $echo "$modename: the \`$prevarg' option requires an argument" 1>&2            vars="deplibs"
       $echo "$help" 1>&2          else
       exit 1            vars="compile_deplibs finalize_deplibs"
           fi
           for var in $vars dependency_libs; do
             # Add libraries to $var in reverse order
             eval tmp_libs=\"\$$var\"
             new_libs=
             for deplib in $tmp_libs; do
               # FIXME: Pedantically, this is the right thing to do, so
               #        that some nasty dependency loop isn't accidentally
               #        broken:
               #new_libs="$deplib $new_libs"
               # Pragmatically, this seems to cause very few problems in
               # practice:
               case $deplib in
               -L*) new_libs="$deplib $new_libs" ;;
               -R*) ;;
               *)
                 # And here is the reason: when a library appears more
                 # than once as an explicit dependence of a library, or
                 # is implicitly linked in more than once by the
                 # compiler, it is considered special, and multiple
                 # occurrences thereof are not removed.  Compare this
                 # with having the same library being listed as a
                 # dependency of multiple other libraries: in this case,
                 # we know (pedantically, we assume) the library does not
                 # need to be listed more than once, so we keep only the
                 # last copy.  This is not always right, but it is rare
                 # enough that we require users that really mean to play
                 # such unportable linking tricks to link the library
                 # using -Wl,-lname, so that libtool does not consider it
                 # for duplicate removal.
                 case " $specialdeplibs " in
                 *" $deplib "*) new_libs="$deplib $new_libs" ;;
                 *)
                   case " $new_libs " in
                   *" $deplib "*) ;;
                   *) new_libs="$deplib $new_libs" ;;
                   esac
                   ;;
                 esac
                 ;;
               esac
             done
             tmp_libs=
             for deplib in $new_libs; do
               case $deplib in
               -L*)
                 case " $tmp_libs " in
                 *" $deplib "*) ;;
                 *) tmp_libs="$tmp_libs $deplib" ;;
                 esac
                 ;;
               *) tmp_libs="$tmp_libs $deplib" ;;
               esac
             done
             eval $var=\"$tmp_libs\"
           done # for var
         fi
         # Last step: remove runtime libs from dependency_libs
         # (they stay in deplibs)
         tmp_libs=
         for i in $dependency_libs ; do
           case " $predeps $postdeps $compiler_lib_search_path " in
           *" $i "*)
             i=""
             ;;
           esac
           if test -n "$i" ; then
             tmp_libs="$tmp_libs $i"
           fi
         done
         dependency_libs=$tmp_libs
       done # for pass
       if test "$linkmode" = prog; then
         dlfiles="$newdlfiles"
         dlprefiles="$newdlprefiles"
     fi      fi
   
     if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then      case $linkmode in
       eval arg=\"$export_dynamic_flag_spec\"      oldlib)
       compile_command="$compile_command $arg"  
       finalize_command="$finalize_command $arg"  
     fi  
   
     oldlibs=  
     # calculate the name of the file, without its directory  
     outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`  
     libobjs_save="$libobjs"  
   
     case "$output" in  
     "")  
       $echo "$modename: you must specify an output file" 1>&2  
       $echo "$help" 1>&2  
       exit 1  
       ;;  
   
     *.a | *.lib)  
       if test -n "$link_against_libtool_libs"; then  
         $echo "$modename: error: cannot link libtool libraries into archives" 1>&2  
         exit 1  
       fi  
   
       if test -n "$deplibs"; then        if test -n "$deplibs"; then
         $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2          $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
       fi        fi
Line 1564  compiler."
Line 3126  compiler."
       fi        fi
   
       if test -n "$vinfo"; then        if test -n "$vinfo"; then
         $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2          $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
       fi        fi
   
       if test -n "$release"; then        if test -n "$release"; then
Line 1578  compiler."
Line 3140  compiler."
       # Now set the variables for building old libraries.        # Now set the variables for building old libraries.
       build_libtool_libs=no        build_libtool_libs=no
       oldlibs="$output"        oldlibs="$output"
         objs="$objs$old_deplibs"
       ;;        ;;
   
     *.la)      lib)
       # Make sure we only generate libraries of the form `libNAME.la'.        # Make sure we only generate libraries of the form `libNAME.la'.
       case "$outputname" in        case $outputname in
       lib*)        lib*)
         name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`          name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
           eval shared_ext=\"$shrext_cmds\"
         eval libname=\"$libname_spec\"          eval libname=\"$libname_spec\"
         ;;          ;;
       *)        *)
         if test "$module" = no; then          if test "$module" = no; then
           $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2            $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
           $echo "$help" 1>&2            $echo "$help" 1>&2
           exit 1            exit $EXIT_FAILURE
         fi          fi
         if test "$need_lib_prefix" != no; then          if test "$need_lib_prefix" != no; then
           # Add the "lib" prefix for modules if required            # Add the "lib" prefix for modules if required
           name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`            name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
             eval shared_ext=\"$shrext_cmds\"
           eval libname=\"$libname_spec\"            eval libname=\"$libname_spec\"
         else          else
           libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`            libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
Line 1603  compiler."
Line 3168  compiler."
         ;;          ;;
       esac        esac
   
       output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`  
       if test "X$output_objdir" = "X$output"; then  
         output_objdir="$objdir"  
       else  
         output_objdir="$output_objdir/$objdir"  
       fi  
   
       if test -n "$objs"; then        if test -n "$objs"; then
         $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1          if test "$deplibs_check_method" != pass_all; then
         exit 1            $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
             exit $EXIT_FAILURE
           else
             $echo
             $echo "*** Warning: Linking the shared library $output against the non-libtool"
             $echo "*** objects $objs is not portable!"
             libobjs="$libobjs $objs"
           fi
       fi        fi
   
       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then        if test "$dlself" != no; then
         $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2          $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
       fi        fi
   
       set dummy $rpath        set dummy $rpath
       if test $# -gt 2; then        if test "$#" -gt 2; then
         $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2          $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
       fi        fi
       install_libdir="$2"        install_libdir="$2"
Line 1629  compiler."
Line 3194  compiler."
       if test -z "$rpath"; then        if test -z "$rpath"; then
         if test "$build_libtool_libs" = yes; then          if test "$build_libtool_libs" = yes; then
           # Building a libtool convenience library.            # Building a libtool convenience library.
           libext=al            # Some compilers have problems with a `.al' extension so
             # convenience libraries should have the same extension an
             # archive normally would.
           oldlibs="$output_objdir/$libname.$libext $oldlibs"            oldlibs="$output_objdir/$libname.$libext $oldlibs"
           build_libtool_libs=convenience            build_libtool_libs=convenience
           build_old_libs=yes            build_old_libs=yes
         fi          fi
         dependency_libs="$deplibs"  
   
         if test -n "$vinfo"; then          if test -n "$vinfo"; then
           $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2            $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
         fi          fi
   
         if test -n "$release"; then          if test -n "$release"; then
Line 1646  compiler."
Line 3212  compiler."
       else        else
   
         # Parse the version information argument.          # Parse the version information argument.
         IFS="${IFS=     }"; save_ifs="$IFS"; IFS=':'          save_ifs="$IFS"; IFS=':'
         set dummy $vinfo 0 0 0          set dummy $vinfo 0 0 0
         IFS="$save_ifs"          IFS="$save_ifs"
   
         if test -n "$8"; then          if test -n "$8"; then
           $echo "$modename: too many parameters to \`-version-info'" 1>&2            $echo "$modename: too many parameters to \`-version-info'" 1>&2
           $echo "$help" 1>&2            $echo "$help" 1>&2
           exit 1            exit $EXIT_FAILURE
         fi          fi
   
         current="$2"          # convert absolute version numbers to libtool ages
         revision="$3"          # this retains compatibility with .la files and attempts
         age="$4"          # to make the code below a bit more comprehensible
   
           case $vinfo_number in
           yes)
             number_major="$2"
             number_minor="$3"
             number_revision="$4"
             #
             # There are really only two kinds -- those that
             # use the current revision as the major version
             # and those that subtract age and use age as
             # a minor version.  But, then there is irix
             # which has an extra 1 added just for fun
             #
             case $version_type in
             darwin|linux|osf|windows)
               current=`expr $number_major + $number_minor`
               age="$number_minor"
               revision="$number_revision"
               ;;
             freebsd-aout|freebsd-elf|sunos)
               current="$number_major"
               revision="$number_minor"
               age="0"
               ;;
             irix|nonstopux)
               current=`expr $number_major + $number_minor - 1`
               age="$number_minor"
               revision="$number_minor"
               ;;
             esac
             ;;
           no)
             current="$2"
             revision="$3"
             age="$4"
             ;;
           esac
   
         # Check that each of the things are valid numbers.          # Check that each of the things are valid numbers.
         case "$current" in          case $current in
         0 | [1-9] | [1-9][0-9]*) ;;          0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
         *)          *)
           $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2            $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
           $echo "$modename: \`$vinfo' is not valid version information" 1>&2            $echo "$modename: \`$vinfo' is not valid version information" 1>&2
           exit 1            exit $EXIT_FAILURE
           ;;            ;;
         esac          esac
   
         case "$revision" in          case $revision in
         0 | [1-9] | [1-9][0-9]*) ;;          0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
         *)          *)
           $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2            $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
           $echo "$modename: \`$vinfo' is not valid version information" 1>&2            $echo "$modename: \`$vinfo' is not valid version information" 1>&2
           exit 1            exit $EXIT_FAILURE
           ;;            ;;
         esac          esac
   
         case "$age" in          case $age in
         0 | [1-9] | [1-9][0-9]*) ;;          0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
         *)          *)
           $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2            $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
           $echo "$modename: \`$vinfo' is not valid version information" 1>&2            $echo "$modename: \`$vinfo' is not valid version information" 1>&2
           exit 1            exit $EXIT_FAILURE
           ;;            ;;
         esac          esac
   
         if test $age -gt $current; then          if test "$age" -gt "$current"; then
           $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2            $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
           $echo "$modename: \`$vinfo' is not valid version information" 1>&2            $echo "$modename: \`$vinfo' is not valid version information" 1>&2
           exit 1            exit $EXIT_FAILURE
         fi          fi
   
         # Calculate the version variables.          # Calculate the version variables.
         major=          major=
         versuffix=          versuffix=
         verstring=          verstring=
         case "$version_type" in          case $version_type in
         none) ;;          none) ;;
   
         irix)          darwin)
             # Like Linux, but with the current version available in
             # verstring for coding it into the library header
             major=.`expr $current - $age`
             versuffix="$major.$age.$revision"
             # Darwin ld doesn't like 0 for these options...
             minor_current=`expr $current + 1`
             verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
             ;;
   
           freebsd-aout)
             major=".$current"
             versuffix=".$current.$revision";
             ;;
   
           freebsd-elf)
             major=".$current"
             versuffix=".$current";
             ;;
   
           irix | nonstopux)
           major=`expr $current - $age + 1`            major=`expr $current - $age + 1`
           versuffix="$major.$revision"  
           verstring="sgi$major.$revision"  
   
             case $version_type in
               nonstopux) verstring_prefix=nonstopux ;;
               *)         verstring_prefix=sgi ;;
             esac
             verstring="$verstring_prefix$major.$revision"
   
           # Add in all the interfaces that we are compatible with.            # Add in all the interfaces that we are compatible with.
           loop=$revision            loop=$revision
           while test $loop != 0; do            while test "$loop" -ne 0; do
             iface=`expr $revision - $loop`              iface=`expr $revision - $loop`
             loop=`expr $loop - 1`              loop=`expr $loop - 1`
             verstring="sgi$major.$iface:$verstring"              verstring="$verstring_prefix$major.$iface:$verstring"
           done            done
   
             # Before this point, $major must not contain `.'.
             major=.$major
             versuffix="$major.$revision"
           ;;            ;;
   
         linux)          linux)
Line 1721  compiler."
Line 3352  compiler."
           ;;            ;;
   
         osf)          osf)
           major=`expr $current - $age`            major=.`expr $current - $age`
           versuffix=".$current.$age.$revision"            versuffix=".$current.$age.$revision"
           verstring="$current.$age.$revision"            verstring="$current.$age.$revision"
   
           # Add in all the interfaces that we are compatible with.            # Add in all the interfaces that we are compatible with.
           loop=$age            loop=$age
           while test $loop != 0; do            while test "$loop" -ne 0; do
             iface=`expr $current - $loop`              iface=`expr $current - $loop`
             loop=`expr $loop - 1`              loop=`expr $loop - 1`
             verstring="$verstring:${iface}.0"              verstring="$verstring:${iface}.0"
Line 1742  compiler."
Line 3373  compiler."
           versuffix=".$current.$revision"            versuffix=".$current.$revision"
           ;;            ;;
   
         freebsd-aout)  
           major=".$current"  
           versuffix=".$current.$revision";  
           ;;  
   
         freebsd-elf)  
           major=".$current"  
           versuffix=".$current";  
           ;;  
   
         windows)          windows)
           # Like Linux, but with '-' rather than '.', since we only            # Use '-' rather than '.', since we only want one
           # want one extension on Windows 95.            # extension on DOS 8.3 filesystems.
           major=`expr $current - $age`            major=`expr $current - $age`
           versuffix="-$major-$age-$revision"            versuffix="-$major"
           ;;            ;;
   
         *)          *)
           $echo "$modename: unknown library version type \`$version_type'" 1>&2            $echo "$modename: unknown library version type \`$version_type'" 1>&2
           echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2            $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
           exit 1            exit $EXIT_FAILURE
           ;;            ;;
         esac          esac
   
         # Clear the version info if we defaulted, and they specified a release.          # Clear the version info if we defaulted, and they specified a release.
         if test -z "$vinfo" && test -n "$release"; then          if test -z "$vinfo" && test -n "$release"; then
           major=            major=
           verstring="0.0"            case $version_type in
             darwin)
               # we can't check for "0.0" in archive_cmds due to quoting
               # problems, so we reset it completely
               verstring=
               ;;
             *)
               verstring="0.0"
               ;;
             esac
           if test "$need_version" = no; then            if test "$need_version" = no; then
             versuffix=              versuffix=
           else            else
Line 1783  compiler."
Line 3413  compiler."
           versuffix=            versuffix=
           verstring=""            verstring=""
         fi          fi
   
         # Check to see if the archive will have undefined symbols.          # Check to see if the archive will have undefined symbols.
         if test "$allow_undefined" = yes; then          if test "$allow_undefined" = yes; then
           if test "$allow_undefined_flag" = unsupported; then            if test "$allow_undefined_flag" = unsupported; then
Line 1795  compiler."
Line 3425  compiler."
           # Don't allow undefined symbols.            # Don't allow undefined symbols.
           allow_undefined_flag="$no_undefined_flag"            allow_undefined_flag="$no_undefined_flag"
         fi          fi
         fi
   
         dependency_libs="$deplibs"        if test "$mode" != relink; then
         case "$host" in          # Remove our outputs, but don't remove object files since they
         *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)          # may have been created when compiling PIC objects.
           # these systems don't actually have a c library (as such)!          removelist=
           ;;          tempremovelist=`$echo "$output_objdir/*"`
         *-*-rhapsody*)          for p in $tempremovelist; do
           # rhapsody is a little odd...            case $p in
           deplibs="$deplibs -framework System"              *.$objext)
           ;;                 ;;
         *-*-freebsd*)              $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
           # FreeBSD doesn't need this...                 if test "X$precious_files_regex" != "X"; then
           ;;                   if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
         *)                   then
           # Add libc to deplibs on all other systems.                     continue
           deplibs="$deplibs -lc"                   fi
           ;;                 fi
         esac                 removelist="$removelist $p"
                  ;;
               *) ;;
             esac
           done
           if test -n "$removelist"; then
             $show "${rm}r $removelist"
             $run ${rm}r $removelist
           fi
       fi        fi
   
       if test -n "$rpath$xrpath"; then        # Now set the variables for building old libraries.
         if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
           oldlibs="$oldlibs $output_objdir/$libname.$libext"
   
           # Transform .lo files to .o files.
           oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
         fi
   
         # Eliminate all temporary directories.
         for path in $notinst_path; do
           lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
           deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
           dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
         done
   
         if test -n "$xrpath"; then
         # If the user specified any rpath flags, then add them.          # If the user specified any rpath flags, then add them.
         for libdir in $rpath $xrpath; do          temp_xrpath=
           # This is the magic to use -rpath.          for libdir in $xrpath; do
           case "$compile_rpath " in            temp_xrpath="$temp_xrpath -R$libdir"
           *" $libdir "*) ;;  
           *) compile_rpath="$compile_rpath $libdir" ;;  
           esac  
           case "$finalize_rpath " in            case "$finalize_rpath " in
           *" $libdir "*) ;;            *" $libdir "*) ;;
           *) finalize_rpath="$finalize_rpath $libdir" ;;            *) finalize_rpath="$finalize_rpath $libdir" ;;
           esac            esac
         done          done
           if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
             dependency_libs="$temp_xrpath $dependency_libs"
           fi
       fi        fi
   
       # Now hardcode the library paths        # Make sure dlfiles contains only unique files that won't be dlpreopened
       rpath=        old_dlfiles="$dlfiles"
       hardcode_libdirs=        dlfiles=
       for libdir in $compile_rpath; do        for lib in $old_dlfiles; do
         if test -n "$hardcode_libdir_flag_spec"; then          case " $dlprefiles $dlfiles " in
           if test -n "$hardcode_libdir_separator"; then          *" $lib "*) ;;
             if test -z "$hardcode_libdirs"; then          *) dlfiles="$dlfiles $lib" ;;
               hardcode_libdirs="$libdir"          esac
             else  
               # Just accumulate the unique libdirs.  
               case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in  
               *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)  
                 ;;  
               *)  
                 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"  
                 ;;  
               esac  
             fi  
           else  
             eval flag=\"$hardcode_libdir_flag_spec\"  
             rpath="$rpath $flag"  
           fi  
         elif test -n "$runpath_var"; then  
           case "$perm_rpath " in  
           *" $libdir "*) ;;  
           *) perm_rpath="$perm_rpath $libdir" ;;  
           esac  
         fi  
       done        done
       # Substitute the hardcoded libdirs into the rpath.  
       if test -n "$hardcode_libdir_separator" &&  
          test -n "$hardcode_libdirs"; then  
         libdir="$hardcode_libdirs"  
         eval rpath=\" $hardcode_libdir_flag_spec\"  
       fi  
       compile_rpath="$rpath"  
   
       rpath=        # Make sure dlprefiles contains only unique files
       hardcode_libdirs=        old_dlprefiles="$dlprefiles"
       for libdir in $finalize_rpath; do        dlprefiles=
         if test -n "$hardcode_libdir_flag_spec"; then        for lib in $old_dlprefiles; do
           if test -n "$hardcode_libdir_separator"; then          case "$dlprefiles " in
             if test -z "$hardcode_libdirs"; then          *" $lib "*) ;;
               hardcode_libdirs="$libdir"          *) dlprefiles="$dlprefiles $lib" ;;
             else          esac
               # Just accumulate the unique libdirs.        done
               case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in  
               *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)        if test "$build_libtool_libs" = yes; then
                 ;;          if test -n "$rpath"; then
               *)            case $host in
                 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"            *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
                 ;;              # these systems don't actually have a c library (as such)!
               esac              ;;
             *-*-rhapsody* | *-*-darwin1.[012])
               # Rhapsody C library is in the System framework
               deplibs="$deplibs -framework System"
               ;;
             *-*-netbsd*)
               # Don't link with libc until the a.out ld.so is fixed.
               ;;
             *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
               # Do not include libc due to us having libc/libc_r.
               ;;
             *-*-sco3.2v5* | *-*-sco5v6*)
               # Causes problems with __ctype
               ;;
             *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
               # Compiler inserts libc in the correct place for threads to work
               ;;
             *)
               # Add libc to deplibs on all other systems if necessary.
               if test "$build_libtool_need_lc" = "yes"; then
                 deplibs="$deplibs -lc"
             fi              fi
           else              ;;
             eval flag=\"$hardcode_libdir_flag_spec\"  
             rpath="$rpath $flag"  
           fi  
         elif test -n "$runpath_var"; then  
           case "$finalize_perm_rpath " in  
           *" $libdir "*) ;;  
           *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;  
           esac            esac
         fi          fi
       done  
       # Substitute the hardcoded libdirs into the rpath.  
       if test -n "$hardcode_libdir_separator" &&  
          test -n "$hardcode_libdirs"; then  
         libdir="$hardcode_libdirs"  
         eval rpath=\" $hardcode_libdir_flag_spec\"  
       fi  
       finalize_rpath="$rpath"  
   
       # Create the output directory, or remove our outputs if we need to.  
       if test -d $output_objdir; then  
         $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"  
         $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*  
       else  
         $show "$mkdir $output_objdir"  
         $run $mkdir $output_objdir  
         status=$?  
         if test $status -ne 0 && test ! -d $output_objdir; then  
           exit $status  
         fi  
       fi  
   
       # Now set the variables for building old libraries.  
       if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then  
         if test "$release_suffix" = all; then  
          oldlibs="$oldlibs $output_objdir/$libname$release.$libext"  
         else  
         oldlibs="$oldlibs $output_objdir/$libname.$libext"  
         fi  
   
         # Transform .lo files to .o files.  
         oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`  
       fi  
   
       if test "$build_libtool_libs" = yes; then  
         # Transform deplibs into only deplibs that can be linked in shared.          # Transform deplibs into only deplibs that can be linked in shared.
         name_save=$name          name_save=$name
         libname_save=$libname          libname_save=$libname
Line 1943  compiler."
Line 3549  compiler."
         major=""          major=""
         newdeplibs=          newdeplibs=
         droppeddeps=no          droppeddeps=no
         case "$deplibs_check_method" in          case $deplibs_check_method in
         pass_all)          pass_all)
           # Don't check for shared/static.  Everything works.            # Don't check for shared/static.  Everything works.
           # This might be a little naive.  We might want to check            # This might be a little naive.  We might want to check
           # whether the library exists or not.  But this is on            # whether the library exists or not.  But this is on
           # osf3 & osf4 and I'm not really sure... Just            # osf3 & osf4 and I'm not really sure... Just
           # implementing what was already the behaviour.            # implementing what was already the behavior.
           newdeplibs=$deplibs            newdeplibs=$deplibs
           ;;            ;;
         test_compile)          test_compile)
Line 1962  compiler."
Line 3568  compiler."
           int main() { return 0; }            int main() { return 0; }
 EOF  EOF
           $rm conftest            $rm conftest
           $CC -o conftest conftest.c $deplibs            $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
           if test $? -eq 0 ; then            if test "$?" -eq 0 ; then
             ldd_output=`ldd conftest`              ldd_output=`ldd conftest`
             for i in $deplibs; do              for i in $deplibs; do
               name="`expr $i : '-l\(.*\)'`"                name=`expr $i : '-l\(.*\)'`
               # If $name is empty we are operating on a -L argument.                # If $name is empty we are operating on a -L argument.
               if test "$name" != "" ; then                if test "$name" != "" && test "$name" -ne "0"; then
                 libname=`eval \\$echo \"$libname_spec\"`                  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
                 deplib_matches=`eval \\$echo \"$library_names_spec\"`                    case " $predeps $postdeps " in
                 set dummy $deplib_matches                    *" $i "*)
                 deplib_match=$2                      newdeplibs="$newdeplibs $i"
                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then                      i=""
                   newdeplibs="$newdeplibs $i"                      ;;
                 else                    esac
                   droppeddeps=yes                  fi
                   echo                  if test -n "$i" ; then
                   echo "*** Warning: This library needs some functionality provided by $i."                    libname=`eval \\$echo \"$libname_spec\"`
                   echo "*** I have the capability to make that library automatically link in when"                    deplib_matches=`eval \\$echo \"$library_names_spec\"`
                   echo "*** you link to this library.  But I can only do this if you have a"                    set dummy $deplib_matches
                   echo "*** shared version of the library, which you do not appear to have."                    deplib_match=$2
                     if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
                       newdeplibs="$newdeplibs $i"
                     else
                       droppeddeps=yes
                       $echo
                       $echo "*** Warning: dynamic linker does not accept needed library $i."
                       $echo "*** I have the capability to make that library automatically link in when"
                       $echo "*** you link to this library.  But I can only do this if you have a"
                       $echo "*** shared version of the library, which I believe you do not have"
                       $echo "*** because a test_compile did reveal that the linker did not use it for"
                       $echo "*** its dynamic dependency list that programs get resolved with at runtime."
                     fi
                 fi                  fi
               else                else
                 newdeplibs="$newdeplibs $i"                  newdeplibs="$newdeplibs $i"
               fi                fi
             done              done
           else            else
             # Error occured in the first compile.  Let's try to salvage the situation:              # Error occurred in the first compile.  Let's try to salvage
             # Compile a seperate program for each library.              # the situation: Compile a separate program for each library.
             for i in $deplibs; do              for i in $deplibs; do
               name="`expr $i : '-l\(.*\)'`"                name=`expr $i : '-l\(.*\)'`
              # If $name is empty we are operating on a -L argument.                # If $name is empty we are operating on a -L argument.
               if test "$name" != "" ; then                if test "$name" != "" && test "$name" != "0"; then
                 $rm conftest                  $rm conftest
                 $CC -o conftest conftest.c $i                  $LTCC $LTCFLAGS -o conftest conftest.c $i
                 # Did it work?                  # Did it work?
                 if test $? -eq 0 ; then                  if test "$?" -eq 0 ; then
                   ldd_output=`ldd conftest`                    ldd_output=`ldd conftest`
                   libname=`eval \\$echo \"$libname_spec\"`                    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
                   deplib_matches=`eval \\$echo \"$library_names_spec\"`                      case " $predeps $postdeps " in
                   set dummy $deplib_matches                      *" $i "*)
                   deplib_match=$2                        newdeplibs="$newdeplibs $i"
                   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then                        i=""
                     newdeplibs="$newdeplibs $i"                        ;;
                   else                      esac
                     droppeddeps=yes  
                     echo  
                     echo "*** Warning: This library needs some functionality provided by $i."  
                     echo "*** I have the capability to make that library automatically link in when"  
                     echo "*** you link to this library.  But I can only do this if you have a"  
                     echo "*** shared version of the library, which you do not appear to have."  
                   fi                    fi
                     if test -n "$i" ; then
                       libname=`eval \\$echo \"$libname_spec\"`
                       deplib_matches=`eval \\$echo \"$library_names_spec\"`
                       set dummy $deplib_matches
                       deplib_match=$2
                       if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
                         newdeplibs="$newdeplibs $i"
                       else
                         droppeddeps=yes
                         $echo
                         $echo "*** Warning: dynamic linker does not accept needed library $i."
                         $echo "*** I have the capability to make that library automatically link in when"
                         $echo "*** you link to this library.  But I can only do this if you have a"
                         $echo "*** shared version of the library, which you do not appear to have"
                         $echo "*** because a test_compile did reveal that the linker did not use this one"
                         $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
                       fi
                     fi
                 else                  else
                   droppeddeps=yes                    droppeddeps=yes
                   echo                    $echo
                   echo "*** Warning!  Library $i is needed by this library but I was not able to"                    $echo "*** Warning!  Library $i is needed by this library but I was not able to"
                   echo "***  make it link in!  You will probably need to install it or some"                    $echo "***  make it link in!  You will probably need to install it or some"
                   echo "*** library that it depends on before this library will be fully"                    $echo "*** library that it depends on before this library will be fully"
                   echo "*** functional.  Installing it before continuing would be even better."                    $echo "*** functional.  Installing it before continuing would be even better."
                 fi                  fi
               else                else
                 newdeplibs="$newdeplibs $i"                  newdeplibs="$newdeplibs $i"
Line 2029  EOF
Line 3659  EOF
           ;;            ;;
         file_magic*)          file_magic*)
           set dummy $deplibs_check_method            set dummy $deplibs_check_method
           file_magic_regex="`expr \"$deplibs_check_method\" : \"$2 \(.*\)\"`"            file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
           for a_deplib in $deplibs; do            for a_deplib in $deplibs; do
             name="`expr $a_deplib : '-l\(.*\)'`"              name=`expr $a_deplib : '-l\(.*\)'`
             # If $name is empty we are operating on a -L argument.              # If $name is empty we are operating on a -L argument.
             if test "$name" != "" ; then              if test "$name" != "" && test  "$name" != "0"; then
               libname=`eval \\$echo \"$libname_spec\"`                if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
               for i in $lib_search_path; do                  case " $predeps $postdeps " in
                     potential_libs=`ls $i/$libname[.-]* 2>/dev/null`                  *" $a_deplib "*)
                     for potent_lib in $potential_libs; do                    newdeplibs="$newdeplibs $a_deplib"
                     a_deplib=""
                     ;;
                   esac
                 fi
                 if test -n "$a_deplib" ; then
                   libname=`eval \\$echo \"$libname_spec\"`
                   for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
                     potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
                     for potent_lib in $potential_libs; do
                       # Follow soft links.                        # Follow soft links.
                       if ls -lLd "$potent_lib" 2>/dev/null \                        if ls -lLd "$potent_lib" 2>/dev/null \
                          | grep " -> " >/dev/null; then                           | grep " -> " >/dev/null; then
                         continue                          continue
                       fi                        fi
                       # The statement above tries to avoid entering an                        # The statement above tries to avoid entering an
                       # endless loop below, in case of cyclic links.                        # endless loop below, in case of cyclic links.
Line 2050  EOF
Line 3689  EOF
                       # but so what?                        # but so what?
                       potlib="$potent_lib"                        potlib="$potent_lib"
                       while test -h "$potlib" 2>/dev/null; do                        while test -h "$potlib" 2>/dev/null; do
                         potliblink=`ls -ld $potlib | sed 's/.* -> //'`                          potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
                         case "$potliblink" in                          case $potliblink in
                         [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;                          [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
                         *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;                          *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
                         esac                          esac
                       done                        done
                       if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \                        if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
                          | sed 10q \                           | ${SED} 10q \
                          | egrep "$file_magic_regex" > /dev/null; then                           | $EGREP "$file_magic_regex" > /dev/null; then
                         newdeplibs="$newdeplibs $a_deplib"                          newdeplibs="$newdeplibs $a_deplib"
                         a_deplib=""                          a_deplib=""
                         break 2                          break 2
                       fi                        fi
                     done                    done
               done                  done
                 fi
               if test -n "$a_deplib" ; then                if test -n "$a_deplib" ; then
                 droppeddeps=yes                  droppeddeps=yes
                 echo                  $echo
                 echo "*** Warning: This library needs some functionality provided by $a_deplib."                  $echo "*** Warning: linker path does not have real file for library $a_deplib."
                 echo "*** I have the capability to make that library automatically link in when"                  $echo "*** I have the capability to make that library automatically link in when"
                 echo "*** you link to this library.  But I can only do this if you have a"                  $echo "*** you link to this library.  But I can only do this if you have a"
                 echo "*** shared version of the library, which you do not appear to have."                  $echo "*** shared version of the library, which you do not appear to have"
                   $echo "*** because I did check the linker path looking for a file starting"
                   if test -z "$potlib" ; then
                     $echo "*** with $libname but no candidates were found. (...for file magic test)"
                   else
                     $echo "*** with $libname and none of the candidates passed a file format test"
                     $echo "*** using a file magic. Last file checked: $potlib"
                   fi
               fi                fi
             else              else
               # Add a -L argument.                # Add a -L argument.
Line 2079  EOF
Line 3726  EOF
             fi              fi
           done # Gone through all deplibs.            done # Gone through all deplibs.
           ;;            ;;
           match_pattern*)
             set dummy $deplibs_check_method
             match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
             for a_deplib in $deplibs; do
               name=`expr $a_deplib : '-l\(.*\)'`
               # If $name is empty we are operating on a -L argument.
               if test -n "$name" && test "$name" != "0"; then
                 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
                   case " $predeps $postdeps " in
                   *" $a_deplib "*)
                     newdeplibs="$newdeplibs $a_deplib"
                     a_deplib=""
                     ;;
                   esac
                 fi
                 if test -n "$a_deplib" ; then
                   libname=`eval \\$echo \"$libname_spec\"`
                   for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
                     potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
                     for potent_lib in $potential_libs; do
                       potlib="$potent_lib" # see symlink-check above in file_magic test
                       if eval $echo \"$potent_lib\" 2>/dev/null \
                           | ${SED} 10q \
                           | $EGREP "$match_pattern_regex" > /dev/null; then
                         newdeplibs="$newdeplibs $a_deplib"
                         a_deplib=""
                         break 2
                       fi
                     done
                   done
                 fi
                 if test -n "$a_deplib" ; then
                   droppeddeps=yes
                   $echo
                   $echo "*** Warning: linker path does not have real file for library $a_deplib."
                   $echo "*** I have the capability to make that library automatically link in when"
                   $echo "*** you link to this library.  But I can only do this if you have a"
                   $echo "*** shared version of the library, which you do not appear to have"
                   $echo "*** because I did check the linker path looking for a file starting"
                   if test -z "$potlib" ; then
                     $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
                   else
                     $echo "*** with $libname and none of the candidates passed a file format test"
                     $echo "*** using a regex pattern. Last file checked: $potlib"
                   fi
                 fi
               else
                 # Add a -L argument.
                 newdeplibs="$newdeplibs $a_deplib"
               fi
             done # Gone through all deplibs.
             ;;
         none | unknown | *)          none | unknown | *)
           newdeplibs=""            newdeplibs=""
           if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \            tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
                -e 's/ -[LR][^ ]*//g' -e 's/[    ]//g' |              -e 's/ -[LR][^ ]*//g'`
              grep . >/dev/null; then            if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
             echo              for i in $predeps $postdeps ; do
                 # can't use Xsed below, because $i might contain '/'
                 tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
               done
             fi
             if $echo "X $tmp_deplibs" | $Xsed -e 's/[     ]//g' \
               | grep . >/dev/null; then
               $echo
             if test "X$deplibs_check_method" = "Xnone"; then              if test "X$deplibs_check_method" = "Xnone"; then
               echo "*** Warning: inter-library dependencies are not supported in this platform."                $echo "*** Warning: inter-library dependencies are not supported in this platform."
             else              else
               echo "*** Warning: inter-library dependencies are not known to be supported."                $echo "*** Warning: inter-library dependencies are not known to be supported."
             fi              fi
             echo "*** All declared inter-library dependencies are being dropped."              $echo "*** All declared inter-library dependencies are being dropped."
             droppeddeps=yes              droppeddeps=yes
           fi            fi
           ;;            ;;
Line 2101  EOF
Line 3807  EOF
         libname=$libname_save          libname=$libname_save
         name=$name_save          name=$name_save
   
           case $host in
           *-*-rhapsody* | *-*-darwin1.[012])
             # On Rhapsody replace the C library is the System framework
             newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
             ;;
           esac
   
         if test "$droppeddeps" = yes; then          if test "$droppeddeps" = yes; then
           if test "$module" = yes; then            if test "$module" = yes; then
             echo              $echo
             echo "*** Warning: libtool could not satisfy all declared inter-library"              $echo "*** Warning: libtool could not satisfy all declared inter-library"
             echo "*** dependencies of module $libname.  Therefore, libtool will create"              $echo "*** dependencies of module $libname.  Therefore, libtool will create"
             echo "*** a static module, that should work as long as the dlopening"              $echo "*** a static module, that should work as long as the dlopening"
             echo "*** application is linked with the -dlopen flag."              $echo "*** application is linked with the -dlopen flag."
             if test -z "$global_symbol_pipe"; then              if test -z "$global_symbol_pipe"; then
               echo                $echo
               echo "*** However, this would only work if libtool was able to extract symbol"                $echo "*** However, this would only work if libtool was able to extract symbol"
               echo "*** lists from a program, using \`nm' or equivalent, but libtool could"                $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
               echo "*** not find such a program.  So, this module is probably useless."                $echo "*** not find such a program.  So, this module is probably useless."
               echo "*** \`nm' from GNU binutils and a full rebuild may help."                $echo "*** \`nm' from GNU binutils and a full rebuild may help."
             fi              fi
             if test "$build_old_libs" = no; then              if test "$build_old_libs" = no; then
               if test "$release_suffix" = all; then  
                 oldlibs="$output_objdir/$libname$release.$libext"  
               else  
               oldlibs="$output_objdir/$libname.$libext"                oldlibs="$output_objdir/$libname.$libext"
               fi  
               build_libtool_libs=module                build_libtool_libs=module
               build_old_libs=yes                build_old_libs=yes
             else              else
               build_libtool_libs=no                build_libtool_libs=no
             fi              fi
           else            else
             echo "*** The inter-library dependencies that have been dropped here will be"              $echo "*** The inter-library dependencies that have been dropped here will be"
             echo "*** automatically added whenever a program is linked with this library"              $echo "*** automatically added whenever a program is linked with this library"
             echo "*** or is declared to -dlopen it."              $echo "*** or is declared to -dlopen it."
   
               if test "$allow_undefined" = no; then
                 $echo
                 $echo "*** Since this library must not contain undefined symbols,"
                 $echo "*** because either the platform does not support them or"
                 $echo "*** it was explicitly requested with -no-undefined,"
                 $echo "*** libtool will only create a static version of it."
                 if test "$build_old_libs" = no; then
                   oldlibs="$output_objdir/$libname.$libext"
                   build_libtool_libs=module
                   build_old_libs=yes
                 else
                   build_libtool_libs=no
                 fi
               fi
           fi            fi
         fi          fi
         # Done checking deplibs!          # Done checking deplibs!
         deplibs=$newdeplibs          deplibs=$newdeplibs
       fi        fi
   
   
         # move library search paths that coincide with paths to not yet
         # installed libraries to the beginning of the library search list
         new_libs=
         for path in $notinst_path; do
           case " $new_libs " in
           *" -L$path/$objdir "*) ;;
           *)
             case " $deplibs " in
             *" -L$path/$objdir "*)
               new_libs="$new_libs -L$path/$objdir" ;;
             esac
             ;;
           esac
         done
         for deplib in $deplibs; do
           case $deplib in
           -L*)
             case " $new_libs " in
             *" $deplib "*) ;;
             *) new_libs="$new_libs $deplib" ;;
             esac
             ;;
           *) new_libs="$new_libs $deplib" ;;
           esac
         done
         deplibs="$new_libs"
   
   
       # All the library-specific variables (install_libdir is set above).        # All the library-specific variables (install_libdir is set above).
       library_names=        library_names=
       old_library=        old_library=
       dlname=        dlname=
   
       # Test again, we may have decided not to build it any more        # Test again, we may have decided not to build it any more
       if test "$build_libtool_libs" = yes; then        if test "$build_libtool_libs" = yes; then
           if test "$hardcode_into_libs" = yes; then
             # Hardcode the library paths
             hardcode_libdirs=
             dep_rpath=
             rpath="$finalize_rpath"
             test "$mode" != relink && rpath="$compile_rpath$rpath"
             for libdir in $rpath; do
               if test -n "$hardcode_libdir_flag_spec"; then
                 if test -n "$hardcode_libdir_separator"; then
                   if test -z "$hardcode_libdirs"; then
                     hardcode_libdirs="$libdir"
                   else
                     # Just accumulate the unique libdirs.
                     case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
                     *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
                       ;;
                     *)
                       hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
                       ;;
                     esac
                   fi
                 else
                   eval flag=\"$hardcode_libdir_flag_spec\"
                   dep_rpath="$dep_rpath $flag"
                 fi
               elif test -n "$runpath_var"; then
                 case "$perm_rpath " in
                 *" $libdir "*) ;;
                 *) perm_rpath="$perm_rpath $libdir" ;;
                 esac
               fi
             done
             # Substitute the hardcoded libdirs into the rpath.
             if test -n "$hardcode_libdir_separator" &&
                test -n "$hardcode_libdirs"; then
               libdir="$hardcode_libdirs"
               if test -n "$hardcode_libdir_flag_spec_ld"; then
                 eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
               else
                 eval dep_rpath=\"$hardcode_libdir_flag_spec\"
               fi
             fi
             if test -n "$runpath_var" && test -n "$perm_rpath"; then
               # We should set the runpath_var.
               rpath=
               for dir in $perm_rpath; do
                 rpath="$rpath$dir:"
               done
               eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
             fi
             test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
           fi
   
           shlibpath="$finalize_shlibpath"
           test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
           if test -n "$shlibpath"; then
             eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
           fi
   
         # Get the real and link names of the library.          # Get the real and link names of the library.
           eval shared_ext=\"$shrext_cmds\"
         eval library_names=\"$library_names_spec\"          eval library_names=\"$library_names_spec\"
         set dummy $library_names          set dummy $library_names
         realname="$2"          realname="$2"
Line 2154  EOF
Line 3967  EOF
         else          else
           soname="$realname"            soname="$realname"
         fi          fi
           if test -z "$dlname"; then
             dlname=$soname
           fi
   
         lib="$output_objdir/$realname"          lib="$output_objdir/$realname"
           linknames=
         for link          for link
         do          do
           linknames="$linknames $link"            linknames="$linknames $link"
         done          done
   
         # Ensure that we have .o objects for linkers which dislike .lo  
         # (e.g. aix) in case we are running --disable-static  
         for obj in $libobjs; do  
           xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`  
           if test "X$xdir" = "X$obj"; then  
             xdir="."  
           else  
             xdir="$xdir"  
           fi  
           baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`  
           oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`  
           if test ! -f $xdir/$oldobj; then  
             $show "(cd $xdir && ${LN_S} $baseobj $oldobj)"  
             $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $?  
           fi  
         done  
   
         # Use standard objects if they are pic          # Use standard objects if they are pic
         test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`          test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
   
Line 2187  EOF
Line 3987  EOF
             $show "generating symbol list for \`$libname.la'"              $show "generating symbol list for \`$libname.la'"
             export_symbols="$output_objdir/$libname.exp"              export_symbols="$output_objdir/$libname.exp"
             $run $rm $export_symbols              $run $rm $export_symbols
             eval cmds=\"$export_symbols_cmds\"              cmds=$export_symbols_cmds
             IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'              save_ifs="$IFS"; IFS='~'
             for cmd in $cmds; do              for cmd in $cmds; do
               IFS="$save_ifs"                IFS="$save_ifs"
               $show "$cmd"                eval cmd=\"$cmd\"
               $run eval "$cmd" || exit $?                if len=`expr "X$cmd" : ".*"` &&
                  test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
                   $show "$cmd"
                   $run eval "$cmd" || exit $?
                   skipped_export=false
                 else
                   # The command line is too long to execute in one step.
                   $show "using reloadable object file for export list..."
                   skipped_export=:
                   # Break out early, otherwise skipped_export may be
                   # set to false by a later but shorter cmd.
                   break
                 fi
             done              done
             IFS="$save_ifs"              IFS="$save_ifs"
             if test -n "$export_symbols_regex"; then              if test -n "$export_symbols_regex"; then
               $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""                $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
               $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'                $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
               $show "$mv \"${export_symbols}T\" \"$export_symbols\""                $show "$mv \"${export_symbols}T\" \"$export_symbols\""
               $run eval '$mv "${export_symbols}T" "$export_symbols"'                $run eval '$mv "${export_symbols}T" "$export_symbols"'
             fi              fi
Line 2208  EOF
Line 4020  EOF
           $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'            $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
         fi          fi
   
           tmp_deplibs=
           for test_deplib in $deplibs; do
                   case " $convenience " in
                   *" $test_deplib "*) ;;
                   *)
                           tmp_deplibs="$tmp_deplibs $test_deplib"
                           ;;
                   esac
           done
           deplibs="$tmp_deplibs"
   
         if test -n "$convenience"; then          if test -n "$convenience"; then
           if test -n "$whole_archive_flag_spec"; then            if test -n "$whole_archive_flag_spec"; then
               save_libobjs=$libobjs
             eval libobjs=\"\$libobjs $whole_archive_flag_spec\"              eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
           else            else
             gentop="$output_objdir/${outputname}x"              gentop="$output_objdir/${outputname}x"
             $show "${rm}r $gentop"  
             $run ${rm}r "$gentop"  
             $show "mkdir $gentop"  
             $run mkdir "$gentop"  
             status=$?  
             if test $status -ne 0 && test ! -d "$gentop"; then  
               exit $status  
             fi  
             generated="$generated $gentop"              generated="$generated $gentop"
   
             for xlib in $convenience; do              func_extract_archives $gentop $convenience
               # Extract the objects.              libobjs="$libobjs $func_extract_archives_result"
               case "$xlib" in  
               [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;  
               *) xabs=`pwd`"/$xlib" ;;  
               esac  
               xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`  
               xdir="$gentop/$xlib"  
   
               $show "${rm}r $xdir"  
               $run ${rm}r "$xdir"  
               $show "mkdir $xdir"  
               $run mkdir "$xdir"  
               status=$?  
               if test $status -ne 0 && test ! -d "$xdir"; then  
                 exit $status  
               fi  
               $show "(cd $xdir && $AR x $xabs)"  
               $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?  
   
               libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`  
             done  
           fi            fi
         fi          fi
   
         if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then          if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
           eval flag=\"$thread_safe_flag_spec\"            eval flag=\"$thread_safe_flag_spec\"
           linkopts="$linkopts $flag"            linker_flags="$linker_flags $flag"
         fi          fi
   
           # Make a backup of the uninstalled library when relinking
           if test "$mode" = relink; then
             $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
           fi
   
         # Do each of the archive commands.          # Do each of the archive commands.
           if test "$module" = yes && test -n "$module_cmds" ; then
             if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
               eval test_cmds=\"$module_expsym_cmds\"
               cmds=$module_expsym_cmds
             else
               eval test_cmds=\"$module_cmds\"
               cmds=$module_cmds
             fi
           else
         if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then          if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
           eval cmds=\"$archive_expsym_cmds\"            eval test_cmds=\"$archive_expsym_cmds\"
             cmds=$archive_expsym_cmds
         else          else
           eval cmds=\"$archive_cmds\"            eval test_cmds=\"$archive_cmds\"
             cmds=$archive_cmds
             fi
         fi          fi
         IFS="${IFS=     }"; save_ifs="$IFS"; IFS='~'  
           if test "X$skipped_export" != "X:" &&
              len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
              test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
             :
           else
             # The command line is too long to link in one step, link piecewise.
             $echo "creating reloadable object files..."
   
             # Save the value of $output and $libobjs because we want to
             # use them later.  If we have whole_archive_flag_spec, we
             # want to use save_libobjs as it was before
             # whole_archive_flag_spec was expanded, because we can't
             # assume the linker understands whole_archive_flag_spec.
             # This may have to be revisited, in case too many
             # convenience libraries get linked in and end up exceeding
             # the spec.
             if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
               save_libobjs=$libobjs
             fi
             save_output=$output
             output_la=`$echo "X$output" | $Xsed -e "$basename"`
   
             # Clear the reloadable object creation command queue and
             # initialize k to one.
             test_cmds=
             concat_cmds=
             objlist=
             delfiles=
             last_robj=
             k=1
             output=$output_objdir/$output_la-${k}.$objext
             # Loop over the list of objects to be linked.
             for obj in $save_libobjs
             do
               eval test_cmds=\"$reload_cmds $objlist $last_robj\"
               if test "X$objlist" = X ||
                  { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
                    test "$len" -le "$max_cmd_len"; }; then
                 objlist="$objlist $obj"
               else
                 # The command $test_cmds is almost too long, add a
                 # command to the queue.
                 if test "$k" -eq 1 ; then
                   # The first file doesn't have a previous command to add.
                   eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
                 else
                   # All subsequent reloadable object files will link in
                   # the last one created.
                   eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
                 fi
                 last_robj=$output_objdir/$output_la-${k}.$objext
                 k=`expr $k + 1`
                 output=$output_objdir/$output_la-${k}.$objext
                 objlist=$obj
                 len=1
               fi
             done
             # Handle the remaining objects by creating one last
             # reloadable object file.  All subsequent reloadable object
             # files will link in the last one created.
             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
             eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
   
             if ${skipped_export-false}; then
               $show "generating symbol list for \`$libname.la'"
               export_symbols="$output_objdir/$libname.exp"
               $run $rm $export_symbols
               libobjs=$output
               # Append the command to create the export file.
               eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
             fi
   
             # Set up a command to remove the reloadable object files
             # after they are used.
             i=0
             while test "$i" -lt "$k"
             do
               i=`expr $i + 1`
               delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
             done
   
             $echo "creating a temporary reloadable object file: $output"
   
             # Loop through the commands generated above and execute them.
             save_ifs="$IFS"; IFS='~'
             for cmd in $concat_cmds; do
               IFS="$save_ifs"
               $show "$cmd"
               $run eval "$cmd" || exit $?
             done
             IFS="$save_ifs"
   
             libobjs=$output
             # Restore the value of output.
             output=$save_output
   
             if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
               eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
             fi
             # Expand the library linking commands again to reset the
             # value of $libobjs for piecewise linking.
   
             # Do each of the archive commands.
             if test "$module" = yes && test -n "$module_cmds" ; then
               if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
                 cmds=$module_expsym_cmds
               else
                 cmds=$module_cmds
               fi
             else
             if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
               cmds=$archive_expsym_cmds
             else
               cmds=$archive_cmds
               fi
             fi
   
             # Append the command to remove the reloadable object files
             # to the just-reset $cmds.
             eval cmds=\"\$cmds~\$rm $delfiles\"
           fi
           save_ifs="$IFS"; IFS='~'
         for cmd in $cmds; do          for cmd in $cmds; do
           IFS="$save_ifs"            IFS="$save_ifs"
             eval cmd=\"$cmd\"
           $show "$cmd"            $show "$cmd"
           $run eval "$cmd" || exit $?            $run eval "$cmd" || {
               lt_exit=$?
   
               # Restore the uninstalled library and exit
               if test "$mode" = relink; then
                 $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
               fi
   
               exit $lt_exit
             }
         done          done
         IFS="$save_ifs"          IFS="$save_ifs"
   
           # Restore the uninstalled library and exit
           if test "$mode" = relink; then
             $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
   
             if test -n "$convenience"; then
               if test -z "$whole_archive_flag_spec"; then
                 $show "${rm}r $gentop"
                 $run ${rm}r "$gentop"
               fi
             fi
   
             exit $EXIT_SUCCESS
           fi
   
         # Create links to the real library.          # Create links to the real library.
         for linkname in $linknames; do          for linkname in $linknames; do
           if test "$realname" != "$linkname"; then            if test "$realname" != "$linkname"; then
Line 2283  EOF
Line 4242  EOF
       fi        fi
       ;;        ;;
   
     *.lo | *.o | *.obj)      obj)
       if test -n "$link_against_libtool_libs"; then  
         $echo "$modename: error: cannot link libtool libraries into objects" 1>&2  
         exit 1  
       fi  
   
       if test -n "$deplibs"; then        if test -n "$deplibs"; then
         $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2          $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
       fi        fi
Line 2313  EOF
Line 4267  EOF
         $echo "$modename: warning: \`-release' is ignored for objects" 1>&2          $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
       fi        fi
   
       case "$output" in        case $output in
       *.lo)        *.lo)
         if test -n "$objs"; then          if test -n "$objs$old_deplibs"; then
           $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2            $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
           exit 1            exit $EXIT_FAILURE
         fi          fi
         libobj="$output"          libobj="$output"
         obj=`$echo "X$output" | $Xsed -e "$lo2o"`          obj=`$echo "X$output" | $Xsed -e "$lo2o"`
Line 2339  EOF
Line 4293  EOF
       gentop=        gentop=
       # reload_cmds runs $LD directly, so let us get rid of        # reload_cmds runs $LD directly, so let us get rid of
       # -Wl from whole_archive_flag_spec        # -Wl from whole_archive_flag_spec
       wl=        wl=
   
       if test -n "$convenience"; then        if test -n "$convenience"; then
         if test -n "$whole_archive_flag_spec"; then          if test -n "$whole_archive_flag_spec"; then
           eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"            eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
         else          else
           gentop="$output_objdir/${obj}x"            gentop="$output_objdir/${obj}x"
           $show "${rm}r $gentop"  
           $run ${rm}r "$gentop"  
           $show "mkdir $gentop"  
           $run mkdir "$gentop"  
           status=$?  
           if test $status -ne 0 && test ! -d "$gentop"; then  
             exit $status  
           fi  
           generated="$generated $gentop"            generated="$generated $gentop"
   
           for xlib in $convenience; do            func_extract_archives $gentop $convenience
             # Extract the objects.            reload_conv_objs="$reload_objs $func_extract_archives_result"
             case "$xlib" in  
             [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;  
             *) xabs=`pwd`"/$xlib" ;;  
             esac  
             xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`  
             xdir="$gentop/$xlib"  
   
             $show "${rm}r $xdir"  
             $run ${rm}r "$xdir"  
             $show "mkdir $xdir"  
             $run mkdir "$xdir"  
             status=$?  
             if test $status -ne 0 && test ! -d "$xdir"; then  
               exit $status  
             fi  
             $show "(cd $xdir && $AR x $xabs)"  
             $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?  
   
             reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`  
           done  
         fi          fi
       fi        fi
   
       # Create the old-style object.        # Create the old-style object.
       reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs"        reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
   
       output="$obj"        output="$obj"
       eval cmds=\"$reload_cmds\"        cmds=$reload_cmds
       IFS="${IFS=       }"; save_ifs="$IFS"; IFS='~'        save_ifs="$IFS"; IFS='~'
       for cmd in $cmds; do        for cmd in $cmds; do
         IFS="$save_ifs"          IFS="$save_ifs"
           eval cmd=\"$cmd\"
         $show "$cmd"          $show "$cmd"
         $run eval "$cmd" || exit $?          $run eval "$cmd" || exit $?
       done        done
Line 2401  EOF
Line 4328  EOF
           $run ${rm}r $gentop            $run ${rm}r $gentop
         fi          fi
   
         exit 0          exit $EXIT_SUCCESS
       fi        fi
   
       if test "$build_libtool_libs" != yes; then        if test "$build_libtool_libs" != yes; then
Line 2412  EOF
Line 4339  EOF
   
         # Create an invalid libtool object if no PIC, so that we don't          # Create an invalid libtool object if no PIC, so that we don't
         # accidentally link it into a program.          # accidentally link it into a program.
         $show "echo timestamp > $libobj"          # $show "echo timestamp > $libobj"
         $run eval "echo timestamp > $libobj" || exit $?          # $run eval "echo timestamp > $libobj" || exit $?
         exit 0          exit $EXIT_SUCCESS
       fi        fi
   
       if test -n "$pic_flag"; then        if test -n "$pic_flag" || test "$pic_mode" != default; then
         # Only do commands if we really have different PIC objects.          # Only do commands if we really have different PIC objects.
         reload_objs="$libobjs $reload_conv_objs"          reload_objs="$libobjs $reload_conv_objs"
         output="$libobj"          output="$libobj"
         eval cmds=\"$reload_cmds\"          cmds=$reload_cmds
         IFS="${IFS=     }"; save_ifs="$IFS"; IFS='~'          save_ifs="$IFS"; IFS='~'
         for cmd in $cmds; do          for cmd in $cmds; do
           IFS="$save_ifs"            IFS="$save_ifs"
             eval cmd=\"$cmd\"
           $show "$cmd"            $show "$cmd"
           $run eval "$cmd" || exit $?            $run eval "$cmd" || exit $?
         done          done
         IFS="$save_ifs"          IFS="$save_ifs"
       else  
         # Just create a symlink.  
         $show $rm $libobj  
         $run $rm $libobj  
         xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`  
         if test "X$xdir" = "X$libobj"; then  
           xdir="."  
         else  
           xdir="$xdir"  
         fi  
         baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`  
         oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`  
         $show "(cd $xdir && $LN_S $oldobj $baseobj)"  
         $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $?  
       fi        fi
   
       if test -n "$gentop"; then        if test -n "$gentop"; then
Line 2450  EOF
Line 4364  EOF
         $run ${rm}r $gentop          $run ${rm}r $gentop
       fi        fi
   
       exit 0        exit $EXIT_SUCCESS
       ;;        ;;
   
     # Anything else should be a program.      prog)
     *)        case $host in
           *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
         esac
       if test -n "$vinfo"; then        if test -n "$vinfo"; then
         $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2          $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
       fi        fi
Line 2464  EOF
Line 4380  EOF
       fi        fi
   
       if test "$preload" = yes; then        if test "$preload" = yes; then
         if test "$dlopen" = unknown && test "$dlopen_self" = unknown &&          if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
            test "$dlopen_self_static" = unknown; then             test "$dlopen_self_static" = unknown; then
           $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."            $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
         fi          fi
       fi        fi
   
         case $host in
         *-*-rhapsody* | *-*-darwin1.[012])
           # On Rhapsody replace the C library is the System framework
           compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
           finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
           ;;
         esac
   
         case $host in
         *darwin*)
           # Don't allow lazy linking, it breaks C++ global constructors
           if test "$tagname" = CXX ; then
           compile_command="$compile_command ${wl}-bind_at_load"
           finalize_command="$finalize_command ${wl}-bind_at_load"
           fi
           ;;
         esac
   
   
         # move library search paths that coincide with paths to not yet
         # installed libraries to the beginning of the library search list
         new_libs=
         for path in $notinst_path; do
           case " $new_libs " in
           *" -L$path/$objdir "*) ;;
           *)
             case " $compile_deplibs " in
             *" -L$path/$objdir "*)
               new_libs="$new_libs -L$path/$objdir" ;;
             esac
             ;;
           esac
         done
         for deplib in $compile_deplibs; do
           case $deplib in
           -L*)
             case " $new_libs " in
             *" $deplib "*) ;;
             *) new_libs="$new_libs $deplib" ;;
             esac
             ;;
           *) new_libs="$new_libs $deplib" ;;
           esac
         done
         compile_deplibs="$new_libs"
   
   
         compile_command="$compile_command $compile_deplibs"
         finalize_command="$finalize_command $finalize_deplibs"
   
       if test -n "$rpath$xrpath"; then        if test -n "$rpath$xrpath"; then
         # If the user specified any rpath flags, then add them.          # If the user specified any rpath flags, then add them.
         for libdir in $rpath $xrpath; do          for libdir in $rpath $xrpath; do
           # This is the magic to use -rpath.            # This is the magic to use -rpath.
           case "$compile_rpath " in  
           *" $libdir "*) ;;  
           *) compile_rpath="$compile_rpath $libdir" ;;  
           esac  
           case "$finalize_rpath " in            case "$finalize_rpath " in
           *" $libdir "*) ;;            *" $libdir "*) ;;
           *) finalize_rpath="$finalize_rpath $libdir" ;;            *) finalize_rpath="$finalize_rpath $libdir" ;;
Line 2495  EOF
Line 4457  EOF
               hardcode_libdirs="$libdir"                hardcode_libdirs="$libdir"
             else              else
               # Just accumulate the unique libdirs.                # Just accumulate the unique libdirs.
               case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in                case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
               *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)                *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
                 ;;                  ;;
               *)                *)
Line 2513  EOF
Line 4475  EOF
           *) perm_rpath="$perm_rpath $libdir" ;;            *) perm_rpath="$perm_rpath $libdir" ;;
           esac            esac
         fi          fi
           case $host in
           *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
             testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
             case :$dllsearchpath: in
             *":$libdir:"*) ;;
             *) dllsearchpath="$dllsearchpath:$libdir";;
             esac
             case :$dllsearchpath: in
             *":$testbindir:"*) ;;
             *) dllsearchpath="$dllsearchpath:$testbindir";;
             esac
             ;;
           esac
       done        done
       # Substitute the hardcoded libdirs into the rpath.        # Substitute the hardcoded libdirs into the rpath.
       if test -n "$hardcode_libdir_separator" &&        if test -n "$hardcode_libdir_separator" &&
Line 2531  EOF
Line 4506  EOF
               hardcode_libdirs="$libdir"                hardcode_libdirs="$libdir"
             else              else
               # Just accumulate the unique libdirs.                # Just accumulate the unique libdirs.
               case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in                case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
               *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)                *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
                 ;;                  ;;
               *)                *)
Line 2558  EOF
Line 4533  EOF
       fi        fi
       finalize_rpath="$rpath"        finalize_rpath="$rpath"
   
       output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`  
       if test "X$output_objdir" = "X$output"; then  
         output_objdir="$objdir"  
       else  
         output_objdir="$output_objdir/$objdir"  
       fi  
   
       # Create the binary in the object directory, then wrap it.  
       if test ! -d $output_objdir; then  
         $show "$mkdir $output_objdir"  
         $run $mkdir $output_objdir  
         status=$?  
         if test $status -ne 0 && test ! -d $output_objdir; then  
           exit $status  
         fi  
       fi  
   
       if test -n "$libobjs" && test "$build_old_libs" = yes; then        if test -n "$libobjs" && test "$build_old_libs" = yes; then
         # Transform all the library objects into standard objects.          # Transform all the library objects into standard objects.
         compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`          compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
Line 2591  EOF
Line 4549  EOF
       fi        fi
   
       if test -n "$dlsyms"; then        if test -n "$dlsyms"; then
         case "$dlsyms" in          case $dlsyms in
         "") ;;          "") ;;
         *.c)          *.c)
           # Discover the nlist of each of the dlfiles.            # Discover the nlist of each of the dlfiles.
Line 2623  extern \"C\" {
Line 4581  extern \"C\" {
             test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"              test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
   
             # Add our own program objects to the symbol list.              # Add our own program objects to the symbol list.
             progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`              progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
             for arg in $progfiles; do              for arg in $progfiles; do
               $show "extracting global C symbols from \`$arg'"                $show "extracting global C symbols from \`$arg'"
               $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"                $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
             done              done
   
             if test -n "$exclude_expsyms"; then              if test -n "$exclude_expsyms"; then
               $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'                $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
               $run eval '$mv "$nlist"T "$nlist"'                $run eval '$mv "$nlist"T "$nlist"'
             fi              fi
   
             if test -n "$export_symbols_regex"; then              if test -n "$export_symbols_regex"; then
               $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'                $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
               $run eval '$mv "$nlist"T "$nlist"'                $run eval '$mv "$nlist"T "$nlist"'
             fi              fi
   
             # Prepare the list of exported symbols              # Prepare the list of exported symbols
             if test -z "$export_symbols"; then              if test -z "$export_symbols"; then
               export_symbols="$output_objdir/$output.exp"                export_symbols="$output_objdir/$outputname.exp"
               $run $rm $export_symbols                $run $rm $export_symbols
               $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'                $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
                 case $host in
                 *cygwin* | *mingw* )
                   $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
                   $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
                   ;;
                 esac
             else              else
               $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'                $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
               $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'                $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
               $run eval 'mv "$nlist"T "$nlist"'                $run eval 'mv "$nlist"T "$nlist"'
                 case $host in
                 *cygwin* | *mingw* )
                   $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
                   $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
                   ;;
                 esac
             fi              fi
           fi            fi
   
           for arg in $dlprefiles; do            for arg in $dlprefiles; do
             $show "extracting global C symbols from \`$arg'"              $show "extracting global C symbols from \`$arg'"
             name=`echo "$arg" | sed -e 's%^.*/%%'`              name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
             $run eval 'echo ": $name " >> "$nlist"'              $run eval '$echo ": $name " >> "$nlist"'
             $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"              $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
           done            done
   
Line 2663  extern \"C\" {
Line 4633  extern \"C\" {
             test -f "$nlist" || : > "$nlist"              test -f "$nlist" || : > "$nlist"
   
             if test -n "$exclude_expsyms"; then              if test -n "$exclude_expsyms"; then
               egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T                $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
               $mv "$nlist"T "$nlist"                $mv "$nlist"T "$nlist"
             fi              fi
   
             # Try sorting and uniquifying the output.              # Try sorting and uniquifying the output.
             if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then              if grep -v "^: " < "$nlist" |
                   if sort -k 3 </dev/null >/dev/null 2>&1; then
                     sort -k 3
                   else
                     sort +2
                   fi |
                   uniq > "$nlist"S; then
               :                :
             else              else
               grep -v "^: " < "$nlist" > "$nlist"S                grep -v "^: " < "$nlist" > "$nlist"S
Line 2677  extern \"C\" {
Line 4653  extern \"C\" {
             if test -f "$nlist"S; then              if test -f "$nlist"S; then
               eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'                eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
             else              else
               echo '/* NONE */' >> "$output_objdir/$dlsyms"                $echo '/* NONE */' >> "$output_objdir/$dlsyms"
             fi              fi
   
             $echo >> "$output_objdir/$dlsyms" "\              $echo >> "$output_objdir/$dlsyms" "\
Line 2685  extern \"C\" {
Line 4661  extern \"C\" {
 #undef lt_preloaded_symbols  #undef lt_preloaded_symbols
   
 #if defined (__STDC__) && __STDC__  #if defined (__STDC__) && __STDC__
 # define lt_ptr_t void *  # define lt_ptr void *
 #else  #else
 # define lt_ptr_t char *  # define lt_ptr char *
 # define const  # define const
 #endif  #endif
   
 /* The mapping between symbol names and symbols. */  /* The mapping between symbol names and symbols. */
   "
   
               case $host in
               *cygwin* | *mingw* )
             $echo >> "$output_objdir/$dlsyms" "\
   /* DATA imports from DLLs on WIN32 can't be const, because
      runtime relocations are performed -- see ld's documentation
      on pseudo-relocs */
   struct {
   "
                 ;;
               * )
             $echo >> "$output_objdir/$dlsyms" "\
 const struct {  const struct {
   "
                 ;;
               esac
   
   
             $echo >> "$output_objdir/$dlsyms" "\
   const char *name;    const char *name;
   lt_ptr_t address;    lt_ptr address;
 }  }
 lt_preloaded_symbols[] =  lt_preloaded_symbols[] =
 {\  {\
 "  "
   
             sed -n -e 's/^: \([^ ]*\) $/  {\"\1\", (lt_ptr_t) 0},/p' \              eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
                 -e 's/^. \([^ ]*\) \([^ ]*\)$/  {"\2", (lt_ptr_t) \&\2},/p' \  
                   < "$nlist" >> "$output_objdir/$dlsyms"  
   
             $echo >> "$output_objdir/$dlsyms" "\              $echo >> "$output_objdir/$dlsyms" "\
   {0, (lt_ptr_t) 0}    {0, (lt_ptr) 0}
 };  };
   
 /* This works around a problem in FreeBSD linker */  /* This works around a problem in FreeBSD linker */
Line 2722  static const void *lt_preloaded_setup() {
Line 4715  static const void *lt_preloaded_setup() {
           fi            fi
   
           pic_flag_for_symtable=            pic_flag_for_symtable=
           case "$host" in            case $host in
           # compiling the symbol table file with pic_flag works around            # compiling the symbol table file with pic_flag works around
           # a FreeBSD bug that causes programs to crash when -lm is            # a FreeBSD bug that causes programs to crash when -lm is
           # linked before any other PIC object.  But we must not use            # linked before any other PIC object.  But we must not use
           # pic_flag when linking with -static.  The problem exists in            # pic_flag when linking with -static.  The problem exists in
           # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.            # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
           *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)            *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
             case "$compile_command " in              case "$compile_command " in
             *" -static "*) ;;              *" -static "*) ;;
             *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;              *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
             esac;;              esac;;
           *-*-hpux*)            *-*-hpux*)
             case "$compile_command " in              case "$compile_command " in
             *" -static "*) ;;              *" -static "*) ;;
             *) pic_flag_for_symtable=" $pic_flag -DPIC";;              *) pic_flag_for_symtable=" $pic_flag";;
             esac              esac
           esac            esac
   
           # Now compile the dynamic symbol file.            # Now compile the dynamic symbol file.
           $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"            $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
           $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?            $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
   
           # Clean up the generated files.            # Clean up the generated files.
           $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"            $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
           $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"            $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
   
           # Transform the symbol file into the correct name.            # Transform the symbol file into the correct name.
           compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`            case $host in
           finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`            *cygwin* | *mingw* )
               if test -f "$output_objdir/${outputname}.def" ; then
                 compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
                 finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
               else
                 compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
                 finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
                fi
               ;;
             * )
               compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
               finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
               ;;
             esac
           ;;            ;;
           *-*-freebsd*)
             # FreeBSD doesn't need this...
             ;;
         *)          *)
           $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2            $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
           exit 1            exit $EXIT_FAILURE
           ;;            ;;
         esac          esac
       else        else
Line 2767  static const void *lt_preloaded_setup() {
Line 4776  static const void *lt_preloaded_setup() {
         finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`          finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
       fi        fi
   
       if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
         # Replace the output file specification.          # Replace the output file specification.
         compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`          compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
         link_command="$compile_command$compile_rpath"          link_command="$compile_command$compile_rpath"
Line 2775  static const void *lt_preloaded_setup() {
Line 4784  static const void *lt_preloaded_setup() {
         # We have no uninstalled library dependencies, so finalize right now.          # We have no uninstalled library dependencies, so finalize right now.
         $show "$link_command"          $show "$link_command"
         $run eval "$link_command"          $run eval "$link_command"
         status=$?          exit_status=$?
   
         # Delete the generated files.          # Delete the generated files.
         if test -n "$dlsyms"; then          if test -n "$dlsyms"; then
           $show "$rm $output_objdir/${outputname}S.${objext}"            $show "$rm $output_objdir/${outputname}S.${objext}"
           $run $rm "$output_objdir/${outputname}S.${objext}"            $run $rm "$output_objdir/${outputname}S.${objext}"
         fi          fi
   
         exit $status          exit $exit_status
       fi        fi
   
       if test -n "$shlibpath_var"; then        if test -n "$shlibpath_var"; then
         # We should set the shlibpath_var          # We should set the shlibpath_var
         rpath=          rpath=
         for dir in $temp_rpath; do          for dir in $temp_rpath; do
           case "$dir" in            case $dir in
           [\\/]* | [A-Za-z]:[\\/]*)            [\\/]* | [A-Za-z]:[\\/]*)
             # Absolute path.              # Absolute path.
             rpath="$rpath$dir:"              rpath="$rpath$dir:"
Line 2832  static const void *lt_preloaded_setup() {
Line 4841  static const void *lt_preloaded_setup() {
         fi          fi
       fi        fi
   
         if test "$no_install" = yes; then
           # We don't need to create a wrapper script.
           link_command="$compile_var$compile_command$compile_rpath"
           # Replace the output file specification.
           link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
           # Delete the old output file.
           $run $rm $output
           # Link the executable and exit
           $show "$link_command"
           $run eval "$link_command" || exit $?
           exit $EXIT_SUCCESS
         fi
   
       if test "$hardcode_action" = relink; then        if test "$hardcode_action" = relink; then
         # Fast installation is not supported          # Fast installation is not supported
         link_command="$compile_var$compile_command$compile_rpath"          link_command="$compile_var$compile_command$compile_rpath"
         relink_command="$finalize_var$finalize_command$finalize_rpath"          relink_command="$finalize_var$finalize_command$finalize_rpath"
   
         $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2          $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
         $echo "$modename: \`$output' will be relinked during installation" 1>&2          $echo "$modename: \`$output' will be relinked during installation" 1>&2
       else        else
Line 2856  static const void *lt_preloaded_setup() {
Line 4878  static const void *lt_preloaded_setup() {
   
       # Replace the output file specification.        # Replace the output file specification.
       link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`        link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
   
       # Delete the old output files.        # Delete the old output files.
       $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname        $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
   
Line 2868  static const void *lt_preloaded_setup() {
Line 4890  static const void *lt_preloaded_setup() {
   
       # Quote the relink command for shipping.        # Quote the relink command for shipping.
       if test -n "$relink_command"; then        if test -n "$relink_command"; then
           # Preserve any variables that may affect compiler behavior
           for var in $variables_saved_for_relink; do
             if eval test -z \"\${$var+set}\"; then
               relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
             elif eval var_value=\$$var; test -z "$var_value"; then
               relink_command="$var=; export $var; $relink_command"
             else
               var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
               relink_command="$var=\"$var_value\"; export $var; $relink_command"
             fi
           done
           relink_command="(cd `pwd`; $relink_command)"
         relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`          relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
       fi        fi
   
       # Quote $echo for shipping.        # Quote $echo for shipping.
       if test "X$echo" = "X$SHELL $0 --fallback-echo"; then        if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
         case "$0" in          case $progpath in
         [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";;          [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
         *) qecho="$SHELL `pwd`/$0 --fallback-echo";;          *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
         esac          esac
         qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`          qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
       else        else
Line 2887  static const void *lt_preloaded_setup() {
Line 4921  static const void *lt_preloaded_setup() {
         # win32 will think the script is a binary if it has          # win32 will think the script is a binary if it has
         # a .exe suffix, so we strip it off here.          # a .exe suffix, so we strip it off here.
         case $output in          case $output in
           *.exe) output=`echo $output|sed 's,.exe$,,'` ;;            *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
         esac          esac
         $rm $output          # test for cygwin because mv fails w/o .exe extensions
         trap "$rm $output; exit 1" 1 2 15          case $host in
             *cygwin*)
               exeext=.exe
               outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
             *) exeext= ;;
           esac
           case $host in
             *cygwin* | *mingw* )
               output_name=`basename $output`
               output_path=`dirname $output`
               cwrappersource="$output_path/$objdir/lt-$output_name.c"
               cwrapper="$output_path/$output_name.exe"
               $rm $cwrappersource $cwrapper
               trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
   
               cat > $cwrappersource <<EOF
   
   /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
      Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
   
      The $output program cannot be directly executed until all the libtool
      libraries that it depends on are installed.
   
      This wrapper executable should never be moved out of the build directory.
      If it is, it will not operate correctly.
   
      Currently, it simply execs the wrapper *script* "/bin/sh $output",
      but could eventually absorb all of the scripts functionality and
      exec $objdir/$outputname directly.
   */
   EOF
               cat >> $cwrappersource<<"EOF"
   #include <stdio.h>
   #include <stdlib.h>
   #include <unistd.h>
   #include <malloc.h>
   #include <stdarg.h>
   #include <assert.h>
   #include <string.h>
   #include <ctype.h>
   #include <sys/stat.h>
   
   #if defined(PATH_MAX)
   # define LT_PATHMAX PATH_MAX
   #elif defined(MAXPATHLEN)
   # define LT_PATHMAX MAXPATHLEN
   #else
   # define LT_PATHMAX 1024
   #endif
   
   #ifndef DIR_SEPARATOR
   # define DIR_SEPARATOR '/'
   # define PATH_SEPARATOR ':'
   #endif
   
   #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
     defined (__OS2__)
   # define HAVE_DOS_BASED_FILE_SYSTEM
   # ifndef DIR_SEPARATOR_2
   #  define DIR_SEPARATOR_2 '\\'
   # endif
   # ifndef PATH_SEPARATOR_2
   #  define PATH_SEPARATOR_2 ';'
   # endif
   #endif
   
   #ifndef DIR_SEPARATOR_2
   # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
   #else /* DIR_SEPARATOR_2 */
   # define IS_DIR_SEPARATOR(ch) \
           (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
   #endif /* DIR_SEPARATOR_2 */
   
   #ifndef PATH_SEPARATOR_2
   # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
   #else /* PATH_SEPARATOR_2 */
   # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
   #endif /* PATH_SEPARATOR_2 */
   
   #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
   #define XFREE(stale) do { \
     if (stale) { free ((void *) stale); stale = 0; } \
   } while (0)
   
   /* -DDEBUG is fairly common in CFLAGS.  */
   #undef DEBUG
   #if defined DEBUGWRAPPER
   # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
   #else
   # define DEBUG(format, ...)
   #endif
   
   const char *program_name = NULL;
   
   void * xmalloc (size_t num);
   char * xstrdup (const char *string);
   const char * base_name (const char *name);
   char * find_executable(const char *wrapper);
   int    check_executable(const char *path);
   char * strendzap(char *str, const char *pat);
   void lt_fatal (const char *message, ...);
   
   int
   main (int argc, char *argv[])
   {
     char **newargz;
     int i;
   
     program_name = (char *) xstrdup (base_name (argv[0]));
     DEBUG("(main) argv[0]      : %s\n",argv[0]);
     DEBUG("(main) program_name : %s\n",program_name);
     newargz = XMALLOC(char *, argc+2);
   EOF
   
               cat >> $cwrappersource <<EOF
     newargz[0] = (char *) xstrdup("$SHELL");
   EOF
   
               cat >> $cwrappersource <<"EOF"
     newargz[1] = find_executable(argv[0]);
     if (newargz[1] == NULL)
       lt_fatal("Couldn't find %s", argv[0]);
     DEBUG("(main) found exe at : %s\n",newargz[1]);
     /* we know the script has the same name, without the .exe */
     /* so make sure newargz[1] doesn't end in .exe */
     strendzap(newargz[1],".exe");
     for (i = 1; i < argc; i++)
       newargz[i+1] = xstrdup(argv[i]);
     newargz[argc+1] = NULL;
   
     for (i=0; i<argc+1; i++)
     {
       DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
       ;
     }
   
   EOF
   
               case $host_os in
                 mingw*)
                   cat >> $cwrappersource <<EOF
     execv("$SHELL",(char const **)newargz);
   EOF
                 ;;
                 *)
                   cat >> $cwrappersource <<EOF
     execv("$SHELL",newargz);
   EOF
                 ;;
               esac
   
               cat >> $cwrappersource <<"EOF"
     return 127;
   }
   
   void *
   xmalloc (size_t num)
   {
     void * p = (void *) malloc (num);
     if (!p)
       lt_fatal ("Memory exhausted");
   
     return p;
   }
   
   char *
   xstrdup (const char *string)
   {
     return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
   ;
   }
   
   const char *
   base_name (const char *name)
   {
     const char *base;
   
   #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
     /* Skip over the disk name in MSDOS pathnames. */
     if (isalpha ((unsigned char)name[0]) && name[1] == ':')
       name += 2;
   #endif
   
     for (base = name; *name; name++)
       if (IS_DIR_SEPARATOR (*name))
         base = name + 1;
     return base;
   }
   
   int
   check_executable(const char * path)
   {
     struct stat st;
   
     DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
     if ((!path) || (!*path))
       return 0;
   
     if ((stat (path, &st) >= 0) &&
         (
           /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
   #if defined (S_IXOTH)
          ((st.st_mode & S_IXOTH) == S_IXOTH) ||
   #endif
   #if defined (S_IXGRP)
          ((st.st_mode & S_IXGRP) == S_IXGRP) ||
   #endif
          ((st.st_mode & S_IXUSR) == S_IXUSR))
         )
       return 1;
     else
       return 0;
   }
   
   /* Searches for the full path of the wrapper.  Returns
      newly allocated full path name if found, NULL otherwise */
   char *
   find_executable (const char* wrapper)
   {
     int has_slash = 0;
     const char* p;
     const char* p_next;
     /* static buffer for getcwd */
     char tmp[LT_PATHMAX + 1];
     int tmp_len;
     char* concat_name;
   
     DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
   
     if ((wrapper == NULL) || (*wrapper == '\0'))
       return NULL;
   
     /* Absolute path? */
   #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
     if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
     {
       concat_name = xstrdup (wrapper);
       if (check_executable(concat_name))
         return concat_name;
       XFREE(concat_name);
     }
     else
     {
   #endif
       if (IS_DIR_SEPARATOR (wrapper[0]))
       {
         concat_name = xstrdup (wrapper);
         if (check_executable(concat_name))
           return concat_name;
         XFREE(concat_name);
       }
   #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
     }
   #endif
   
     for (p = wrapper; *p; p++)
       if (*p == '/')
       {
         has_slash = 1;
         break;
       }
     if (!has_slash)
     {
       /* no slashes; search PATH */
       const char* path = getenv ("PATH");
       if (path != NULL)
       {
         for (p = path; *p; p = p_next)
         {
           const char* q;
           size_t p_len;
           for (q = p; *q; q++)
             if (IS_PATH_SEPARATOR(*q))
               break;
           p_len = q - p;
           p_next = (*q == '\0' ? q : q + 1);
           if (p_len == 0)
           {
             /* empty path: current directory */
             if (getcwd (tmp, LT_PATHMAX) == NULL)
               lt_fatal ("getcwd failed");
             tmp_len = strlen(tmp);
             concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
             memcpy (concat_name, tmp, tmp_len);
             concat_name[tmp_len] = '/';
             strcpy (concat_name + tmp_len + 1, wrapper);
           }
           else
           {
             concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
             memcpy (concat_name, p, p_len);
             concat_name[p_len] = '/';
             strcpy (concat_name + p_len + 1, wrapper);
           }
           if (check_executable(concat_name))
             return concat_name;
           XFREE(concat_name);
         }
       }
       /* not found in PATH; assume curdir */
     }
     /* Relative path | not found in path: prepend cwd */
     if (getcwd (tmp, LT_PATHMAX) == NULL)
       lt_fatal ("getcwd failed");
     tmp_len = strlen(tmp);
     concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
     memcpy (concat_name, tmp, tmp_len);
     concat_name[tmp_len] = '/';
     strcpy (concat_name + tmp_len + 1, wrapper);
   
     if (check_executable(concat_name))
       return concat_name;
     XFREE(concat_name);
     return NULL;
   }
   
   char *
   strendzap(char *str, const char *pat)
   {
     size_t len, patlen;
   
     assert(str != NULL);
     assert(pat != NULL);
   
     len = strlen(str);
     patlen = strlen(pat);
   
     if (patlen <= len)
     {
       str += len - patlen;
       if (strcmp(str, pat) == 0)
         *str = '\0';
     }
     return str;
   }
   
   static void
   lt_error_core (int exit_status, const char * mode,
             const char * message, va_list ap)
   {
     fprintf (stderr, "%s: %s: ", program_name, mode);
     vfprintf (stderr, message, ap);
     fprintf (stderr, ".\n");
   
     if (exit_status >= 0)
       exit (exit_status);
   }
   
   void
   lt_fatal (const char *message, ...)
   {
     va_list ap;
     va_start (ap, message);
     lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
     va_end (ap);
   }
   EOF
             # we should really use a build-platform specific compiler
             # here, but OTOH, the wrappers (shell script and this C one)
             # are only useful if you want to execute the "real" binary.
             # Since the "real" binary is built for $host, then this
             # wrapper might as well be built for $host, too.
             $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
             ;;
           esac
           $rm $output
           trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
   
         $echo > $output "\          $echo > $output "\
 #! $SHELL  #! $SHELL
   
Line 2906  static const void *lt_preloaded_setup() {
Line 5306  static const void *lt_preloaded_setup() {
   
 # Sed substitution that helps us do robust quoting.  It backslashifies  # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.  # metacharacters that are still active within double-quoted strings.
 Xsed='sed -e 1s/^X//'  Xsed='${SED} -e 1s/^X//'
 sed_quote_subst='$sed_quote_subst'  sed_quote_subst='$sed_quote_subst'
   
 # The HP-UX ksh and POSIX shell print the target directory to stdout  # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.  # if CDPATH is set.
 if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi  (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
   
 relink_command=\"$relink_command\"  relink_command=\"$relink_command\"
   
 # This environment variable determines our operation mode.  # This environment variable determines our operation mode.
 if test \"\$libtool_install_magic\" = \"$magic\"; then  if test \"\$libtool_install_magic\" = \"$magic\"; then
   # install mode needs the following variable:    # install mode needs the following variable:
   link_against_libtool_libs='$link_against_libtool_libs'    notinst_deplibs='$notinst_deplibs'
 else  else
   # When we are sourced in execute mode, \$file and \$echo are already set.    # When we are sourced in execute mode, \$file and \$echo are already set.
   if test \"\$libtool_execute_magic\" != \"$magic\"; then    if test \"\$libtool_execute_magic\" != \"$magic\"; then
Line 2944  else
Line 5344  else
   test \"x\$thisdir\" = \"x\$file\" && thisdir=.    test \"x\$thisdir\" = \"x\$file\" && thisdir=.
   
   # Follow symbolic links until we get to the real thisdir.    # Follow symbolic links until we get to the real thisdir.
   file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`    file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
   while test -n \"\$file\"; do    while test -n \"\$file\"; do
     destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`      destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
   
     # If there was a directory component, then change thisdir.      # If there was a directory component, then change thisdir.
     if test \"x\$destdir\" != \"x\$file\"; then      if test \"x\$destdir\" != \"x\$file\"; then
       case \"\$destdir\" in        case \"\$destdir\" in
       [\\/]* | [A-Za-z]:[\\/]*) thisdir=\"\$destdir\" ;;        [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
       *) thisdir=\"\$thisdir/\$destdir\" ;;        *) thisdir=\"\$thisdir/\$destdir\" ;;
       esac        esac
     fi      fi
   
     file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`      file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
     file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`      file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
   done    done
   
   # Try to get the absolute directory name.    # Try to get the absolute directory name.
Line 2966  else
Line 5366  else
 "  "
   
         if test "$fast_install" = yes; then          if test "$fast_install" = yes; then
           echo >> $output "\            $echo >> $output "\
   program=lt-'$outputname'    program=lt-'$outputname'$exeext
   progdir=\"\$thisdir/$objdir\"    progdir=\"\$thisdir/$objdir\"
   
   if test ! -f \"\$progdir/\$program\" || \\    if test ! -f \"\$progdir/\$program\" || \\
      { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\       { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
        test \"X\$file\" != \"X\$progdir/\$program\"; }; then         test \"X\$file\" != \"X\$progdir/\$program\"; }; then
   
     file=\"\$\$-\$program\"      file=\"\$\$-\$program\"
Line 2982  else
Line 5382  else
       $rm \"\$progdir/\$file\"        $rm \"\$progdir/\$file\"
     fi"      fi"
   
           echo >> $output "\            $echo >> $output "\
   
     # relink executable if necessary      # relink executable if necessary
     if test -n \"\$relink_command\"; then      if test -n \"\$relink_command\"; then
       if (cd \"\$thisdir\" && eval \$relink_command); then :        if relink_command_output=\`eval \$relink_command 2>&1\`; then :
       else        else
           $echo \"\$relink_command_output\" >&2
         $rm \"\$progdir/\$file\"          $rm \"\$progdir/\$file\"
         exit 1          exit $EXIT_FAILURE
       fi        fi
     fi      fi
   
Line 2999  else
Line 5400  else
     $rm \"\$progdir/\$file\"      $rm \"\$progdir/\$file\"
   fi"    fi"
         else          else
           echo >> $output "\            $echo >> $output "\
   program='$outputname'    program='$outputname'
   progdir=\"\$thisdir/$objdir\"    progdir=\"\$thisdir/$objdir\"
 "  "
         fi          fi
   
         echo >> $output "\          $echo >> $output "\
   
   if test -f \"\$progdir/\$program\"; then"    if test -f \"\$progdir/\$program\"; then"
   
Line 3036  else
Line 5437  else
       # Run the actual program with our arguments.        # Run the actual program with our arguments.
 "  "
         case $host in          case $host in
           # win32 systems need to use the prog path for dll  
           # lookup to work  
         *-*-cygwin*)  
           $echo >> $output "\  
       exec \$progdir/\$program \${1+\"\$@\"}  
 "  
           ;;  
   
         # Backslashes separate directories on plain windows          # Backslashes separate directories on plain windows
         *-*-mingw | *-*-os2*)          *-*-mingw | *-*-os2*)
           $echo >> $output "\            $echo >> $output "\
       exec \$progdir\\\\\$program \${1+\"\$@\"}        exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
 "  "
           ;;            ;;
   
         *)          *)
           $echo >> $output "\            $echo >> $output "\
       # Export the path to the program.        exec \"\$progdir/\$program\" \${1+\"\$@\"}
       PATH=\"\$progdir:\$PATH\"  
       export PATH  
   
       exec \$program \${1+\"\$@\"}  
 "  "
           ;;            ;;
         esac          esac
         $echo >> $output "\          $echo >> $output "\
       \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"        \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
       exit 1        exit $EXIT_FAILURE
     fi      fi
   else    else
     # The program doesn't exist.      # The program doesn't exist.
     \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2      \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
     \$echo \"This script is just a wrapper for \$program.\" 1>&2      \$echo \"This script is just a wrapper for \$program.\" 1>&2
     echo \"See the $PACKAGE documentation for more information.\" 1>&2      $echo \"See the $PACKAGE documentation for more information.\" 1>&2
     exit 1      exit $EXIT_FAILURE
   fi    fi
 fi\  fi\
 "  "
         chmod +x $output          chmod +x $output
       fi        fi
       exit 0        exit $EXIT_SUCCESS
       ;;        ;;
     esac      esac
   
Line 3092  fi\
Line 5481  fi\
           oldobjs="$libobjs_save"            oldobjs="$libobjs_save"
           build_libtool_libs=no            build_libtool_libs=no
         else          else
           oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`            oldobjs="$old_deplibs $non_pic_objects"
         fi          fi
         addlibs="$old_convenience"          addlibs="$old_convenience"
       fi        fi
   
       if test -n "$addlibs"; then        if test -n "$addlibs"; then
         gentop="$output_objdir/${outputname}x"          gentop="$output_objdir/${outputname}x"
         $show "${rm}r $gentop"  
         $run ${rm}r "$gentop"  
         $show "mkdir $gentop"  
         $run mkdir "$gentop"  
         status=$?  
         if test $status -ne 0 && test ! -d "$gentop"; then  
           exit $status  
         fi  
         generated="$generated $gentop"          generated="$generated $gentop"
   
         # Add in members from convenience archives.  
         for xlib in $addlibs; do  
           # Extract the objects.  
           case "$xlib" in  
           [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;  
           *) xabs=`pwd`"/$xlib" ;;  
           esac  
           xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`  
           xdir="$gentop/$xlib"  
   
           $show "${rm}r $xdir"          func_extract_archives $gentop $addlibs
           $run ${rm}r "$xdir"          oldobjs="$oldobjs $func_extract_archives_result"
           $show "mkdir $xdir"  
           $run mkdir "$xdir"  
           status=$?  
           if test $status -ne 0 && test ! -d "$xdir"; then  
             exit $status  
           fi  
           $show "(cd $xdir && $AR x $xabs)"  
           $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?  
   
           oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`  
         done  
       fi        fi
   
       # Do each command in the archive commands.        # Do each command in the archive commands.
       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then        if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
         eval cmds=\"$old_archive_from_new_cmds\"         cmds=$old_archive_from_new_cmds
       else        else
         # Ensure that we have .o objects in place in case we decided          # POSIX demands no paths to be encoded in archives.  We have
         # not to build a shared library, and have fallen back to building          # to avoid creating archives with duplicate basenames if we
         # static libs even though --disable-static was passed!          # might have to extract them afterwards, e.g., when creating a
         for oldobj in $oldobjs; do          # static archive out of a convenience library, or when linking
           if test ! -f $oldobj; then          # the entirety of a libtool archive into another (currently
             xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'`          # not supported by libtool).
             if test "X$xdir" = "X$oldobj"; then          if (for obj in $oldobjs
               xdir="."              do
             else                $echo "X$obj" | $Xsed -e 's%^.*/%%'
               xdir="$xdir"              done | sort | sort -uc >/dev/null 2>&1); then
             :
           else
             $echo "copying selected object files to avoid basename conflicts..."
   
             if test -z "$gentop"; then
               gentop="$output_objdir/${outputname}x"
               generated="$generated $gentop"
   
               $show "${rm}r $gentop"
               $run ${rm}r "$gentop"
               $show "$mkdir $gentop"
               $run $mkdir "$gentop"
               exit_status=$?
               if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
                 exit $exit_status
             fi              fi
             baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'`  
             obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`  
             $show "(cd $xdir && ${LN_S} $obj $baseobj)"  
             $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $?  
           fi            fi
         done  
   
             save_oldobjs=$oldobjs
             oldobjs=
             counter=1
             for obj in $save_oldobjs
             do
               objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
               case " $oldobjs " in
               " ") oldobjs=$obj ;;
               *[\ /]"$objbase "*)
                 while :; do
                   # Make sure we don't pick an alternate name that also
                   # overlaps.
                   newobj=lt$counter-$objbase
                   counter=`expr $counter + 1`
                   case " $oldobjs " in
                   *[\ /]"$newobj "*) ;;
                   *) if test ! -f "$gentop/$newobj"; then break; fi ;;
                   esac
                 done
                 $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
                 $run ln "$obj" "$gentop/$newobj" ||
                 $run cp "$obj" "$gentop/$newobj"
                 oldobjs="$oldobjs $gentop/$newobj"
                 ;;
               *) oldobjs="$oldobjs $obj" ;;
               esac
             done
           fi
   
         eval cmds=\"$old_archive_cmds\"          eval cmds=\"$old_archive_cmds\"
   
           if len=`expr "X$cmds" : ".*"` &&
                test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
             cmds=$old_archive_cmds
           else
             # the command line is too long to link in one step, link in parts
             $echo "using piecewise archive linking..."
             save_RANLIB=$RANLIB
             RANLIB=:
             objlist=
             concat_cmds=
             save_oldobjs=$oldobjs
   
             # Is there a better way of finding the last object in the list?
             for obj in $save_oldobjs
             do
               last_oldobj=$obj
             done
             for obj in $save_oldobjs
             do
               oldobjs="$objlist $obj"
               objlist="$objlist $obj"
               eval test_cmds=\"$old_archive_cmds\"
               if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
                  test "$len" -le "$max_cmd_len"; then
                 :
               else
                 # the above command should be used before it gets too long
                 oldobjs=$objlist
                 if test "$obj" = "$last_oldobj" ; then
                   RANLIB=$save_RANLIB
                 fi
                 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
                 eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
                 objlist=
               fi
             done
             RANLIB=$save_RANLIB
             oldobjs=$objlist
             if test "X$oldobjs" = "X" ; then
               eval cmds=\"\$concat_cmds\"
             else
               eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
             fi
           fi
       fi        fi
       IFS="${IFS=       }"; save_ifs="$IFS"; IFS='~'        save_ifs="$IFS"; IFS='~'
       for cmd in $cmds; do        for cmd in $cmds; do
           eval cmd=\"$cmd\"
         IFS="$save_ifs"          IFS="$save_ifs"
         $show "$cmd"          $show "$cmd"
         $run eval "$cmd" || exit $?          $run eval "$cmd" || exit $?
Line 3173  fi\
Line 5618  fi\
     fi      fi
   
     # Now create the libtool archive.      # Now create the libtool archive.
     case "$output" in      case $output in
     *.la)      *.la)
       old_library=        old_library=
       if test "$release_suffix" = all; then  
         test "$build_old_libs" = yes && old_library="$libname$release.$libext"  
       else  
       test "$build_old_libs" = yes && old_library="$libname.$libext"        test "$build_old_libs" = yes && old_library="$libname.$libext"
       fi  
       $show "creating $output"        $show "creating $output"
   
       if test -n "$xrpath"; then        # Preserve any variables that may affect compiler behavior
         temp_xrpath=        for var in $variables_saved_for_relink; do
         for libdir in $xrpath; do          if eval test -z \"\${$var+set}\"; then
           temp_xrpath="$temp_xrpath -R$libdir"            relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
         done          elif eval var_value=\$$var; test -z "$var_value"; then
         dependency_libs="$temp_xrpath $dependency_libs"            relink_command="$var=; export $var; $relink_command"
           else
             var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
             relink_command="$var=\"$var_value\"; export $var; $relink_command"
           fi
         done
         # Quote the link command for shipping.
         relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
         relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
         if test "$hardcode_automatic" = yes ; then
           relink_command=
       fi        fi
   
   
       # Only create the output if not a dry run.        # Only create the output if not a dry run.
       if test -z "$run"; then        if test -z "$run"; then
         for installed in no yes; do          for installed in no yes; do
Line 3199  fi\
Line 5651  fi\
               break                break
             fi              fi
             output="$output_objdir/$outputname"i              output="$output_objdir/$outputname"i
               # Replace all uninstalled libtool libraries with the installed ones
               newdependency_libs=
               for deplib in $dependency_libs; do
                 case $deplib in
                 *.la)
                   name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
                   eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
                   if test -z "$libdir"; then
                     $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
                     exit $EXIT_FAILURE
                   fi
                   newdependency_libs="$newdependency_libs $libdir/$name"
                   ;;
                 *) newdependency_libs="$newdependency_libs $deplib" ;;
                 esac
               done
               dependency_libs="$newdependency_libs"
               newdlfiles=
               for lib in $dlfiles; do
                 name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
                 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
                 if test -z "$libdir"; then
                   $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
                   exit $EXIT_FAILURE
                 fi
                 newdlfiles="$newdlfiles $libdir/$name"
               done
               dlfiles="$newdlfiles"
               newdlprefiles=
               for lib in $dlprefiles; do
                 name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
                 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
                 if test -z "$libdir"; then
                   $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
                   exit $EXIT_FAILURE
                 fi
                 newdlprefiles="$newdlprefiles $libdir/$name"
               done
               dlprefiles="$newdlprefiles"
             else
               newdlfiles=
               for lib in $dlfiles; do
                 case $lib in
                   [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
                   *) abs=`pwd`"/$lib" ;;
                 esac
                 newdlfiles="$newdlfiles $abs"
               done
               dlfiles="$newdlfiles"
               newdlprefiles=
               for lib in $dlprefiles; do
                 case $lib in
                   [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
                   *) abs=`pwd`"/$lib" ;;
                 esac
                 newdlprefiles="$newdlprefiles $abs"
               done
               dlprefiles="$newdlprefiles"
           fi            fi
           $rm $output            $rm $output
             # place dlname in correct position for cygwin
             tdlname=$dlname
             case $host,$output,$installed,$module,$dlname in
               *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
             esac
           $echo > $output "\            $echo > $output "\
 # $outputname - a libtool library file  # $outputname - a libtool library file
 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP  # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
Line 3209  fi\
Line 5724  fi\
 # It is necessary for linking the library.  # It is necessary for linking the library.
   
 # The name that we can dlopen(3).  # The name that we can dlopen(3).
 dlname='$dlname'  dlname='$tdlname'
   
 # Names of this library.  # Names of this library.
 library_names='$library_names'  library_names='$library_names'
Line 3228  revision=$revision
Line 5743  revision=$revision
 # Is this an already installed library?  # Is this an already installed library?
 installed=$installed  installed=$installed
   
   # Should we warn about portability when linking against -modules?
   shouldnotlink=$module
   
   # Files to dlopen/dlpreopen
   dlopen='$dlfiles'
   dlpreopen='$dlprefiles'
   
 # Directory that this library needs to be installed in:  # Directory that this library needs to be installed in:
 libdir='$install_libdir'\  libdir='$install_libdir'"
 "            if test "$installed" = no && test "$need_relink" = yes; then
               $echo >> $output "\
   relink_command=\"$relink_command\""
             fi
         done          done
       fi        fi
   
       # Do a symbolic link so that the libtool archive can be found in        # Do a symbolic link so that the libtool archive can be found in
       # LD_LIBRARY_PATH before the program is installed.        # LD_LIBRARY_PATH before the program is installed.
       $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"        $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
       $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $?        $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
       ;;        ;;
     esac      esac
     exit 0      exit $EXIT_SUCCESS
     ;;      ;;
   
   # libtool install mode    # libtool install mode
Line 3249  libdir='$install_libdir'\
Line 5774  libdir='$install_libdir'\
   
     # There may be an optional sh(1) argument at the beginning of      # There may be an optional sh(1) argument at the beginning of
     # install_prog (especially on Windows NT).      # install_prog (especially on Windows NT).
     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then      if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
          # Allow the use of GNU shtool's install command.
          $echo "X$nonopt" | grep shtool > /dev/null; then
       # Aesthetically quote it.        # Aesthetically quote it.
       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`        arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
       case "$arg" in        case $arg in
       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
         arg="\"$arg\""          arg="\"$arg\""
         ;;          ;;
       esac        esac
Line 3262  libdir='$install_libdir'\
Line 5789  libdir='$install_libdir'\
       shift        shift
     else      else
       install_prog=        install_prog=
       arg="$nonopt"        arg=$nonopt
     fi      fi
   
     # The real first argument should be the name of the installation program.      # The real first argument should be the name of the installation program.
     # Aesthetically quote it.      # Aesthetically quote it.
     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
     case "$arg" in      case $arg in
     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*)      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
       arg="\"$arg\""        arg="\"$arg\""
       ;;        ;;
     esac      esac
Line 3287  libdir='$install_libdir'\
Line 5814  libdir='$install_libdir'\
     do      do
       if test -n "$dest"; then        if test -n "$dest"; then
         files="$files $dest"          files="$files $dest"
         dest="$arg"          dest=$arg
         continue          continue
       fi        fi
   
       case "$arg" in        case $arg in
       -d) isdir=yes ;;        -d) isdir=yes ;;
       -f) prev="-f" ;;        -f)
       -g) prev="-g" ;;          case " $install_prog " in
       -m) prev="-m" ;;          *[\\\ /]cp\ *) ;;
       -o) prev="-o" ;;          *) prev=$arg ;;
           esac
           ;;
         -g | -m | -o) prev=$arg ;;
       -s)        -s)
         stripme=" -s"          stripme=" -s"
         continue          continue
         ;;          ;;
       -*) ;;        -*)
           ;;
       *)        *)
         # If the previous option needed an argument, then skip it.          # If the previous option needed an argument, then skip it.
         if test -n "$prev"; then          if test -n "$prev"; then
           prev=            prev=
         else          else
           dest="$arg"            dest=$arg
           continue            continue
         fi          fi
         ;;          ;;
Line 3316  libdir='$install_libdir'\
Line 5846  libdir='$install_libdir'\
   
       # Aesthetically quote the argument.        # Aesthetically quote the argument.
       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
       case "$arg" in        case $arg in
       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
         arg="\"$arg\""          arg="\"$arg\""
         ;;          ;;
       esac        esac
Line 3327  libdir='$install_libdir'\
Line 5857  libdir='$install_libdir'\
     if test -z "$install_prog"; then      if test -z "$install_prog"; then
       $echo "$modename: you must specify an install program" 1>&2        $echo "$modename: you must specify an install program" 1>&2
       $echo "$help" 1>&2        $echo "$help" 1>&2
       exit 1        exit $EXIT_FAILURE
     fi      fi
   
     if test -n "$prev"; then      if test -n "$prev"; then
       $echo "$modename: the \`$prev' option requires an argument" 1>&2        $echo "$modename: the \`$prev' option requires an argument" 1>&2
       $echo "$help" 1>&2        $echo "$help" 1>&2
       exit 1        exit $EXIT_FAILURE
     fi      fi
   
     if test -z "$files"; then      if test -z "$files"; then
Line 3343  libdir='$install_libdir'\
Line 5873  libdir='$install_libdir'\
         $echo "$modename: you must specify a destination" 1>&2          $echo "$modename: you must specify a destination" 1>&2
       fi        fi
       $echo "$help" 1>&2        $echo "$help" 1>&2
       exit 1        exit $EXIT_FAILURE
     fi      fi
   
     # Strip any trailing slash from the destination.      # Strip any trailing slash from the destination.
Line 3361  libdir='$install_libdir'\
Line 5891  libdir='$install_libdir'\
   
       # Not a directory, so check to see that there is only one file specified.        # Not a directory, so check to see that there is only one file specified.
       set dummy $files        set dummy $files
       if test $# -gt 2; then        if test "$#" -gt 2; then
         $echo "$modename: \`$dest' is not a directory" 1>&2          $echo "$modename: \`$dest' is not a directory" 1>&2
         $echo "$help" 1>&2          $echo "$help" 1>&2
         exit 1          exit $EXIT_FAILURE
       fi        fi
     fi      fi
     case "$destdir" in      case $destdir in
     [\\/]* | [A-Za-z]:[\\/]*) ;;      [\\/]* | [A-Za-z]:[\\/]*) ;;
     *)      *)
       for file in $files; do        for file in $files; do
         case "$file" in          case $file in
         *.lo) ;;          *.lo) ;;
         *)          *)
           $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2            $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
           $echo "$help" 1>&2            $echo "$help" 1>&2
           exit 1            exit $EXIT_FAILURE
           ;;            ;;
         esac          esac
       done        done
Line 3393  libdir='$install_libdir'\
Line 5923  libdir='$install_libdir'\
     for file in $files; do      for file in $files; do
   
       # Do each installation.        # Do each installation.
       case "$file" in        case $file in
       *.a | *.lib)        *.$libext)
         # Do the static libraries later.          # Do the static libraries later.
         staticlibs="$staticlibs $file"          staticlibs="$staticlibs $file"
         ;;          ;;
   
       *.la)        *.la)
         # Check to see that this really is a libtool archive.          # Check to see that this really is a libtool archive.
         if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :          if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
         else          else
           $echo "$modename: \`$file' is not a valid libtool archive" 1>&2            $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
           $echo "$help" 1>&2            $echo "$help" 1>&2
           exit 1            exit $EXIT_FAILURE
         fi          fi
   
         library_names=          library_names=
         old_library=          old_library=
           relink_command=
         # If there is no directory component, then add one.          # If there is no directory component, then add one.
         case "$file" in          case $file in
         */* | *\\*) . $file ;;          */* | *\\*) . $file ;;
         *) . ./$file ;;          *) . ./$file ;;
         esac          esac
Line 3430  libdir='$install_libdir'\
Line 5961  libdir='$install_libdir'\
           esac            esac
         fi          fi
   
         dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"          dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
         test "X$dir" = "X$file/" && dir=          test "X$dir" = "X$file/" && dir=
         dir="$dir$objdir"          dir="$dir$objdir"
   
           if test -n "$relink_command"; then
             # Determine the prefix the user has applied to our future dir.
             inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
   
             # Don't allow the user to place us outside of our expected
             # location b/c this prevents finding dependent libraries that
             # are installed to the same prefix.
             # At present, this check doesn't affect windows .dll's that
             # are installed into $libdir/../bin (currently, that works fine)
             # but it's something to keep an eye on.
             if test "$inst_prefix_dir" = "$destdir"; then
               $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
               exit $EXIT_FAILURE
             fi
   
             if test -n "$inst_prefix_dir"; then
               # Stick the inst_prefix_dir data into the link command.
               relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
             else
               relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
             fi
   
             $echo "$modename: warning: relinking \`$file'" 1>&2
             $show "$relink_command"
             if $run eval "$relink_command"; then :
             else
               $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
               exit $EXIT_FAILURE
             fi
           fi
   
         # See the names of the shared library.          # See the names of the shared library.
         set dummy $library_names          set dummy $library_names
         if test -n "$2"; then          if test -n "$2"; then
Line 3441  libdir='$install_libdir'\
Line 6003  libdir='$install_libdir'\
           shift            shift
           shift            shift
   
             srcname="$realname"
             test -n "$relink_command" && srcname="$realname"T
   
           # Install the shared library and build the symlinks.            # Install the shared library and build the symlinks.
           $show "$install_prog $dir/$realname $destdir/$realname"            $show "$install_prog $dir/$srcname $destdir/$realname"
           $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?            $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
             if test -n "$stripme" && test -n "$striplib"; then
               $show "$striplib $destdir/$realname"
               $run eval "$striplib $destdir/$realname" || exit $?
             fi
   
           if test $# -gt 0; then            if test "$#" -gt 0; then
             # Delete the old symlinks, and create new ones.              # Delete the old symlinks, and create new ones.
               # Try `ln -sf' first, because the `ln' binary might depend on
               # the symlink we replace!  Solaris /bin/ln does not understand -f,
               # so we also need to try rm && ln -s.
             for linkname              for linkname
             do              do
               if test "$linkname" != "$realname"; then                if test "$linkname" != "$realname"; then
                 $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"                  $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
                 $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"                  $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
               fi                fi
             done              done
           fi            fi
   
           # Do each command in the postinstall commands.            # Do each command in the postinstall commands.
           lib="$destdir/$realname"            lib="$destdir/$realname"
           eval cmds=\"$postinstall_cmds\"            cmds=$postinstall_cmds
           IFS="${IFS=   }"; save_ifs="$IFS"; IFS='~'            save_ifs="$IFS"; IFS='~'
           for cmd in $cmds; do            for cmd in $cmds; do
             IFS="$save_ifs"              IFS="$save_ifs"
               eval cmd=\"$cmd\"
             $show "$cmd"              $show "$cmd"
             $run eval "$cmd" || exit $?              $run eval "$cmd" || {
                 lt_exit=$?
   
                 # Restore the uninstalled library and exit
                 if test "$mode" = relink; then
                   $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
                 fi
   
                 exit $lt_exit
               }
           done            done
           IFS="$save_ifs"            IFS="$save_ifs"
         fi          fi
   
         # Install the pseudo-library for information purposes.          # Install the pseudo-library for information purposes.
         if test "$install_ltlibs" = yes; then  
         name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`          name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
         instname="$dir/$name"i          instname="$dir/$name"i
         $show "$install_prog $instname $destdir/$name"          $show "$install_prog $instname $destdir/$name"
         $run eval "$install_prog $instname $destdir/$name" || exit $?          $run eval "$install_prog $instname $destdir/$name" || exit $?
         fi  
   
         # Maybe install the static library, too.          # Maybe install the static library, too.
         test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"          test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
Line 3492  libdir='$install_libdir'\
Line 6072  libdir='$install_libdir'\
         fi          fi
   
         # Deduce the name of the destination old-style object file.          # Deduce the name of the destination old-style object file.
         case "$destfile" in          case $destfile in
         *.lo)          *.lo)
           staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`            staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
           ;;            ;;
         *.o | *.obj)          *.$objext)
           staticdest="$destfile"            staticdest="$destfile"
           destfile=            destfile=
           ;;            ;;
         *)          *)
           $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2            $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
           $echo "$help" 1>&2            $echo "$help" 1>&2
           exit 1            exit $EXIT_FAILURE
           ;;            ;;
         esac          esac
   
Line 3521  libdir='$install_libdir'\
Line 6101  libdir='$install_libdir'\
           $show "$install_prog $staticobj $staticdest"            $show "$install_prog $staticobj $staticdest"
           $run eval "$install_prog \$staticobj \$staticdest" || exit $?            $run eval "$install_prog \$staticobj \$staticdest" || exit $?
         fi          fi
         exit 0          exit $EXIT_SUCCESS
         ;;          ;;
   
       *)        *)
Line 3533  libdir='$install_libdir'\
Line 6113  libdir='$install_libdir'\
           destfile="$destdir/$destfile"            destfile="$destdir/$destfile"
         fi          fi
   
           # If the file is missing, and there is a .exe on the end, strip it
           # because it is most likely a libtool script we actually want to
           # install
           stripped_ext=""
           case $file in
             *.exe)
               if test ! -f "$file"; then
                 file=`$echo $file|${SED} 's,.exe$,,'`
                 stripped_ext=".exe"
               fi
               ;;
           esac
   
         # Do a test to see if this is really a libtool program.          # Do a test to see if this is really a libtool program.
         if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then          case $host in
           link_against_libtool_libs=          *cygwin*|*mingw*)
               wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
               ;;
           *)
               wrapper=$file
               ;;
           esac
           if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
             notinst_deplibs=
           relink_command=            relink_command=
   
             # Note that it is not necessary on cygwin/mingw to append a dot to
             # foo even if both foo and FILE.exe exist: automatic-append-.exe
             # behavior happens only for exec(3), not for open(2)!  Also, sourcing
             # `FILE.' does not work on cygwin managed mounts.
             #
           # If there is no directory component, then add one.            # If there is no directory component, then add one.
           case "$file" in            case $wrapper in
           */* | *\\*) . $file ;;            */* | *\\*) . ${wrapper} ;;
           *) . ./$file ;;            *) . ./${wrapper} ;;
           esac            esac
   
           # Check the variables that should have been set.            # Check the variables that should have been set.
           if test -z "$link_against_libtool_libs"; then            if test -z "$notinst_deplibs"; then
             $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2              $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
             exit 1              exit $EXIT_FAILURE
           fi            fi
   
           finalize=yes            finalize=yes
           for lib in $link_against_libtool_libs; do            for lib in $notinst_deplibs; do
             # Check to see that each library is installed.              # Check to see that each library is installed.
             libdir=              libdir=
             if test -f "$lib"; then              if test -f "$lib"; then
               # If there is no directory component, then add one.                # If there is no directory component, then add one.
               case "$lib" in                case $lib in
               */* | *\\*) . $lib ;;                */* | *\\*) . $lib ;;
               *) . ./$lib ;;                *) . ./$lib ;;
               esac                esac
             fi              fi
             libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"              libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
             if test -n "$libdir" && test ! -f "$libfile"; then              if test -n "$libdir" && test ! -f "$libfile"; then
                 $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
               finalize=no                finalize=no
             fi              fi
           done            done
   
             relink_command=
             # Note that it is not necessary on cygwin/mingw to append a dot to
             # foo even if both foo and FILE.exe exist: automatic-append-.exe
             # behavior happens only for exec(3), not for open(2)!  Also, sourcing
             # `FILE.' does not work on cygwin managed mounts.
             #
             # If there is no directory component, then add one.
             case $wrapper in
             */* | *\\*) . ${wrapper} ;;
             *) . ./${wrapper} ;;
             esac
   
           outputname=            outputname=
           if test "$fast_install" = no && test -n "$relink_command"; then            if test "$fast_install" = no && test -n "$relink_command"; then
             if test "$finalize" = yes && test -z "$run"; then              if test "$finalize" = yes && test -z "$run"; then
               tmpdir="/tmp"                tmpdir=`func_mktempdir`
               test -n "$TMPDIR" && tmpdir="$TMPDIR"                file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
               tmpdir="$tmpdir/libtool-$$"  
               save_umask=`umask`  
               umask 0077  
               if $mkdir "$tmpdir"; then  
                 umask $save_umask  
               else  
                 umask $save_umask  
                 $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2  
                 continue  
               fi  
               outputname="$tmpdir/$file"                outputname="$tmpdir/$file"
               # Replace the output file specification.                # Replace the output file specification.
               relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`                relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
Line 3599  libdir='$install_libdir'\
Line 6208  libdir='$install_libdir'\
             fi              fi
           else            else
             # Install the binary that we compiled earlier.              # Install the binary that we compiled earlier.
             file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`              file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
           fi            fi
         fi          fi
   
           # remove .exe since cygwin /usr/bin/install will append another
           # one anyway
           case $install_prog,$host in
           */usr/bin/install*,*cygwin*)
             case $file:$destfile in
             *.exe:*.exe)
               # this is ok
               ;;
             *.exe:*)
               destfile=$destfile.exe
               ;;
             *:*.exe)
               destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
               ;;
             esac
             ;;
           esac
         $show "$install_prog$stripme $file $destfile"          $show "$install_prog$stripme $file $destfile"
         $run eval "$install_prog\$stripme \$file \$destfile" || exit $?          $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
         test -n "$outputname" && ${rm}r "$tmpdir"          test -n "$outputname" && ${rm}r "$tmpdir"
Line 3619  libdir='$install_libdir'\
Line 6245  libdir='$install_libdir'\
       $show "$install_prog $file $oldlib"        $show "$install_prog $file $oldlib"
       $run eval "$install_prog \$file \$oldlib" || exit $?        $run eval "$install_prog \$file \$oldlib" || exit $?
   
         if test -n "$stripme" && test -n "$old_striplib"; then
           $show "$old_striplib $oldlib"
           $run eval "$old_striplib $oldlib" || exit $?
         fi
   
       # Do each command in the postinstall commands.        # Do each command in the postinstall commands.
       eval cmds=\"$old_postinstall_cmds\"        cmds=$old_postinstall_cmds
       IFS="${IFS=       }"; save_ifs="$IFS"; IFS='~'        save_ifs="$IFS"; IFS='~'
       for cmd in $cmds; do        for cmd in $cmds; do
         IFS="$save_ifs"          IFS="$save_ifs"
           eval cmd=\"$cmd\"
         $show "$cmd"          $show "$cmd"
         $run eval "$cmd" || exit $?          $run eval "$cmd" || exit $?
       done        done
Line 3637  libdir='$install_libdir'\
Line 6269  libdir='$install_libdir'\
     if test -n "$current_libdirs"; then      if test -n "$current_libdirs"; then
       # Maybe just do a dry run.        # Maybe just do a dry run.
       test -n "$run" && current_libdirs=" -n$current_libdirs"        test -n "$run" && current_libdirs=" -n$current_libdirs"
       exec $SHELL $0 --finish$current_libdirs        exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
       exit 1      else
         exit $EXIT_SUCCESS
     fi      fi
   
     exit 0  
     ;;      ;;
   
   # libtool finish mode    # libtool finish mode
Line 3659  libdir='$install_libdir'\
Line 6290  libdir='$install_libdir'\
       for libdir in $libdirs; do        for libdir in $libdirs; do
         if test -n "$finish_cmds"; then          if test -n "$finish_cmds"; then
           # Do each command in the finish commands.            # Do each command in the finish commands.
           eval cmds=\"$finish_cmds\"            cmds=$finish_cmds
           IFS="${IFS=   }"; save_ifs="$IFS"; IFS='~'            save_ifs="$IFS"; IFS='~'
           for cmd in $cmds; do            for cmd in $cmds; do
             IFS="$save_ifs"              IFS="$save_ifs"
               eval cmd=\"$cmd\"
             $show "$cmd"              $show "$cmd"
             $run eval "$cmd" || admincmds="$admincmds              $run eval "$cmd" || admincmds="$admincmds
        $cmd"         $cmd"
Line 3679  libdir='$install_libdir'\
Line 6311  libdir='$install_libdir'\
     fi      fi
   
     # Exit here if they wanted silent mode.      # Exit here if they wanted silent mode.
     test "$show" = : && exit 0      test "$show" = : && exit $EXIT_SUCCESS
   
     echo "----------------------------------------------------------------------"      $echo "X----------------------------------------------------------------------" | $Xsed
     echo "Libraries have been installed in:"      $echo "Libraries have been installed in:"
     for libdir in $libdirs; do      for libdir in $libdirs; do
       echo "   $libdir"        $echo "   $libdir"
     done      done
     echo      $echo
     echo "If you ever happen to want to link against installed libraries"      $echo "If you ever happen to want to link against installed libraries"
     echo "in a given directory, LIBDIR, you must either use libtool, and"      $echo "in a given directory, LIBDIR, you must either use libtool, and"
     echo "specify the full pathname of the library, or use \`-LLIBDIR'"      $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
     echo "flag during linking and do at least one of the following:"      $echo "flag during linking and do at least one of the following:"
     if test -n "$shlibpath_var"; then      if test -n "$shlibpath_var"; then
       echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"        $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
       echo "     during execution"        $echo "     during execution"
     fi      fi
     if test -n "$runpath_var"; then      if test -n "$runpath_var"; then
       echo "   - add LIBDIR to the \`$runpath_var' environment variable"        $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
       echo "     during linking"        $echo "     during linking"
     fi      fi
     if test -n "$hardcode_libdir_flag_spec"; then      if test -n "$hardcode_libdir_flag_spec"; then
       libdir=LIBDIR        libdir=LIBDIR
       eval flag=\"$hardcode_libdir_flag_spec\"        eval flag=\"$hardcode_libdir_flag_spec\"
   
       echo "   - use the \`$flag' linker flag"        $echo "   - use the \`$flag' linker flag"
     fi      fi
     if test -n "$admincmds"; then      if test -n "$admincmds"; then
       echo "   - have your system administrator run these commands:$admincmds"        $echo "   - have your system administrator run these commands:$admincmds"
     fi      fi
     if test -f /etc/ld.so.conf; then      if test -f /etc/ld.so.conf; then
       echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"        $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
     fi      fi
     echo      $echo
     echo "See any operating system documentation about shared libraries for"      $echo "See any operating system documentation about shared libraries for"
     echo "more information, such as the ld(1) and ld.so(8) manual pages."      $echo "more information, such as the ld(1) and ld.so(8) manual pages."
     echo "----------------------------------------------------------------------"      $echo "X----------------------------------------------------------------------" | $Xsed
     exit 0      exit $EXIT_SUCCESS
     ;;      ;;
   
   # libtool execute mode    # libtool execute mode
Line 3727  libdir='$install_libdir'\
Line 6359  libdir='$install_libdir'\
     if test -z "$cmd"; then      if test -z "$cmd"; then
       $echo "$modename: you must specify a COMMAND" 1>&2        $echo "$modename: you must specify a COMMAND" 1>&2
       $echo "$help"        $echo "$help"
       exit 1        exit $EXIT_FAILURE
     fi      fi
   
     # Handle -dlopen flags immediately.      # Handle -dlopen flags immediately.
Line 3735  libdir='$install_libdir'\
Line 6367  libdir='$install_libdir'\
       if test ! -f "$file"; then        if test ! -f "$file"; then
         $echo "$modename: \`$file' is not a file" 1>&2          $echo "$modename: \`$file' is not a file" 1>&2
         $echo "$help" 1>&2          $echo "$help" 1>&2
         exit 1          exit $EXIT_FAILURE
       fi        fi
   
       dir=        dir=
       case "$file" in        case $file in
       *.la)        *.la)
         # Check to see that this really is a libtool archive.          # Check to see that this really is a libtool archive.
         if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :          if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
         else          else
           $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2            $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
           $echo "$help" 1>&2            $echo "$help" 1>&2
           exit 1            exit $EXIT_FAILURE
         fi          fi
   
         # Read the libtool library.          # Read the libtool library.
Line 3754  libdir='$install_libdir'\
Line 6386  libdir='$install_libdir'\
         library_names=          library_names=
   
         # If there is no directory component, then add one.          # If there is no directory component, then add one.
         case "$file" in          case $file in
         */* | *\\*) . $file ;;          */* | *\\*) . $file ;;
         *) . ./$file ;;          *) . ./$file ;;
         esac          esac
Line 3773  libdir='$install_libdir'\
Line 6405  libdir='$install_libdir'\
           dir="$dir/$objdir"            dir="$dir/$objdir"
         else          else
           $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2            $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
           exit 1            exit $EXIT_FAILURE
         fi          fi
         ;;          ;;
   
Line 3809  libdir='$install_libdir'\
Line 6441  libdir='$install_libdir'\
     args=      args=
     for file      for file
     do      do
       case "$file" in        case $file in
       -*) ;;        -*) ;;
       *)        *)
         # Do a test to see if this is really a libtool program.          # Do a test to see if this is really a libtool program.
         if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then          if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
           # If there is no directory component, then add one.            # If there is no directory component, then add one.
           case "$file" in            case $file in
           */* | *\\*) . $file ;;            */* | *\\*) . $file ;;
           *) . ./$file ;;            *) . ./$file ;;
           esac            esac
Line 3832  libdir='$install_libdir'\
Line 6464  libdir='$install_libdir'\
   
     if test -z "$run"; then      if test -z "$run"; then
       if test -n "$shlibpath_var"; then        if test -n "$shlibpath_var"; then
         # Export the shlibpath_var.          # Export the shlibpath_var.
         eval "export $shlibpath_var"          eval "export $shlibpath_var"
       fi        fi
   
       # Restore saved enviroment variables        # Restore saved environment variables
       if test "${save_LC_ALL+set}" = set; then        if test "${save_LC_ALL+set}" = set; then
         LC_ALL="$save_LC_ALL"; export LC_ALL          LC_ALL="$save_LC_ALL"; export LC_ALL
       fi        fi
Line 3844  libdir='$install_libdir'\
Line 6476  libdir='$install_libdir'\
         LANG="$save_LANG"; export LANG          LANG="$save_LANG"; export LANG
       fi        fi
   
       # Now actually exec the command.        # Now prepare to actually exec the command.
       eval "exec \$cmd$args"        exec_cmd="\$cmd$args"
   
       $echo "$modename: cannot exec \$cmd$args"  
       exit 1  
     else      else
       # Display what would be done.        # Display what would be done.
       if test -n "$shlibpath_var"; then        if test -n "$shlibpath_var"; then
         eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""          eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
         $echo "export $shlibpath_var"          $echo "export $shlibpath_var"
       fi        fi
       $echo "$cmd$args"        $echo "$cmd$args"
       exit 0        exit $EXIT_SUCCESS
     fi      fi
     ;;      ;;
   
   # libtool uninstall mode    # libtool clean and uninstall mode
   uninstall)    clean | uninstall)
     modename="$modename: uninstall"      modename="$modename: $mode"
     rm="$nonopt"      rm="$nonopt"
     files=      files=
       rmforce=
       exit_status=0
   
       # This variable tells wrapper scripts just to set variables rather
       # than running their programs.
       libtool_install_magic="$magic"
   
     for arg      for arg
     do      do
       case "$arg" in        case $arg in
         -f) rm="$rm $arg"; rmforce=yes ;;
       -*) rm="$rm $arg" ;;        -*) rm="$rm $arg" ;;
       *) files="$files $arg" ;;        *) files="$files $arg" ;;
       esac        esac
Line 3877  libdir='$install_libdir'\
Line 6513  libdir='$install_libdir'\
     if test -z "$rm"; then      if test -z "$rm"; then
       $echo "$modename: you must specify an RM program" 1>&2        $echo "$modename: you must specify an RM program" 1>&2
       $echo "$help" 1>&2        $echo "$help" 1>&2
       exit 1        exit $EXIT_FAILURE
     fi      fi
   
       rmdirs=
   
       origobjdir="$objdir"
     for file in $files; do      for file in $files; do
       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
       test "X$dir" = "X$file" && dir=.        if test "X$dir" = "X$file"; then
           dir=.
           objdir="$origobjdir"
         else
           objdir="$dir/$origobjdir"
         fi
       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
         test "$mode" = uninstall && objdir="$dir"
   
         # Remember objdir for removal later, being careful to avoid duplicates
         if test "$mode" = clean; then
           case " $rmdirs " in
             *" $objdir "*) ;;
             *) rmdirs="$rmdirs $objdir" ;;
           esac
         fi
   
         # Don't error if the file doesn't exist and rm -f was used.
         if (test -L "$file") >/dev/null 2>&1 \
           || (test -h "$file") >/dev/null 2>&1 \
           || test -f "$file"; then
           :
         elif test -d "$file"; then
           exit_status=1
           continue
         elif test "$rmforce" = yes; then
           continue
         fi
   
       rmfiles="$file"        rmfiles="$file"
   
       case "$name" in        case $name in
       *.la)        *.la)
         # Possibly a libtool archive, so verify it.          # Possibly a libtool archive, so verify it.
         if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then          if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
           . $dir/$name            . $dir/$name
   
           # Delete the libtool libraries and symlinks.            # Delete the libtool libraries and symlinks.
           for n in $library_names; do            for n in $library_names; do
             rmfiles="$rmfiles $dir/$n"              rmfiles="$rmfiles $objdir/$n"
           done            done
           test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"            test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
   
           $show "$rm $rmfiles"            case "$mode" in
           $run $rm $rmfiles            clean)
               case "  $library_names " in
           if test -n "$library_names"; then              # "  " in the beginning catches empty $dlname
             # Do each command in the postuninstall commands.              *" $dlname "*) ;;
             eval cmds=\"$postuninstall_cmds\"              *) rmfiles="$rmfiles $objdir/$dlname" ;;
             IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'              esac
             for cmd in $cmds; do               test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
               ;;
             uninstall)
               if test -n "$library_names"; then
                 # Do each command in the postuninstall commands.
                 cmds=$postuninstall_cmds
                 save_ifs="$IFS"; IFS='~'
                 for cmd in $cmds; do
                   IFS="$save_ifs"
                   eval cmd=\"$cmd\"
                   $show "$cmd"
                   $run eval "$cmd"
                   if test "$?" -ne 0 && test "$rmforce" != yes; then
                     exit_status=1
                   fi
                 done
               IFS="$save_ifs"                IFS="$save_ifs"
               $show "$cmd"              fi
               $run eval "$cmd"  
             done  
             IFS="$save_ifs"  
           fi  
   
           if test -n "$old_library"; then              if test -n "$old_library"; then
             # Do each command in the old_postuninstall commands.                # Do each command in the old_postuninstall commands.
             eval cmds=\"$old_postuninstall_cmds\"                cmds=$old_postuninstall_cmds
             IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'                save_ifs="$IFS"; IFS='~'
             for cmd in $cmds; do                for cmd in $cmds; do
                   IFS="$save_ifs"
                   eval cmd=\"$cmd\"
                   $show "$cmd"
                   $run eval "$cmd"
                   if test "$?" -ne 0 && test "$rmforce" != yes; then
                     exit_status=1
                   fi
                 done
               IFS="$save_ifs"                IFS="$save_ifs"
               $show "$cmd"              fi
               $run eval "$cmd"              # FIXME: should reinstall the best remaining shared library.
             done              ;;
             IFS="$save_ifs"            esac
           fi  
   
           # FIXME: should reinstall the best remaining shared library.  
         fi          fi
         ;;          ;;
   
       *.lo)        *.lo)
         if test "$build_old_libs" = yes; then          # Possibly a libtool object, so verify it.
           oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`          if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
           rmfiles="$rmfiles $dir/$oldobj"  
             # Read the .lo file
             . $dir/$name
   
             # Add PIC object to the list of files to remove.
             if test -n "$pic_object" \
                && test "$pic_object" != none; then
               rmfiles="$rmfiles $dir/$pic_object"
             fi
   
             # Add non-PIC object to the list of files to remove.
             if test -n "$non_pic_object" \
                && test "$non_pic_object" != none; then
               rmfiles="$rmfiles $dir/$non_pic_object"
             fi
         fi          fi
         $show "$rm $rmfiles"  
         $run $rm $rmfiles  
         ;;          ;;
   
       *)        *)
         $show "$rm $rmfiles"          if test "$mode" = clean ; then
         $run $rm $rmfiles            noexename=$name
             case $file in
             *.exe)
               file=`$echo $file|${SED} 's,.exe$,,'`
               noexename=`$echo $name|${SED} 's,.exe$,,'`
               # $file with .exe has already been added to rmfiles,
               # add $file without .exe
               rmfiles="$rmfiles $file"
               ;;
             esac
             # Do a test to see if this is a libtool program.
             if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
               relink_command=
               . $dir/$noexename
   
               # note $name still contains .exe if it was in $file originally
               # as does the version of $file that was added into $rmfiles
               rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
               if test "$fast_install" = yes && test -n "$relink_command"; then
                 rmfiles="$rmfiles $objdir/lt-$name"
               fi
               if test "X$noexename" != "X$name" ; then
                 rmfiles="$rmfiles $objdir/lt-${noexename}.c"
               fi
             fi
           fi
         ;;          ;;
       esac        esac
         $show "$rm $rmfiles"
         $run $rm $rmfiles || exit_status=1
     done      done
     exit 0      objdir="$origobjdir"
   
       # Try to remove the ${objdir}s in the directories where we deleted files
       for dir in $rmdirs; do
         if test -d "$dir"; then
           $show "rmdir $dir"
           $run rmdir $dir >/dev/null 2>&1
         fi
       done
   
       exit $exit_status
     ;;      ;;
   
   "")    "")
     $echo "$modename: you must specify a MODE" 1>&2      $echo "$modename: you must specify a MODE" 1>&2
     $echo "$generic_help" 1>&2      $echo "$generic_help" 1>&2
     exit 1      exit $EXIT_FAILURE
     ;;      ;;
   esac    esac
   
   $echo "$modename: invalid operation mode \`$mode'" 1>&2    if test -z "$exec_cmd"; then
   $echo "$generic_help" 1>&2      $echo "$modename: invalid operation mode \`$mode'" 1>&2
   exit 1      $echo "$generic_help" 1>&2
       exit $EXIT_FAILURE
     fi
 fi # test -z "$show_help"  fi # test -z "$show_help"
   
   if test -n "$exec_cmd"; then
     eval exec $exec_cmd
     exit $EXIT_FAILURE
   fi
   
 # We need to display help for each of the modes.  # We need to display help for each of the modes.
 case "$mode" in  case $mode in
 "") $echo \  "") $echo \
 "Usage: $modename [OPTION]... [MODE-ARG]...  "Usage: $modename [OPTION]... [MODE-ARG]...
   
Line 3976  Provide generalized library-building support services.
Line 6713  Provide generalized library-building support services.
     --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]      --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
     --quiet           same as \`--silent'      --quiet           same as \`--silent'
     --silent          don't print informational messages      --silent          don't print informational messages
       --tag=TAG         use configuration variables from tag TAG
     --version         print version information      --version         print version information
   
 MODE must be one of the following:  MODE must be one of the following:
   
         clean           remove files from the build directory
       compile         compile a source file into a libtool object        compile         compile a source file into a libtool object
       execute         automatically set library path, then run a program        execute         automatically set library path, then run a program
       finish          complete the installation of libtool libraries        finish          complete the installation of libtool libraries
Line 3988  MODE must be one of the following:
Line 6727  MODE must be one of the following:
       uninstall       remove libraries from an installed directory        uninstall       remove libraries from an installed directory
   
 MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for  MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
 a more detailed description of MODE."  a more detailed description of MODE.
   exit 0  
   Report bugs to <bug-libtool@gnu.org>."
     exit $EXIT_SUCCESS
   ;;    ;;
   
   clean)
     $echo \
   "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
   
   Remove files from the build directory.
   
   RM is the name of the program to use to delete files associated with each FILE
   (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
   to RM.
   
   If FILE is a libtool library, object or program, all the files associated
   with it are deleted. Otherwise, only FILE itself is deleted using RM."
     ;;
   
 compile)  compile)
   $echo \    $echo \
 "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE  "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
Line 4001  Compile a source file into a libtool library object.
Line 6756  Compile a source file into a libtool library object.
 This mode accepts the following additional options:  This mode accepts the following additional options:
   
   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE    -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
     -prefer-pic       try to building PIC objects only
     -prefer-non-pic   try to building non-PIC objects only
   -static           always build a \`.o' file suitable for static linking    -static           always build a \`.o' file suitable for static linking
   
 COMPILE-COMMAND is a command to be used in creating a \`standard' object file  COMPILE-COMMAND is a command to be used in creating a \`standard' object file
Line 4080  The following components of LINK-COMMAND are treated s
Line 6837  The following components of LINK-COMMAND are treated s
   -LLIBDIR          search LIBDIR for required installed libraries    -LLIBDIR          search LIBDIR for required installed libraries
   -lNAME            OUTPUT-FILE requires the installed library libNAME    -lNAME            OUTPUT-FILE requires the installed library libNAME
   -module           build a library that can dlopened    -module           build a library that can dlopened
     -no-fast-install  disable the fast-install mode
     -no-install       link a not-installable executable
   -no-undefined     declare that a library does not refer to external symbols    -no-undefined     declare that a library does not refer to external symbols
   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects    -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
     -objectlist FILE  Use a list of object files found in FILE to specify objects
     -precious-files-regex REGEX
                       don't remove output files matching REGEX
   -release RELEASE  specify package release information    -release RELEASE  specify package release information
   -rpath LIBDIR     the created library will eventually be installed in LIBDIR    -rpath LIBDIR     the created library will eventually be installed in LIBDIR
   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries    -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
Line 4123  Otherwise, only FILE itself is deleted using RM."
Line 6885  Otherwise, only FILE itself is deleted using RM."
 *)  *)
   $echo "$modename: invalid operation mode \`$mode'" 1>&2    $echo "$modename: invalid operation mode \`$mode'" 1>&2
   $echo "$help" 1>&2    $echo "$help" 1>&2
   exit 1    exit $EXIT_FAILURE
   ;;    ;;
 esac  esac
   
 echo  $echo
 $echo "Try \`$modename --help' for more information about other modes."  $echo "Try \`$modename --help' for more information about other modes."
   
 exit 0  exit $?
   
   # The TAGs below are defined such that we never get into a situation
   # in which we disable both kinds of libraries.  Given conflicting
   # choices, we go for a static library, that is the most portable,
   # since we can't tell whether shared libraries were disabled because
   # the user asked for that or because the platform doesn't support
   # them.  This is particularly important on AIX, because we don't
   # support having both static and shared libraries enabled at the same
   # time on that platform, so we default to a shared-only configuration.
   # If a disable-shared tag is given, we'll fallback to a static-only
   # configuration.  But we'll never go from static-only to shared-only.
   
   # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
   disable_libs=shared
   # ### END LIBTOOL TAG CONFIG: disable-shared
   
   # ### BEGIN LIBTOOL TAG CONFIG: disable-static
   disable_libs=static
   # ### END LIBTOOL TAG CONFIG: disable-static
   
 # Local Variables:  # Local Variables:
 # mode:shell-script  # mode:shell-script

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>