19f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# ltmain.sh - Provide generalized library-building support services. 29f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# NOTE: Changing this file will not affect anything until you rerun ltconfig. 39f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# 49f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Copyright (C) 1996-1998 Free Software Foundation, Inc. 59f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 69f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# 79f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# This program is free software; you can redistribute it and/or modify 89f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# it under the terms of the GNU General Public License as published by 99f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# the Free Software Foundation; either version 2 of the License, or 109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# (at your option) any later version. 119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# 129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# This program is distributed in the hope that it will be useful, but 139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# WITHOUT ANY WARRANTY; without even the implied warranty of 149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# General Public License for more details. 169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# 179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# You should have received a copy of the GNU General Public License 189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# along with this program; if not, write to the Free Software 199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# 219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# As a special exception to the GNU General Public License, if you 229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# distribute this file as part of a program that contains a 239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# configuration script generated by Autoconf, you may include it under 249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# the same distribution terms that you use for the rest of that program. 259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# The name of this program. 279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectprogname=`$echo "$0" | sed 's%^.*/%%'` 289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectmodename="$progname" 299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Constants. 319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectPROGRAM=ltmain.sh 329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectPACKAGE=libtool 339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectVERSION=1.2 349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdefault_mode= 369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projecthelp="Try \`$progname --help' for more information." 379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectmagic="%%%MAGIC variable%%%" 389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectmkdir="mkdir" 399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectmv="mv -f" 409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectrm="rm -f" 419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Sed substitution that helps us do robust quoting. It backslashifies 439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# metacharacters that are still active within double-quoted strings. 449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectXsed='sed -e s/^X//' 459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectsed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' 469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# NLS nuisances. 489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Only set LANG and LC_ALL to C if already set. 499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# These must not be set unconditionally because not all systems understand 509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# e.g. LANG=C (notably SCO). 519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectif test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi 529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectif test "${LANG+set}" = set; then LANG=C; export LANG; fi 539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectif test "$LTCONFIG_VERSION" != "$VERSION"; then 559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2 569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectfi 599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectif test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then 619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "$modename: not configured to build any kind of library" 1>&2 629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectfi 659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Global variables. 679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectmode=$default_mode 689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectnonopt= 699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectprev= 709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectprevopt= 719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectrun= 729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectshow="$echo" 739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectshow_help= 749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectexecute_dlfiles= 759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Parse our command line options once, thoroughly. 779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectwhile test $# -gt 0 789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdo 799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg="$1" 809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project shift 819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; 849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) optarg= ;; 859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If the previous option needs an argument, assign it. 889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$prev"; then 899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$prev" in 909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project execute_dlfiles) 919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval "$prev=\"\$$prev \$arg\"" 929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval "$prev=\$arg" 959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev= 999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prevopt= 1009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 1019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 1029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Have we seen a non-optional argument yet? 1049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 1059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --help) 1069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project show_help=yes 1079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --version) 1109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "$PROGRAM (GNU $PACKAGE) $VERSION" 1119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 1129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --dry-run | -n) 1159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project run=: 1169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --features) 1199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "host: $host" 1209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_libtool_libs" = yes; then 1219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "enable shared libraries" 1229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 1239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "disable shared libraries" 1249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 1259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_old_libs" = yes; then 1269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "enable static libraries" 1279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 1289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "disable static libraries" 1299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 1309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 1319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --finish) mode="finish" ;; 1349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --mode) prevopt="--mode" prev=mode ;; 1369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --mode=*) mode="$optarg" ;; 1379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --quiet | --silent) 1399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project show=: 1409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -dlopen) 1439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prevopt="-dlopen" 1449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev=execute_dlfiles 1459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -*) 1489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: unrecognized option \`$arg'" 1>&2 1499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 1509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 1519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 1549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project nonopt="$arg" 1559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project break 1569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 1589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdone 1599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectif test -n "$prevopt"; then 1619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: option \`$prevopt' requires an argument" 1>&2 1629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 1639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 1649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectfi 1659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectif test -z "$show_help"; then 1679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Infer the operation mode. 1699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$mode"; then 1709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$nonopt" in 1719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *cc | *++ | gcc* | *-gcc*) 1729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project mode=link 1739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for arg 1749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project do 1759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 1769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -c) 1779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project mode=compile 1789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project break 1799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 1819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 1829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *db | *dbx) 1849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project mode=execute 1859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *install*|cp|mv) 1879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project mode=install 1889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *rm) 1909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project mode=uninstall 1919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 1929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 1939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If we have no mode, but dlfiles were specified, then do execute mode. 1949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$execute_dlfiles" && mode=execute 1959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 1969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Just use the default operation mode. 1979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$mode"; then 1989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$nonopt"; then 1999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 2009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 2019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 2029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 2039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 2049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 2059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 2069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 2079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Only execute mode is allowed to have -dlopen flags. 2099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$execute_dlfiles" && test "$mode" != execute; then 2109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: unrecognized option \`-dlopen'" 1>&2 2119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 2129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 2139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 2149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Change the help message to a mode-specific one. 2169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project generic_help="$help" 2179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project help="Try \`$modename --help --mode=$mode' for more information." 2189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # These modes are in order of execution frequency so that they run quickly. 2209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$mode" in 2219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # libtool compile mode 2229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile) 2239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project modename="$modename: compile" 2249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Get the compilation command and the source file. 2259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project base_compile= 2269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project lastarg= 2279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project srcfile="$nonopt" 2289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project suppress_output= 2299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for arg 2319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project do 2329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Accept any command-line options. 2339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 2349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -o) 2359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: you cannot specify the output filename with \`-o'" 1>&2 2369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 2379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 2389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 2399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -static) 2419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project build_libtool_libs=no 2429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project build_old_libs=yes 2439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 2449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 2459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 2469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Accept the current argument as the source file. 2489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project lastarg="$srcfile" 2499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project srcfile="$arg" 2509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Aesthetically quote the previous argument. 2529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Backslashify any backslashes, double quotes, and dollar signs. 2549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # These are the only characters that are still specially 2559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # interpreted inside of double-quoted scrings. 2569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` 2579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Double-quote args containing other shell metacharacters. 2599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Many Bourne shells cannot handle close brackets correctly in scan 2609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # sets, so we specify it separately. 2619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$lastarg" in 2629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) 2639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project lastarg="\"$lastarg\"" 2649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 2659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 2669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Add the previous argument to base_compile. 2689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$base_compile"; then 2699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project base_compile="$lastarg" 2709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 2719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project base_compile="$base_compile $lastarg" 2729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 2739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 2749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Get the name of the library object. 2769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` 2779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Recognize several different file suffixes. 2799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project xform='[cCFSfms]' 2809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$libobj" in 2819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.ada) xform=ada ;; 2829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.adb) xform=adb ;; 2839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.ads) xform=ads ;; 2849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.asm) xform=asm ;; 2859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.c++) xform=c++ ;; 2869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.cc) xform=cc ;; 2879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.cpp) xform=cpp ;; 2889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.cxx) xform=cxx ;; 2899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.f90) xform=f90 ;; 2909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.for) xform=for ;; 2919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 2929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` 2949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 2959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$libobj" in 2969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;; 2979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 2989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2 2999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 3009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 3019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 3029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$base_compile"; then 3049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: you must specify a compilation command" 1>&2 3059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 3069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 3079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 3089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Delete any leftover library objects. 3109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_old_libs" = yes; then 3119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $rm $obj $libobj 3129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project trap "$run $rm $obj $libobj; exit 1" 1 2 15 3139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 3149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $rm $libobj 3159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project trap "$run $rm $libobj; exit 1" 1 2 15 3169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 3179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Only build a PIC object if we are building libtool libraries. 3199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_libtool_libs" = yes; then 3209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Without this assignment, base_compile gets emptied. 3219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fbsd_hideous_sh_bug=$base_compile 3229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # All platforms use -DPIC, to notify preprocessed assembler code. 3249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$base_compile$pic_flag -DPIC $srcfile" 3259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if $run eval "$base_compile\$pic_flag -DPIC \$srcfile"; then : 3269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 3279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$obj" && $run $rm $obj 3289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 3299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 3309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If we have no pic_flag, then copy the object into place and finish. 3329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$pic_flag"; then 3339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$LN_S $obj $libobj" 3349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $LN_S $obj $libobj 3359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit $? 3369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 3379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Just move the object, then go on to compile the next one 3399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$mv $obj $libobj" 3409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $mv $obj $libobj || exit 1 3419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Allow error messages only from the first compilation. 3439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project suppress_output=' >/dev/null 2>&1' 3449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 3459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Only build a position-dependent object if we build old libraries. 3479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_old_libs" = yes; then 3489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Suppress compiler output if we already did a PIC compilation. 3499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$base_compile $srcfile$suppress_output" 3509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if $run eval "$base_compile \$srcfile$suppress_output"; then : 3519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 3529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $rm $obj $libobj 3539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 3549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 3559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 3569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Create an invalid libtool object if no PIC, so that we do not 3589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # accidentally link it into a program. 3599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_libtool_libs" != yes; then 3609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "echo timestamp > $libobj" 3619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "echo timestamp > \$libobj" || exit $? 3629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 3639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 3659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 3669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # libtool link mode 3689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project link) 3699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project modename="$modename: link" 3709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project CC="$nonopt" 3719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project allow_undefined=yes 3729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$CC" 3739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$CC" 3749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_shlibpath= 3769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_shlibpath= 3779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project deplibs= 3789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlfiles= 3799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlprefiles= 3809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project export_dynamic=no 3819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project hardcode_libdirs= 3829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libobjs= 3839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project link_against_libtool_libs= 3849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ltlibs= 3859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project objs= 3869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev= 3879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prevarg= 3889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project release= 3899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rpath= 3909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project perm_rpath= 3919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project temp_rpath= 3929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project vinfo= 3939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 3949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # We need to know -static, to get the right output filenames. 3959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for arg 3969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project do 3979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 3989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -all-static | -static) 3999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then 4009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 4019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 4029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project build_libtool_libs=no 4039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project build_old_libs=yes 4049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project break 4059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 4069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 4079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 4089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 4099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # See if our shared archives depend on static archives. 4109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$old_archive_from_new_cmds" && build_old_libs=yes 4119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 4129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Go through the arguments, transforming them on the way. 4139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for arg 4149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project do 4159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If the previous option needs an argument, assign it. 4169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$prev"; then 4179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$prev" in 4189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project output) 4199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command @OUTPUT@" 4209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command @OUTPUT@" 4219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 4229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 4239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 4249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$prev" in 4259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlfiles|dlprefiles) 4269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 4279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.la | *.lo) ;; # We handle these cases below. 4289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 4299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlprefiles="$dlprefiles $arg" 4309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test "$prev" = dlfiles && dlfiles="$dlfiles $arg" 4319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev= 4329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 4339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 4349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 4359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project release) 4369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project release="-$arg" 4379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev= 4389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 4399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 4409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rpath) 4419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rpath="$rpath $arg" 4429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev= 4439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 4449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 4459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 4469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval "$prev=\"\$arg\"" 4479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev= 4489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 4499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 4509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 4519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 4529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 4539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prevarg="$arg" 4549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 4559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 4569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -all-static) 4579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$link_static_flag"; then 4589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command $link_static_flag" 4599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command $link_static_flag" 4609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 4619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 4629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 4639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 4649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -allow-undefined) 4659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # FIXME: remove this flag sometime in the future. 4669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 4679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 4689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 4699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 4709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -dlopen) 4719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev=dlfiles 4729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 4739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 4749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 4759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -dlpreopen) 4769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev=dlprefiles 4779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 4789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 4799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 4809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -export-dynamic) 4819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$export_dynamic" != yes; then 4829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project export_dynamic=yes 4839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$export_dynamic_flag_spec"; then 4849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval arg=\"$export_dynamic_flag_spec\" 4859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 4869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg= 4879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 4889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 4899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Add the symbol object into the linking commands. 4909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command @SYMFILE@" 4919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command @SYMFILE@" 4929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 4939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 4949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 4959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -L*) 4969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'` 4979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$dir" in 4989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project /* | [A-Za-z]:\\*) 4999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Add the corresponding hardcode_libdir_flag, if it is not identical. 5009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 5019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 5029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2 5039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 5049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 5059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 5069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project deplibs="$deplibs $arg" 5079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 5089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -l*) deplibs="$deplibs $arg" ;; 5109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -no-undefined) 5129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project allow_undefined=no 5139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 5149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 5159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -o) prev=output ;; 5179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -release) 5199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev=release 5209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 5219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 5229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -rpath) 5249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev=rpath 5259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 5269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 5279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -static) 5299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If we have no pic_flag, then this is the same as -all-static. 5309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$pic_flag" && test -n "$link_static_flag"; then 5319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command $link_static_flag" 5329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command $link_static_flag" 5339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 5349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 5359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 5369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -version-info) 5389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev=vinfo 5399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 5409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 5419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Some other compiler flag. 5439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -* | +*) 5449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Unknown arguments in both finalize_command and compile_command need 5459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # to be aesthetically quoted because they are evaled later. 5469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` 5479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 5489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) 5499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg="\"$arg\"" 5509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 5519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 5529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 5539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.o | *.a) 5559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # A standard object. 5569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project objs="$objs $arg" 5579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 5589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.lo) 5609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # A library object. 5619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$prev" = dlfiles; then 5629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlfiles="$dlfiles $arg" 5639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_libtool_libs" = yes; then 5649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev= 5659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 5669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 5679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If libtool objects are unsupported, then we need to preload. 5689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev=dlprefiles 5699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 5709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 5719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$prev" = dlprefiles; then 5739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Preload the old-style object. 5749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'` 5759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev= 5769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 5779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libobjs="$libobjs $arg" 5789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 5799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.la) 5819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # A libtool-controlled library. 5829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlname= 5849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libdir= 5859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project library_names= 5869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project old_library= 5879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Check to see that this really is a libtool archive. 5899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then : 5909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 5919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2 5929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 5939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 5949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 5959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If there is no directory component, then add one. 5969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 5979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project */* | *\\*) . $arg ;; 5989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) . ./$arg ;; 5999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 6009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 6019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$libdir"; then 6029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`$arg' contains no -rpath information" 1>&2 6039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 6049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 6059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 6069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Get the name of the library we link against. 6079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project linklib= 6089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for l in $old_library $library_names; do 6099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project linklib="$l" 6109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 6119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 6129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$linklib"; then 6139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: cannot find name of link library for \`$arg'" 1>&2 6149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 6159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 6169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 6179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Find the relevant object directory and library name. 6189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'` 6199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` 6209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "X$dir" = "X$arg"; then 6219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dir="$objdir" 6229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 6239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dir="$dir/$objdir" 6249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 6259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 6269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # This library was specified with -dlopen. 6279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$prev" = dlfiles; then 6289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlfiles="$dlfiles $arg" 6299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$dlname"; then 6309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If there is no dlname, we need to preload. 6319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev=dlprefiles 6329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 6339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # We should not create a dependency on this library, but we 6349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # may need any libraries it requires. 6359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command$dependency_libs" 6369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command$dependency_libs" 6379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev= 6389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 6399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 6409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 6419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 6429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # The library was specified with -dlpreopen. 6439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$prev" = dlprefiles; then 6449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Prefer using a static library (so that no silly _DYNAMIC symbols 6459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # are required to link). 6469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$old_library"; then 6479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlprefiles="$dlprefiles $dir/$old_library" 6489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 6499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlprefiles="$dlprefiles $dir/$linklib" 6509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 6519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev= 6529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 6539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 6549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_libtool_libs" = yes && test -n "$library_names"; then 6559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project link_against_libtool_libs="$link_against_libtool_libs $arg" 6569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$shlibpath_var"; then 6579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Make sure the rpath contains only unique directories. 6589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$temp_rpath " in 6599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *" $dir "*) ;; 6609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) temp_rpath="$temp_rpath $dir" ;; 6619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 6629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 6639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 6649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # This is the magic to use -rpath. 6659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$hardcode_libdir_flag_spec"; then 6669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$hardcode_libdir_separator"; then 6679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$hardcode_libdirs"; then 6689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Put the magic libdir with the hardcode flag. 6699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project hardcode_libdirs="$libdir" 6709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libdir="@HARDCODE_LIBDIRS@" 6719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 6729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Just accumulate the unique libdirs. 6739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in 6749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) 6759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 6769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 6779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" 6789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 6799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 6809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libdir= 6819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 6829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 6839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 6849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$libdir"; then 6859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval flag=\"$hardcode_libdir_flag_spec\" 6869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 6879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command $flag" 6889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command $flag" 6899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 6909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project elif test -n "$runpath_var"; then 6919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do the same for the permanent run path. 6929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$perm_rpath " in 6939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *" $libdir "*) ;; 6949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) perm_rpath="$perm_rpath $libdir" ;; 6959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 6969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 6979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 6989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 6999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$hardcode_action" in 7009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project immediate) 7019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$hardcode_direct" = no; then 7029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command $dir/$linklib" 7039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project elif test "$hardcode_minus_L" = no; then 7049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command -L$dir -l$name" 7059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project elif test "$hardcode_shlibpath_var" = no; then 7069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_shlibpath="$compile_shlibpath$dir:" 7079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command -l$name" 7089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 7099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 7109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 7119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project relink) 7129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # We need an absolute path. 7139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$dir" in 7149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project /* | [A-Za-z]:\\*) ;; 7159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 7169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project absdir=`cd "$dir" && pwd` 7179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$absdir"; then 7189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 7199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 7209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 7219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dir="$absdir" 7229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 7239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 7249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 7259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$hardcode_direct" = yes; then 7269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command $dir/$linklib" 7279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project elif test "$hardcode_minus_L" = yes; then 7289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command -L$dir -l$name" 7299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project elif test "$hardcode_shlibpath_var" = yes; then 7309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_shlibpath="$compile_shlibpath$dir:" 7319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command -l$name" 7329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 7339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 7349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 7359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 7369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2 7379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 7389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 7399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 7409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 7419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Finalize command for both is simple: just hardcode it. 7429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$hardcode_direct" = yes; then 7439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command $libdir/$linklib" 7449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project elif test "$hardcode_minus_L" = yes; then 7459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command -L$libdir -l$name" 7469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project elif test "$hardcode_shlibpath_var" = yes; then 7479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_shlibpath="$finalize_shlibpath$libdir:" 7489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command -l$name" 7499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 7509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # We cannot seem to hardcode it, guess we'll fake it. 7519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command -L$libdir -l$name" 7529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 7539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 7549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Transform directly to old archives if we don't build new libraries. 7559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$pic_flag" && test -z "$old_library"; then 7569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: cannot find static library for \`$arg'" 1>&2 7579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 7589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 7599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 7609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Here we assume that one of hardcode_direct or hardcode_minus_L 7619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # is not unsupported. This is valid on all known static and 7629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # shared platforms. 7639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$hardcode_direct" != unsupported; then 7649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$old_library" && linklib="$old_library" 7659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command $dir/$linklib" 7669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command $dir/$linklib" 7679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 7689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command -L$dir -l$name" 7699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command -L$dir -l$name" 7709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 7719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 7729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 7739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Add in any libraries that this one depends upon. 7749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command$dependency_libs" 7759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command$dependency_libs" 7769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 7779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 7789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 7799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Some other compiler argument. 7809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 7819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Unknown arguments in both finalize_command and compile_command need 7829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # to be aesthetically quoted because they are evaled later. 7839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` 7849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 7859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) 7869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg="\"$arg\"" 7879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 7889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 7899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 7909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 7919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 7929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Now actually substitute the argument into the commands. 7939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$arg"; then 7949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command $arg" 7959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command $arg" 7969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 7979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 7989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 7999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$prev"; then 8009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 8019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 8029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 8039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 8049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$vinfo" && test -n "$release"; then 8069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2 8079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 8089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 8099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 8109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project oldlib= 8129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project oldobjs= 8139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$output" in 8149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project "") 8159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: you must specify an output file" 1>&2 8169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 8179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 8189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 8199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project */* | *\\*) 8219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: output file \`$output' must have no directory components" 1>&2 8229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 8239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 8249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.a) 8269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Now set the variables for building old libraries. 8279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project build_libtool_libs=no 8289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project build_old_libs=yes 8299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project oldlib="$output" 8309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$rm $oldlib" 8319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $rm $oldlib 8329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 8339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.la) 8359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Make sure we only generate libraries of the form `libNAME.la'. 8369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$output" in 8379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project lib*) ;; 8389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 8399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2 8409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 8419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 8429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 8439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 8449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'` 8469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval libname=\"$libname_spec\" 8479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # All the library-specific variables (install_libdir is set above). 8499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project library_names= 8509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project old_library= 8519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlname= 8529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project current=0 8539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project revision=0 8549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project age=0 8559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$objs"; then 8579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 8589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 8599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 8609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # How the heck are we supposed to write a wrapper for a shared library? 8629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$link_against_libtool_libs"; then 8639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2 8649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 8659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 8669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$dlfiles$dlprefiles"; then 8689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2 8699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Nullify the symbol file. 8709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` 8719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` 8729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 8739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$rpath"; then 8759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2 8769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 8779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 8789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 8799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project set dummy $rpath 8819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test $# -gt 2; then 8829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 8839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 8849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project install_libdir="$2" 8859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Parse the version information argument. 8879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' 8889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project set dummy $vinfo 8899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 8909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$5"; then 8929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: too many parameters to \`-version-info'" 1>&2 8939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 8949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 8959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 8969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 8979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$2" && current="$2" 8989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$3" && revision="$3" 8999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$4" && age="$4" 9009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Check that each of the things are valid numbers. 9029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$current" in 9039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 0 | [1-9] | [1-9][0-9]*) ;; 9049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 9059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 9069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`$vinfo' is not valid version information" 1>&2 9079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 9089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 9099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 9109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$revision" in 9129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 0 | [1-9] | [1-9][0-9]*) ;; 9139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 9149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 9159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`$vinfo' is not valid version information" 1>&2 9169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 9179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 9189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 9199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$age" in 9219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 0 | [1-9] | [1-9][0-9]*) ;; 9229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 9239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 9249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`$vinfo' is not valid version information" 1>&2 9259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 9269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 9279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 9289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test $age -gt $current; then 9309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 9319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`$vinfo' is not valid version information" 1>&2 9329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 9339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 9349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Calculate the version variables. 9369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project version_vars="version_type current age revision" 9379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$version_type" in 9389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project none) ;; 9399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project linux) 9419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project version_vars="$version_vars major versuffix" 9429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project major=`expr $current - $age` 9439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project versuffix="$major.$age.$revision" 9449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 9459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project osf) 9479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project version_vars="$version_vars versuffix verstring" 9489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project major=`expr $current - $age` 9499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project versuffix="$current.$age.$revision" 9509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project verstring="$versuffix" 9519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Add in all the interfaces that we are compatible with. 9539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project loop=$age 9549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project while test $loop != 0; do 9559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project iface=`expr $current - $loop` 9569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project loop=`expr $loop - 1` 9579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project verstring="$verstring:${iface}.0" 9589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 9599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Make executables depend on our current version. 9619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project verstring="$verstring:${current}.0" 9629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 9639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project sunos) 9659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project version_vars="$version_vars major versuffix" 9669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project major="$current" 9679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project versuffix="$current.$revision" 9689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 9699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 9719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: unknown library version type \`$version_type'" 1>&2 9729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 9739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 9749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 9759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 9769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Create the output directory, or remove our outputs if we need to. 9789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -d $objdir; then 9799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*" 9809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.* 9819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 9829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$mkdir $objdir" 9839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $mkdir $objdir 9849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project status=$? 9859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test $status -eq 0 || test -d $objdir; then : 9869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 9879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit $status 9889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 9899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 9909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 9919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Check to see if the archive will have undefined symbols. 9929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$allow_undefined" = yes; then 9939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$allow_undefined_flag" = unsupported; then 9949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 9959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project build_libtool_libs=no 9969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project build_old_libs=yes 9979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 9989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 9999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Don't allow undefined symbols. 10009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project allow_undefined_flag="$no_undefined_flag" 10019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 10029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Add libc to deplibs on all systems. 10049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dependency_libs="$deplibs" 10059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project deplibs="$deplibs -lc" 10069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_libtool_libs" = yes; then 10089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Get the real and link names of the library. 10099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval library_names=\"$library_names_spec\" 10109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project set dummy $library_names 10119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project realname="$2" 10129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project shift; shift 10139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$soname_spec"; then 10159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval soname=\"$soname_spec\" 10169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 10179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project soname="$realname" 10189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 10199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project lib="$objdir/$realname" 10219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for link 10229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project do 10239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project linknames="$linknames $link" 10249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 10259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Use standard objects if they are PIC. 10279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'` 10289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do each of the archive commands. 10309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval cmds=\"$archive_cmds\" 10319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' 10329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for cmd in $cmds; do 10339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 10349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$cmd" 10359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$cmd" || exit $? 10369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 10379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 10389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Create links to the real library. 10409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for linkname in $linknames; do 10419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "(cd $objdir && $LN_S $realname $linkname)" 10429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $? 10439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 10449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If -export-dynamic was specified, set the dlname. 10469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$export_dynamic" = yes; then 10479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # On all known operating systems, these are identical. 10489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlname="$soname" 10499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 10509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 10519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Now set the variables for building old libraries. 10539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project oldlib="$objdir/$libname.a" 10549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 10559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.lo | *.o) 10579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$link_against_libtool_libs"; then 10589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2 10599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 10609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 10619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$deplibs"; then 10639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2 10649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 10659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$dlfiles$dlprefiles"; then 10679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2 10689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Nullify the symbol file. 10699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` 10709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` 10719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 10729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$rpath"; then 10749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2 10759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 10769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$vinfo"; then 10789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2 10799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 10809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$release"; then 10829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2 10839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 10849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 10859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$output" in 10869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.lo) 10879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$objs"; then 10889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 10899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 10909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 10919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libobj="$output" 10929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'` 10939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 10949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 10959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libobj= 10969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project obj="$output" 10979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 10989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 10999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Delete the old objects. 11019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $rm $obj $libobj 11029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Create the old-style object. 11049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'` 11059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project output="$obj" 11079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval cmds=\"$reload_cmds\" 11089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' 11099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for cmd in $cmds; do 11109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 11119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$cmd" 11129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$cmd" || exit $? 11139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 11149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 11159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Exit if we aren't doing a library object file. 11179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -z "$libobj" && exit 0 11189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_libtool_libs" != yes; then 11209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Create an invalid libtool object if no PIC, so that we don't 11219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # accidentally link it into a program. 11229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "echo timestamp > $libobj" 11239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "echo timestamp > $libobj" || exit $? 11249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 11259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 11269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$pic_flag"; then 11289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Only do commands if we really have different PIC objects. 11299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project reload_objs="$libobjs" 11309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project output="$libobj" 11319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval cmds=\"$reload_cmds\" 11329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' 11339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for cmd in $cmds; do 11349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 11359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$cmd" 11369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$cmd" || exit $? 11379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 11389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 11399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 11409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Just create a symlink. 11419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$LN_S $obj $libobj" 11429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $LN_S $obj $libobj || exit 1 11439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 11449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 11469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 11479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 11499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$vinfo"; then 11509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2 11519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 11529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$release"; then 11549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2 11559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 11569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$rpath"; then 11589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If the user specified any rpath flags, then add them. 11599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for libdir in $rpath; do 11609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$hardcode_libdir_flag_spec"; then 11619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$hardcode_libdir_separator"; then 11629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$hardcode_libdirs"; then 11639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Put the magic libdir with the hardcode flag. 11649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project hardcode_libdirs="$libdir" 11659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libdir="@HARDCODE_LIBDIRS@" 11669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 11679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Just accumulate the unique libdirs. 11689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in 11699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) 11709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 11719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 11729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" 11739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 11749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 11759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libdir= 11769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 11779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 11789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$libdir"; then 11809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval flag=\"$hardcode_libdir_flag_spec\" 11819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$compile_command $flag" 11839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$finalize_command $flag" 11849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 11859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project elif test -n "$runpath_var"; then 11869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$perm_rpath " in 11879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *" $libdir "*) ;; 11889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) perm_rpath="$perm_rpath $libdir" ;; 11899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 11909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 11919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 11929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 11939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 11949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Substitute the hardcoded libdirs into the compile commands. 11959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$hardcode_libdir_separator"; then 11969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"` 11979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"` 11989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 11999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$libobjs" && test "$build_old_libs" = yes; then 12019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Transform all the library objects into standard objects. 12029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'` 12039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'` 12049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 12059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then 12079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlsyms="${output}S.c" 12089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 12099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlsyms= 12109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 12119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$dlsyms"; then 12139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Add our own program objects to the preloaded list. 12149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'` 12159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Discover the nlist of each of the dlfiles. 12179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project nlist="$objdir/${output}.nm" 12189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -d $objdir; then 12209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$rm $nlist ${nlist}T" 12219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $rm "$nlist" "${nlist}T" 12229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 12239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$mkdir $objdir" 12249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $mkdir $objdir 12259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project status=$? 12269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test $status -eq 0 || test -d $objdir; then : 12279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 12289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit $status 12299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 12309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 12319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for arg in $dlprefiles; do 12339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "extracting global C symbols from \`$arg'" 12349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" 12359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 12369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Parse the name list into a source file. 12389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "creating $objdir/$dlsyms" 12399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$run"; then 12409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Make sure we at least have an empty file. 12419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -f "$nlist" || : > "$nlist" 12429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Try sorting and uniquifying the output. 12449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if sort "$nlist" | uniq > "$nlist"T; then 12459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project mv -f "$nlist"T "$nlist" 12469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project wcout=`wc "$nlist" 2>/dev/null` 12479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project count=`echo "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'` 12489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project (test "$count" -ge 0) 2>/dev/null || count=-1 12499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 12509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $rm "$nlist"T 12519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project count=-1 12529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 12539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$dlsyms" in 12559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project "") ;; 12569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.c) 12579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo > "$objdir/$dlsyms" "\ 12589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */ 12599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */ 12609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project#ifdef __cplusplus 12629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectextern \"C\" { 12639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project#endif 12649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project/* Prevent the only kind of declaration conflicts we can make. */ 12669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project#define dld_preloaded_symbol_count some_other_symbol 12679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project#define dld_preloaded_symbols some_other_symbol 12689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project/* External symbol declarations for the compiler. */\ 12709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project" 12719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -f "$nlist"; then 12739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms" 12749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 12759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo '/* NONE */' >> "$objdir/$dlsyms" 12769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 12779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo >> "$objdir/$dlsyms" "\ 12799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project#undef dld_preloaded_symbol_count 12819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project#undef dld_preloaded_symbols 12829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project#if defined (__STDC__) && __STDC__ 12849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# define __ptr_t void * 12859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project#else 12869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# define __ptr_t char * 12879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project#endif 12889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */ 12909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectint dld_preloaded_symbol_count = $count; 12919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 12929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project/* The mapping between symbol names and symbols. */ 12939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectstruct { 12949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project char *name; 12959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project __ptr_t address; 12969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project} 12979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdld_preloaded_symbols[] = 12989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project{\ 12999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project" 13009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -f "$nlist"; then 13029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms" 13039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 13049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo >> "$objdir/$dlsyms" "\ 13069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project {0, (__ptr_t) 0} 13079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project}; 13089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project#ifdef __cplusplus 13109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project} 13119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project#endif\ 13129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project" 13139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 13149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 13169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 13179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 13189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 13199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 13209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 13219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Now compile the dynamic symbol file. 13239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "(cd $objdir && $CC -c$no_builtin_flag \"$dlsyms\")" 13249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $? 13259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Transform the symbol file into the correct name. 13279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"` 13289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"` 13299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project elif test "$export_dynamic" != yes; then 13309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2 13319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 13329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # We keep going just in case the user didn't refer to 13339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # dld_preloaded_symbols. The linker will fail if global_symbol_pipe 13349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # really was required. 13359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 13369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Nullify the symbol file. 13389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` 13399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` 13409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 13419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then 13439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Replace the output file specification. 13449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` 13459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` 13469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # We have no uninstalled library dependencies, so finalize right now. 13489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$compile_command" 13499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$compile_command" 13509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit $? 13519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 13529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Replace the output file specification. 13549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'%g'` 13559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'` 13569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Create the binary in the object directory, then wrap it. 13589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -d $objdir; then : 13599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 13609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$mkdir $objdir" 13619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $mkdir $objdir 13629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project status=$? 13639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test $status -eq 0 || test -d $objdir; then : 13649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 13659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit $status 13669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 13679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 13689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$shlibpath_var"; then 13709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # We should set the shlibpath_var 13719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rpath= 13729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for dir in $temp_rpath; do 13739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$dir" in 13749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project /* | [A-Za-z]:\\*) 13759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Absolute path. 13769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rpath="$rpath$dir:" 13779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 13789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 13799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Relative path: add a thisdir entry. 13809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rpath="$rpath\$thisdir/$dir:" 13819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 13829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 13839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 13849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project temp_rpath="$rpath" 13859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 13869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Delete the old output file. 13889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $rm $output 13899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$compile_shlibpath"; then 13919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command" 13929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 13939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$finalize_shlibpath"; then 13949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" 13959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 13969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 13979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$runpath_var" && test -n "$perm_rpath"; then 13989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # We should set the runpath_var. 13999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rpath= 14009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for dir in $perm_rpath; do 14019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rpath="$rpath$dir:" 14029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 14039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command" 14049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command" 14059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 14069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$hardcode_action" in 14089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project relink) 14099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # AGH! Flame the AIX and HP-UX people for me, will ya? 14109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: using a buggy system linker" 1>&2 14119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: relinking will be required before \`$output' can be installed" 1>&2 14129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 14139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 14149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$compile_command" 14169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$compile_command" || exit $? 14179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Now create the wrapper script. 14199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "creating $output" 14209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Quote the finalize command for shipping. 14229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"` 14239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Quote $echo for shipping. 14259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` 14269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Only actually do things if our run command is non-null. 14289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$run"; then 14299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $rm $output 14309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project trap "$rm $output; exit 1" 1 2 15 14319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo > $output "\ 14339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project#! /bin/sh 14349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# $output - temporary wrapper script for $objdir/$output 14369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Generated by ltmain.sh - GNU $PACKAGE $VERSION 14379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# 14389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# The $output program cannot be directly executed until all the libtool 14399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# libraries that it depends on are installed. 14409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# 14419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# This wrapper script should never be moved out of \``pwd`'. 14429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# If it is, it will not operate correctly. 14439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Sed substitution that helps us do robust quoting. It backslashifies 14459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# metacharacters that are still active within double-quoted strings. 14469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectXsed='sed -e s/^X//' 14479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectsed_quote_subst='$sed_quote_subst' 14489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# The HP-UX ksh and POSIX shell print the target directory to stdout 14509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# if CDPATH is set. 14519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectif test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi 14529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# This environment variable determines our operation mode. 14549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectif test \"\$libtool_install_magic\" = \"$magic\"; then 14559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # install mode needs the following variables: 14569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project link_against_libtool_libs='$link_against_libtool_libs' 14579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command=\"$finalize_command\" 14589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectelse 14599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # When we are sourced in execute mode, \$file and \$echo are already set. 14609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test \"\$libtool_execute_magic\" = \"$magic\"; then : 14619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 14629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo=\"$qecho\" 14639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project file=\"\$0\" 14649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi\ 14659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project" 14669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo >> $output "\ 14679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Find the directory that this script lives in. 14699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` 14709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test \"x\$thisdir\" = \"x\$file\" && thisdir=. 14719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Follow symbolic links until we get to the real thisdir. 14739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\` 14749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project while test -n \"\$file\"; do 14759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` 14769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If there was a directory component, then change thisdir. 14789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test \"x\$destdir\" != \"x\$file\"; then 14799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case \"\$destdir\" in 14809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;; 14819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) thisdir=\"\$thisdir/\$destdir\" ;; 14829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 14839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 14849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` 14869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\` 14879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 14889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Try to get the absolute directory name. 14909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project absdir=\`cd \"\$thisdir\" && pwd\` 14919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n \"\$absdir\" && thisdir=\"\$absdir\" 14929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project progdir=\"\$thisdir/$objdir\" 14949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project program='$output' 14959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -f \"\$progdir/\$program\"; then" 14979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 14989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Export our shlibpath_var if we have one. 14999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$shlibpath_var" && test -n "$temp_rpath"; then 15009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo >> $output "\ 15019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Add our own library path to $shlibpath_var 15029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" 15039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Some systems cannot cope with colon-terminated $shlibpath_var 15059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\` 15069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project export $shlibpath_var 15089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project" 15099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 15109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo >> $output "\ 15129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test \"\$libtool_execute_magic\" != \"$magic\"; then 15139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Run the actual program with our arguments. 15149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Export the path to the program. 15169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project PATH=\"\$progdir:\$PATH\" 15179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project export PATH 15189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exec \$program \${1+\"\$@\"} 15209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" 15229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 15239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 15249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 15259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # The program doesn't exist. 15269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 15279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project \$echo \"This script is just a wrapper for \$program.\" 1>&2 15289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo \"See the $PACKAGE documentation for more information.\" 1>&2 15299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 15309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 15319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectfi\ 15329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project" 15339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project chmod +x $output 15349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 15359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 15369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 15379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 15389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # See if we need to build an old-fashioned archive. 15409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_old_libs" = "yes"; then 15419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Transform .lo files to .o files. 15429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'` 15439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do each command in the archive commands. 15459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then 15469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval cmds=\"$old_archive_from_new_cmds\" 15479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 15489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval cmds=\"$old_archive_cmds\" 15499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 15509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' 15519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for cmd in $cmds; do 15529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 15539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$cmd" 15549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$cmd" || exit $? 15559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 15569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 15579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 15589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Now create the libtool archive. 15609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$output" in 15619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.la) 15629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project old_library= 15639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test "$build_old_libs" = yes && old_library="$libname.a" 15649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "creating $output" 15669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Only create the output if not a dry run. 15689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$run"; then 15699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo > $output "\ 15709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# $output - a libtool library file 15719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Generated by ltmain.sh - GNU $PACKAGE $VERSION 15729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# The name that we can dlopen(3). 15749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdlname='$dlname' 15759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Names of this library. 15779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectlibrary_names='$library_names' 15789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# The name of the static archive. 15809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectold_library='$old_library' 15819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Libraries that this one depends upon. 15839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdependency_libs='$dependency_libs' 15849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Version information for $libname. 15869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectcurrent=$current 15879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectage=$age 15889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectrevision=$revision 15899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Directory that this library needs to be installed in: 15919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectlibdir='$install_libdir'\ 15929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project" 15939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 15949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 15959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do a symbolic link so that the libtool archive can be found in 15969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # LD_LIBRARY_PATH before the program is installed. 15979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "(cd $objdir && $LN_S ../$output $output)" 15989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1 15999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 16009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 16019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 16029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 16039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 16049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # libtool install mode 16059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project install) 16069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project modename="$modename: install" 16079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 16089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # There may be an optional /bin/sh argument at the beginning of 16099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # install_prog (especially on Windows NT). 16109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$nonopt" = "$SHELL"; then 16119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Aesthetically quote it. 16129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` 16139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 16149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) 16159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg="\"$arg\"" 16169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 16179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 16189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project install_prog="$arg " 16199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg="$1" 16209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project shift 16219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 16229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project install_prog= 16239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg="$nonopt" 16249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 16259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 16269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # The real first argument should be the name of the installation program. 16279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Aesthetically quote it. 16289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` 16299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 16309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) 16319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg="\"$arg\"" 16329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 16339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 16349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project install_prog="$install_prog$arg" 16359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 16369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # We need to accept at least all the BSD install flags. 16379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dest= 16389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project files= 16399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project opts= 16409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev= 16419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project install_type= 16429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project isdir= 16439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project stripme= 16449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for arg 16459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project do 16469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$dest"; then 16479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project files="$files $dest" 16489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dest="$arg" 16499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 16509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 16519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 16529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 16539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -d) isdir=yes ;; 16549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -f) prev="-f" ;; 16559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -g) prev="-g" ;; 16569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -m) prev="-m" ;; 16579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -o) prev="-o" ;; 16589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -s) 16599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project stripme=" -s" 16609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 16619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 16629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -*) ;; 16639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 16649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 16659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If the previous option needed an argument, then skip it. 16669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$prev"; then 16679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project prev= 16689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 16699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dest="$arg" 16709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 16719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 16729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 16739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 16749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 16759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Aesthetically quote the argument. 16769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` 16779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 16789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) 16799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project arg="\"$arg\"" 16809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 16819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 16829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project install_prog="$install_prog $arg" 16839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 16849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 16859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$install_prog"; then 16869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: you must specify an install program" 1>&2 16879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 16889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 16899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 16909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 16919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$prev"; then 16929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: the \`$prev' option requires an argument" 1>&2 16939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 16949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 16959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 16969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 16979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$files"; then 16989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$dest"; then 16999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: no file or destination specified" 1>&2 17009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 17019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: you must specify a destination" 1>&2 17029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 17039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 17049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 17059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 17069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 17079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Strip any trailing slash from the destination. 17089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` 17099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 17109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Check to see that the destination is a directory. 17119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -d "$dest" && isdir=yes 17129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$isdir"; then 17139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project destdir="$dest" 17149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project destname= 17159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 17169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` 17179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test "X$destdir" = "X$dest" && destdir=. 17189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` 17199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 17209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Not a directory, so check to see that there is only one file specified. 17219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project set dummy $files 17229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test $# -gt 2; then 17239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`$dest' is not a directory" 1>&2 17249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 17259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 17269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 17279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 17289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$destdir" in 17299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project /* | [A-Za-z]:\\*) ;; 17309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 17319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for file in $files; do 17329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$file" in 17339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.lo) ;; 17349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 17359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 17369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 17379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 17389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 17399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 17409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 17419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 17429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 17439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 17449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # This variable tells wrapper scripts just to set variables rather 17459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # than running their programs. 17469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libtool_install_magic="$magic" 17479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 17489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project staticlibs= 17499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project future_libdirs= 17509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project current_libdirs= 17519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for file in $files; do 17529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 17539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do each installation. 17549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$file" in 17559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.a) 17569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do the static libraries later. 17579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project staticlibs="$staticlibs $file" 17589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 17599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 17609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.la) 17619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Check to see that this really is a libtool archive. 17629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then : 17639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 17649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 17659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 17669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 17679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 17689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 17699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project library_names= 17709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project old_library= 17719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If there is no directory component, then add one. 17729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$file" in 17739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project */* | *\\*) . $file ;; 17749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) . ./$file ;; 17759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 17769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 17779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Add the libdir to current_libdirs if it is the destination. 17789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "X$destdir" = "X$libdir"; then 17799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$current_libdirs " in 17809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *" $libdir "*) ;; 17819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) current_libdirs="$current_libdirs $libdir" ;; 17829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 17839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 17849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Note the libdir as a future libdir. 17859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$future_libdirs " in 17869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *" $libdir "*) ;; 17879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) future_libdirs="$future_libdirs $libdir" ;; 17889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 17899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 17909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 17919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/" 17929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test "X$dir" = "X$file/" && dir= 17939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dir="$dir$objdir" 17949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 17959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # See the names of the shared library. 17969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project set dummy $library_names 17979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$2"; then 17989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project realname="$2" 17999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project shift 18009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project shift 18019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Install the shared library and build the symlinks. 18039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$install_prog $dir/$realname $destdir/$realname" 18049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $? 18059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test "X$dlname" = "X$realname" && dlname= 18069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test $# -gt 0; then 18089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Delete the old symlinks. 18099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rmcmd="$rm" 18109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for linkname 18119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project do 18129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rmcmd="$rmcmd $destdir/$linkname" 18139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 18149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$rmcmd" 18159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $rmcmd 18169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # ... and create new ones. 18189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for linkname 18199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project do 18209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test "X$dlname" = "X$linkname" && dlname= 18219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "(cd $destdir && $LN_S $realname $linkname)" 18229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "(cd $destdir && $LN_S $realname $linkname)" 18239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 18249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 18259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$dlname"; then 18279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Install the dynamically-loadable library. 18289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$install_prog $dir/$dlname $destdir/$dlname" 18299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $? 18309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 18319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do each command in the postinstall commands. 18339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project lib="$destdir/$realname" 18349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval cmds=\"$postinstall_cmds\" 18359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' 18369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for cmd in $cmds; do 18379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 18389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$cmd" 18399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$cmd" || exit $? 18409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 18419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 18429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 18439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Install the pseudo-library for information purposes. 18459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` 18469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$install_prog $file $destdir/$name" 18479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$install_prog $file $destdir/$name" || exit $? 18489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Maybe install the static library, too. 18509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" 18519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 18529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.lo) 18549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Install (i.e. copy) a libtool object. 18559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Figure out destination file name, if it wasn't already specified. 18579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$destname"; then 18589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project destfile="$destdir/$destname" 18599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 18609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` 18619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project destfile="$destdir/$destfile" 18629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 18639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Deduce the name of the destination old-style object file. 18659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$destfile" in 18669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.lo) 18679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'` 18689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 18699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.o) 18709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project staticdest="$destfile" 18719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project destfile= 18729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 18739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 18749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 18759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 18769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 18779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 18789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 18799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Install the libtool object if requested. 18819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$destfile"; then 18829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$install_prog $file $destfile" 18839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$install_prog $file $destfile" || exit $? 18849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 18859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Install the old object if enabled. 18879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_old_libs" = yes; then 18889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Deduce the name of the old-style object file. 18899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'` 18909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$install_prog $staticobj $staticdest" 18929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$install_prog \$staticobj \$staticdest" || exit $? 18939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 18949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 18959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 18969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 18979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 18989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do a test to see if this is really a libtool program. 18999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then 19009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project link_against_libtool_libs= 19019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize_command= 19029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If there is no directory component, then add one. 19049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$file" in 19059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project */* | *\\*) . $file ;; 19069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) . ./$file ;; 19079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 19089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Check the variables that should have been set. 19109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then 19119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 19129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 19139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 19149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize=yes 19169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for lib in $link_against_libtool_libs; do 19179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Check to see that each library is installed. 19189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libdir= 19199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -f "$lib"; then 19209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If there is no directory component, then add one. 19219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$lib" in 19229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project */* | *\\*) . $lib ;; 19239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) . ./$lib ;; 19249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 19259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 19269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" 19279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$libdir"; then 19289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: \`$lib' contains no -rpath information" 1>&2 19299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project elif test -f "$libfile"; then : 19309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 19319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 19329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finalize=no 19339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 19349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 19359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$hardcode_action" = relink; then 19379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$finalize" = yes; then 19389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2 19399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$finalize_command" 19409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if $run eval "$finalize_command"; then : 19419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 19429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 19439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 19449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 19459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project file="$objdir/$file"T 19469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 19479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2 19489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 19499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 19509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Install the binary that we compiled earlier. 19519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` 19529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 19539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 19549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$install_prog$stripme $file $dest" 19569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$install_prog\$stripme \$file \$dest" || exit $? 19579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 19589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 19599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 19609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for file in $staticlibs; do 19629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` 19639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Set up the ranlib parameters. 19659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project oldlib="$destdir/$name" 19669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$install_prog $file $oldlib" 19689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$install_prog \$file \$oldlib" || exit $? 19699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do each command in the postinstall commands. 19719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval cmds=\"$old_postinstall_cmds\" 19729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' 19739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for cmd in $cmds; do 19749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 19759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$cmd" 19769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$cmd" || exit $? 19779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 19789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 19799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 19809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$future_libdirs"; then 19829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 19839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 19849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$current_libdirs"; then 19869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Maybe just do a dry run. 19879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$run" && current_libdirs=" -n$current_libdirs" 19889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exec $SHELL $0 --finish$current_libdirs 19899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 19909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 19919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 19939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 19949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 19959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # libtool finish mode 19969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finish) 19979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project modename="$modename: finish" 19989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libdirs="$nonopt" 19999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 20009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then 20019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for dir 20029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project do 20039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libdirs="$libdirs $dir" 20049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 20059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 20069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for libdir in $libdirs; do 20079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$finish_cmds"; then 20089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do each command in the finish commands. 20099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval cmds=\"$finish_cmds\" 20109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' 20119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for cmd in $cmds; do 20129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 20139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$cmd" 20149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$cmd" 20159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 20169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 20179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 20189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$finish_eval"; then 20199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do the single finish_eval. 20209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval cmds=\"$finish_eval\" 20219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$cmds" 20229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 20239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 20249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 20259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 20269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "------------------------------------------------------------------------------" 20279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "Libraries have been installed in:" 20289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for libdir in $libdirs; do 20299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo " $libdir" 20309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 20319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo 20329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "To link against installed libraries in a given directory, LIBDIR," 20339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "you must use the \`-LLIBDIR' flag during linking." 20349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo 20359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo " You will also need to do one of the following:" 20369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$shlibpath_var"; then 20379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo " - add LIBDIR to the \`$shlibpath_var' environment variable" 20389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo " during execution" 20399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 20409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$runpath_var"; then 20419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo " - add LIBDIR to the \`$runpath_var' environment variable" 20429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo " during linking" 20439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 20449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$hardcode_libdir_flag_spec"; then 20459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libdir=LIBDIR 20469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval flag=\"$hardcode_libdir_flag_spec\" 20479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 20489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo " - use the \`$flag' linker flag" 20499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 20509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -f /etc/ld.so.conf; then 20519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" 20529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 20539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo 20549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "See any operating system documentation about shared libraries for" 20559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "more information, such as the ld(1) and ld.so(8) manual pages." 20569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project echo "------------------------------------------------------------------------------" 20579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 20589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 20599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 20609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # libtool execute mode 20619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project execute) 20629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project modename="$modename: execute" 20639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 20649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # The first argument is the command name. 20659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project cmd="$nonopt" 20669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$cmd"; then 20679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: you must specify a COMMAND" 1>&2 20689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 20699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 20709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 20719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 20729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Handle -dlopen flags immediately. 20739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for file in $execute_dlfiles; do 20749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -f "$file"; then : 20759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 20769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`$file' is not a file" 1>&2 20779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 20789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 20799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 20809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 20819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dir= 20829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$file" in 20839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.la) 20849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Check to see that this really is a libtool archive. 20859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then : 20869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 20879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 20889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 20899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 20909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 20919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 20929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Read the libtool library. 20939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dlname= 20949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project library_names= 20959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 20969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If there is no directory component, then add one. 20979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$file" in 20989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project */* | *\\*) . $file ;; 20999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) . ./$file ;; 21009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 21019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Skip this library if it cannot be dlopened. 21039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$dlname"; then 21049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Warn if it was a shared library. 21059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" 21069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 21079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 21089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` 21109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test "X$dir" = "X$file" && dir=. 21119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -f "$dir/$objdir/$dlname"; then 21139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dir="$dir/$objdir" 21149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 21159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 21169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 21179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 21189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 21199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.lo) 21219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Just add the directory containing the .lo file. 21229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` 21239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test "X$dir" = "X$file" && dir=. 21249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 21259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 21279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 21289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project continue 21299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 21309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 21319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Get the absolute pathname. 21339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project absdir=`cd "$dir" && pwd` 21349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$absdir" && dir="$absdir" 21359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Now add the directory to shlibpath_var. 21379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if eval "test -z \"\$$shlibpath_var\""; then 21389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval "$shlibpath_var=\"\$dir\"" 21399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 21409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" 21419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 21429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 21439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # This variable tells wrapper scripts just to set shlibpath_var 21459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # rather than running their programs. 21469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project libtool_execute_magic="$magic" 21479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Check if any of the arguments is a wrapper script. 21499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project args= 21509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for file 21519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project do 21529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$file" in 21539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -*) ;; 21549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 21559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do a test to see if this is really a libtool program. 21569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then 21579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # If there is no directory component, then add one. 21589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$file" in 21599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project */* | *\\*) . $file ;; 21609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) . ./$file ;; 21619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 21629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Transform arg to wrapped name. 21649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project file="$progdir/$program" 21659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 21669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 21679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 21689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Quote arguments (to preserve shell metacharacters). 21699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` 21709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project args="$args \"$file\"" 21719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 21729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$run"; then 21749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Export the shlibpath_var. 21759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval "export $shlibpath_var" 21769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Now actually exec the command. 21789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval "exec \$cmd$args" 21799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: cannot exec \$cmd$args" 21819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 21829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project else 21839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Display what would be done. 21849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" 21859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "export $shlibpath_var" 21869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$cmd$args" 21879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 21889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 21899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 21909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # libtool uninstall mode 21929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project uninstall) 21939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project modename="$modename: uninstall" 21949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rm="$nonopt" 21959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project files= 21969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 21979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for arg 21989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project do 21999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$arg" in 22009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -*) rm="$rm $arg" ;; 22019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) files="$files $arg" ;; 22029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 22039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 22049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -z "$rm"; then 22069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: you must specify an RM program" 1>&2 22079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 22089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 22099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 22109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for file in $files; do 22129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` 22139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test "X$dir" = "X$file" && dir=. 22149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` 22159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rmfiles="$file" 22179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project case "$name" in 22199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.la) 22209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Possibly a libtool archive, so verify it. 22219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then 22229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project . $dir/$name 22239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Delete the libtool libraries and symlinks. 22259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for n in $library_names; do 22269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rmfiles="$rmfiles $dir/$n" 22279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test "X$n" = "X$dlname" && dlname= 22289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 22299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname" 22309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library" 22319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$rm $rmfiles" 22339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $rm $rmfiles 22349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$library_names"; then 22369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do each command in the postuninstall commands. 22379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval cmds=\"$postuninstall_cmds\" 22389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' 22399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for cmd in $cmds; do 22409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 22419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$cmd" 22429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$cmd" 22439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 22449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 22459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 22469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test -n "$old_library"; then 22489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # Do each command in the old_postuninstall commands. 22499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project eval cmds=\"$old_postuninstall_cmds\" 22509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' 22519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project for cmd in $cmds; do 22529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 22539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$cmd" 22549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run eval "$cmd" 22559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 22569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project IFS="$save_ifs" 22579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 22589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project # FIXME: should reinstall the best remaining shared library. 22609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 22619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 22629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *.lo) 22649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project if test "$build_old_libs" = yes; then 22659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'` 22669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project rmfiles="$rmfiles $dir/$oldobj" 22679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project fi 22689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$rm $rmfiles" 22699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $rm $rmfiles 22709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 22719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project *) 22739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $show "$rm $rmfiles" 22749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $run $rm $rmfiles 22759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 22769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 22779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project done 22789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 22799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 22809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project "") 22829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: you must specify a MODE" 1>&2 22839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$generic_help" 1>&2 22849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 22859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 22869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project esac 22879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: invalid operation mode \`$mode'" 1>&2 22899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$generic_help" 1>&2 22909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 22919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectfi # test -z "$show_help" 22929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# We need to display help for each of the modes. 22949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectcase "$mode" in 22959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project"") $echo \ 22969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project"Usage: $modename [OPTION]... [MODE-ARG]... 22979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 22989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectProvide generalized library-building support services. 22999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project-n, --dry-run display commands without modifying any files 23019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --features display configuration information and exit 23029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --finish same as \`--mode=finish' 23039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --help display this help message and exit 23049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] 23059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --quiet same as \`--silent' 23069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --silent don't print informational messages 23079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project --version print version information 23089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectMODE must be one of the following: 23109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project compile compile a source file into a libtool object 23129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project execute automatically set library path, then run a program 23139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project finish complete the installation of libtool libraries 23149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project install install libraries or executables 23159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project link create a library or an executable 23169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project uninstall remove libraries from an installed directory 23179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectMODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for 23199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projecta more detailed description of MODE." 23209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 0 23219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 23229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectcompile) 23249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo \ 23259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE 23269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectCompile a source file into a libtool library object. 23289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectCOMPILE-COMMAND is a command to be used in creating a \`standard' object file 23309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectfrom the given SOURCEFILE. 23319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectThe output file name is determined by removing the directory component from 23339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectSOURCEFILE, then substituting the C source code suffix \`.c' with the 23349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectlibrary object suffix, \`.lo'." 23359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 23369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectexecute) 23389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo \ 23399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... 23409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectAutomatically set library path, then run a program. 23429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectThis mode accepts the following additional options: 23449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -dlopen FILE add the directory containing FILE to the library path 23469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectThis mode sets the library path environment variable according to \`-dlopen' 23489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectflags. 23499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectIf any of the ARGS are libtool executable wrappers, then they are translated 23519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectinto their corresponding uninstalled binary, and any of their required library 23529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdirectories are added to the library path. 23539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectThen, COMMAND is executed, with ARGS as arguments." 23559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 23569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectfinish) 23589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo \ 23599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... 23609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectComplete the installation of libtool libraries. 23629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectEach LIBDIR is a directory that contains libtool libraries. 23649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectThe commands that this mode executes may require superuser privileges. Use 23669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectthe \`--dry-run' option if you just want to see what would be executed." 23679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 23689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectinstall) 23709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo \ 23719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... 23729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectInstall executables or libraries. 23749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectINSTALL-COMMAND is the installation command. The first component should be 23769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projecteither the \`install' or \`cp' program. 23779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectThe rest of the components are interpreted as arguments to that command (only 23799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectBSD-compatible install options are recognized)." 23809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 23819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectlink) 23839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo \ 23849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... 23859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectLink object files or libraries together to form another library, or to 23879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectcreate an executable program. 23889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectLINK-COMMAND is a command using the C compiler that you would use to create 23909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projecta program from several object files. 23919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectThe following components of LINK-COMMAND are treated specially: 23939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 23949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -all-static do not do any dynamic linking at all 23959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime 23969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -dlpreopen FILE link in FILE and add its symbols to dld_preloaded_symbols 23979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) 23989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -LLIBDIR search LIBDIR for required installed libraries 23999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -lNAME OUTPUT-FILE requires the installed library libNAME 24009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -no-undefined declare that a library does not refer to external symbols 24019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -o OUTPUT-FILE create OUTPUT-FILE from the specified objects 24029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -release RELEASE specify package release information 24039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -rpath LIBDIR the created library will eventually be installed in LIBDIR 24049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -static do not do any dynamic linking of libtool libraries 24059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project -version-info CURRENT[:REVISION[:AGE]] 24069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project specify library version info [each variable defaults to 0] 24079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectAll other options (arguments beginning with \`-') are ignored. 24099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectEvery other argument is treated as a filename. Files ending in \`.la' are 24119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projecttreated as uninstalled libtool libraries, other files are standard or library 24129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectobject files. 24139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectIf the OUTPUT-FILE ends in \`.la', then a libtool library is created, only 24159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectlibrary objects (\`.lo' files) may be specified, and \`-rpath' is required. 24169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectIf OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar' 24189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectand \`ranlib'. 24199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectIf OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is 24219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectcreated, otherwise an executable program is created." 24229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 24239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectuninstall) 24259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo 24269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... 24279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectRemove libraries from an installation directory. 24299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectRM is the name of the program to use to delete files associated with each FILE 24319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed 24329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectto RM. 24339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectIf FILE is a libtool library, all the files associated with it are deleted. 24359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectOtherwise, only FILE itself is deleted using RM." 24369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 24379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project*) 24399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$modename: invalid operation mode \`$mode'" 1>&2 24409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project $echo "$help" 1>&2 24419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project exit 1 24429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project ;; 24439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectesac 24449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectecho 24469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project$echo "Try \`$modename --help' for more information about other modes." 24479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectexit 0 24499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project 24509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# Local Variables: 24519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# mode:shell-script 24529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# sh-indentation:2 24539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project# End: 2454