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