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