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