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