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