1a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#### This script is meant to be sourced by ltconfig. 2a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 3a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# ltcf-cxx.sh - Create a C++ compiler specific configuration 4a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# 5a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Copyright (C) 1996-1999, 2000, 2001, 2003 Free Software Foundation, Inc. 6a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 7a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# 8a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Original C++ support by:Gary V. Vaughan <gvv@techie.com> 9a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Alexandre Oliva <oliva@lsd.ic.unicamp.br> 10a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Ossama Othman <ossama@debian.org> 11a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Thomas Thanner <tanner@gmx.de> 12a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# 13a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# This file is free software; you can redistribute it and/or modify it 14a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# under the terms of the GNU General Public License as published by 15a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# the Free Software Foundation; either version 2 of the License, or 16a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# (at your option) any later version. 17a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# 18a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# This program is distributed in the hope that it will be useful, but 19a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# WITHOUT ANY WARRANTY; without even the implied warranty of 20a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# General Public License for more details. 22a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# 23a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# You should have received a copy of the GNU General Public License 24a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# along with this program; if not, write to the Free Software 25a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 26a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# 27a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# As a special exception to the GNU General Public License, if you 28a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# distribute this file as part of a program that contains a 29a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# configuration script generated by Autoconf, you may include it under 30a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# the same distribution terms that you use for the rest of that program. 31a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 32a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 33a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Source file extension for C++ test sources. 34a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectac_ext=cc 35a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 36a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Object file extension for compiled C++ test sources. 37a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectobjext=o 38a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 39a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Code to be used in simple compile tests 40a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectlt_simple_compile_test_code="int some_variable = 0;" 41a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 42a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Code to be used in simple link tests 43a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectlt_simple_link_test_code='int main(int, char *[]) { return (0); }' 44a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 45a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# C++ compiler 46a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source ProjectCXX=${CXX-c++} 47a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 48a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# ltmain only uses $CC for tagged configurations so make sure $CC is set. 49a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source ProjectCC=${CC-"$CXX"} 50a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source ProjectCFLAGS=${CFLAGS-"$CXXFLAGS"} 51a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 52a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Allow CC to be a program name with arguments. 53a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectset dummy $CC 54a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectcompiler=$2 55a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectcc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` 56a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 57a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Check if we are using GNU gcc (taken/adapted from configure script) 58a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# We need to check here since "--with-gcc" is set at configure time, 59a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# not ltconfig time! 60a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectcat > conftest.$ac_ext <<EOF 61a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#ifdef __GNUC__ 62a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project yes; 63a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif 64a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source ProjectEOF 65a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectif { ac_try='${CC-c++} -E conftest.$ac_ext'; { (eval echo \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then 66a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project with_gcc=yes 67a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 68a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Set up default GNU C++ configuration 69a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 70a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Check if GNU C++ uses GNU ld as the underlying linker, since the 71a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # archiving commands below assume that GNU ld is being used. The 72a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # assumption here is that the linker is going to be the same as that 73a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # used by the C compiler. For the purposes of GCC, this is ok, but 74a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # if someone uses g++ along with a non-GNU C compiler that doesn't 75a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # use GNU ld, we may lose. This is ok for the toolchain tree, since 76a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # the only users of ltcf-cxx.sh are libstdc++-v3 and libjava, 77a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # anyway, and those use both gcc and g++, so the settings are bound 78a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # to be the same. 79a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 80a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$with_gnu_ld" = yes; then 81a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 82a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_expsym_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 83a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 84a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' 85a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project export_dynamic_flag_spec='${wl}--export-dynamic' 86a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 87a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # If archive_cmds runs LD, not CC, wlarc should be empty 88a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 89a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # investigate it a little bit more. (MM) 90a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project wlarc='${wl}' 91a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 92a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # ancient GNU ld didn't support --whole-archive et. al. 93a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ 94a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project egrep 'no-whole-archive' > /dev/null; then 95a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 96a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 97a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project whole_archive_flag_spec= 98a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 99a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 100a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project wlarc= 101a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 102a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # A generic and very simple default shared library creation 103a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # command for GNU C++ for the case where it uses the native 104a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linker, instead of GNU ld. If possible, this setting should 105a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # overridden to take advantage of the native linker features on 106a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # the platform it is being used on. 107a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 108a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 109a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 110a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Commands to make compiler produce verbose output that lists 111a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # what "hidden" libraries, object files and flags are used when 112a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linking a shared library. 113a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' 114a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 115a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectelse 116a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project with_gcc=no 117a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project wlarc= 118a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectfi 119a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 120a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# PORTME: fill in a description of your system's C++ link characteristics 121a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectcase $host_os in 122a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project aix3*) 123a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 124a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 125a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 126a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project aix4* | aix5*) 127a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='' 128a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_direct=yes 129a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_separator=':' 130a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project link_all_deplibs=yes 131a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # When large executables or shared objects are built, AIX ld can 132a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # have problems creating the table of contents. If linking a library 133a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # or program results in "error TOC overflow" add -mminimal-toc to 134a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 135a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 136a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$with_gcc" = yes; then 137a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $host_os in aix4.[012]|aix4.[012].*) 138a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # We only want to do this on AIX 4.2 and lower, the check 139a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # below for broken collect2 doesn't work under 4.3+ 140a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project collect2name=`${CC} -print-prog-name=collect2` 141a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test -f "$collect2name" && \ 142a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project strings "$collect2name" | grep resolve_lib_name >/dev/null 143a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project then 144a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # We have reworked collect2 145a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_direct=yes 146a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 147a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # We have old collect2 148a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_direct=unsupported 149a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # It fails to find uninstalled libraries when the uninstalled 150a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # path is not listed in the libpath. Setting hardcode_minus_L 151a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # to unsupported forces relinking 152a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_minus_L=yes 153a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='-L$libdir' 154a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_separator= 155a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 156a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 157a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project shared_flag='-shared' 158a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 159a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # not using gcc 160a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$host_cpu" = ia64; then 161a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project shared_flag='${wl}-G' 162a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 163a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project shared_flag='${wl}-bM:SRE' 164a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 165a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 166a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 167a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$host_cpu" = ia64; then 168a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # On IA64, the linker does run time linking by default, so we don't 169a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # have to do anything special. 170a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project aix_use_runtimelinking=no 171a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test $with_gnu_ld = no; then 172a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project exp_sym_flag='-Bexport' 173a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project no_entry_flag="" 174a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 175a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 176a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Test if we are trying to use run time linking, or normal AIX style linking. 177a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # If -brtl is somewhere in LDFLAGS, we need to do run time linking. 178a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project aix_use_runtimelinking=no 179a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project for ld_flag in $LDFLAGS; do 180a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" ); then 181a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project aix_use_runtimelinking=yes 182a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project break 183a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 184a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project done 185a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project exp_sym_flag='-bexport' 186a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project no_entry_flag='-bnoentry' 187a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 188a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # It seems that -bexpall does not export symbols beginning with 189a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # underscore (_), so it is better to generate a list of symbols to export. 190a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project always_export_symbols=yes 191a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$aix_use_runtimelinking" = yes; then 192a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' 193a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project allow_undefined_flag=' -Wl,-G' 194a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}-brtl \${wl}$exp_sym_flag:\$export_symbols" 195a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 196a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$host_cpu" = ia64; then 197a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test $with_gnu_ld = no; then 198a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' 199a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project allow_undefined_flag="-z nodefs" 200a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" 201a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 202a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 203a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' 204a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Warning - without using the other run time loading flags, -berok will 205a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # link without error, but may produce a broken library. 206a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project no_undefined_flag=' ${wl}-bnoerok' 207a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project allow_undefined_flag=' ${wl}-berok' 208a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # -bexpall does not export symbols beginning with underscore (_) 209a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project always_export_symbols=yes 210a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Exported symbols can be pulled into shared objects from archives 211a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project whole_archive_flag_spec=' ' 212a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project build_libtool_need_lc=yes 213a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # This is similar to how AIX traditionally builds it's shared libraries. 214a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' 215a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 216a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 217a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 218a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project chorus*) 219a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 220a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 221a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 222a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 223a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 224a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 225a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 226a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 227a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project darwin* | rhapsody*) 228a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case "$host_os" in 229a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project rhapsody* | darwin1.[[012]]) 230a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project allow_undefined_flag='-undefined suppress' 231a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 232a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) # Darwin 1.3 on 233a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then 234a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project allow_undefined_flag='-flat_namespace -undefined suppress' 235a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 236a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case ${MACOSX_DEPLOYMENT_TARGET} in 237a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 10.[[012]]) 238a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project allow_undefined_flag='-flat_namespace -undefined suppress' 239a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 240a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 10.*) 241a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project allow_undefined_flag='-undefined dynamic_lookup' 242a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 243a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 244a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 245a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 246a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 247a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Disable shared library build on OS-X older than 10.3. 248a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $host_os in 249a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project darwin[1-6]*) 250a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project can_build_shared=no 251a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 252a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project darwin7*) 253a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project can_build_shared=yes 254a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 255a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 256a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project output_verbose_link_cmd='echo' 257a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 258a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CXX -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' 259a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project module_cmds='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' 260a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 261a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Don't fix this by using the ld -exported_symbols_list flag, 262a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # it doesn't exist in older darwin ld's 263a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' 264a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' 265a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_direct=no 266a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_automatic=yes 267a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_shlibpath_var=unsupported 268a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project link_all_deplibs=yes 269a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 270a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 271a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project dgux*) 272a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 273a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ec++) 274a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 275a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 276a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 277a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ghcx) 278a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Green Hills C++ Compiler 279a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 280a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 281a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 282a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 283a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 284a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 285a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 286a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 287a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 288a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project freebsd[12]*) 289a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # C++ shared libraries reported to be fairly broken before switch to ELF 290a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 291a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 292a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project freebsd* | kfreebsd*-gnu) 293a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 294a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # conventions 295a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=yes 296a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 297a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project gnu*) 298a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 299a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hpux*) 300a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test $with_gnu_ld = no; then 301a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case "$host_cpu" in 302a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ia64*) 303a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='-L$libdir' 304a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_shlibpath_var=no ;; 305a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 306a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ;; 307a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 308a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_direct=yes 309a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_separator=: 310a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project export_dynamic_flag_spec='${wl}-E' 311a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 312a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_minus_L=yes # Not in the search PATH, but as the default 313a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # location of the library. 314a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 315a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 316a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project CC) 317a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 318a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 319a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 320a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project aCC) 321a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $host_os in 322a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hpux9*) archive_cmds='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; 323a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 324a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 325a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Commands to make compiler produce verbose output that lists 326a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # what "hidden" libraries, object files and flags are used when 327a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linking a shared library. 328a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # 329a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # There doesn't appear to be a way to prevent this compiler from 330a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # explicitly linking system object files so we need to strip them 331a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # from the output so that they don't get included in the library 332a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # dependencies. 333a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' 334a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 335a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 336a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test $with_gcc = yes; then 337a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test $with_gnu_ld = no; then 338a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case "$host_os" in 339a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hpux9*) archive_cmds='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; 340a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 341a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case "$host_cpu" in 342a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ia64*) 343a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$LD -b +h $soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' ;; 344a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 345a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 346a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 347a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 348a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 349a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 350a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 351a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 352a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 353a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 354a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 355a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 356a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 357a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project irix5* | irix6*) 358a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 359a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project CC) 360a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # SGI C++ 361a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' 362a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 363a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Archives containing C++ object files must be created using 364a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # "CC -ar", where "CC" is the IRIX C++ compiler. This is 365a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # necessary to make sure instantiated templates are included 366a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # in the archive. 367a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project old_archive_cmds='$CC -ar -WR,-u -o $oldlib $oldobjs' 368a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 369a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 370a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$with_gcc" = yes; then 371a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$with_gnu_ld" = no; then 372a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' 373a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 374a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo -set_version $verstring` -o $lib' 375a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 376a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 377a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 378a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_separator=: 379a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project link_all_deplibs=yes 380a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 381a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 382a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 383a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project linux*) 384a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 385a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project KCC) 386a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Kuck and Associates, Inc. (KAI) C++ Compiler 387a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 388a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # KCC will only create a shared library if the output file 389a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # ends with ".so" (or ".sl" for HP-UX), so rename the library 390a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # to its proper name (with version) after linking. 391a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' 392a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_expsym_cmds='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' 393a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 394a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Commands to make compiler produce verbose output that lists 395a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # what "hidden" libraries, object files and flags are used when 396a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linking a shared library. 397a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # 398a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # There doesn't appear to be a way to prevent this compiler from 399a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # explicitly linking system object files so we need to strip them 400a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # from the output so that they don't get included in the library 401a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # dependencies. 402a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest.so 2>&1 | egrep "ld"`; rm -f libconftest.so; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' 403a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 404a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}--rpath,$libdir' 405a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project export_dynamic_flag_spec='${wl}--export-dynamic' 406a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 407a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Archives containing C++ object files must be created using 408a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # "CC -Bstatic", where "CC" is the KAI C++ compiler. 409a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project old_archive_cmds='$CC -Bstatic -o $oldlib $oldobjs' 410a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 411a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project cxx) 412a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Compaq C++ 413a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 414a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_expsym_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' 415a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 416a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project runpath_var=LD_RUN_PATH 417a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='-rpath $libdir' 418a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_separator=: 419a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 420a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Commands to make compiler produce verbose output that lists 421a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # what "hidden" libraries, object files and flags are used when 422a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linking a shared library. 423a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # 424a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # There doesn't appear to be a way to prevent this compiler from 425a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # explicitly linking system object files so we need to strip them 426a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # from the output so that they don't get included in the library 427a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # dependencies. 428a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' 429a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 430a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 431a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 432a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project lynxos*) 433a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 434a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 435a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 436a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project m88k*) 437a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 438a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 439a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 440a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project mvs*) 441a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 442a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project cxx) 443a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 444a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 445a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 446a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 447a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 448a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 449a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 450a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 451a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 452a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project netbsd* | knetbsd*-gnu) 453a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # NetBSD uses g++ - do we need to do anything? 454a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 455a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project osf3*) 456a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 457a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project KCC) 458a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Kuck and Associates, Inc. (KAI) C++ Compiler 459a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 460a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # KCC will only create a shared library if the output file 461a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # ends with ".so" (or ".sl" for HP-UX), so rename the library 462a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # to its proper name (with version) after linking. 463a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' 464a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 465a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}-rpath,$libdir' 466a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_separator=: 467a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 468a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Archives containing C++ object files must be created using 469a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # "CC -Bstatic", where "CC" is the KAI C++ compiler. 470a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project old_archive_cmds='$CC -Bstatic -o $oldlib $oldobjs' 471a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 472a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 473a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project RCC) 474a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Rational C++ 2.4.1 475a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 476a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 477a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 478a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project cxx) 479a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' 480a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' 481a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 482a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 483a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_separator=: 484a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 485a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Commands to make compiler produce verbose output that lists 486a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # what "hidden" libraries, object files and flags are used when 487a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linking a shared library. 488a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # 489a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # There doesn't appear to be a way to prevent this compiler from 490a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # explicitly linking system object files so we need to strip them 491a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # from the output so that they don't get included in the library 492a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # dependencies. 493a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' 494a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 495a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 496a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then 497a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' 498a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' 499a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 500a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 501a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_separator=: 502a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 503a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Commands to make compiler produce verbose output that lists 504a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # what "hidden" libraries, object files and flags are used when 505a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linking a shared library. 506a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' 507a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 508a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 509a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 510a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 511a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 512a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 513a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 514a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project osf4* | osf5*) 515a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 516a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project KCC) 517a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Kuck and Associates, Inc. (KAI) C++ Compiler 518a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 519a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # KCC will only create a shared library if the output file 520a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # ends with ".so" (or ".sl" for HP-UX), so rename the library 521a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # to its proper name (with version) after linking. 522a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' 523a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 524a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}-rpath,$libdir' 525a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_separator=: 526a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 527a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Archives containing C++ object files must be created using 528a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # the KAI C++ compiler. 529a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project old_archive_cmds='$CC -o $oldlib $oldobjs' 530a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 531a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project RCC) 532a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Rational C++ 2.4.1 533a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 534a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 535a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 536a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project cxx) 537a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project allow_undefined_flag=' -expect_unresolved \*' 538a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' 539a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done~ 540a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project echo "-hidden">> $lib.exp~ 541a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ 542a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project $rm $lib.exp' 543a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 544a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='-rpath $libdir' 545a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_separator=: 546a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 547a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Commands to make compiler produce verbose output that lists 548a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # what "hidden" libraries, object files and flags are used when 549a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linking a shared library. 550a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # 551a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # There doesn't appear to be a way to prevent this compiler from 552a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # explicitly linking system object files so we need to strip them 553a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # from the output so that they don't get included in the library 554a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # dependencies. 555a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' 556a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 557a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 558a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then 559a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' 560a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' 561a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 562a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 563a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_separator=: 564a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 565a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Commands to make compiler produce verbose output that lists 566a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # what "hidden" libraries, object files and flags are used when 567a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linking a shared library. 568a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' 569a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 570a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 571a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 572a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 573a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 574a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 575a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 576a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project psos*) 577a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 578a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 579a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 580a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project sco*) 581a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 582a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project CC) 583a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 584a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 585a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 586a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 587a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 588a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 589a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 590a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 591a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 592a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project sunos4*) 593a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 594a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project CC) 595a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Sun C++ 4.x 596a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 597a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 598a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 599a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project lcc) 600a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Lucid 601a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 602a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 603a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 604a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 605a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 606a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 607a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 608a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 609a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 610a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project solaris*) 611a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 612a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project CC) 613a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Sun C++ 4.2, 5.x and Centerline C++ 614a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project no_undefined_flag=' -zdefs' 615a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 616a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ 617a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' 618a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 619a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='-R$libdir' 620a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_shlibpath_var=no 621a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $host_os in 622a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project solaris2.[0-5] | solaris2.[0-5].*) ;; 623a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 624a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # The C++ compiler is used as linker so we must use $wl 625a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # flag to pass the commands to the underlying system 626a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linker. 627a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Supported since Solaris 2.6 (maybe 2.5.1?) 628a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' 629a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 630a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 631a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project link_all_deplibs=yes 632a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 633a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Commands to make compiler produce verbose output that lists 634a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # what "hidden" libraries, object files and flags are used when 635a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linking a shared library. 636a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # 637a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # There doesn't appear to be a way to prevent this compiler from 638a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # explicitly linking system object files so we need to strip them 639a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # from the output so that they don't get included in the library 640a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # dependencies. 641a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep "\-R|\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' 642a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 643a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Archives containing C++ object files must be created using 644a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # "CC -xar", where "CC" is the Sun C++ compiler. This is 645a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # necessary to make sure instantiated templates are included 646a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # in the archive. 647a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project old_archive_cmds='$CC -xar -o $oldlib $oldobjs' 648a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 649a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project gcx) 650a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Green Hills C++ Compiler 651a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 652a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 653a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # The C++ compiler must be used to create the archive. 654a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project old_archive_cmds='$CC $LDFLAGS -archive -o $oldlib $oldobjs' 655a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 656a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 657a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # GNU C++ compiler with Solaris linker 658a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then 659a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project no_undefined_flag=' ${wl}-z ${wl}defs' 660a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if $CC --version | egrep -v '^2\.7' > /dev/null; then 661a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 662a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ 663a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' 664a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 665a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Commands to make compiler produce verbose output that lists 666a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # what "hidden" libraries, object files and flags are used when 667a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linking a shared library. 668a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" 669a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 670a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # g++ 2.7 appears to require `-G' NOT `-shared' on this 671a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # platform. 672a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_cmds='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 673a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ 674a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' 675a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 676a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Commands to make compiler produce verbose output that lists 677a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # what "hidden" libraries, object files and flags are used when 678a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linking a shared library. 679a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" 680a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 681a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 682a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hardcode_libdir_flag_spec='${wl}-R $wl$libdir' 683a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 684a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 685a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 686a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 687a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project tandem*) 688a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 689a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project NCC) 690a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # NonStop-UX NCC 3.20 691a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 692a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 693a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 694a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 695a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 696a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 697a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 698a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 699a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 700a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project tpf*) 701a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=yes 702a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 703a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project unixware*) 704a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 705a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 706a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 707a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project vxworks*) 708a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 709a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 710a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 711a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 712a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: insert proper C++ library support 713a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ld_shlibs=no 714a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 715a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectesac 716a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 717a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 718a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project## Compiler Characteristics: PIC flags, static flags, etc 719a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 720a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# We don't use cached values here since only the C compiler 721a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# characteristics should be cached. 722a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectac_cv_prog_cc_pic= 723a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectac_cv_prog_cc_shlib= 724a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectac_cv_prog_cc_wl= 725a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectac_cv_prog_cc_static= 726a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectac_cv_prog_cc_no_builtin= 727a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectac_cv_prog_cc_can_build_shared=$can_build_shared 728a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 729a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectac_cv_prog_cc_pic_works= 730a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectac_cv_prog_cc_static_works= 731a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 732a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectif test "$with_gcc" = yes; then 733a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_wl='-Wl,' 734a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_static='-static' 735a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 736a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $host_os in 737a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project aix*) 738a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # All AIX code is PIC. 739a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$host_cpu" = ia64; then 740a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # AIX 5 now supports IA64 processor 741a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project lt_cv_prog_cc_static='-Bstatic' 742a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 743a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' 744a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 745a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 746a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project amigaos*) 747a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FIXME: we need at least 68020 code to build shared libraries, but 748a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # adding the `-m68020' flag to GCC prevents building anything better, 749a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # like `-m68040'. 750a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4' 751a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 752a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project beos* | irix5* | irix6* | osf3* | osf4* | osf5*) 753a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # PIC is the default for these OSes. 754a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 755a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project cygwin* | mingw* | os2*) 756a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # This hack is so that the source file can tell whether it is being 757a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # built for inclusion in a dll (and should export symbols for example). 758a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-DDLL_EXPORT' 759a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 760a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project darwin* | rhapsody*) 761a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # PIC is the default on this platform 762a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Common symbols not allowed in MH_DYLIB files 763a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-fno-common' 764a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 765a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *djgpp*) 766a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # DJGPP does not support shared libraries at all 767a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic= 768a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 769a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project sysv4*MP*) 770a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test -d /usr/nec; then 771a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic=-Kconform_pic 772a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 773a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 774a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 775a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-fPIC' 776a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 777a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 778a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectelse 779a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $host_os in 780a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project aix4* | aix5*) 781a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # All AIX code is PIC. 782a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$host_cpu" = ia64; then 783a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # AIX 5 now supports IA64 processor 784a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project lt_cv_prog_cc_static='-Bstatic' 785a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 786a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' 787a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 788a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 789a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project chorus*) 790a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 791a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project cxch68) 792a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Green Hills C++ Compiler 793a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # ac_cv_prog_cc_static="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" 794a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 795a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 796a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 797a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project dgux*) 798a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 799a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ec++) 800a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-KPIC' 801a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 802a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ghcx) 803a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Green Hills C++ Compiler 804a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-pic' 805a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 806a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 807a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 808a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 809a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 810a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project freebsd* | kfreebsd*-gnu) 811a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # FreeBSD uses GNU C++ 812a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 813a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project gnu*) 814a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 815a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project hpux9* | hpux10* | hpux11*) 816a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 817a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project CC) 818a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_wl='-Wl,' 819a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_static="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" 820a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='+Z' 821a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 822a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project aCC) 823a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_wl='-Wl,' 824a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_static="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" 825a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='+Z' 826a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 827a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 828a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 829a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 830a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 831a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project irix5* | irix6*) 832a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 833a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project CC) 834a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_wl='-Wl,' 835a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_static='-non_shared' 836a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-KPIC' 837a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 838a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 839a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 840a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 841a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 842a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project linux*) 843a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 844a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project KCC) 845a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # KAI C++ Compiler 846a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_wl='--backend -Wl,' 847a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-fPIC' 848a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 849a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project cxx) 850a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Compaq C++ 851a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Make sure the PIC flag is empty. It appears that all Alpha 852a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Linux and Compaq Tru64 Unix objects are PIC. 853a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic= 854a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_static='-non_shared' 855a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 856a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 857a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 858a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 859a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 860a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project lynxos*) 861a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 862a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project m88k*) 863a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 864a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project mvs*) 865a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 866a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project cxx) 867a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-W c,exportall' 868a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 869a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 870a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 871a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 872a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 873a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project netbsd*) 874a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 875a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project osf3* | osf4* | osf5*) 876a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 877a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project KCC) 878a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_wl='--backend -Wl,' 879a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 880a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project RCC) 881a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Rational C++ 2.4.1 882a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-pic' 883a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 884a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project cxx) 885a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Digital/Compaq C++ 886a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_wl='-Wl,' 887a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Make sure the PIC flag is empty. It appears that all Alpha 888a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Linux and Compaq Tru64 Unix objects are PIC. 889a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic= 890a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_static='-non_shared' 891a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 892a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 893a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 894a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 895a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 896a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project psos*) 897a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 898a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project sco*) 899a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 900a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project CC) 901a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-fPIC' 902a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 903a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 904a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 905a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 906a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 907a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project solaris*) 908a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 909a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project CC) 910a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Sun C++ 4.2, 5.x and Centerline C++ 911a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-KPIC' 912a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_static='-Bstatic' 913a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_wl='-Qoption ld ' 914a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 915a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project gcx) 916a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Green Hills C++ Compiler 917a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-PIC' 918a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 919a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 920a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 921a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 922a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 923a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project sunos4*) 924a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 925a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project CC) 926a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Sun C++ 4.x 927a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-pic' 928a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_static='-Bstatic' 929a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 930a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project lcc) 931a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Lucid 932a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-pic' 933a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 934a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 935a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 936a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 937a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 938a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project tandem*) 939a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $cc_basename in 940a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project NCC) 941a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # NonStop-UX NCC 3.20 942a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic='-KPIC' 943a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 944a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 945a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 946a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 947a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 948a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project unixware*) 949a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 950a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project vxworks*) 951a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 952a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 953a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_can_build_shared=no 954a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 955a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 956a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectfi 957a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 958a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectcase "$host_os" in 959a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Platforms which do not suport PIC and -DPIC is meaningless 960a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # on them: 961a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *djgpp*) 962a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic= 963a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 964a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) 965a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ac_cv_prog_cc_pic="$ac_cv_prog_cc_pic -DPIC" 966a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 967a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectesac 968a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 969a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 970a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# Figure out "hidden" C++ library dependencies from verbose 971a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# compiler output whening linking a shared library. 972a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectcat > conftest.$ac_ext <<EOF 973a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectclass Foo 974a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project{ 975a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectpublic: 976a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project Foo (void) { a = 0; } 977a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectprivate: 978a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project int a; 979a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project}; 980a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source ProjectEOF 981a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 982a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 983a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectif (eval $ac_compile) 2>&5; then 984a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Parse the compiler output and extract the necessary 985a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # objects, libraries and library flags. 986a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 987a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Sentinel used to keep track of whether or not we are before 988a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # the conftest object file. 989a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project pre_test_object_deps_done=no 990a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 991a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project for p in `eval $output_verbose_link_cmd`; do 992a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 993a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $p in 994a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 995a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project -L* | -R* | -l*) 996a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Some compilers place space between "-{L,R}" and the path. 997a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Remove the space. 998a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test $p = "-L" \ 999a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project || test $p = "-R"; then 1000a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project prev=$p 1001a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project continue 1002a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 1003a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project prev= 1004a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 1005a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 1006a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$pre_test_object_deps_done" = no; then 1007a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project case $p in 1008a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project -L* | -R*) 1009a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Internal compiler library paths should come after those 1010a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # provided the user. The postdeps already come after the 1011a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # user supplied libs so there is no need to process them. 1012a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test -z "$compiler_lib_search_path"; then 1013a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project compiler_lib_search_path="${prev}${p}" 1014a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 1015a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project compiler_lib_search_path="${compiler_lib_search_path} ${prev}${p}" 1016a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 1017a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 1018a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # The "-l" case would never come before the object being 1019a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # linked, so don't bother handling this case. 1020a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 1021a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 1022a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test -z "$postdeps"; then 1023a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project postdeps="${prev}${p}" 1024a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 1025a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project postdeps="${postdeps} ${prev}${p}" 1026a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 1027a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 1028a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 1029a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 1030a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *.$objext) 1031a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # This assumes that the test object file only shows up 1032a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # once in the compiler output. 1033a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$p" = "conftest.$objext"; then 1034a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project pre_test_object_deps_done=yes 1035a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project continue 1036a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 1037a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 1038a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test "$pre_test_object_deps_done" = no; then 1039a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test -z "$predep_objects"; then 1040a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project predep_objects="$p" 1041a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 1042a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project predep_objects="$predep_objects $p" 1043a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 1044a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 1045a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project if test -z "$postdep_objects"; then 1046a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project postdep_objects="$p" 1047a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project else 1048a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project postdep_objects="$postdep_objects $p" 1049a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 1050a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project fi 1051a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ;; 1052a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 1053a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project *) ;; # Ignore the rest. 1054a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 1055a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project esac 1056a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project done 1057a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 1058a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project # Clean up. 1059a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project rm -f a.out 1060a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectelse 1061a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project echo "ltcf-cxx.sh: error: problem compiling test program" 1062a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectfi 1063a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 1064a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project$rm -f confest.$objext 1065a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 1066a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectcase " $postdeps " in 1067a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project*" -lc "*) need_lc=no ;; 1068a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project*) need_lc=yes ;; 1069a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projectesac 1070