File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ltmain.sh
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:47:52 2012 UTC (12 years, 10 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

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

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