1732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Generated from ltmain.m4sh.
2732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
3732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# ltmain.sh (GNU libtool) 2.2.6b
4732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
5732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
7732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# This is free software; see the source for copying conditions.  There is NO
8732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
10732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# GNU Libtool is free software; you can redistribute it and/or modify
11311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# it under the terms of the GNU General Public License as published by
12311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# the Free Software Foundation; either version 2 of the License, or
13311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# (at your option) any later version.
14311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff#
15732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# As a special exception to the GNU General Public License,
16732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# if you distribute this file as part of a program or library that
17732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# is built using GNU Libtool, you may include this file under the
18732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# same distribution terms that you use for the rest of that program.
19732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
20732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# GNU Libtool is distributed in the hope that it will be useful, but
21311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# WITHOUT ANY WARRANTY; without even the implied warranty of
22311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
23311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# General Public License for more details.
24311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff#
25311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# You should have received a copy of the GNU General Public License
26732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# along with GNU Libtool; see the file COPYING.  If not, a copy
27732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# can be downloaded from http://www.gnu.org/licenses/gpl.html,
28732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# or obtained by writing to the Free Software Foundation, Inc.,
29732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
30311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
31732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Usage: $progname [OPTION]... [MODE-ARG]...
32732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
33732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Provide generalized library-building support services.
34732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
35732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#     --config             show all configuration variables
36732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#     --debug              enable verbose shell tracing
37732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# -n, --dry-run            display commands without modifying any files
38732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#     --features           display basic configuration information and exit
39732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#     --mode=MODE          use operation mode MODE
40732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#     --preserve-dup-deps  don't remove duplicate dependency libraries
41732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#     --quiet, --silent    don't print informational messages
42732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#     --tag=TAG            use configuration variables from tag TAG
43732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# -v, --verbose            print informational messages (default)
44732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#     --version            print version information
45732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# -h, --help               print short or long help message
46732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
47732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# MODE must be one of the following:
48732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
49732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       clean              remove files from the build directory
50732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       compile            compile a source file into a libtool object
51732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       execute            automatically set library path, then run a program
52732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       finish             complete the installation of libtool libraries
53732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       install            install libraries or executables
54732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       link               create a library or an executable
55732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       uninstall          remove libraries from an installed directory
56732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
57732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# MODE-ARGS vary depending on the MODE.
58732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
59732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
60732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# When reporting a bug, please describe a test case to reproduce it and
61732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# include the following information:
62732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
63732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       host-triplet:	$host
64732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       shell:		$SHELL
65732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       compiler:		$LTCC
66732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       compiler flags:		$LTCFLAGS
67732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       linker:		$LD (gnu? $with_gnu_ld)
68732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       $progname:		(GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1
69732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       automake:		$automake_version
70732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#       autoconf:		$autoconf_version
71732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
72732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Report bugs to <bug-libtool@gnu.org>.
73311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
74311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffPROGRAM=ltmain.sh
75311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffPACKAGE=libtool
76732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comVERSION="2.2.6b Debian-2.2.6b-2ubuntu1"
77732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comTIMESTAMP=""
78732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.compackage_revision=1.3017
79d18457863096b3685e56f5a8919959f6afbdb121openvcdiff
80732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Be Bourne compatible
81d18457863096b3685e56f5a8919959f6afbdb121openvcdiffif test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
82d18457863096b3685e56f5a8919959f6afbdb121openvcdiff  emulate sh
83d18457863096b3685e56f5a8919959f6afbdb121openvcdiff  NULLCMD=:
84d18457863096b3685e56f5a8919959f6afbdb121openvcdiff  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
85d18457863096b3685e56f5a8919959f6afbdb121openvcdiff  # is contrary to our usage.  Disable this feature.
86d18457863096b3685e56f5a8919959f6afbdb121openvcdiff  alias -g '${1+"$@"}'='"$@"'
87311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff  setopt NO_GLOB_SUBST
88d18457863096b3685e56f5a8919959f6afbdb121openvcdiffelse
89d18457863096b3685e56f5a8919959f6afbdb121openvcdiff  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
90311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifffi
91d18457863096b3685e56f5a8919959f6afbdb121openvcdiffBIN_SH=xpg4; export BIN_SH # for Tru64
92d18457863096b3685e56f5a8919959f6afbdb121openvcdiffDUALCASE=1; export DUALCASE # for MKS sh
93311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
94732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# NLS nuisances: We save the old values to restore during execute mode.
95311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# Only set LANG and LC_ALL to C if already set.
96311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# These must not be set unconditionally because not all systems understand
97311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# e.g. LANG=C (notably SCO).
98732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_user_locale=
99732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_safe_locale=
100d18457863096b3685e56f5a8919959f6afbdb121openvcdifffor lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
101d18457863096b3685e56f5a8919959f6afbdb121openvcdiffdo
102d18457863096b3685e56f5a8919959f6afbdb121openvcdiff  eval "if test \"\${$lt_var+set}\" = set; then
103732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          save_$lt_var=\$$lt_var
104732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          $lt_var=C
105d18457863096b3685e56f5a8919959f6afbdb121openvcdiff	  export $lt_var
106732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
107732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
108d18457863096b3685e56f5a8919959f6afbdb121openvcdiff	fi"
109d18457863096b3685e56f5a8919959f6afbdb121openvcdiffdone
110d18457863096b3685e56f5a8919959f6afbdb121openvcdiff
111732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$lt_unset CDPATH
112732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
113732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
114732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
115732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
116732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
117732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${CP="cp -f"}
118732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${ECHO="echo"}
119732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${EGREP="/bin/grep -E"}
120732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${FGREP="/bin/grep -F"}
121732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${GREP="/bin/grep"}
122732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${LN_S="ln -s"}
123732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${MAKE="make"}
124732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${MKDIR="mkdir"}
125732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${MV="mv -f"}
126732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${RM="rm -f"}
127732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${SED="/bin/sed"}
128732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
129732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com: ${Xsed="$SED -e 1s/^X//"}
130732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
131732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Global variables:
132732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEXIT_SUCCESS=0
133732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEXIT_FAILURE=1
134732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
135732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
136732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
137732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comexit_status=$EXIT_SUCCESS
138311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
139311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# Make sure IFS has a sensible default
140311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifflt_nl='
141311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff'
142311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffIFS=" 	$lt_nl"
143311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
144732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comdirname="s,/[^/]*$,,"
145732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.combasename="s,^.*/,,"
146732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
147732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_dirname_and_basename file append nondir_replacement
148732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# perform func_basename and func_dirname in a single function
149732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# call:
150732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#   dirname:  Compute the dirname of FILE.  If nonempty,
151732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#             add APPEND to the result, otherwise set result
152732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#             to NONDIR_REPLACEMENT.
153732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#             value returned in "$func_dirname_result"
154732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#   basename: Compute filename of FILE.
155732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#             value retuned in "$func_basename_result"
156732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Implementation must be kept synchronized with func_dirname
157732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# and func_basename. For efficiency, we do not delegate to
158732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# those functions but instead duplicate the functionality here.
159732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_dirname_and_basename ()
160732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
161732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Extract subdirectory from the argument.
162732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
163732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if test "X$func_dirname_result" = "X${1}"; then
164732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_dirname_result="${3}"
165732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  else
166732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_dirname_result="$func_dirname_result${2}"
167732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  fi
168732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
169732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
170311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
171732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Generated shell functions inserted here.
172732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
173732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
174732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# is ksh but when the shell is invoked as "sh" and the current value of
175732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# the _XPG environment variable is not equal to 1 (one), the special
176732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# positional parameter $0, within a function call, is the name of the
177732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# function.
178732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comprogpath="$0"
179732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
180732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# The name of this program:
181732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# In the unlikely event $progname began with a '-', it would play havoc with
182732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_echo (imagine progname=-n), so we prepend ./ in that case:
183732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_dirname_and_basename "$progpath"
184732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comprogname=$func_basename_result
185732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comcase $progname in
186732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -*) progname=./$progname ;;
187732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comesac
188732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
189732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Make sure we have an absolute path for reexecution:
190732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comcase $progpath in
191732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  [\\/]*|[A-Za-z]:\\*) ;;
192732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  *[\\/]*)
193732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     progdir=$func_dirname_result
194732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     progdir=`cd "$progdir" && pwd`
195732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     progpath="$progdir/$progname"
196732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     ;;
197732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  *)
198732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     save_IFS="$IFS"
199732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     IFS=:
200732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     for progdir in $PATH; do
201732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com       IFS="$save_IFS"
202732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com       test -x "$progdir/$progname" && break
203732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     done
204732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     IFS="$save_IFS"
205732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     test -n "$progdir" || progdir=`pwd`
206732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     progpath="$progdir/$progname"
207732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     ;;
208732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comesac
209732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
210732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Sed substitution that helps us do robust quoting.  It backslashifies
211732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# metacharacters that are still active within double-quoted strings.
212732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comXsed="${SED}"' -e 1s/^X//'
213732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comsed_quote_subst='s/\([`"$\\]\)/\\\1/g'
214732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
215732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Same as above, but do not quote variable references.
216732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comdouble_quote_subst='s/\(["`\\]\)/\\\1/g'
217732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
218732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Re-`\' parameter expansions in output of double_quote_subst that were
219732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
220732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# in input to double_quote_subst, that '$' was protected from expansion.
221732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Since each input `\' is now two `\'s, look for any number of runs of
222732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
223732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.combs='\\'
224732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.combs2='\\\\'
225732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.combs4='\\\\\\\\'
226732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comdollar='\$'
227732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comsed_double_backslash="\
228732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  s/$bs4/&\\
229732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com/g
230732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  s/^$bs2$dollar/$bs&/
231732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
232732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  s/\n//g"
233732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
234732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Standard options:
235732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comopt_dry_run=false
236732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comopt_help=false
237732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comopt_quiet=false
238732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comopt_verbose=false
239732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comopt_warning=:
240732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
241732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_echo arg...
242732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Echo program name prefixed message, along with the current mode
243732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# name if it has been set yet.
244732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_echo ()
245732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
246732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "$progname${mode+: }$mode: $*"
247732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
248732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
249732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_verbose arg...
250732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Echo program name prefixed message in verbose mode only.
251732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_verbose ()
252732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
253732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_verbose && func_echo ${1+"$@"}
254732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
255732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # A bug in bash halts the script if the last line of a function
256732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # fails when set -e is in force, so we need another command to
257732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # work around that:
258732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    :
259732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
260732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
261732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_error arg...
262732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Echo program name prefixed message to standard error.
263732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_error ()
264732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
265732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
266732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
267732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
268732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_warning arg...
269732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Echo program name prefixed warning message to standard error.
270732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_warning ()
271732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
272732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
273732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
274732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # bash bug again:
275732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    :
276732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
277732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
278732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_fatal_error arg...
279732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Echo program name prefixed message to standard error, and exit.
280732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_fatal_error ()
281732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
282732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_error ${1+"$@"}
283732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    exit $EXIT_FAILURE
284732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
285732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
286732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_fatal_help arg...
287732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Echo program name prefixed message to standard error, followed by
288732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# a help hint, and exit.
289732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_fatal_help ()
290732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
291732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_error ${1+"$@"}
292732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_fatal_error "$help"
293732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
294732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comhelp="Try \`$progname --help' for more information."  ## default
295732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
296732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
297732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_grep expression filename
298732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Check whether EXPRESSION matches any line of FILENAME, without output.
299732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_grep ()
300732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
301732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $GREP "$1" "$2" >/dev/null 2>&1
302732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
303732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
304732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
305732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_mkdir_p directory-path
306732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Make sure the entire path to DIRECTORY-PATH is available.
307732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_mkdir_p ()
308732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
309732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_directory_path="$1"
310732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_dir_list=
311732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
312732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
313732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
314732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Protect directory names starting with `-'
315732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $my_directory_path in
316732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        -*) my_directory_path="./$my_directory_path" ;;
317732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
318732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
319732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # While some portion of DIR does not yet exist...
320732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      while test ! -d "$my_directory_path"; do
321732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # ...make a list in topmost first order.  Use a colon delimited
322732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# list incase some portion of path contains whitespace.
323732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        my_dir_list="$my_directory_path:$my_dir_list"
324732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
325732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # If the last portion added has no slash in it, the list is done
326732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        case $my_directory_path in */*) ;; *) break ;; esac
327732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
328732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # ...otherwise throw away the child directory and loop
329732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
330732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
331732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
332732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
333732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      save_mkdir_p_IFS="$IFS"; IFS=':'
334732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for my_dir in $my_dir_list; do
335732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	IFS="$save_mkdir_p_IFS"
336732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # mkdir can fail with a `File exist' error if two processes
337732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # try to create one of the directories concurrently.  Don't
338732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # stop in that case!
339732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        $MKDIR "$my_dir" 2>/dev/null || :
340732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
341732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      IFS="$save_mkdir_p_IFS"
342732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
343732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Bail out if we (or some other process) failed to create a directory.
344732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -d "$my_directory_path" || \
345732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_fatal_error "Failed to create \`$1'"
346732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
347732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
348311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
349311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
350311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# func_mktempdir [string]
351311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# Make a temporary directory that won't clash with other running
352311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# libtool processes, and avoids race conditions if possible.  If
353311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# given, STRING is the basename for that directory.
354311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifffunc_mktempdir ()
355311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff{
356311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    my_template="${TMPDIR-/tmp}/${1-$progname}"
357311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
358732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test "$opt_dry_run" = ":"; then
359311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # Return a directory name, but don't create it in dry-run mode
360311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      my_tmpdir="${my_template}-$$"
361311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    else
362311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
363311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # If mktemp works, use that first and foremost
364311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
365311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
366311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test ! -d "$my_tmpdir"; then
367732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # Failing that, at least try and use $RANDOM to avoid a race
368732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        my_tmpdir="${my_template}-${RANDOM-0}$$"
369311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
370732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        save_mktempdir_umask=`umask`
371732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        umask 0077
372732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        $MKDIR "$my_tmpdir"
373732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        umask $save_mktempdir_umask
374311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
375311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
376311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # If we're not in dry-run mode, bomb out on failure
377732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -d "$my_tmpdir" || \
378732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
379311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
380311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
381732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "X$my_tmpdir" | $Xsed
382311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff}
383311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
384311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
385732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_quote_for_eval arg
386732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Aesthetically quote ARG to be evaled later.
387732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
388732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# is double-quoted, suitable for a subsequent eval, whereas
389732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
390732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# which are still active within double quotes backslashified.
391732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_quote_for_eval ()
392311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff{
393732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $1 in
394732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *[\\\`\"\$]*)
395732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
396732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
397732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_quote_for_eval_unquoted_result="$1" ;;
398732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
399732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
400732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $func_quote_for_eval_unquoted_result in
401732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Double-quote args containing shell metacharacters to delay
402732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # word splitting, command substitution and and variable
403732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # expansion for a subsequent eval.
404732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Many Bourne shells cannot handle close brackets correctly
405732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # in scan sets, so we specify it separately.
406732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
407732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
408732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
409732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
410732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
411311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    esac
412311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff}
413311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
414311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
415732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_quote_for_expand arg
416732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Aesthetically quote ARG to be evaled later; same as above,
417732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# but do not quote variable references.
418732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_quote_for_expand ()
419311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff{
420732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $1 in
421732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *[\\\`\"]*)
422732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	my_arg=`$ECHO "X$1" | $Xsed \
423732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
424311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      *)
425732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        my_arg="$1" ;;
426732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
427732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
428732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $my_arg in
429732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Double-quote args containing shell metacharacters to delay
430732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # word splitting and command substitution for a subsequent eval.
431732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Many Bourne shells cannot handle close brackets correctly
432732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # in scan sets, so we specify it separately.
433732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
434732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        my_arg="\"$my_arg\""
435732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
436732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
437732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
438732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_quote_for_expand_result="$my_arg"
439311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff}
440311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
441311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
442732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_show_eval cmd [fail_exp]
443732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
444732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
445732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# is given, then evaluate it.
446732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_show_eval ()
447311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff{
448732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_cmd="$1"
449732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_fail_exp="${2-:}"
450311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
451732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    ${opt_silent-false} || {
452732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_quote_for_expand "$my_cmd"
453732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      eval "func_echo $func_quote_for_expand_result"
454732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
455732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
456732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if ${opt_dry_run-false}; then :; else
457732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      eval "$my_cmd"
458732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      my_status=$?
459732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$my_status" -eq 0; then :; else
460732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval "(exit $my_status); $my_fail_exp"
461732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
462311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
463311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff}
464311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
465732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
466732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_show_eval_locale cmd [fail_exp]
467732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
468732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
469732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# is given, then evaluate it.  Use the saved locale for evaluation.
470732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_show_eval_locale ()
471311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff{
472732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_cmd="$1"
473732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_fail_exp="${2-:}"
474732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
475732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    ${opt_silent-false} || {
476732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_quote_for_expand "$my_cmd"
477732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      eval "func_echo $func_quote_for_expand_result"
478732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
479732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
480732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if ${opt_dry_run-false}; then :; else
481732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      eval "$lt_user_locale
482732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $my_cmd"
483732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      my_status=$?
484732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      eval "$lt_safe_locale"
485732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$my_status" -eq 0; then :; else
486732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval "(exit $my_status); $my_fail_exp"
487732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
488311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
489732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
490311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
491311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
492732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
493732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
494732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
495732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_version
496732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Echo version message to standard output and exit.
497732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_version ()
498732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
499732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
500732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        s/^# //
501732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s/^# *$//
502732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
503732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        p
504732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     }' < "$progpath"
505732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     exit $?
506732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
507732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
508732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_usage
509732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Echo short help message to standard output and exit.
510732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_usage ()
511732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
512732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $SED -n '/^# Usage:/,/# -h/ {
513732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        s/^# //
514732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s/^# *$//
515732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s/\$progname/'$progname'/
516732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	p
517732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }' < "$progpath"
518732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO
519732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "run \`$progname --help | more' for full usage"
520732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    exit $?
521732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
522732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
523732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_help
524732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Echo long help message to standard output and exit.
525732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_help ()
526732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
527732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $SED -n '/^# Usage:/,/# Report bugs to/ {
528732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        s/^# //
529732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s/^# *$//
530732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s*\$progname*'$progname'*
531732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s*\$host*'"$host"'*
532732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s*\$SHELL*'"$SHELL"'*
533732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s*\$LTCC*'"$LTCC"'*
534732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s*\$LTCFLAGS*'"$LTCFLAGS"'*
535732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s*\$LD*'"$LD"'*
536732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s/\$with_gnu_ld/'"$with_gnu_ld"'/
537732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
538732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
539732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	p
540732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     }' < "$progpath"
541732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    exit $?
542732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
543732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
544732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_missing_arg argname
545732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Echo program name prefixed message to standard error and set global
546732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# exit_cmd.
547732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_missing_arg ()
548732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
549732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_error "missing argument for $1"
550732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    exit_cmd=exit
551311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff}
552311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
553732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comexit_cmd=:
554311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
555311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
556732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
557732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
558732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
559732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Check that we have a working $ECHO.
560732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comif test "X$1" = X--no-reexec; then
561732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Discard the --no-reexec flag, and continue.
562311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff  shift
563732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comelif test "X$1" = X--fallback-echo; then
564732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Avoid inline document here, it may be left over
565732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  :
566732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comelif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
567732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Yippee, $ECHO works!
568732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  :
569732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comelse
570732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Restart under the correct shell, and then maybe $ECHO will work.
571732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
572732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfi
573311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
574732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comif test "X$1" = X--fallback-echo; then
575732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # used as fallback echo
576732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  shift
577732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  cat <<EOF
578732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$*
579732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
580732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  exit $EXIT_SUCCESS
581732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfi
582311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
583732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.commagic="%%%MAGIC variable%%%"
584732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.commagic_exe="%%%MAGIC EXE variable%%%"
585311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
586732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Global variables.
587732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# $mode is unset
588732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comnonopt=
589732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comexecute_dlfiles=
590732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.compreserve_args=
591732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlo2o="s/\\.lo\$/.${objext}/"
592732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.como2lo="s/\\.${objext}\$/.lo/"
593732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comextracted_archives=
594732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comextracted_serial=0
595311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
596732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comopt_dry_run=false
597732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comopt_duplicate_deps=false
598732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comopt_silent=false
599732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comopt_debug=:
600311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
601732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# If this variable is set in any of the actions, the command in it
602732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# will be execed at the end.  This prevents here-documents from being
603732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# left over by shells.
604732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comexec_cmd=
605732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
606732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_fatal_configuration arg...
607732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Echo program name prefixed message to standard error, followed by
608732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# a configuration failure hint, and exit.
609732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_fatal_configuration ()
610732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
611732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_error ${1+"$@"}
612732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_error "See the $PACKAGE documentation for more information."
613732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_fatal_error "Fatal configuration error."
614732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
615311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
616d18457863096b3685e56f5a8919959f6afbdb121openvcdiff
617732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_config
618732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Display the configuration for all the tags in this script.
619732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_config ()
620732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
621732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    re_begincf='^# ### BEGIN LIBTOOL'
622732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    re_endcf='^# ### END LIBTOOL'
623732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
624732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Default configuration.
625732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
626311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
627311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # Now print the configurations for the tags.
628311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    for tagname in $taglist; do
629732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
630311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    done
631311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
632732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    exit $?
633732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
634311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
635732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_features
636732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Display the features supported by this script.
637732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_features ()
638732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
639732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "host: $host"
640311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    if test "$build_libtool_libs" = yes; then
641732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "enable shared libraries"
642311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    else
643732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "disable shared libraries"
644311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
645311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    if test "$build_old_libs" = yes; then
646732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "enable static libraries"
647311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    else
648732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "disable static libraries"
649311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
650732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
651311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    exit $?
652732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
653311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
654732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_enable_tag tagname
655732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Verify that TAGNAME is valid, and either flag an error and exit, or
656732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
657732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# variable here.
658732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_enable_tag ()
659732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
660732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Global variable:
661732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  tagname="$1"
662311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
663732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
664732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
665732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  sed_extractcf="/$re_begincf/,/$re_endcf/p"
666311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
667732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Validate tagname.
668732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  case $tagname in
669732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *[!-_A-Za-z0-9,/]*)
670732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_fatal_error "invalid tag name: $tagname"
671732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      ;;
672732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  esac
673311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
674732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Don't test for the "default" C tag, as we know it's
675732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # there but not specially marked.
676732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  case $tagname in
677732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    CC) ;;
678732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *)
679732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
680732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	taglist="$taglist $tagname"
681732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
682732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Evaluate the configuration.  Be careful to quote the path
683732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# and the sed script, to avoid splitting on whitespace, but
684732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# also don't use non-portable quotes within backquotes within
685732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# quotes we have to do it in 2 steps:
686732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
687732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval "$extractedcf"
688732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
689732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_error "ignoring unknown tag $tagname"
690732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
691732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      ;;
692732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  esac
693732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
694732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
695732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Parse options once, thoroughly.  This comes as soon as possible in
696732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# the script to make things like `libtool --version' happen quickly.
697732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
698311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
699732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Shorthand for --mode=foo, only valid as the first argument
700732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  case $1 in
701732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  clean|clea|cle|cl)
702732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    shift; set dummy --mode clean ${1+"$@"}; shift
703311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    ;;
704732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  compile|compil|compi|comp|com|co|c)
705732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    shift; set dummy --mode compile ${1+"$@"}; shift
706311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    ;;
707732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  execute|execut|execu|exec|exe|ex|e)
708732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    shift; set dummy --mode execute ${1+"$@"}; shift
709311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    ;;
710732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  finish|finis|fini|fin|fi|f)
711732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    shift; set dummy --mode finish ${1+"$@"}; shift
712311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    ;;
713732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  install|instal|insta|inst|ins|in|i)
714732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    shift; set dummy --mode install ${1+"$@"}; shift
715732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    ;;
716732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  link|lin|li|l)
717732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    shift; set dummy --mode link ${1+"$@"}; shift
718732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    ;;
719732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
720732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    shift; set dummy --mode uninstall ${1+"$@"}; shift
721311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    ;;
722311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff  esac
723311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
724732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Parse non-mode specific arguments:
725732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  while test "$#" -gt 0; do
726732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    opt="$1"
727732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    shift
728311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
729732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $opt in
730732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      --config)		func_config					;;
731311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
732732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      --debug)		preserve_args="$preserve_args $opt"
733732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			func_echo "enabling shell trace mode"
734732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			opt_debug='set -x'
735732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			$opt_debug
736732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			;;
737311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
738732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
739732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			execute_dlfiles="$execute_dlfiles $1"
740732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			shift
741732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			;;
742311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
743732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      --dry-run | -n)	opt_dry_run=:					;;
744732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      --features)       func_features					;;
745732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      --finish)		mode="finish"					;;
746732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
747732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
748732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			case $1 in
749732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  # Valid mode arguments:
750732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  clean)	;;
751732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  compile)	;;
752732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  execute)	;;
753732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  finish)	;;
754732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  install)	;;
755732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  link)		;;
756732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  relink)	;;
757732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  uninstall)	;;
758732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
759732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  # Catch anything else as an error
760732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  *) func_error "invalid argument for $opt"
761732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			     exit_cmd=exit
762732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			     break
763732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			     ;;
764732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		        esac
765732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
766732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			mode="$1"
767732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			shift
768732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			;;
769732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
770732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      --preserve-dup-deps)
771732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			opt_duplicate_deps=:				;;
772732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
773732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      --quiet|--silent)	preserve_args="$preserve_args $opt"
774732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			opt_silent=:
775732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			;;
776732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
777732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      --verbose| -v)	preserve_args="$preserve_args $opt"
778732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			opt_silent=false
779732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			;;
780732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
781732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
782732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			preserve_args="$preserve_args $opt $1"
783732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			func_enable_tag "$1"	# tagname is set here
784732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			shift
785732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			;;
786732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
787732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Separate optargs to long options:
788732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -dlopen=*|--mode=*|--tag=*)
789732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			func_opt_split "$opt"
790732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
791732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			shift
792732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			;;
793732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
794732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -\?|-h)		func_usage					;;
795732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      --help)		opt_help=:					;;
796732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      --version)	func_version					;;
797732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
798732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -*)		func_fatal_help "unrecognized option \`$opt'"	;;
799732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
800732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)		nonopt="$opt"
801732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			break
802732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			;;
803732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
804732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  done
805732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
806732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
807732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  case $host in
808732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *cygwin* | *mingw* | *pw32* | *cegcc*)
809732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # don't eliminate duplications in $postdeps and $predeps
810732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      opt_duplicate_compiler_generated_deps=:
811311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      ;;
812311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    *)
813732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
814732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      ;;
815732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  esac
816311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
817732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Having warned about all mis-specified options, bail out if
818732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # anything was wrong.
819732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  $exit_cmd $EXIT_FAILURE
820732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
821732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
822732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_check_version_match
823732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Ensure that we are using m4 macros, and libtool script from the same
824732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# release of libtool.
825732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_check_version_match ()
826732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
827732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if test "$package_revision" != "$macro_revision"; then
828732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test "$VERSION" != "$macro_version"; then
829732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -z "$macro_version"; then
830732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        cat >&2 <<_LT_EOF
831732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
832732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$progname: definition of this LT_INIT comes from an older release.
833732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
834732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$progname: and run autoconf again.
835732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com_LT_EOF
836732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
837732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        cat >&2 <<_LT_EOF
838732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
839732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
840732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
841732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$progname: and run autoconf again.
842732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com_LT_EOF
843311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
844732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    else
845732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      cat >&2 <<_LT_EOF
846732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
847732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$progname: but the definition of this LT_INIT comes from revision $macro_revision.
848732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$progname: You should recreate aclocal.m4 with macros from revision $package_revision
849732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$progname: of $PACKAGE $VERSION and run autoconf again.
850732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com_LT_EOF
851732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
852732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
853732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    exit $EXIT_MISMATCH
854732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  fi
855732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
856732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
857732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
858732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com## ----------- ##
859732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com##    Main.    ##
860732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com## ----------- ##
861732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
862732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$opt_help || {
863732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Sanity checks first:
864732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  func_check_version_match
865732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
866732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
867732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_fatal_configuration "not configured to build any kind of library"
868311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff  fi
869311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
870732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
871732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
872732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
873732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Darwin sucks
874732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  eval std_shrext=\"$shrext_cmds\"
875732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
876732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
877311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff  # Only execute mode is allowed to have -dlopen flags.
878311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff  if test -n "$execute_dlfiles" && test "$mode" != execute; then
879732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_error "unrecognized option \`-dlopen'"
880732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "$help" 1>&2
881311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    exit $EXIT_FAILURE
882311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff  fi
883311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
884311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff  # Change the help message to a mode-specific one.
885311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff  generic_help="$help"
886732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  help="Try \`$progname --help --mode=$mode' for more information."
887732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
888311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
889311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
890732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_lalib_p file
891732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# True iff FILE is a libtool `.la' library or `.lo' object file.
892732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# This function is only a basic sanity check; it will hardly flush out
893732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# determined imposters.
894732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_lalib_p ()
895732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
896732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test -f "$1" &&
897732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $SED -e 4q "$1" 2>/dev/null \
898732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
899732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
900311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
901732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_lalib_unsafe_p file
902732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# True iff FILE is a libtool `.la' library or `.lo' object file.
903732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# This function implements the same check as func_lalib_p without
904732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# resorting to external programs.  To this end, it redirects stdin and
905732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# closes it afterwards, without saving the original file descriptor.
906732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# As a safety measure, use it only where a negative result would be
907732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# fatal anyway.  Works if `file' does not exist.
908732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_lalib_unsafe_p ()
909732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
910732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    lalib_p=no
911732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
912732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for lalib_p_l in 1 2 3 4
913732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	do
914732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    read lalib_p_line
915732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case "$lalib_p_line" in
916732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
917732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
918732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
919732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	exec 0<&5 5<&-
920732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
921732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test "$lalib_p" = yes
922732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
923311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
924732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_ltwrapper_script_p file
925732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# True iff FILE is a libtool wrapper script
926732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# This function is only a basic sanity check; it will hardly flush out
927732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# determined imposters.
928732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_ltwrapper_script_p ()
929732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
930732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_lalib_p "$1"
931732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
932311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
933732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_ltwrapper_executable_p file
934732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# True iff FILE is a libtool wrapper executable
935732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# This function is only a basic sanity check; it will hardly flush out
936732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# determined imposters.
937732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_ltwrapper_executable_p ()
938732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
939732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_ltwrapper_exec_suffix=
940732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $1 in
941732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *.exe) ;;
942732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *) func_ltwrapper_exec_suffix=.exe ;;
943732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
944732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
945732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
946311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
947732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_ltwrapper_scriptname file
948732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Assumes file is an ltwrapper_executable
949732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# uses $file to determine the appropriate filename for a
950732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# temporary ltwrapper_script.
951732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_ltwrapper_scriptname ()
952732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
953732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_ltwrapper_scriptname_result=""
954732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if func_ltwrapper_executable_p "$1"; then
955732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_dirname_and_basename "$1" "" "."
956732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_stripname '' '.exe' "$func_basename_result"
957732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
958732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
959732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
960732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
961732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_ltwrapper_p file
962732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# True iff FILE is a libtool wrapper script or wrapper executable
963732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# This function is only a basic sanity check; it will hardly flush out
964732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# determined imposters.
965732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_ltwrapper_p ()
966732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
967732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
968732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
969732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
970732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
971732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_execute_cmds commands fail_cmd
972732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Execute tilde-delimited COMMANDS.
973732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# If FAIL_CMD is given, eval that upon failure.
974732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# FAIL_CMD may read-access the current command in variable CMD!
975732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_execute_cmds ()
976732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
977732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_debug
978732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    save_ifs=$IFS; IFS='~'
979732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for cmd in $1; do
980732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      IFS=$save_ifs
981732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      eval cmd=\"$cmd\"
982732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_show_eval "$cmd" "${2-:}"
983732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    done
984732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    IFS=$save_ifs
985732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
986732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
987732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
988732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_source file
989732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Source FILE, adding directory component if necessary.
990732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Note that it is not necessary on cygwin/mingw to append a dot to
991732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
992732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# behavior happens only for exec(3), not for open(2)!  Also, sourcing
993732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# `FILE.' does not work on cygwin managed mounts.
994732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_source ()
995732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
996732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_debug
997732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $1 in
998732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    */* | *\\*)	. "$1" ;;
999732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *)		. "./$1" ;;
1000732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
1001732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
1002732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1003732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1004732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_infer_tag arg
1005732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Infer tagged configuration to use if any are available and
1006732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# if one wasn't chosen via the "--tag" command line option.
1007732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Only attempt this if the compiler in the base compile
1008732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# command doesn't match the default compiler.
1009732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# arg is usually of the form 'gcc ...'
1010732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_infer_tag ()
1011732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
1012732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_debug
1013732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -n "$available_tags" && test -z "$tagname"; then
1014732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      CC_quoted=
1015732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for arg in $CC; do
1016732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_quote_for_eval "$arg"
1017732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	CC_quoted="$CC_quoted $func_quote_for_eval_result"
1018732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
1019732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $@ in
1020732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Blanks in the command may have been stripped by the calling shell,
1021732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # but not from the CC environment variable when configure was run.
1022732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
1023732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Blanks at the start of $base_compile will cause this to fail
1024732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # if we don't check for them as well.
1025732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
1026732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for z in $available_tags; do
1027732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
1028732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Evaluate the configuration.
1029732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
1030732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    CC_quoted=
1031732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for arg in $CC; do
1032732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Double-quote args containing other shell metacharacters.
1033732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_quote_for_eval "$arg"
1034732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
1035732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
1036732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case "$@ " in
1037732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
1038732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # The compiler in the base compile command matches
1039732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # the one in the tagged configuration.
1040732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Assume this is the tagged configuration we want.
1041732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      tagname=$z
1042732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      break
1043732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
1044732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
1045732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
1046732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
1047732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# If $tagname still isn't set, then no tagged configuration
1048732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# was found and let the user know that the "--tag" command
1049732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# line option must be used.
1050732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -z "$tagname"; then
1051732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_echo "unable to infer tagged configuration"
1052732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_error "specify a tag with \`--tag'"
1053732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#	else
1054732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#	  func_verbose "using $tagname tagged configuration"
1055732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
1056732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
1057732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
1058732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
1059732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
1060732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1061732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1062732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1063732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_write_libtool_object output_name pic_name nonpic_name
1064732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Create a libtool object file (analogous to a ".la" file),
1065732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# but don't create it if we're doing a dry run.
1066732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_write_libtool_object ()
1067732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
1068732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    write_libobj=${1}
1069732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test "$build_libtool_libs" = yes; then
1070732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      write_lobj=\'${2}\'
1071732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    else
1072732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      write_lobj=none
1073732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
1074732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1075732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test "$build_old_libs" = yes; then
1076732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      write_oldobj=\'${3}\'
1077732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    else
1078732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      write_oldobj=none
1079732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
1080732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1081732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_dry_run || {
1082732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      cat >${write_libobj}T <<EOF
1083732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# $write_libobj - a libtool object file
1084732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
1085732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
1086732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Please DO NOT delete this file!
1087732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# It is necessary for linking the library.
1088732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1089732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Name of the PIC object.
1090732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.compic_object=$write_lobj
1091732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1092732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Name of the non-PIC object
1093732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comnon_pic_object=$write_oldobj
1094732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1095732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
1096732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $MV "${write_libobj}T" "${write_libobj}"
1097732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
1098732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
1099732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1100732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_mode_compile arg...
1101732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_mode_compile ()
1102732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
1103732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_debug
1104732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Get the compilation command and the source file.
1105732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    base_compile=
1106732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
1107732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    suppress_opt=yes
1108732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    suppress_output=
1109732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    arg_mode=normal
1110732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    libobj=
1111732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    later=
1112732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    pie_flag=
1113732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1114732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for arg
1115732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    do
1116732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $arg_mode in
1117732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      arg  )
1118732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# do not "continue".  Instead, add this to base_compile
1119732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	lastarg="$arg"
1120732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	arg_mode=normal
1121732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
1122732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1123732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      target )
1124732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	libobj="$arg"
1125732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	arg_mode=normal
1126732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
1127732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
1128732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1129732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      normal )
1130732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Accept any command-line options.
1131732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $arg in
1132732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-o)
1133732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test -n "$libobj" && \
1134732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "you cannot specify \`-o' more than once"
1135732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  arg_mode=target
1136732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
1137732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
1138732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1139732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-pie | -fpie | -fPIE)
1140732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          pie_flag="$pie_flag $arg"
1141732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
1142732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
1143732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1144732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-shared | -static | -prefer-pic | -prefer-non-pic)
1145732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  later="$later $arg"
1146732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
1147732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
1148732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1149732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-no-suppress)
1150311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  suppress_opt=no
1151311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  continue
1152311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  ;;
1153311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1154311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	-Xcompiler)
1155311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
1156311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  continue      #  The current "srcfile" will either be retained or
1157311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  ;;            #  replaced later.  I would guess that would be a bug.
1158311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1159311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	-Wc,*)
1160732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_stripname '-Wc,' '' "$arg"
1161732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  args=$func_stripname_result
1162311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  lastarg=
1163311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  save_ifs="$IFS"; IFS=','
1164732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for arg in $args; do
1165311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    IFS="$save_ifs"
1166732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_quote_for_eval "$arg"
1167732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    lastarg="$lastarg $func_quote_for_eval_result"
1168311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  done
1169311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  IFS="$save_ifs"
1170732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_stripname ' ' '' "$lastarg"
1171732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  lastarg=$func_stripname_result
1172311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1173311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  # Add the arguments to base_compile.
1174311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  base_compile="$base_compile $lastarg"
1175311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  continue
1176311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  ;;
1177311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1178732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
1179311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  # Accept the current argument as the source file.
1180311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  # The previous "srcfile" becomes the current argument.
1181311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  #
1182311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  lastarg="$srcfile"
1183311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  srcfile="$arg"
1184311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  ;;
1185311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	esac  #  case $arg
1186311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
1187311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      esac    #  case $arg_mode
1188311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1189311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # Aesthetically quote the previous argument.
1190732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_quote_for_eval "$lastarg"
1191732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      base_compile="$base_compile $func_quote_for_eval_result"
1192311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    done # for arg
1193311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1194311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    case $arg_mode in
1195311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    arg)
1196732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_fatal_error "you must specify an argument for -Xcompile"
1197311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      ;;
1198311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    target)
1199732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_fatal_error "you must specify a target with \`-o'"
1200311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      ;;
1201311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    *)
1202311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # Get the name of the library object.
1203732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -z "$libobj" && {
1204732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_basename "$srcfile"
1205732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	libobj="$func_basename_result"
1206732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      }
1207311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      ;;
1208311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    esac
1209311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1210311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # Recognize several different file suffixes.
1211311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # If the user specifies -o file.o, it is replaced with file.lo
1212311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    case $libobj in
1213732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *.[cCFSifmso] | \
1214732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *.ada | *.adb | *.ads | *.asm | \
1215732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
1216732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
1217732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_xform "$libobj"
1218732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      libobj=$func_xform_result
1219732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      ;;
1220311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    esac
1221311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1222311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    case $libobj in
1223732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
1224311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    *)
1225732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_fatal_error "cannot determine name of library object from \`$libobj'"
1226311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      ;;
1227311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    esac
1228311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1229311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    func_infer_tag $base_compile
1230311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1231311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    for arg in $later; do
1232311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      case $arg in
1233732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -shared)
1234732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test "$build_libtool_libs" != yes && \
1235732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_configuration "can not build a shared library"
1236732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	build_old_libs=no
1237732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
1238732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
1239732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1240311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      -static)
1241732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	build_libtool_libs=no
1242311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	build_old_libs=yes
1243311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	continue
1244311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
1245311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1246311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      -prefer-pic)
1247311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	pic_mode=yes
1248311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	continue
1249311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
1250311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1251311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      -prefer-non-pic)
1252311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	pic_mode=no
1253311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	continue
1254311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
1255311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      esac
1256311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    done
1257311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1258732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_quote_for_eval "$libobj"
1259732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test "X$libobj" != "X$func_quote_for_eval_result" \
1260732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
1261732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      && func_warning "libobj name \`$libobj' may not contain shell special characters."
1262732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_dirname_and_basename "$obj" "/" ""
1263732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    objname="$func_basename_result"
1264732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    xdir="$func_dirname_result"
1265311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    lobj=${xdir}$objdir/$objname
1266311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1267732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test -z "$base_compile" && \
1268732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_fatal_help "you must specify a compilation command"
1269311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1270311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # Delete any leftover library objects.
1271311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    if test "$build_old_libs" = yes; then
1272311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      removelist="$obj $lobj $libobj ${libobj}T"
1273311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    else
1274311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      removelist="$lobj $libobj ${libobj}T"
1275311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
1276311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1277311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # On Cygwin there's no "real" PIC flag so we must build both object types
1278311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    case $host_os in
1279732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    cygwin* | mingw* | pw32* | os2* | cegcc*)
1280311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      pic_mode=default
1281311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      ;;
1282311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    esac
1283311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
1284311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # non-PIC code in shared libraries is not supported
1285311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      pic_mode=default
1286311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
1287311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1288311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # Calculate the filename of the output object if compiler does
1289311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # not support -o with -c
1290311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    if test "$compiler_c_o" = no; then
1291732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
1292311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      lockfile="$output_obj.lock"
1293311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    else
1294311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      output_obj=
1295311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      need_locks=no
1296311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      lockfile=
1297311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
1298311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1299311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # Lock this critical section if it is needed
1300311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # We use this script file to make the link, it avoids creating a new file
1301311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    if test "$need_locks" = yes; then
1302732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
1303732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_echo "Waiting for $lockfile to be removed"
1304311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	sleep 2
1305311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      done
1306311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    elif test "$need_locks" = warn; then
1307311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test -f "$lockfile"; then
1308732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$ECHO "\
1309311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff*** ERROR, $lockfile exists and contains:
1310311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff`cat $lockfile 2>/dev/null`
1311311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1312311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffThis indicates that another process is trying to use the same
1313311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifftemporary object file, and libtool could not work around it because
1314311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffyour compiler does not support \`-c' and \`-o' together.  If you
1315311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffrepeat this compilation, it may succeed, by chance, but you had better
1316311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffavoid parallel builds (make -j) in this platform, or get a better
1317311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffcompiler."
1318311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1319732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$opt_dry_run || $RM $removelist
1320311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	exit $EXIT_FAILURE
1321311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
1322732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      removelist="$removelist $output_obj"
1323732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "$srcfile" > "$lockfile"
1324311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
1325311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1326732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_dry_run || $RM $removelist
1327732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    removelist="$removelist $lockfile"
1328732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
1329732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1330311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    if test -n "$fix_srcfile_path"; then
1331311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      eval srcfile=\"$fix_srcfile_path\"
1332311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
1333732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_quote_for_eval "$srcfile"
1334732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    qsrcfile=$func_quote_for_eval_result
1335311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1336311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # Only build a PIC object if we are building libtool libraries.
1337311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    if test "$build_libtool_libs" = yes; then
1338311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # Without this assignment, base_compile gets emptied.
1339311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fbsd_hideous_sh_bug=$base_compile
1340311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1341311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test "$pic_mode" != no; then
1342311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	command="$base_compile $qsrcfile $pic_flag"
1343311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      else
1344311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	# Don't build PIC code
1345311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	command="$base_compile $qsrcfile"
1346311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
1347311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1348732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_mkdir_p "$xdir$objdir"
1349311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1350311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test -z "$output_obj"; then
1351311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	# Place PIC objects in $objdir
1352311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	command="$command -o $lobj"
1353311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
1354311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1355732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_show_eval_locale "$command"	\
1356732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
1357311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1358311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test "$need_locks" = warn &&
1359311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1360732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$ECHO "\
1361311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff*** ERROR, $lockfile contains:
1362311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff`cat $lockfile 2>/dev/null`
1363311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1364311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffbut it should contain:
1365311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff$srcfile
1366311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1367311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffThis indicates that another process is trying to use the same
1368311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifftemporary object file, and libtool could not work around it because
1369311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffyour compiler does not support \`-c' and \`-o' together.  If you
1370311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffrepeat this compilation, it may succeed, by chance, but you had better
1371311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffavoid parallel builds (make -j) in this platform, or get a better
1372311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffcompiler."
1373311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1374732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$opt_dry_run || $RM $removelist
1375311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	exit $EXIT_FAILURE
1376311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
1377311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1378311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # Just move the object if needed, then go on to compile the next one
1379311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
1380732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_show_eval '$MV "$output_obj" "$lobj"' \
1381732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
1382311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
1383311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1384311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # Allow error messages only from the first compilation.
1385311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test "$suppress_opt" = yes; then
1386732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	suppress_output=' >/dev/null 2>&1'
1387311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
1388311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
1389311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1390311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # Only build a position-dependent object if we build old libraries.
1391311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    if test "$build_old_libs" = yes; then
1392311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test "$pic_mode" != yes; then
1393311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	# Don't build PIC code
1394732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	command="$base_compile $qsrcfile$pie_flag"
1395311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      else
1396311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	command="$base_compile $qsrcfile $pic_flag"
1397311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
1398311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test "$compiler_c_o" = yes; then
1399311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	command="$command -o $obj"
1400311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
1401311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1402311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # Suppress compiler output if we already did a PIC compilation.
1403311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      command="$command$suppress_output"
1404732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_show_eval_locale "$command" \
1405732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
1406311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1407311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test "$need_locks" = warn &&
1408311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1409732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$ECHO "\
1410311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff*** ERROR, $lockfile contains:
1411311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff`cat $lockfile 2>/dev/null`
1412311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1413311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffbut it should contain:
1414311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff$srcfile
1415311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1416311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffThis indicates that another process is trying to use the same
1417311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifftemporary object file, and libtool could not work around it because
1418311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffyour compiler does not support \`-c' and \`-o' together.  If you
1419311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffrepeat this compilation, it may succeed, by chance, but you had better
1420311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffavoid parallel builds (make -j) in this platform, or get a better
1421311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffcompiler."
1422311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1423732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$opt_dry_run || $RM $removelist
1424311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	exit $EXIT_FAILURE
1425311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
1426311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1427311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # Just move the object if needed
1428311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
1429732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_show_eval '$MV "$output_obj" "$obj"' \
1430732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
1431311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
1432311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
1433311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1434732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_dry_run || {
1435732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
1436311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1437732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Unlock the critical section if it was locked
1438732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$need_locks" != no; then
1439732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	removelist=$lockfile
1440732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        $RM "$lockfile"
1441732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
1442732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
1443311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1444311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    exit $EXIT_SUCCESS
1445732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
1446311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1447732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$opt_help || {
1448732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comtest "$mode" = compile && func_mode_compile ${1+"$@"}
1449732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
1450311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1451732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_mode_help ()
1452732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
1453732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # We need to display help for each of the modes.
1454732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $mode in
1455732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      "")
1456732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # Generic help is extracted from the usage comments
1457732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # at the start of this file.
1458732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_help
1459732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
1460311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1461732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      clean)
1462732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        $ECHO \
1463732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
1464311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1465732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comRemove files from the build directory.
1466311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1467732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comRM is the name of the program to use to delete files associated with each FILE
1468732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
1469732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comto RM.
1470311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1471732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comIf FILE is a libtool library, object or program, all the files associated
1472732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comwith it are deleted. Otherwise, only FILE itself is deleted using RM."
1473732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
1474311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1475732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      compile)
1476732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO \
1477732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
1478311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1479732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comCompile a source file into a libtool library object.
1480311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1481732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comThis mode accepts the following additional options:
1482311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1483732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
1484732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -no-suppress      do not suppress compiler output for multiple passes
1485732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -prefer-pic       try to building PIC objects only
1486732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -prefer-non-pic   try to building non-PIC objects only
1487732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -shared           do not build a \`.o' file suitable for static linking
1488732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -static           only build a \`.o' file suitable for static linking
1489311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1490732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comCOMPILE-COMMAND is a command to be used in creating a \`standard' object file
1491732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfrom the given SOURCEFILE.
1492311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1493732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comThe output file name is determined by removing the directory component from
1494732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comSOURCEFILE, then substituting the C source code suffix \`.c' with the
1495732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlibrary object suffix, \`.lo'."
1496732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
1497311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1498732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      execute)
1499732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        $ECHO \
1500732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
1501311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1502732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comAutomatically set library path, then run a program.
1503311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1504732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comThis mode accepts the following additional options:
1505311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1506732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -dlopen FILE      add the directory containing FILE to the library path
1507311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1508732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comThis mode sets the library path environment variable according to \`-dlopen'
1509732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comflags.
1510311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1511732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comIf any of the ARGS are libtool executable wrappers, then they are translated
1512732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.cominto their corresponding uninstalled binary, and any of their required library
1513732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comdirectories are added to the library path.
1514311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1515732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comThen, COMMAND is executed, with ARGS as arguments."
1516732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
1517311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1518732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      finish)
1519732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        $ECHO \
1520732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
1521311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1522732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comComplete the installation of libtool libraries.
1523311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1524732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEach LIBDIR is a directory that contains libtool libraries.
1525311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1526732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comThe commands that this mode executes may require superuser privileges.  Use
1527732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comthe \`--dry-run' option if you just want to see what would be executed."
1528732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
1529311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1530732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      install)
1531732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        $ECHO \
1532732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
1533311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1534732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comInstall executables or libraries.
1535311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1536732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comINSTALL-COMMAND is the installation command.  The first component should be
1537732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comeither the \`install' or \`cp' program.
1538311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1539732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comThe following components of INSTALL-COMMAND are treated specially:
1540311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1541732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
1542311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1543732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comThe rest of the components are interpreted as arguments to that command (only
1544732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comBSD-compatible install options are recognized)."
1545732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
1546311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1547732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      link)
1548732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        $ECHO \
1549732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
1550311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1551732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comLink object files or libraries together to form another library, or to
1552732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comcreate an executable program.
1553311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1554732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comLINK-COMMAND is a command using the C compiler that you would use to create
1555732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.coma program from several object files.
1556311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1557732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comThe following components of LINK-COMMAND are treated specially:
1558311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1559732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -all-static       do not do any dynamic linking at all
1560732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -avoid-version    do not add a version suffix if possible
1561732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
1562732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
1563732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
1564732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -export-symbols SYMFILE
1565732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                    try to export only the symbols listed in SYMFILE
1566732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -export-symbols-regex REGEX
1567732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                    try to export only the symbols matching REGEX
1568732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -LLIBDIR          search LIBDIR for required installed libraries
1569732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -lNAME            OUTPUT-FILE requires the installed library libNAME
1570732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -module           build a library that can dlopened
1571732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -no-fast-install  disable the fast-install mode
1572732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -no-install       link a not-installable executable
1573732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -no-undefined     declare that a library does not refer to external symbols
1574732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
1575732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -objectlist FILE  Use a list of object files found in FILE to specify objects
1576732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -precious-files-regex REGEX
1577732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                    don't remove output files matching REGEX
1578732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -release RELEASE  specify package release information
1579732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
1580732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
1581732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -shared           only do dynamic linking of libtool libraries
1582732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -shrext SUFFIX    override the standard shared library file extension
1583732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -static           do not do any dynamic linking of uninstalled libtool libraries
1584732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -static-libtool-libs
1585732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                    do not do any dynamic linking of libtool libraries
1586732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -version-info CURRENT[:REVISION[:AGE]]
1587732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                    specify library version info [each variable defaults to 0]
1588732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  -weak LIBNAME     declare that the target provides the LIBNAME interface
1589311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1590732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comAll other options (arguments beginning with \`-') are ignored.
1591311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1592732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEvery other argument is treated as a filename.  Files ending in \`.la' are
1593732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comtreated as uninstalled libtool libraries, other files are standard or library
1594732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comobject files.
1595d18457863096b3685e56f5a8919959f6afbdb121openvcdiff
1596732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comIf the OUTPUT-FILE ends in \`.la', then a libtool library is created,
1597732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comonly library objects (\`.lo' files) may be specified, and \`-rpath' is
1598732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comrequired, except when creating a convenience library.
1599311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1600732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comIf OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
1601732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comusing \`ar' and \`ranlib', or on Windows using \`lib'.
1602311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1603732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comIf OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
1604732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comis created, otherwise an executable program is created."
1605311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff        ;;
1606311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1607732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      uninstall)
1608732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        $ECHO \
1609732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
1610311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1611732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comRemove libraries from an installation directory.
1612311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1613732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comRM is the name of the program to use to delete files associated with each FILE
1614732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
1615732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comto RM.
1616311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1617732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comIf FILE is a libtool library, all the files associated with it are deleted.
1618732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comOtherwise, only FILE itself is deleted using RM."
1619732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
1620311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1621732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
1622732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_fatal_help "invalid operation mode \`$mode'"
1623732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
1624732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
1625311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1626732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO
1627732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "Try \`$progname --help' for more information about other modes."
1628311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1629732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    exit $?
1630732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
1631311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1632732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Now that we've collected a possible --mode arg, show help if necessary
1633732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  $opt_help && func_mode_help
1634311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1635311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1636732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_mode_execute arg...
1637732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_mode_execute ()
1638732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
1639732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_debug
1640732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # The first argument is the command name.
1641732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    cmd="$nonopt"
1642732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test -z "$cmd" && \
1643732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_fatal_help "you must specify a COMMAND"
1644311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1645732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Handle -dlopen flags immediately.
1646732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for file in $execute_dlfiles; do
1647732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -f "$file" \
1648732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	|| func_fatal_help "\`$file' is not a file"
1649311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1650732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      dir=
1651732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $file in
1652732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *.la)
1653732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Check to see that this really is a libtool archive.
1654732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_lalib_unsafe_p "$file" \
1655732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  || func_fatal_help "\`$lib' is not a valid libtool archive"
1656311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1657732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Read the libtool library.
1658732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dlname=
1659732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	library_names=
1660732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_source "$file"
1661311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1662732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Skip this library if it cannot be dlopened.
1663732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -z "$dlname"; then
1664732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Warn if it was a shared library.
1665732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test -n "$library_names" && \
1666732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_warning "\`$file' was not linked with \`-export-dynamic'"
1667732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
1668732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
1669311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1670732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_dirname "$file" "" "."
1671732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dir="$func_dirname_result"
1672311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1673732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -f "$dir/$objdir/$dlname"; then
1674732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  dir="$dir/$objdir"
1675732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
1676732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test ! -f "$dir/$dlname"; then
1677732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
1678732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
1679732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
1680311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
1681311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1682732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *.lo)
1683732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Just add the directory containing the .lo file.
1684732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_dirname "$file" "" "."
1685732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dir="$func_dirname_result"
1686311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
1687311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1688732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
1689732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
1690311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	continue
1691311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
1692732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
1693311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1694732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Get the absolute pathname.
1695732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      absdir=`cd "$dir" && pwd`
1696732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -n "$absdir" && dir="$absdir"
1697311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1698732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Now add the directory to shlibpath_var.
1699732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if eval "test -z \"\$$shlibpath_var\""; then
1700732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval "$shlibpath_var=\"\$dir\""
1701732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
1702732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
1703732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
1704732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    done
1705311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1706732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # This variable tells wrapper scripts just to set shlibpath_var
1707732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # rather than running their programs.
1708732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    libtool_execute_magic="$magic"
1709311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1710732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Check if any of the arguments is a wrapper script.
1711732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    args=
1712732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for file
1713732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    do
1714732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $file in
1715732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -*) ;;
1716732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
1717732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Do a test to see if this is really a libtool program.
1718732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if func_ltwrapper_script_p "$file"; then
1719732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_source "$file"
1720732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Transform arg to wrapped name.
1721732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  file="$progdir/$program"
1722732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	elif func_ltwrapper_executable_p "$file"; then
1723732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_ltwrapper_scriptname "$file"
1724732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_source "$func_ltwrapper_scriptname_result"
1725732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Transform arg to wrapped name.
1726732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  file="$progdir/$program"
1727732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
1728732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
1729732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
1730732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Quote arguments (to preserve shell metacharacters).
1731732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_quote_for_eval "$file"
1732732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      args="$args $func_quote_for_eval_result"
1733732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    done
1734311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1735732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test "X$opt_dry_run" = Xfalse; then
1736732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$shlibpath_var"; then
1737732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Export the shlibpath_var.
1738732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval "export $shlibpath_var"
1739732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
1740311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1741732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Restore saved environment variables
1742732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
1743732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      do
1744732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval "if test \"\${save_$lt_var+set}\" = set; then
1745732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                $lt_var=\$save_$lt_var; export $lt_var
1746311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	      else
1747732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$lt_unset $lt_var
1748732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi"
1749732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
1750311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1751732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Now prepare to actually exec the command.
1752732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      exec_cmd="\$cmd$args"
1753732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    else
1754732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Display what would be done.
1755732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$shlibpath_var"; then
1756732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
1757732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$ECHO "export $shlibpath_var"
1758732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
1759732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "$cmd$args"
1760732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      exit $EXIT_SUCCESS
1761732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
1762732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
1763311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1764732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comtest "$mode" = execute && func_mode_execute ${1+"$@"}
1765311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1766311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1767732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_mode_finish arg...
1768732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_mode_finish ()
1769732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
1770732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_debug
1771732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    libdirs="$nonopt"
1772732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    admincmds=
1773311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1774732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
1775732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for dir
1776732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      do
1777732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	libdirs="$libdirs $dir"
1778732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
1779311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1780732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for libdir in $libdirs; do
1781732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$finish_cmds"; then
1782732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Do each command in the finish commands.
1783732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
1784732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com'"$cmd"'"'
1785311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
1786732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$finish_eval"; then
1787732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Do the single finish_eval.
1788732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval cmds=\"$finish_eval\"
1789732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
1790732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com       $cmds"
1791732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
1792732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
1793732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
1794311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1795732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Exit here if they wanted silent mode.
1796732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_silent && exit $EXIT_SUCCESS
1797311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1798732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "X----------------------------------------------------------------------" | $Xsed
1799732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "Libraries have been installed in:"
1800732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for libdir in $libdirs; do
1801732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "   $libdir"
1802732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    done
1803732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO
1804732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "If you ever happen to want to link against installed libraries"
1805732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
1806732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
1807732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "flag during linking and do at least one of the following:"
1808732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -n "$shlibpath_var"; then
1809732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
1810732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "     during execution"
1811732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
1812732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -n "$runpath_var"; then
1813732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
1814732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "     during linking"
1815732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
1816732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -n "$hardcode_libdir_flag_spec"; then
1817732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      libdir=LIBDIR
1818732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      eval flag=\"$hardcode_libdir_flag_spec\"
1819732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1820732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "   - use the \`$flag' linker flag"
1821732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
1822732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -n "$admincmds"; then
1823732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "   - have your system administrator run these commands:$admincmds"
1824732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
1825732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -f /etc/ld.so.conf; then
1826732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
1827732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
1828732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO
1829732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1830732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "See any operating system documentation about shared libraries for"
1831732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $host in
1832732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      solaris2.[6789]|solaris2.1[0-9])
1833732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
1834732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$ECHO "pages."
1835732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
1836732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
1837732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
1838732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
1839732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
1840732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO "X----------------------------------------------------------------------" | $Xsed
1841732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    exit $EXIT_SUCCESS
1842732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
1843732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1844732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comtest "$mode" = finish && func_mode_finish ${1+"$@"}
1845732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1846732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1847732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_mode_install arg...
1848732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_mode_install ()
1849732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
1850732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_debug
1851732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # There may be an optional sh(1) argument at the beginning of
1852732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # install_prog (especially on Windows NT).
1853732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
1854732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com       # Allow the use of GNU shtool's install command.
1855732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
1856732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Aesthetically quote it.
1857732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_quote_for_eval "$nonopt"
1858732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      install_prog="$func_quote_for_eval_result "
1859732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      arg=$1
1860732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      shift
1861732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    else
1862732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      install_prog=
1863732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      arg=$nonopt
1864732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
1865732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1866732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # The real first argument should be the name of the installation program.
1867732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Aesthetically quote it.
1868732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_quote_for_eval "$arg"
1869732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    install_prog="$install_prog$func_quote_for_eval_result"
1870732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1871732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # We need to accept at least all the BSD install flags.
1872732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    dest=
1873732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    files=
1874732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    opts=
1875732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    prev=
1876732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    install_type=
1877732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    isdir=no
1878732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    stripme=
1879732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for arg
1880732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    do
1881732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$dest"; then
1882732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	files="$files $dest"
1883732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dest=$arg
1884732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
1885732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
1886732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1887732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $arg in
1888732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -d) isdir=yes ;;
1889732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -f)
1890732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case " $install_prog " in
1891732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*[\\\ /]cp\ *) ;;
1892732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*) prev=$arg ;;
1893732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
1894732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
1895732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -g | -m | -o)
1896732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=$arg
1897732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
1898732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -s)
1899732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	stripme=" -s"
1900732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
1901732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
1902732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -*)
1903732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
1904732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
1905732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# If the previous option needed an argument, then skip it.
1906732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$prev"; then
1907311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  prev=
1908311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	else
1909732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  dest=$arg
1910732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
1911311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
1912311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
1913732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
1914311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1915732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Aesthetically quote the argument.
1916732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_quote_for_eval "$arg"
1917732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      install_prog="$install_prog $func_quote_for_eval_result"
1918732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    done
1919311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1920732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test -z "$install_prog" && \
1921732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_fatal_help "you must specify an install program"
1922311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1923732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test -n "$prev" && \
1924732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_fatal_help "the \`$prev' option requires an argument"
1925311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1926732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -z "$files"; then
1927732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -z "$dest"; then
1928732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_fatal_help "no file or destination specified"
1929732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
1930732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_fatal_help "you must specify a destination"
1931732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
1932311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
1933311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1934732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Strip any trailing slash from the destination.
1935732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_stripname '' '/' "$dest"
1936732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    dest=$func_stripname_result
1937311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1938732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Check to see that the destination is a directory.
1939732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test -d "$dest" && isdir=yes
1940732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test "$isdir" = yes; then
1941732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      destdir="$dest"
1942732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      destname=
1943311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    else
1944732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_dirname_and_basename "$dest" "" "."
1945732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      destdir="$func_dirname_result"
1946732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      destname="$func_basename_result"
1947311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1948732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Not a directory, so check to see that there is only one file specified.
1949732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      set dummy $files; shift
1950732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test "$#" -gt 1 && \
1951732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_fatal_help "\`$dest' is not a directory"
1952311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    fi
1953732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $destdir in
1954732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    [\\/]* | [A-Za-z]:[\\/]*) ;;
1955311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    *)
1956732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for file in $files; do
1957732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $file in
1958732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*.lo) ;;
1959732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
1960732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_help "\`$destdir' must be an absolute directory name"
1961732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
1962732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
1963732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
1964311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      ;;
1965311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    esac
1966311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1967732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # This variable tells wrapper scripts just to set variables rather
1968732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # than running their programs.
1969732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    libtool_install_magic="$magic"
1970311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1971732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    staticlibs=
1972732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    future_libdirs=
1973732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    current_libdirs=
1974732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for file in $files; do
1975311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
1976732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Do each installation.
1977732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $file in
1978732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *.$libext)
1979732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Do the static libraries later.
1980732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	staticlibs="$staticlibs $file"
1981732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
1982732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1983732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *.la)
1984732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Check to see that this really is a libtool archive.
1985732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_lalib_unsafe_p "$file" \
1986732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  || func_fatal_help "\`$file' is not a valid libtool archive"
1987732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1988732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	library_names=
1989732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	old_library=
1990732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	relink_command=
1991732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_source "$file"
1992732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
1993732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Add the libdir to current_libdirs if it is the destination.
1994732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "X$destdir" = "X$libdir"; then
1995732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case "$current_libdirs " in
1996732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *" $libdir "*) ;;
1997732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) current_libdirs="$current_libdirs $libdir" ;;
1998311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  esac
1999732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
2000732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Note the libdir as a future libdir.
2001732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case "$future_libdirs " in
2002732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *" $libdir "*) ;;
2003732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) future_libdirs="$future_libdirs $libdir" ;;
2004732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
2005732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
2006311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2007732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_dirname "$file" "/" ""
2008732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dir="$func_dirname_result"
2009732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dir="$dir$objdir"
2010732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2011732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$relink_command"; then
2012732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Determine the prefix the user has applied to our future dir.
2013732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
2014732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2015732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Don't allow the user to place us outside of our expected
2016732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # location b/c this prevents finding dependent libraries that
2017732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # are installed to the same prefix.
2018732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # At present, this check doesn't affect windows .dll's that
2019732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # are installed into $libdir/../bin (currently, that works fine)
2020732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # but it's something to keep an eye on.
2021732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test "$inst_prefix_dir" = "$destdir" && \
2022732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
2023732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2024732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$inst_prefix_dir"; then
2025732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Stick the inst_prefix_dir data into the link command.
2026732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
2027732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
2028732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
2029732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
2030732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2031732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_warning "relinking \`$file'"
2032732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_show_eval "$relink_command" \
2033732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
2034732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
2035732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2036732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# See the names of the shared library.
2037732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	set dummy $library_names; shift
2038732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$1"; then
2039732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  realname="$1"
2040732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  shift
2041732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2042732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  srcname="$realname"
2043732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test -n "$relink_command" && srcname="$realname"T
2044732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2045732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Install the shared library and build the symlinks.
2046732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
2047732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      'exit $?'
2048732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  tstripme="$stripme"
2049732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $host_os in
2050732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  cygwin* | mingw* | pw32* | cegcc*)
2051732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case $realname in
2052732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *.dll.a)
2053732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      tstripme=""
2054732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
2055732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
2056311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    ;;
2057311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  esac
2058732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$tstripme" && test -n "$striplib"; then
2059732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
2060d18457863096b3685e56f5a8919959f6afbdb121openvcdiff	  fi
2061732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2062732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$#" -gt 0; then
2063732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Delete the old symlinks, and create new ones.
2064732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Try `ln -sf' first, because the `ln' binary might depend on
2065732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
2066732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # so we also need to try rm && ln -s.
2067732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for linkname
2068732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    do
2069732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test "$linkname" != "$realname" \
2070732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
2071311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    done
2072311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
2073311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2074732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Do each command in the postinstall commands.
2075732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  lib="$destdir/$realname"
2076732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_execute_cmds "$postinstall_cmds" 'exit $?'
2077311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
2078311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2079732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Install the pseudo-library for information purposes.
2080732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_basename "$file"
2081732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	name="$func_basename_result"
2082732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	instname="$dir/$name"i
2083732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
2084311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2085732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Maybe install the static library, too.
2086732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
2087732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
2088311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2089732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *.lo)
2090732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Install (i.e. copy) a libtool object.
2091311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2092732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Figure out destination file name, if it wasn't already specified.
2093732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$destname"; then
2094732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  destfile="$destdir/$destname"
2095732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
2096732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_basename "$file"
2097732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  destfile="$func_basename_result"
2098732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  destfile="$destdir/$destfile"
2099732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
2100732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2101732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Deduce the name of the destination old-style object file.
2102732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $destfile in
2103732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*.lo)
2104732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_lo2o "$destfile"
2105732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  staticdest=$func_lo2o_result
2106732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
2107732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*.$objext)
2108732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  staticdest="$destfile"
2109732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  destfile=
2110732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
2111732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
2112732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
2113732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
2114311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	esac
2115311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2116732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Install the libtool object if requested.
2117732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test -n "$destfile" && \
2118732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_show_eval "$install_prog $file $destfile" 'exit $?'
2119732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2120732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Install the old object if enabled.
2121732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$build_old_libs" = yes; then
2122732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Deduce the name of the old-style object file.
2123732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_lo2o "$file"
2124732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  staticobj=$func_lo2o_result
2125732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
2126311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
2127732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	exit $EXIT_SUCCESS
2128732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
2129311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2130732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
2131732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Figure out destination file name, if it wasn't already specified.
2132732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$destname"; then
2133732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  destfile="$destdir/$destname"
2134732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
2135732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_basename "$file"
2136732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  destfile="$func_basename_result"
2137732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  destfile="$destdir/$destfile"
2138732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
2139311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2140732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# If the file is missing, and there is a .exe on the end, strip it
2141732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# because it is most likely a libtool script we actually want to
2142732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# install
2143732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	stripped_ext=""
2144732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $file in
2145732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *.exe)
2146732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test ! -f "$file"; then
2147732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_stripname '' '.exe' "$file"
2148732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      file=$func_stripname_result
2149732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      stripped_ext=".exe"
2150732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
2151732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
2152732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
2153311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2154732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Do a test to see if this is really a libtool program.
2155732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $host in
2156732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*cygwin* | *mingw*)
2157732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if func_ltwrapper_executable_p "$file"; then
2158732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_ltwrapper_scriptname "$file"
2159732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      wrapper=$func_ltwrapper_scriptname_result
2160732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
2161732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_stripname '' '.exe' "$file"
2162732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      wrapper=$func_stripname_result
2163732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
2164732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
2165732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
2166732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    wrapper=$file
2167732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
2168732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
2169732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if func_ltwrapper_script_p "$wrapper"; then
2170732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  notinst_deplibs=
2171732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  relink_command=
2172311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2173732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_source "$wrapper"
2174732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2175732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Check the variables that should have been set.
2176732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test -z "$generated_by_libtool_version" && \
2177732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
2178732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2179732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  finalize=yes
2180732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for lib in $notinst_deplibs; do
2181732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Check to see that each library is installed.
2182732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    libdir=
2183732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -f "$lib"; then
2184732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_source "$lib"
2185732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
2186732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
2187732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$libdir" && test ! -f "$libfile"; then
2188732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_warning "\`$lib' has not been installed in \`$libdir'"
2189732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      finalize=no
2190732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
2191732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
2192732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2193732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  relink_command=
2194732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_source "$wrapper"
2195732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2196732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  outputname=
2197732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$fast_install" = no && test -n "$relink_command"; then
2198732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $opt_dry_run || {
2199732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "$finalize" = yes; then
2200732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        tmpdir=`func_mktempdir`
2201732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_basename "$file$stripped_ext"
2202732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		file="$func_basename_result"
2203732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        outputname="$tmpdir/$file"
2204732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        # Replace the output file specification.
2205732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
2206732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2207732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        $opt_silent || {
2208732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	          func_quote_for_expand "$relink_command"
2209732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  eval "func_echo $func_quote_for_expand_result"
2210732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        }
2211732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        if eval "$relink_command"; then :
2212732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	          else
2213732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_error "error: relink \`$file' with the above command before installing it"
2214732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  $opt_dry_run || ${RM}r "$tmpdir"
2215732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  continue
2216732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        fi
2217732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        file="$outputname"
2218732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
2219732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        func_warning "cannot relink \`$file'"
2220732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
2221732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    }
2222311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  else
2223732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Install the binary that we compiled earlier.
2224732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
2225311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
2226732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
2227311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2228732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# remove .exe since cygwin /usr/bin/install will append another
2229732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# one anyway
2230732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $install_prog,$host in
2231732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*/usr/bin/install*,*cygwin*)
2232732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $file:$destfile in
2233732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *.exe:*.exe)
2234732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # this is ok
2235732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
2236732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *.exe:*)
2237732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    destfile=$destfile.exe
2238732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
2239732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *:*.exe)
2240732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_stripname '' '.exe' "$destfile"
2241732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    destfile=$func_stripname_result
2242732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
2243732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
2244311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  ;;
2245311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	esac
2246732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
2247732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$opt_dry_run || if test -n "$outputname"; then
2248732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ${RM}r "$tmpdir"
2249732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
2250732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
2251732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
2252732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    done
2253311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2254732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for file in $staticlibs; do
2255732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_basename "$file"
2256732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      name="$func_basename_result"
2257732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2258732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Set up the ranlib parameters.
2259732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      oldlib="$destdir/$name"
2260732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2261732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
2262732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2263732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$stripme" && test -n "$old_striplib"; then
2264732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_show_eval "$old_striplib $oldlib" 'exit $?'
2265732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
2266732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2267732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Do each command in the postinstall commands.
2268732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
2269732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    done
2270732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2271732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test -n "$future_libdirs" && \
2272732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_warning "remember to run \`$progname --finish$future_libdirs'"
2273732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2274732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -n "$current_libdirs"; then
2275732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Maybe just do a dry run.
2276732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $opt_dry_run && current_libdirs=" -n$current_libdirs"
2277732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
2278732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    else
2279732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      exit $EXIT_SUCCESS
2280732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
2281732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
2282732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2283732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comtest "$mode" = install && func_mode_install ${1+"$@"}
2284732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2285732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2286732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_generate_dlsyms outputname originator pic_p
2287732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Extract symbols from dlprefiles and create ${outputname}S.o with
2288732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# a dlpreopen symbol table.
2289732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_generate_dlsyms ()
2290732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
2291732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_debug
2292732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_outputname="$1"
2293732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_originator="$2"
2294732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_pic_p="${3-no}"
2295732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
2296732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_dlsyms=
2297732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2298732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
2299732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$NM" && test -n "$global_symbol_pipe"; then
2300732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	my_dlsyms="${my_outputname}S.c"
2301732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
2302732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_error "not configured to extract global symbols from dlpreopened files"
2303732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
2304732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
2305732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2306732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -n "$my_dlsyms"; then
2307732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $my_dlsyms in
2308732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      "") ;;
2309732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *.c)
2310732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Discover the nlist of each of the dlfiles.
2311732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	nlist="$output_objdir/${my_outputname}.nm"
2312732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2313732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
2314732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2315732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Parse the name list into a source file.
2316732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_verbose "creating $output_objdir/$my_dlsyms"
2317732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2318732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
2319732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
2320732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
2321732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2322732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifdef __cplusplus
2323732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comextern \"C\" {
2324732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
2325732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2326732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com/* External symbol declarations for the compiler. */\
2327732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2328732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2329732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$dlself" = yes; then
2330732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_verbose "generating symbol list for \`$output'"
2331732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2332732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
2333732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2334732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Add our own program objects to the symbol list.
2335732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
2336732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for progfile in $progfiles; do
2337732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_verbose "extracting global C symbols from \`$progfile'"
2338732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
2339732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
2340732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2341732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$exclude_expsyms"; then
2342732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $opt_dry_run || {
2343732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
2344732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval '$MV "$nlist"T "$nlist"'
2345732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    }
2346311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
2347732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2348732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$export_symbols_regex"; then
2349732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $opt_dry_run || {
2350732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
2351732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval '$MV "$nlist"T "$nlist"'
2352732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    }
2353732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
2354732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2355732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Prepare the list of exported symbols
2356732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -z "$export_symbols"; then
2357732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    export_symbols="$output_objdir/$outputname.exp"
2358732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $opt_dry_run || {
2359732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $RM $export_symbols
2360732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
2361732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $host in
2362732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *cygwin* | *mingw* | *cegcc* )
2363732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
2364732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
2365732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        ;;
2366732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
2367732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    }
2368311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  else
2369732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $opt_dry_run || {
2370732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
2371732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
2372732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval '$MV "$nlist"T "$nlist"'
2373732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $host in
2374732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        *cygwin | *mingw* | *cegcc* )
2375732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
2376732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
2377732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	          ;;
2378732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
2379732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    }
2380311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
2381732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
2382311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2383732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for dlprefile in $dlprefiles; do
2384732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_verbose "extracting global C symbols from \`$dlprefile'"
2385732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_basename "$dlprefile"
2386732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  name="$func_basename_result"
2387732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_dry_run || {
2388732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval '$ECHO ": $name " >> "$nlist"'
2389732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
2390732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  }
2391732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
2392732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2393732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$opt_dry_run || {
2394732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Make sure we have at least an empty file.
2395732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test -f "$nlist" || : > "$nlist"
2396732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2397732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$exclude_expsyms"; then
2398732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
2399732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $MV "$nlist"T "$nlist"
2400311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
2401732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2402732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Try sorting and uniquifying the output.
2403732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if $GREP -v "^: " < "$nlist" |
2404732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if sort -k 3 </dev/null >/dev/null 2>&1; then
2405732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		sort -k 3
2406732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
2407732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		sort +2
2408732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi |
2409732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      uniq > "$nlist"S; then
2410732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    :
2411311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  else
2412732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $GREP -v "^: " < "$nlist" > "$nlist"S
2413311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
2414311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2415732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -f "$nlist"S; then
2416732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
2417311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  else
2418732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
2419311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
2420311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2421732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO >> "$output_objdir/$my_dlsyms" "\
2422311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2423732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com/* The mapping between symbol names and symbols.  */
2424732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comtypedef struct {
2425732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  const char *name;
2426732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  void *address;
2427732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com} lt_dlsymlist;
2428732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2429732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $host in
2430732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *cygwin* | *mingw* | *cegcc* )
2431732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO >> "$output_objdir/$my_dlsyms" "\
2432732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com/* DATA imports from DLLs on WIN32 con't be const, because
2433732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com   runtime relocations are performed -- see ld's documentation
2434732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com   on pseudo-relocs.  */"
2435732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    lt_dlsym_const= ;;
2436732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *osf5*)
2437732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    echo >> "$output_objdir/$my_dlsyms" "\
2438732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com/* This system does not cope well with relocations in const data */"
2439732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    lt_dlsym_const= ;;
2440732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *)
2441732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    lt_dlsym_const=const ;;
2442732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
2443311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2444732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO >> "$output_objdir/$my_dlsyms" "\
2445732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comextern $lt_dlsym_const lt_dlsymlist
2446732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_${my_prefix}_LTX_preloaded_symbols[];
2447732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com$lt_dlsym_const lt_dlsymlist
2448732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_${my_prefix}_LTX_preloaded_symbols[] =
2449732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{\
2450732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  { \"$my_originator\", (void *) 0 },"
2451311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2452732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $need_lib_prefix in
2453732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  no)
2454732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
2455732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
2456732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *)
2457732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
2458732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
2459732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
2460732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO >> "$output_objdir/$my_dlsyms" "\
2461732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  {0, (void *) 0}
2462732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com};
2463311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2464732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com/* This works around a problem in FreeBSD linker */
2465732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifdef FREEBSD_WORKAROUND
2466732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic const void *lt_preloaded_setup() {
2467732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return lt_${my_prefix}_LTX_preloaded_symbols;
2468732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
2469732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
2470732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2471732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifdef __cplusplus
2472732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
2473732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif\
2474732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2475732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	} # !$opt_dry_run
2476732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2477732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	pic_flag_for_symtable=
2478732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case "$compile_command " in
2479732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*" -static "*) ;;
2480732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
2481732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $host in
2482732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # compiling the symbol table file with pic_flag works around
2483732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # a FreeBSD bug that causes programs to crash when -lm is
2484732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # linked before any other PIC object.  But we must not use
2485732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # pic_flag when linking with -static.  The problem exists in
2486732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
2487732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
2488732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
2489732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-hpux*)
2490732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    pic_flag_for_symtable=" $pic_flag"  ;;
2491732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *)
2492732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "X$my_pic_p" != Xno; then
2493732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      pic_flag_for_symtable=" $pic_flag"
2494311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    fi
2495732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
2496732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
2497732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
2498732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
2499732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	symtab_cflags=
2500732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for arg in $LTCFLAGS; do
2501732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $arg in
2502732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  -pie | -fpie | -fPIE) ;;
2503732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) symtab_cflags="$symtab_cflags $arg" ;;
2504732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
2505732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
2506311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2507732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Now compile the dynamic symbol file.
2508732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
2509311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2510732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Clean up the generated files.
2511732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
2512311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2513732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Transform the symbol file into the correct name.
2514732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	symfileobj="$output_objdir/${my_outputname}S.$objext"
2515732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $host in
2516732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*cygwin* | *mingw* | *cegcc* )
2517732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -f "$output_objdir/$my_outputname.def"; then
2518732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
2519732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
2520732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
2521732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
2522732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
2523311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
2524732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
2525732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
2526732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
2527732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
2528732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
2529732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
2530732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
2531732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
2532732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_fatal_error "unknown suffix for \`$my_dlsyms'"
2533732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
2534732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
2535732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    else
2536732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # We keep going just in case the user didn't refer to
2537732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
2538732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # really was required.
2539311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2540732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Nullify the symbol file.
2541732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
2542732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
2543732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
2544732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
2545311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2546732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_win32_libid arg
2547732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# return the library type of file 'arg'
2548732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
2549732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Need a lot of goo to handle *both* DLLs and import libs
2550732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Has to be a shell function in order to 'eat' the argument
2551732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# that is supplied when $file_magic_command is called.
2552732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_win32_libid ()
2553732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
2554732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  $opt_debug
2555732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  win32_libid_type="unknown"
2556732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  win32_fileres=`file -L $1 2>/dev/null`
2557732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  case $win32_fileres in
2558732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  *ar\ archive\ import\ library*) # definitely import
2559732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    win32_libid_type="x86 archive import"
2560732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    ;;
2561732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  *ar\ archive*) # could be an import, or static
2562732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
2563732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
2564732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      win32_nmres=`eval $NM -f posix -A $1 |
2565732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$SED -n -e '
2566732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    1,100{
2567732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		/ I /{
2568732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    s,.*,import,
2569732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    p
2570732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    q
2571732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		}
2572732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    }'`
2573732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $win32_nmres in
2574732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      import*)  win32_libid_type="x86 archive import";;
2575732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)        win32_libid_type="x86 archive static";;
2576732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
2577732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
2578732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    ;;
2579732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  *DLL*)
2580732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    win32_libid_type="x86 DLL"
2581732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    ;;
2582732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  *executable*) # but shell scripts are "executable" too...
2583732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $win32_fileres in
2584732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *MS\ Windows\ PE\ Intel*)
2585732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      win32_libid_type="x86 DLL"
2586732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      ;;
2587732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
2588732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    ;;
2589732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  esac
2590732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  $ECHO "$win32_libid_type"
2591732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
2592311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2593311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2594311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2595732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_extract_an_archive dir oldlib
2596732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_extract_an_archive ()
2597732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
2598732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_debug
2599732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    f_ex_an_ar_dir="$1"; shift
2600732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    f_ex_an_ar_oldlib="$1"
2601732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
2602732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
2603732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     :
2604732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    else
2605732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
2606732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
2607732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
2608311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2609311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2610732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_extract_archives gentop oldlib ...
2611732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_extract_archives ()
2612732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
2613732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_debug
2614732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_gentop="$1"; shift
2615732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_oldlibs=${1+"$@"}
2616732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_oldobjs=""
2617732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_xlib=""
2618732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_xabs=""
2619732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    my_xdir=""
2620311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2621732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for my_xlib in $my_oldlibs; do
2622732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Extract the objects.
2623732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $my_xlib in
2624732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
2625732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*) my_xabs=`pwd`"/$my_xlib" ;;
2626732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
2627732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_basename "$my_xlib"
2628732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      my_xlib="$func_basename_result"
2629732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      my_xlib_u=$my_xlib
2630732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      while :; do
2631732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        case " $extracted_archives " in
2632732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*" $my_xlib_u "*)
2633732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_arith $extracted_serial + 1
2634732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  extracted_serial=$func_arith_result
2635732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
2636732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*) break ;;
2637732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
2638732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
2639732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      extracted_archives="$extracted_archives $my_xlib_u"
2640732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      my_xdir="$my_gentop/$my_xlib_u"
2641311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2642732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_mkdir_p "$my_xdir"
2643311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2644732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $host in
2645732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *-darwin*)
2646732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_verbose "Extracting $my_xabs"
2647732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Do not bother doing anything if just a dry run
2648732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$opt_dry_run || {
2649732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  darwin_orig_dir=`pwd`
2650732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  cd $my_xdir || exit $?
2651732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  darwin_archive=$my_xabs
2652732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  darwin_curdir=`pwd`
2653732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  darwin_base_archive=`basename "$darwin_archive"`
2654732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
2655732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$darwin_arches"; then
2656732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
2657732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    darwin_arch=
2658732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
2659732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for darwin_arch in  $darwin_arches ; do
2660732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
2661732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
2662732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
2663732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
2664732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      cd "$darwin_curdir"
2665732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
2666732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done # $darwin_arches
2667732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
2668732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
2669732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    darwin_file=
2670732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    darwin_files=
2671732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for darwin_file in $darwin_filelist; do
2672732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
2673732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $LIPO -create -output "$darwin_file" $darwin_files
2674732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done # $darwin_filelist
2675732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $RM -rf unfat-$$
2676732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cd "$darwin_orig_dir"
2677311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  else
2678732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cd $darwin_orig_dir
2679732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_extract_an_archive "$my_xdir" "$my_xabs"
2680732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi # $darwin_arches
2681732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	} # !$opt_dry_run
2682732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
2683732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
2684732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_extract_an_archive "$my_xdir" "$my_xabs"
2685732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
2686732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
2687732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
2688732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    done
2689311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2690732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_extract_archives_result="$my_oldobjs"
2691732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
2692311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2693311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2694311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2695732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_emit_wrapper_part1 [arg=no]
2696732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
2697732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Emit the first part of a libtool wrapper script on stdout.
2698732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# For more information, see the description associated with
2699732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_emit_wrapper(), below.
2700732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_emit_wrapper_part1 ()
2701732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
2702732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_emit_wrapper_part1_arg1=no
2703732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$1" ; then
2704732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_emit_wrapper_part1_arg1=$1
2705311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
2706311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2707732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$ECHO "\
2708732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#! $SHELL
2709311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2710732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# $output - temporary wrapper script for $objdir/$outputname
2711732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
2712732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
2713732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# The $output program cannot be directly executed until all the libtool
2714732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# libraries that it depends on are installed.
2715732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
2716732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# This wrapper script should never be moved out of the build directory.
2717732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# If it is, it will not operate correctly.
2718311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2719732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Sed substitution that helps us do robust quoting.  It backslashifies
2720732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# metacharacters that are still active within double-quoted strings.
2721732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comXsed='${SED} -e 1s/^X//'
2722732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comsed_quote_subst='$sed_quote_subst'
2723311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2724732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Be Bourne compatible
2725732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comif test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
2726732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  emulate sh
2727732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  NULLCMD=:
2728732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
2729732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # is contrary to our usage.  Disable this feature.
2730732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  alias -g '\${1+\"\$@\"}'='\"\$@\"'
2731732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  setopt NO_GLOB_SUBST
2732732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comelse
2733732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
2734732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfi
2735732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comBIN_SH=xpg4; export BIN_SH # for Tru64
2736732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comDUALCASE=1; export DUALCASE # for MKS sh
2737311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2738732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# The HP-UX ksh and POSIX shell print the target directory to stdout
2739732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# if CDPATH is set.
2740732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
2741311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2742732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comrelink_command=\"$relink_command\"
2743311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2744732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# This environment variable determines our operation mode.
2745732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comif test \"\$libtool_install_magic\" = \"$magic\"; then
2746732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # install mode needs the following variables:
2747732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  generated_by_libtool_version='$macro_version'
2748732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  notinst_deplibs='$notinst_deplibs'
2749732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comelse
2750732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # When we are sourced in execute mode, \$file and \$ECHO are already set.
2751732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if test \"\$libtool_execute_magic\" != \"$magic\"; then
2752732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    ECHO=\"$qecho\"
2753732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    file=\"\$0\"
2754732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Make sure echo works.
2755732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test \"X\$1\" = X--no-reexec; then
2756732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Discard the --no-reexec flag, and continue.
2757732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      shift
2758732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
2759732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Yippee, \$ECHO works!
2760732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      :
2761732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    else
2762732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Restart under the correct shell, and then maybe \$ECHO will work.
2763732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
2764732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
2765732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  fi\
2766732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2767732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$ECHO "\
2768311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2769732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Find the directory that this script lives in.
2770732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
2771732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
2772311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2773732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Follow symbolic links until we get to the real thisdir.
2774732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
2775732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  while test -n \"\$file\"; do
2776732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
2777311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2778732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # If there was a directory component, then change thisdir.
2779732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test \"x\$destdir\" != \"x\$file\"; then
2780732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case \"\$destdir\" in
2781732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
2782732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *) thisdir=\"\$thisdir/\$destdir\" ;;
2783311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      esac
2784732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
2785311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2786732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
2787732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
2788732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  done
2789732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2790732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
2791732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# end: func_emit_wrapper_part1
2792732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2793732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_emit_wrapper_part2 [arg=no]
2794732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
2795732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Emit the second part of a libtool wrapper script on stdout.
2796732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# For more information, see the description associated with
2797732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_emit_wrapper(), below.
2798732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_emit_wrapper_part2 ()
2799732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
2800732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_emit_wrapper_part2_arg1=no
2801732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$1" ; then
2802732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_emit_wrapper_part2_arg1=$1
2803311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
2804311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2805732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$ECHO "\
2806311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2807732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Usually 'no', except on cygwin/mingw when embedded into
2808732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # the cwrapper.
2809732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
2810732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
2811732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # special case for '.'
2812732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test \"\$thisdir\" = \".\"; then
2813732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      thisdir=\`pwd\`
2814732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
2815732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # remove .libs from thisdir
2816732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case \"\$thisdir\" in
2817732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
2818732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $objdir )   thisdir=. ;;
2819732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
2820732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  fi
2821732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2822732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  # Try to get the absolute directory name.
2823732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  absdir=\`cd \"\$thisdir\" && pwd\`
2824732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  test -n \"\$absdir\" && thisdir=\"\$absdir\"
2825732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2826732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2827732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$fast_install" = yes; then
2828732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO "\
2829732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  program=lt-'$outputname'$exeext
2830732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  progdir=\"\$thisdir/$objdir\"
2831732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2832732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if test ! -f \"\$progdir/\$program\" ||
2833732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
2834732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
2835732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2836732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    file=\"\$\$-\$program\"
2837732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2838732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test ! -d \"\$progdir\"; then
2839732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $MKDIR \"\$progdir\"
2840732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    else
2841732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $RM \"\$progdir/\$file\"
2842732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi"
2843732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2844732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO "\
2845732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2846732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # relink executable if necessary
2847732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -n \"\$relink_command\"; then
2848732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
2849732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
2850732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$ECHO \"\$relink_command_output\" >&2
2851732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$RM \"\$progdir/\$file\"
2852732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	exit 1
2853311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
2854732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
2855311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2856732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
2857732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    { $RM \"\$progdir/\$program\";
2858732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
2859732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $RM \"\$progdir/\$file\"
2860732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  fi"
2861732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
2862732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO "\
2863732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  program='$outputname'
2864732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  progdir=\"\$thisdir/$objdir\"
2865732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2866311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
2867311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2868732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$ECHO "\
2869311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2870732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if test -f \"\$progdir/\$program\"; then"
2871311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2872732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Export our shlibpath_var if we have one.
2873732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
2874732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO "\
2875732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Add our own library path to $shlibpath_var
2876732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
2877311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2878732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Some systems cannot cope with colon-terminated $shlibpath_var
2879732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # The second colon is a workaround for a bug in BeOS R4 sed
2880732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
2881732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
2882732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    export $shlibpath_var
2883732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2884311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
2885311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2886732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# fixup the dll searchpath if we need to.
2887732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$dllsearchpath"; then
2888732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO "\
2889732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Add the dll search path components to the executable PATH
2890732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    PATH=$dllsearchpath:\$PATH
2891732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2892732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
2893311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2894732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$ECHO "\
2895732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test \"\$libtool_execute_magic\" != \"$magic\"; then
2896732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Run the actual program with our arguments.
2897732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2898732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $host in
2899732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Backslashes separate directories on plain windows
2900732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*-*-mingw | *-*-os2* | *-cegcc*)
2901732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO "\
2902732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
2903732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2904311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  ;;
2905311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2906311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	*)
2907732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO "\
2908732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      exec \"\$progdir/\$program\" \${1+\"\$@\"}
2909732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2910311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  ;;
2911311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	esac
2912732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$ECHO "\
2913732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
2914732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      exit 1
2915732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
2916732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  else
2917732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # The program doesn't exist.
2918732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
2919732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
2920732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
2921732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    exit 1
2922732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  fi
2923732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfi\
2924732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com"
2925732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
2926732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# end: func_emit_wrapper_part2
2927311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2928311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2929732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_emit_wrapper [arg=no]
2930732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
2931732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Emit a libtool wrapper script on stdout.
2932732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Don't directly open a file because we may want to
2933732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# incorporate the script contents within a cygwin/mingw
2934732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# wrapper executable.  Must ONLY be called from within
2935732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_mode_link because it depends on a number of variables
2936732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# set therein.
2937732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
2938732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
2939732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# variable will take.  If 'yes', then the emitted script
2940732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# will assume that the directory in which it is stored is
2941732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# the $objdir directory.  This is a cygwin/mingw-specific
2942732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# behavior.
2943732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_emit_wrapper ()
2944732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
2945732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_emit_wrapper_arg1=no
2946732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$1" ; then
2947732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_emit_wrapper_arg1=$1
2948311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
2949311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2950732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# split this up so that func_emit_cwrapperexe_src
2951732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# can call each part independently.
2952732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
2953732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
2954732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
2955311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2956311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
2957732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_to_host_path arg
2958732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
2959732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Convert paths to host format when used with build tools.
2960732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Intended for use with "native" mingw (where libtool itself
2961732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# is running under the msys shell), or in the following cross-
2962732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# build environments:
2963732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#    $build          $host
2964732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#    mingw (msys)    mingw  [e.g. native]
2965732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#    cygwin          mingw
2966732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#    *nix + wine     mingw
2967732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# where wine is equipped with the `winepath' executable.
2968732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# In the native mingw case, the (msys) shell automatically
2969732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# converts paths for any non-msys applications it launches,
2970732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# but that facility isn't available from inside the cwrapper.
2971732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Similar accommodations are necessary for $host mingw and
2972732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# $build cygwin.  Calling this function does no harm for other
2973732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# $host/$build combinations not listed above.
2974732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
2975732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# ARG is the path (on $build) that should be converted to
2976732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# the proper representation for $host. The result is stored
2977732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# in $func_to_host_path_result.
2978732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_to_host_path ()
2979732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
2980732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  func_to_host_path_result="$1"
2981732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if test -n "$1" ; then
2982732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $host in
2983732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *mingw* )
2984732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
2985732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        case $build in
2986732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          *mingw* ) # actually, msys
2987732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            # awkward: cmd appends spaces to result
2988732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
2989732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            func_to_host_path_tmp1=`( cmd //c echo "$1" |\
2990732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
2991732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
2992732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              $SED -e "$lt_sed_naive_backslashify"`
2993732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            ;;
2994732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          *cygwin* )
2995732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            func_to_host_path_tmp1=`cygpath -w "$1"`
2996732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
2997732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              $SED -e "$lt_sed_naive_backslashify"`
2998732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            ;;
2999732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          * )
3000732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            # Unfortunately, winepath does not exit with a non-zero
3001732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            # error code, so we are forced to check the contents of
3002732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            # stdout. On the other hand, if the command is not
3003732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            # found, the shell will set an exit code of 127 and print
3004732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            # *an error message* to stdout. So we must check for both
3005732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            # error code of zero AND non-empty stdout, which explains
3006732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            # the odd construction:
3007732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
3008732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
3009732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
3010732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                $SED -e "$lt_sed_naive_backslashify"`
3011732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            else
3012732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              # Allow warning below.
3013732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              func_to_host_path_result=""
3014732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            fi
3015732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            ;;
3016732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        esac
3017732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        if test -z "$func_to_host_path_result" ; then
3018732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          func_error "Could not determine host path corresponding to"
3019732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          func_error "  '$1'"
3020732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          func_error "Continuing, but uninstalled executables may not work."
3021732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          # Fallback:
3022732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          func_to_host_path_result="$1"
3023732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        fi
3024732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
3025732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
3026732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  fi
3027732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3028732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# end: func_to_host_path
3029311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3030732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_to_host_pathlist arg
3031732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
3032732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Convert pathlists to host format when used with build tools.
3033732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# See func_to_host_path(), above. This function supports the
3034732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# following $build/$host combinations (but does no harm for
3035732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# combinations not listed here):
3036732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#    $build          $host
3037732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#    mingw (msys)    mingw  [e.g. native]
3038732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#    cygwin          mingw
3039732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#    *nix + wine     mingw
3040732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
3041732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Path separators are also converted from $build format to
3042732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# $host format. If ARG begins or ends with a path separator
3043732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# character, it is preserved (but converted to $host format)
3044732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# on output.
3045732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
3046732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# ARG is a pathlist (on $build) that should be converted to
3047732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# the proper representation on $host. The result is stored
3048732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# in $func_to_host_pathlist_result.
3049732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_to_host_pathlist ()
3050732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3051732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  func_to_host_pathlist_result="$1"
3052732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if test -n "$1" ; then
3053732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $host in
3054732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *mingw* )
3055732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
3056732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # Remove leading and trailing path separator characters from
3057732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # ARG. msys behavior is inconsistent here, cygpath turns them
3058732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # into '.;' and ';.', and winepath ignores them completely.
3059732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_to_host_pathlist_tmp2="$1"
3060732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # Once set for this call, this variable should not be
3061732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # reassigned. It is used in tha fallback case.
3062732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
3063732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          $SED -e 's|^:*||' -e 's|:*$||'`
3064732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        case $build in
3065732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          *mingw* ) # Actually, msys.
3066732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            # Awkward: cmd appends spaces to result.
3067732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
3068732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
3069732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
3070732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
3071732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              $SED -e "$lt_sed_naive_backslashify"`
3072732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            ;;
3073732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          *cygwin* )
3074732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
3075732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
3076732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              $SED -e "$lt_sed_naive_backslashify"`
3077732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            ;;
3078732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          * )
3079732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            # unfortunately, winepath doesn't convert pathlists
3080732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            func_to_host_pathlist_result=""
3081732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            func_to_host_pathlist_oldIFS=$IFS
3082732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            IFS=:
3083732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
3084732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              IFS=$func_to_host_pathlist_oldIFS
3085732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              if test -n "$func_to_host_pathlist_f" ; then
3086732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                func_to_host_path "$func_to_host_pathlist_f"
3087732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                if test -n "$func_to_host_path_result" ; then
3088732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                  if test -z "$func_to_host_pathlist_result" ; then
3089732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                    func_to_host_pathlist_result="$func_to_host_path_result"
3090732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                  else
3091732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                    func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
3092732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                  fi
3093732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                fi
3094732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              fi
3095732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              IFS=:
3096732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            done
3097732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            IFS=$func_to_host_pathlist_oldIFS
3098732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            ;;
3099732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        esac
3100732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        if test -z "$func_to_host_pathlist_result" ; then
3101732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          func_error "Could not determine the host path(s) corresponding to"
3102732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          func_error "  '$1'"
3103732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          func_error "Continuing, but uninstalled executables may not work."
3104732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          # Fallback. This may break if $1 contains DOS-style drive
3105732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          # specifications. The fix is not to complicate the expression
3106732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          # below, but for the user to provide a working wine installation
3107732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          # with winepath so that path translation in the cross-to-mingw
3108732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          # case works properly.
3109732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          lt_replace_pathsep_nix_to_dos="s|:|;|g"
3110732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
3111732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            $SED -e "$lt_replace_pathsep_nix_to_dos"`
3112732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        fi
3113732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # Now, add the leading and trailing path separators back
3114732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        case "$1" in
3115732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
3116732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            ;;
3117732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        esac
3118732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        case "$1" in
3119732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
3120732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            ;;
3121732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        esac
3122732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
3123732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
3124732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  fi
3125732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3126732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# end: func_to_host_pathlist
3127311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3128732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_emit_cwrapperexe_src
3129732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# emit the source code for a wrapper executable on stdout
3130732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Must ONLY be called from within func_mode_link because
3131732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# it depends on a number of variable set therein.
3132732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_emit_cwrapperexe_src ()
3133732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3134732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	cat <<EOF
3135311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3136732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
3137732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
3138311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3139732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com   The $output program cannot be directly executed until all the libtool
3140732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com   libraries that it depends on are installed.
3141311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3142732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com   This wrapper executable should never be moved out of the build directory.
3143732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com   If it is, it will not operate correctly.
3144311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3145732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com   Currently, it simply execs the wrapper *script* "$SHELL $output",
3146732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com   but could eventually absorb all of the scripts functionality and
3147732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com   exec $objdir/$outputname directly.
3148732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com*/
3149732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3150732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cat <<"EOF"
3151732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#include <stdio.h>
3152732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#include <stdlib.h>
3153732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifdef _MSC_VER
3154732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# include <direct.h>
3155732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# include <process.h>
3156732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# include <io.h>
3157732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define setmode _setmode
3158732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#else
3159732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# include <unistd.h>
3160732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# include <stdint.h>
3161732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# ifdef __CYGWIN__
3162732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#  include <io.h>
3163732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#  define HAVE_SETENV
3164732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#  ifdef __STRICT_ANSI__
3165732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comchar *realpath (const char *, char *);
3166732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comint putenv (char *);
3167732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comint setenv (const char *, const char *, int);
3168732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#  endif
3169732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# endif
3170732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3171732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#include <malloc.h>
3172732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#include <stdarg.h>
3173732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#include <assert.h>
3174732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#include <string.h>
3175732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#include <ctype.h>
3176732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#include <errno.h>
3177732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#include <fcntl.h>
3178732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#include <sys/stat.h>
3179311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3180732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#if defined(PATH_MAX)
3181732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define LT_PATHMAX PATH_MAX
3182732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#elif defined(MAXPATHLEN)
3183732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define LT_PATHMAX MAXPATHLEN
3184732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#else
3185732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define LT_PATHMAX 1024
3186732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3187311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3188732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifndef S_IXOTH
3189732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define S_IXOTH 0
3190732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3191732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifndef S_IXGRP
3192732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define S_IXGRP 0
3193732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3194311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3195732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifdef _MSC_VER
3196732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define S_IXUSR _S_IEXEC
3197732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define stat _stat
3198732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# ifndef _INTPTR_T_DEFINED
3199732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#  define intptr_t int
3200732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# endif
3201732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3202311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3203732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifndef DIR_SEPARATOR
3204732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define DIR_SEPARATOR '/'
3205732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define PATH_SEPARATOR ':'
3206732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3207311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3208732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
3209732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  defined (__OS2__)
3210732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define HAVE_DOS_BASED_FILE_SYSTEM
3211732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define FOPEN_WB "wb"
3212732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# ifndef DIR_SEPARATOR_2
3213732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#  define DIR_SEPARATOR_2 '\\'
3214732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# endif
3215732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# ifndef PATH_SEPARATOR_2
3216732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#  define PATH_SEPARATOR_2 ';'
3217732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# endif
3218732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3219311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3220732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifndef DIR_SEPARATOR_2
3221732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
3222732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#else /* DIR_SEPARATOR_2 */
3223732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define IS_DIR_SEPARATOR(ch) \
3224732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
3225732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif /* DIR_SEPARATOR_2 */
3226311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3227732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifndef PATH_SEPARATOR_2
3228732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
3229732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#else /* PATH_SEPARATOR_2 */
3230732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
3231732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif /* PATH_SEPARATOR_2 */
3232311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3233732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifdef __CYGWIN__
3234732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define FOPEN_WB "wb"
3235732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3236311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3237732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifndef FOPEN_WB
3238732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define FOPEN_WB "w"
3239732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3240732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifndef _O_BINARY
3241732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define _O_BINARY 0
3242732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3243311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3244732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
3245732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#define XFREE(stale) do { \
3246732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (stale) { free ((void *) stale); stale = 0; } \
3247732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com} while (0)
3248311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3249732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#undef LTWRAPPER_DEBUGPRINTF
3250732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#if defined DEBUGWRAPPER
3251732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
3252732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic void
3253732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comltwrapper_debugprintf (const char *fmt, ...)
3254732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3255732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    va_list args;
3256732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    va_start (args, fmt);
3257732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    (void) vfprintf (stderr, fmt, args);
3258732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    va_end (args);
3259732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3260732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#else
3261732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# define LTWRAPPER_DEBUGPRINTF(args)
3262732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3263311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3264732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char *program_name = NULL;
3265311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3266732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid *xmalloc (size_t num);
3267732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comchar *xstrdup (const char *string);
3268732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char *base_name (const char *name);
3269732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comchar *find_executable (const char *wrapper);
3270732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comchar *chase_symlinks (const char *pathspec);
3271732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comint make_executable (const char *path);
3272732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comint check_executable (const char *path);
3273732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comchar *strendzap (char *str, const char *pat);
3274732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid lt_fatal (const char *message, ...);
3275732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid lt_setenv (const char *name, const char *value);
3276732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comchar *lt_extend_str (const char *orig_value, const char *add, int to_end);
3277732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid lt_opt_process_env_set (const char *arg);
3278732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid lt_opt_process_env_prepend (const char *arg);
3279732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid lt_opt_process_env_append (const char *arg);
3280732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comint lt_split_name_value (const char *arg, char** name, char** value);
3281732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid lt_update_exe_path (const char *name, const char *value);
3282732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid lt_update_lib_path (const char *name, const char *value);
3283732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
3284732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic const char *script_text_part1 =
3285732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3286311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3287732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_emit_wrapper_part1 yes |
3288732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        $SED -e 's/\([\\"]\)/\\\1/g' \
3289732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	             -e 's/^/  "/' -e 's/$/\\n"/'
3290732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    echo ";"
3291732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cat <<EOF
3292311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3293732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic const char *script_text_part2 =
3294732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3295732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_emit_wrapper_part2 yes |
3296732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        $SED -e 's/\([\\"]\)/\\\1/g' \
3297732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	             -e 's/^/  "/' -e 's/$/\\n"/'
3298732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    echo ";"
3299732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
3300732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cat <<EOF
3301732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char * MAGIC_EXE = "$magic_exe";
3302732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char * LIB_PATH_VARNAME = "$shlibpath_var";
3303732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3304311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3305732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
3306732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              func_to_host_pathlist "$temp_rpath"
3307732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      cat <<EOF
3308732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
3309732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3310732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
3311732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      cat <<"EOF"
3312732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char * LIB_PATH_VALUE   = "";
3313732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3314311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    fi
3315311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3316732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$dllsearchpath"; then
3317732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              func_to_host_pathlist "$dllsearchpath:"
3318732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      cat <<EOF
3319732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char * EXE_PATH_VARNAME = "PATH";
3320732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
3321311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffEOF
3322311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    else
3323732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      cat <<"EOF"
3324732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char * EXE_PATH_VARNAME = "";
3325732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char * EXE_PATH_VALUE   = "";
3326732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3327311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    fi
3328732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
3329732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$fast_install" = yes; then
3330732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      cat <<EOF
3331732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
3332732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3333311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    else
3334732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      cat <<EOF
3335732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
3336732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3337311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    fi
3338311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3339311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3340732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cat <<"EOF"
3341311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3342732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#define LTWRAPPER_OPTION_PREFIX         "--lt-"
3343732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
3344311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3345732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
3346732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
3347311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3348732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
3349311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3350732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
3351732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";
3352732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* argument is putenv-style "foo=bar", value of foo is set to bar */
3353311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3354732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
3355732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";
3356732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
3357311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3358732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
3359732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";
3360732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
3361311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3362732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comint
3363732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.commain (int argc, char *argv[])
3364732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3365732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char **newargz;
3366732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  int  newargc;
3367732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *tmp_pathspec;
3368732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *actual_cwrapper_path;
3369732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *actual_cwrapper_name;
3370732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *target_name;
3371732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *lt_argv_zero;
3372732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  intptr_t rval = 127;
3373311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3374732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  int i;
3375311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3376732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  program_name = (char *) xstrdup (base_name (argv[0]));
3377732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
3378732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
3379311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3380732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* very simple arg parsing; don't want to rely on getopt */
3381732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  for (i = 1; i < argc; i++)
3382732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3383732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if (strcmp (argv[i], dumpscript_opt) == 0)
3384732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	{
3385732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3386732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case "$host" in
3387732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *mingw* | *cygwin* )
3388732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# make stdout use "unix" line endings
3389732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		echo "          setmode(1,_O_BINARY);"
3390732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
3391732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
3392311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3393732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cat <<"EOF"
3394732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  printf ("%s", script_text_part1);
3395732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  printf ("%s", script_text_part2);
3396732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  return 0;
3397732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	}
3398732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3399311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3400732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  newargz = XMALLOC (char *, argc + 1);
3401732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  tmp_pathspec = find_executable (argv[0]);
3402732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (tmp_pathspec == NULL)
3403732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    lt_fatal ("Couldn't find %s", argv[0]);
3404732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
3405732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  tmp_pathspec));
3406732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
3407732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
3408732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
3409732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  actual_cwrapper_path));
3410732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (tmp_pathspec);
3411732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
3412732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
3413732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  strendzap (actual_cwrapper_path, actual_cwrapper_name);
3414732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
3415732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* wrapper name transforms */
3416732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  strendzap (actual_cwrapper_name, ".exe");
3417732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
3418732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (actual_cwrapper_name);
3419732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  actual_cwrapper_name = tmp_pathspec;
3420732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  tmp_pathspec = 0;
3421732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
3422732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* target_name transforms -- use actual target program name; might have lt- prefix */
3423732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
3424732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  strendzap (target_name, ".exe");
3425732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
3426732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (target_name);
3427732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  target_name = tmp_pathspec;
3428732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  tmp_pathspec = 0;
3429732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
3430732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
3431732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  target_name));
3432732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3433311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3434732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cat <<EOF
3435732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  newargz[0] =
3436732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    XMALLOC (char, (strlen (actual_cwrapper_path) +
3437732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
3438732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  strcpy (newargz[0], actual_cwrapper_path);
3439732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  strcat (newargz[0], "$objdir");
3440732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  strcat (newargz[0], "/");
3441732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3442311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3443732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cat <<"EOF"
3444732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* stop here, and copy so we don't have to do this twice */
3445732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  tmp_pathspec = xstrdup (newargz[0]);
3446311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3447732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
3448732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  strcat (newargz[0], actual_cwrapper_name);
3449311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3450732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* DO want the lt- prefix here if it exists, so use target_name */
3451732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
3452732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (tmp_pathspec);
3453732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  tmp_pathspec = NULL;
3454732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3455311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3456732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case $host_os in
3457732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      mingw*)
3458732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cat <<"EOF"
3459732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  {
3460732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    char* p;
3461732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    while ((p = strchr (newargz[0], '\\')) != NULL)
3462732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      {
3463732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*p = '/';
3464732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      }
3465732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
3466732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      {
3467732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*p = '/';
3468732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      }
3469732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  }
3470732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3471732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
3472732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
3473311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3474732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cat <<"EOF"
3475732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (target_name);
3476732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (actual_cwrapper_path);
3477732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (actual_cwrapper_name);
3478311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3479732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
3480732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
3481732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
3482732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
3483311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3484732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  newargc=0;
3485732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  for (i = 1; i < argc; i++)
3486732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3487732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
3488732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        {
3489732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          if (argv[i][env_set_opt_len] == '=')
3490732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            {
3491732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              const char *p = argv[i] + env_set_opt_len + 1;
3492732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              lt_opt_process_env_set (p);
3493732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            }
3494732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
3495732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            {
3496732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              lt_opt_process_env_set (argv[++i]); /* don't copy */
3497732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            }
3498732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          else
3499732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            lt_fatal ("%s missing required argument", env_set_opt);
3500732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          continue;
3501732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        }
3502732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
3503732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        {
3504732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          if (argv[i][env_prepend_opt_len] == '=')
3505732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            {
3506732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              const char *p = argv[i] + env_prepend_opt_len + 1;
3507732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              lt_opt_process_env_prepend (p);
3508732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            }
3509732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
3510732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            {
3511732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              lt_opt_process_env_prepend (argv[++i]); /* don't copy */
3512732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            }
3513732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          else
3514732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            lt_fatal ("%s missing required argument", env_prepend_opt);
3515732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          continue;
3516732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        }
3517732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
3518732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        {
3519732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          if (argv[i][env_append_opt_len] == '=')
3520732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            {
3521732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              const char *p = argv[i] + env_append_opt_len + 1;
3522732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              lt_opt_process_env_append (p);
3523732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            }
3524732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
3525732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            {
3526732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com              lt_opt_process_env_append (argv[++i]); /* don't copy */
3527732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            }
3528732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          else
3529732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            lt_fatal ("%s missing required argument", env_append_opt);
3530732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          continue;
3531732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        }
3532732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
3533732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        {
3534732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
3535732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com             namespace, but it is not one of the ones we know about and
3536732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com             have already dealt with, above (inluding dump-script), then
3537732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com             report an error. Otherwise, targets might begin to believe
3538732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
3539732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com             namespace. The first time any user complains about this, we'll
3540732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
3541732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com             or a configure.ac-settable value.
3542732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com           */
3543732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          lt_fatal ("Unrecognized option in %s namespace: '%s'",
3544732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                    ltwrapper_option_prefix, argv[i]);
3545732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        }
3546732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      /* otherwise ... */
3547732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      newargz[++newargc] = xstrdup (argv[i]);
3548732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3549732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  newargz[++newargc] = NULL;
3550311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3551732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
3552732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  for (i = 0; i < newargc; i++)
3553732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3554732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
3555732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3556311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3557732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3558311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3559732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case $host_os in
3560732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      mingw*)
3561732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		cat <<"EOF"
3562732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* execv doesn't actually work on mingw as expected on unix */
3563732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
3564732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (rval == -1)
3565732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3566732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      /* failed to start process */
3567732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
3568732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      return 127;
3569732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3570732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return rval;
3571732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3572732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
3573732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *)
3574732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		cat <<"EOF"
3575732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  execv (lt_argv_zero, newargz);
3576732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return rval; /* =127, but avoids unused variable warning */
3577732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
3578732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
3579732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
3580311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3581732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cat <<"EOF"
3582732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3583311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3584732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid *
3585732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comxmalloc (size_t num)
3586732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3587732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  void *p = (void *) malloc (num);
3588732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (!p)
3589732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    lt_fatal ("Memory exhausted");
3590311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3591732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return p;
3592732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3593311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3594732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comchar *
3595732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comxstrdup (const char *string)
3596732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3597732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
3598732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  string) : NULL;
3599732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3600311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3601732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comconst char *
3602732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.combase_name (const char *name)
3603732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3604732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  const char *base;
3605311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3606732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
3607732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* Skip over the disk name in MSDOS pathnames. */
3608732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
3609732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    name += 2;
3610732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3611311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3612732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  for (base = name; *name; name++)
3613732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if (IS_DIR_SEPARATOR (*name))
3614732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      base = name + 1;
3615732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return base;
3616732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3617311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3618732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comint
3619732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comcheck_executable (const char *path)
3620732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3621732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  struct stat st;
3622311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3623732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
3624732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  path ? (*path ? path : "EMPTY!") : "NULL!"));
3625732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if ((!path) || (!*path))
3626732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    return 0;
3627311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3628732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if ((stat (path, &st) >= 0)
3629732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
3630732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    return 1;
3631732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  else
3632732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    return 0;
3633732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3634311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3635732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comint
3636732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.commake_executable (const char *path)
3637732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3638732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  int rval = 0;
3639732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  struct stat st;
3640311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3641732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
3642732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  path ? (*path ? path : "EMPTY!") : "NULL!"));
3643732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if ((!path) || (!*path))
3644732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    return 0;
3645311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3646732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (stat (path, &st) >= 0)
3647732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3648732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
3649732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3650732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return rval;
3651732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3652311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3653732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com/* Searches for the full path of the wrapper.  Returns
3654732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com   newly allocated full path name if found, NULL otherwise
3655732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com   Does not chase symlinks, even on platforms that support them.
3656732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com*/
3657732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comchar *
3658732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfind_executable (const char *wrapper)
3659732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3660732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  int has_slash = 0;
3661732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  const char *p;
3662732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  const char *p_next;
3663732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* static buffer for getcwd */
3664732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char tmp[LT_PATHMAX + 1];
3665732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  int tmp_len;
3666732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *concat_name;
3667311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3668732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
3669732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
3670311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3671732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if ((wrapper == NULL) || (*wrapper == '\0'))
3672732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    return NULL;
3673311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3674732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* Absolute path? */
3675732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
3676732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
3677732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3678732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      concat_name = xstrdup (wrapper);
3679732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if (check_executable (concat_name))
3680732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	return concat_name;
3681732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      XFREE (concat_name);
3682732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3683732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  else
3684732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3685732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3686732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if (IS_DIR_SEPARATOR (wrapper[0]))
3687732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	{
3688732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  concat_name = xstrdup (wrapper);
3689732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if (check_executable (concat_name))
3690732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    return concat_name;
3691732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  XFREE (concat_name);
3692732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	}
3693732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
3694732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3695732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3696311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3697732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  for (p = wrapper; *p; p++)
3698732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if (*p == '/')
3699732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      {
3700732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	has_slash = 1;
3701732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	break;
3702732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      }
3703732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (!has_slash)
3704732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3705732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      /* no slashes; search PATH */
3706732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      const char *path = getenv ("PATH");
3707732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if (path != NULL)
3708732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	{
3709732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for (p = path; *p; p = p_next)
3710732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    {
3711732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      const char *q;
3712732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      size_t p_len;
3713732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      for (q = p; *q; q++)
3714732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if (IS_PATH_SEPARATOR (*q))
3715732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  break;
3716732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      p_len = q - p;
3717732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      p_next = (*q == '\0' ? q : q + 1);
3718732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if (p_len == 0)
3719732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		{
3720732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  /* empty path: current directory */
3721732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  if (getcwd (tmp, LT_PATHMAX) == NULL)
3722732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    lt_fatal ("getcwd failed");
3723732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  tmp_len = strlen (tmp);
3724732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  concat_name =
3725732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
3726732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  memcpy (concat_name, tmp, tmp_len);
3727732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  concat_name[tmp_len] = '/';
3728732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  strcpy (concat_name + tmp_len + 1, wrapper);
3729732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		}
3730732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
3731732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		{
3732732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  concat_name =
3733732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
3734732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  memcpy (concat_name, p, p_len);
3735732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  concat_name[p_len] = '/';
3736732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  strcpy (concat_name + p_len + 1, wrapper);
3737732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		}
3738732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if (check_executable (concat_name))
3739732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		return concat_name;
3740732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      XFREE (concat_name);
3741732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    }
3742732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	}
3743732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      /* not found in PATH; assume curdir */
3744732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3745732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  /* Relative path | not found in path: prepend cwd */
3746732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (getcwd (tmp, LT_PATHMAX) == NULL)
3747732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    lt_fatal ("getcwd failed");
3748732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  tmp_len = strlen (tmp);
3749732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
3750732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  memcpy (concat_name, tmp, tmp_len);
3751732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  concat_name[tmp_len] = '/';
3752732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  strcpy (concat_name + tmp_len + 1, wrapper);
3753311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3754732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (check_executable (concat_name))
3755732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    return concat_name;
3756732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (concat_name);
3757732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return NULL;
3758732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3759311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3760732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comchar *
3761732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comchase_symlinks (const char *pathspec)
3762732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3763732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifndef S_ISLNK
3764732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return xstrdup (pathspec);
3765732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#else
3766732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char buf[LT_PATHMAX];
3767732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  struct stat s;
3768732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *tmp_pathspec = xstrdup (pathspec);
3769732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *p;
3770732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  int has_symlinks = 0;
3771732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  while (strlen (tmp_pathspec) && !has_symlinks)
3772732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3773732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
3774732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			      tmp_pathspec));
3775732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if (lstat (tmp_pathspec, &s) == 0)
3776732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	{
3777732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if (S_ISLNK (s.st_mode) != 0)
3778732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    {
3779732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      has_symlinks = 1;
3780732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      break;
3781732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    }
3782311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3783732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  /* search backwards for last DIR_SEPARATOR */
3784732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
3785732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
3786732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    p--;
3787732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
3788732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    {
3789732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      /* no more DIR_SEPARATORS left */
3790732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      break;
3791732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    }
3792732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *p = '\0';
3793732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	}
3794732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
3795732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	{
3796732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  char *errstr = strerror (errno);
3797732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
3798732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	}
3799732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3800732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (tmp_pathspec);
3801311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3802732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (!has_symlinks)
3803732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3804732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      return xstrdup (pathspec);
3805732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3806311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3807732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  tmp_pathspec = realpath (pathspec, buf);
3808732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (tmp_pathspec == 0)
3809732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3810732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      lt_fatal ("Could not follow symlinks for %s", pathspec);
3811732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3812732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return xstrdup (tmp_pathspec);
3813732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3814732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3815311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3816732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comchar *
3817732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstrendzap (char *str, const char *pat)
3818732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3819732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  size_t len, patlen;
3820311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3821732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  assert (str != NULL);
3822732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  assert (pat != NULL);
3823311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3824732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  len = strlen (str);
3825732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  patlen = strlen (pat);
3826311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3827732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (patlen <= len)
3828732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3829732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      str += len - patlen;
3830732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if (strcmp (str, pat) == 0)
3831732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*str = '\0';
3832732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3833732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return str;
3834732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3835311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3836732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comstatic void
3837732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_error_core (int exit_status, const char *mode,
3838732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	       const char *message, va_list ap)
3839732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3840732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  fprintf (stderr, "%s: %s: ", program_name, mode);
3841732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  vfprintf (stderr, message, ap);
3842732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  fprintf (stderr, ".\n");
3843311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3844732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (exit_status >= 0)
3845732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    exit (exit_status);
3846732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3847311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3848732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid
3849732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_fatal (const char *message, ...)
3850732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3851732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  va_list ap;
3852732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  va_start (ap, message);
3853732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
3854732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  va_end (ap);
3855732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3856311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3857732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid
3858732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_setenv (const char *name, const char *value)
3859732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3860732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
3861732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                          (name ? name : "<NULL>"),
3862732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                          (value ? value : "<NULL>")));
3863732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  {
3864732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#ifdef HAVE_SETENV
3865732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    /* always make a copy, for consistency with !HAVE_SETENV */
3866732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    char *str = xstrdup (value);
3867732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    setenv (name, str, 1);
3868732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#else
3869732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    int len = strlen (name) + 1 + strlen (value) + 1;
3870732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    char *str = XMALLOC (char, len);
3871732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    sprintf (str, "%s=%s", name, value);
3872732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if (putenv (str) != EXIT_SUCCESS)
3873732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      {
3874732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        XFREE (str);
3875732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      }
3876732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#endif
3877732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  }
3878732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3879311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3880732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comchar *
3881732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_extend_str (const char *orig_value, const char *add, int to_end)
3882732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3883732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *new_value;
3884732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (orig_value && *orig_value)
3885732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3886732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      int orig_value_len = strlen (orig_value);
3887732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      int add_len = strlen (add);
3888732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      new_value = XMALLOC (char, add_len + orig_value_len + 1);
3889732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if (to_end)
3890732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        {
3891732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          strcpy (new_value, orig_value);
3892732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          strcpy (new_value + orig_value_len, add);
3893732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        }
3894732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
3895732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        {
3896732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          strcpy (new_value, add);
3897732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          strcpy (new_value + add_len, orig_value);
3898732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        }
3899732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3900732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  else
3901732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3902732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      new_value = xstrdup (add);
3903732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3904732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return new_value;
3905732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3906311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3907732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comint
3908732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_split_name_value (const char *arg, char** name, char** value)
3909732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3910732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  const char *p;
3911732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  int len;
3912732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (!arg || !*arg)
3913732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    return 1;
3914311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3915732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  p = strchr (arg, (int)'=');
3916311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3917732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (!p)
3918732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    return 1;
3919311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3920732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  *value = xstrdup (++p);
3921311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3922732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  len = strlen (arg) - strlen (*value);
3923732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  *name = XMALLOC (char, len);
3924732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  strncpy (*name, arg, len-1);
3925732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  (*name)[len - 1] = '\0';
3926311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3927732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  return 0;
3928732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3929311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3930732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid
3931732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_opt_process_env_set (const char *arg)
3932732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3933732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *name = NULL;
3934732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *value = NULL;
3935311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3936732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (lt_split_name_value (arg, &name, &value) != 0)
3937732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3938732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      XFREE (name);
3939732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      XFREE (value);
3940732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
3941732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3942311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3943732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  lt_setenv (name, value);
3944732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (name);
3945732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (value);
3946732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3947311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3948732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid
3949732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_opt_process_env_prepend (const char *arg)
3950732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3951732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *name = NULL;
3952732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *value = NULL;
3953732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *new_value = NULL;
3954311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3955732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (lt_split_name_value (arg, &name, &value) != 0)
3956732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3957732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      XFREE (name);
3958732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      XFREE (value);
3959732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
3960732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3961311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3962732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  new_value = lt_extend_str (getenv (name), value, 0);
3963732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  lt_setenv (name, new_value);
3964732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (new_value);
3965732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (name);
3966732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (value);
3967732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3968311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3969732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid
3970732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_opt_process_env_append (const char *arg)
3971732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3972732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *name = NULL;
3973732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *value = NULL;
3974732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  char *new_value = NULL;
3975311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3976732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (lt_split_name_value (arg, &name, &value) != 0)
3977732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3978732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      XFREE (name);
3979732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      XFREE (value);
3980732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
3981732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
3982311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3983732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  new_value = lt_extend_str (getenv (name), value, 1);
3984732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  lt_setenv (name, new_value);
3985732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (new_value);
3986732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (name);
3987732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  XFREE (value);
3988732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
3989311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3990732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid
3991732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_update_exe_path (const char *name, const char *value)
3992732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
3993732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
3994732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                          (name ? name : "<NULL>"),
3995732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                          (value ? value : "<NULL>")));
3996311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
3997732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (name && *name && value && *value)
3998732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
3999732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      char *new_value = lt_extend_str (getenv (name), value, 0);
4000732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      /* some systems can't cope with a ':'-terminated path #' */
4001732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      int len = strlen (new_value);
4002732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
4003732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        {
4004732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          new_value[len-1] = '\0';
4005732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        }
4006732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      lt_setenv (name, new_value);
4007732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      XFREE (new_value);
4008732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
4009732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
4010311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4011732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comvoid
4012732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlt_update_lib_path (const char *name, const char *value)
4013732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
4014732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
4015732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                          (name ? name : "<NULL>"),
4016732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                          (value ? value : "<NULL>")));
4017311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4018732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  if (name && *name && value && *value)
4019732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    {
4020732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      char *new_value = lt_extend_str (getenv (name), value, 0);
4021732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      lt_setenv (name, new_value);
4022732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      XFREE (new_value);
4023732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    }
4024732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
4025311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4026311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4027732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
4028732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
4029732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# end: func_emit_cwrapperexe_src
4030311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4031732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_mode_link arg...
4032732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_mode_link ()
4033732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
4034732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_debug
4035732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $host in
4036732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
4037732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # It is impossible to link a dll without this setting, and
4038732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # we shouldn't force the makefile maintainer to figure out
4039732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # which system we are compiling for in order to pass an extra
4040732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # flag for every libtool invocation.
4041732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # allow_undefined=no
4042311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4043732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # FIXME: Unfortunately, there are problems with the above when trying
4044732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # to make a dll which has undefined symbols, in which case not
4045732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # even a static library is built.  For now, we need to specify
4046732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # -no-undefined on the libtool link line when we can be certain
4047732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # that all symbols are satisfied, otherwise we get a static library.
4048732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      allow_undefined=yes
4049732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      ;;
4050732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *)
4051732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      allow_undefined=yes
4052732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      ;;
4053732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
4054732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    libtool_args=$nonopt
4055732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    base_compile="$nonopt $@"
4056732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    compile_command=$nonopt
4057732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    finalize_command=$nonopt
4058311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4059732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    compile_rpath=
4060732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    finalize_rpath=
4061732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    compile_shlibpath=
4062732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    finalize_shlibpath=
4063732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    convenience=
4064732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    old_convenience=
4065732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    deplibs=
4066732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    old_deplibs=
4067732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    compiler_flags=
4068732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    linker_flags=
4069732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    dllsearchpath=
4070732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    lib_search_path=`pwd`
4071732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    inst_prefix_dir=
4072732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    new_inherited_linker_flags=
4073311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4074732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    avoid_version=no
4075732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    dlfiles=
4076732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    dlprefiles=
4077732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    dlself=no
4078732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    export_dynamic=no
4079732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    export_symbols=
4080732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    export_symbols_regex=
4081732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    generated=
4082732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    libobjs=
4083732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    ltlibs=
4084732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    module=no
4085732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    no_install=no
4086732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    objs=
4087732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    non_pic_objects=
4088732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    precious_files_regex=
4089732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    prefer_static_libs=no
4090732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    preload=no
4091732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    prev=
4092732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    prevarg=
4093732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    release=
4094732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    rpath=
4095732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    xrpath=
4096732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    perm_rpath=
4097732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    temp_rpath=
4098732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    thread_safe=no
4099732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    vinfo=
4100732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    vinfo_number=no
4101732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    weak_libs=
4102732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    single_module="${wl}-single_module"
4103732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_infer_tag $base_compile
4104311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4105732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # We need to know -static, to get the right output filenames.
4106732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for arg
4107732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    do
4108732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $arg in
4109732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -shared)
4110732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test "$build_libtool_libs" != yes && \
4111732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_configuration "can not build a shared library"
4112732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	build_old_libs=no
4113732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	break
4114732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4115732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -all-static | -static | -static-libtool-libs)
4116732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $arg in
4117732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-all-static)
4118732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
4119732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_warning "complete static linking is impossible in this configuration"
4120732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
4121732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$link_static_flag"; then
4122732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dlopen_self=$dlopen_self_static
4123732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
4124732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prefer_static_libs=yes
4125732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4126732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-static)
4127732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
4128732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dlopen_self=$dlopen_self_static
4129732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
4130732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prefer_static_libs=built
4131732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4132732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-static-libtool-libs)
4133732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
4134732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dlopen_self=$dlopen_self_static
4135732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
4136732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prefer_static_libs=yes
4137732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4138732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
4139732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	build_libtool_libs=no
4140732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	build_old_libs=yes
4141732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	break
4142732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4143732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
4144732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    done
4145311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4146732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # See if our shared archives depend on static archives.
4147732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
4148311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4149732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Go through the arguments, transforming them on the way.
4150732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    while test "$#" -gt 0; do
4151732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      arg="$1"
4152732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      shift
4153732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_quote_for_eval "$arg"
4154732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      qarg=$func_quote_for_eval_unquoted_result
4155732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_append libtool_args " $func_quote_for_eval_result"
4156311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4157732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # If the previous option needs an argument, assign it.
4158732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$prev"; then
4159732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $prev in
4160732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	output)
4161732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_append compile_command " @OUTPUT@"
4162732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_append finalize_command " @OUTPUT@"
4163732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4164732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
4165311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4166732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $prev in
4167732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dlfiles|dlprefiles)
4168732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$preload" = no; then
4169732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Add the symbol object into the linking commands.
4170732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_append compile_command " @SYMFILE@"
4171732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_append finalize_command " @SYMFILE@"
4172732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    preload=yes
4173311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
4174732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $arg in
4175732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *.la | *.lo) ;;  # We handle these cases below.
4176732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  force)
4177732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$dlself" = no; then
4178732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      dlself=needless
4179732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      export_dynamic=yes
4180732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
4181732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    prev=
4182732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    continue
4183732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
4184732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  self)
4185732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$prev" = dlprefiles; then
4186732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      dlself=yes
4187732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
4188732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      dlself=yes
4189732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
4190732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      dlself=needless
4191732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      export_dynamic=yes
4192732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
4193732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    prev=
4194732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    continue
4195732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
4196732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *)
4197732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$prev" = dlfiles; then
4198732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      dlfiles="$dlfiles $arg"
4199732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
4200732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      dlprefiles="$dlprefiles $arg"
4201732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
4202732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    prev=
4203732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    continue
4204732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
4205732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
4206732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4207732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	expsyms)
4208732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  export_symbols="$arg"
4209732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test -f "$arg" \
4210732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    || func_fatal_error "symbol file \`$arg' does not exist"
4211732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4212732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4213732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4214732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	expsyms_regex)
4215732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  export_symbols_regex="$arg"
4216732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4217732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4218732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4219732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	framework)
4220311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  case $host in
4221732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *-*-darwin*)
4222732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case "$deplibs " in
4223732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*" $qarg.ltframework "*) ;;
4224732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
4225732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		   ;;
4226732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
4227732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
4228311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  esac
4229732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4230732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4231311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  ;;
4232732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	inst_prefix)
4233732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  inst_prefix_dir="$arg"
4234732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4235732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4236311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  ;;
4237732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	objectlist)
4238732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -f "$arg"; then
4239732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    save_arg=$arg
4240732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    moreargs=
4241732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for fil in `cat "$save_arg"`
4242732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    do
4243732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#	      moreargs="$moreargs $fil"
4244732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      arg=$fil
4245732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # A libtool-controlled object.
4246311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4247732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Check to see that this really is a libtool object.
4248732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if func_lalib_unsafe_p "$arg"; then
4249732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		pic_object=
4250732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		non_pic_object=
4251311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4252732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# Read the .lo file
4253732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_source "$arg"
4254311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4255732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if test -z "$pic_object" ||
4256732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		   test -z "$non_pic_object" ||
4257732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		   test "$pic_object" = none &&
4258732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		   test "$non_pic_object" = none; then
4259732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_fatal_error "cannot find name of object for \`$arg'"
4260732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
4261311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4262732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# Extract subdirectory from the argument.
4263732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_dirname "$arg" "/" ""
4264732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		xdir="$func_dirname_result"
4265311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4266732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if test "$pic_object" != none; then
4267732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  # Prepend the subdirectory the object is found in.
4268732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  pic_object="$xdir$pic_object"
4269311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4270732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  if test "$prev" = dlfiles; then
4271732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
4272732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      dlfiles="$dlfiles $pic_object"
4273732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      prev=
4274732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      continue
4275732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    else
4276732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      # If libtool objects are unsupported, then we need to preload.
4277732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      prev=dlprefiles
4278732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    fi
4279732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  fi
4280311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4281732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  # CHECK ME:  I think I busted this.  -Ossama
4282732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  if test "$prev" = dlprefiles; then
4283732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    # Preload the old-style object.
4284732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    dlprefiles="$dlprefiles $pic_object"
4285732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    prev=
4286732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  fi
4287311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4288732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  # A PIC object.
4289732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_append libobjs " $pic_object"
4290732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  arg="$pic_object"
4291732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
4292311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4293732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# Non-PIC object.
4294732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if test "$non_pic_object" != none; then
4295732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  # Prepend the subdirectory the object is found in.
4296732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  non_pic_object="$xdir$non_pic_object"
4297311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4298732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  # A standard non-PIC object
4299732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_append non_pic_objects " $non_pic_object"
4300732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  if test -z "$pic_object" || test "$pic_object" = none ; then
4301732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    arg="$non_pic_object"
4302732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  fi
4303732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		else
4304732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  # If the PIC object exists, use it instead.
4305732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  # $xdir was prepended to $pic_object above.
4306732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  non_pic_object="$pic_object"
4307732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_append non_pic_objects " $non_pic_object"
4308732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
4309732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
4310732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# Only an error if not doing a dry-run.
4311732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if $opt_dry_run; then
4312732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  # Extract subdirectory from the argument.
4313732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_dirname "$arg" "/" ""
4314732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  xdir="$func_dirname_result"
4315732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4316732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_lo2o "$arg"
4317732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  pic_object=$xdir$objdir/$func_lo2o_result
4318732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  non_pic_object=$xdir$func_lo2o_result
4319732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_append libobjs " $pic_object"
4320732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_append non_pic_objects " $non_pic_object"
4321732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        else
4322732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_fatal_error "\`$arg' is not a valid libtool object"
4323732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
4324732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
4325732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
4326311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  else
4327732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "link input file \`$arg' does not exist"
4328311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
4329732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  arg=$save_arg
4330732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4331732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4332732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4333732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	precious_regex)
4334732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  precious_files_regex="$arg"
4335732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4336732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4337732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4338732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	release)
4339732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  release="-$arg"
4340732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4341732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4342732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4343732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	rpath | xrpath)
4344732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # We need an absolute path.
4345732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $arg in
4346732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  [\\/]* | [A-Za-z]:[\\/]*) ;;
4347732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *)
4348732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "only absolute run-paths are allowed"
4349732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
4350732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
4351732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$prev" = rpath; then
4352732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case "$rpath " in
4353732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *" $arg "*) ;;
4354732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *) rpath="$rpath $arg" ;;
4355732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
4356311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  else
4357732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case "$xrpath " in
4358732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *" $arg "*) ;;
4359732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *) xrpath="$xrpath $arg" ;;
4360732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
4361311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
4362732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4363732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4364732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4365732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	shrext)
4366732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  shrext_cmds="$arg"
4367732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4368732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4369732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4370732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	weak)
4371732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  weak_libs="$weak_libs $arg"
4372732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4373732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4374732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4375732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	xcclinker)
4376732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  linker_flags="$linker_flags $qarg"
4377732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  compiler_flags="$compiler_flags $qarg"
4378732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4379732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_append compile_command " $qarg"
4380732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_append finalize_command " $qarg"
4381732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4382732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4383732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	xcompiler)
4384732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  compiler_flags="$compiler_flags $qarg"
4385732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4386732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_append compile_command " $qarg"
4387732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_append finalize_command " $qarg"
4388732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4389732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4390732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	xlinker)
4391732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  linker_flags="$linker_flags $qarg"
4392732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  compiler_flags="$compiler_flags $wl$qarg"
4393732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4394732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_append compile_command " $wl$qarg"
4395732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_append finalize_command " $wl$qarg"
4396732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4397732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4398732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
4399732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval "$prev=\"\$arg\""
4400732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4401732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
4402732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4403311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	esac
4404732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi # test -n "$prev"
4405311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4406732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      prevarg="$arg"
4407311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4408732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $arg in
4409732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -all-static)
4410732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$link_static_flag"; then
4411732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # See comment for -static flag below, for more details.
4412732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_append compile_command " $link_static_flag"
4413732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_append finalize_command " $link_static_flag"
4414732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
4415732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4416732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4417311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4418732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -allow-undefined)
4419732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# FIXME: remove this flag sometime in the future.
4420732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
4421732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4422311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4423732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -avoid-version)
4424732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	avoid_version=yes
4425732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4426732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4427311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4428732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -dlopen)
4429732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=dlfiles
4430732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4431732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4432311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4433732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -dlpreopen)
4434732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=dlprefiles
4435732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4436732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4437311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4438732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -export-dynamic)
4439732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	export_dynamic=yes
4440732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4441732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4442311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4443732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -export-symbols | -export-symbols-regex)
4444732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
4445732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_error "more than one -exported-symbols argument is not allowed"
4446732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
4447732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "X$arg" = "X-export-symbols"; then
4448732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=expsyms
4449732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
4450732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=expsyms_regex
4451732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
4452732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4453732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4454311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4455732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -framework)
4456732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=framework
4457732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4458732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4459311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4460732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -inst-prefix-dir)
4461732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=inst_prefix
4462732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4463732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4464311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4465732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
4466732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # so, if we see these flags be careful not to treat them like -L
4467732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -L[A-Z][A-Z]*:*)
4468732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $with_gcc/$host in
4469732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	no/*-*-irix* | /*-*-irix*)
4470732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_append compile_command " $arg"
4471732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_append finalize_command " $arg"
4472732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4473732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
4474732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4475732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4476311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4477732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -L*)
4478732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_stripname '-L' '' "$arg"
4479732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dir=$func_stripname_result
4480732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -z "$dir"; then
4481732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$#" -gt 0; then
4482732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "require no space between \`-L' and \`$1'"
4483732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
4484732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "need path for \`-L' option"
4485732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
4486732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
4487732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# We need an absolute path.
4488732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $dir in
4489732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	[\\/]* | [A-Za-z]:[\\/]*) ;;
4490732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
4491732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  absdir=`cd "$dir" && pwd`
4492732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test -z "$absdir" && \
4493732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
4494732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  dir="$absdir"
4495732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4496732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
4497732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case "$deplibs " in
4498732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*" -L$dir "*) ;;
4499732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
4500732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  deplibs="$deplibs -L$dir"
4501732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  lib_search_path="$lib_search_path $dir"
4502732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4503732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
4504732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $host in
4505732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
4506732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
4507732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case :$dllsearchpath: in
4508732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *":$dir:"*) ;;
4509732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ::) dllsearchpath=$dir;;
4510732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) dllsearchpath="$dllsearchpath:$dir";;
4511732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
4512732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case :$dllsearchpath: in
4513732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *":$testbindir:"*) ;;
4514732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ::) dllsearchpath=$testbindir;;
4515732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) dllsearchpath="$dllsearchpath:$testbindir";;
4516732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
4517732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4518732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
4519732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4520732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4521311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4522732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -l*)
4523732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
4524732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $host in
4525732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
4526732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # These systems don't actually have a C or math library (as such)
4527732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    continue
4528732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
4529732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-os2*)
4530732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # These systems don't actually have a C library (as such)
4531732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test "X$arg" = "X-lc" && continue
4532732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
4533732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
4534732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Do not include libc due to us having libc/libc_r.
4535732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test "X$arg" = "X-lc" && continue
4536732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
4537732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-rhapsody* | *-*-darwin1.[012])
4538732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Rhapsody C and math libraries are in the System framework
4539732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    deplibs="$deplibs System.ltframework"
4540732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    continue
4541732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
4542732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-sco3.2v5* | *-*-sco5v6*)
4543732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Causes problems with __ctype
4544732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test "X$arg" = "X-lc" && continue
4545732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
4546732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
4547732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Compiler inserts libc in the correct place for threads to work
4548732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test "X$arg" = "X-lc" && continue
4549732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
4550732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
4551732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	elif test "X$arg" = "X-lc_r"; then
4552732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	 case $host in
4553732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
4554732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	   # Do not include libc_r directly, use -pthread flag.
4555732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	   continue
4556732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	   ;;
4557732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	 esac
4558732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
4559732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	deplibs="$deplibs $arg"
4560732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4561732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4562311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4563732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -module)
4564732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	module=yes
4565732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4566732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4567311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4568732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Tru64 UNIX uses -model [arg] to determine the layout of C++
4569732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # classes, name mangling, and exception handling.
4570732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Darwin uses the -arch flag to determine output architecture.
4571732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -model|-arch|-isysroot)
4572732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	compiler_flags="$compiler_flags $arg"
4573732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_append compile_command " $arg"
4574732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_append finalize_command " $arg"
4575732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=xcompiler
4576732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4577732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4578311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4579732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
4580732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	compiler_flags="$compiler_flags $arg"
4581732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_append compile_command " $arg"
4582732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_append finalize_command " $arg"
4583732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case "$new_inherited_linker_flags " in
4584732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *" $arg "*) ;;
4585732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
4586732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
4587732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4588732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4589311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4590732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -multi_module)
4591732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	single_module="${wl}-multi_module"
4592732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4593732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4594311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4595732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -no-fast-install)
4596732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fast_install=no
4597732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4598732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4599311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4600732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -no-install)
4601732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $host in
4602732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
4603732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # The PATH hackery in wrapper scripts is required on Windows
4604732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # and Darwin in order for the loader to find any dlls it needs.
4605732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_warning "\`-no-install' is ignored for $host"
4606732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_warning "assuming \`-no-fast-install' instead"
4607732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fast_install=no
4608732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4609732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*) no_install=yes ;;
4610732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
4611732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4612732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4613311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4614732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -no-undefined)
4615732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	allow_undefined=no
4616732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4617732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4618311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4619732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -objectlist)
4620732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=objectlist
4621732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4622732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4623311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4624732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -o) prev=output ;;
4625311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4626732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -precious-files-regex)
4627732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=precious_regex
4628732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4629732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4630311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4631732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -release)
4632732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=release
4633732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4634732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4635311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4636732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -rpath)
4637732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=rpath
4638732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4639732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4640311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4641732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -R)
4642732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=xrpath
4643732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4644732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4645311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4646732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -R*)
4647732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_stripname '-R' '' "$arg"
4648732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dir=$func_stripname_result
4649732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# We need an absolute path.
4650732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $dir in
4651732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	[\\/]* | [A-Za-z]:[\\/]*) ;;
4652732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
4653732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_error "only absolute run-paths are allowed"
4654732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
4655732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
4656732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case "$xrpath " in
4657732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*" $dir "*) ;;
4658732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*) xrpath="$xrpath $dir" ;;
4659732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
4660732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4661732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4662311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4663732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -shared)
4664732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# The effects of -shared are defined in a previous loop.
4665732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4666732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4667311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4668732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -shrext)
4669732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=shrext
4670732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4671732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4672311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4673732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -static | -static-libtool-libs)
4674732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# The effects of -static are defined in a previous loop.
4675732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# We used to do the same as -all-static on platforms that
4676732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# didn't have a PIC flag, but the assumption that the effects
4677732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# would be equivalent was wrong.  It would break on at least
4678732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Digital Unix and AIX.
4679732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4680732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4681311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4682732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -thread-safe)
4683732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	thread_safe=yes
4684732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4685732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4686311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4687732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -version-info)
4688732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=vinfo
4689732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4690732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4691311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4692732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -version-number)
4693732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=vinfo
4694732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	vinfo_number=yes
4695732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4696732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4697311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4698732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -weak)
4699732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        prev=weak
4700732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4701732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4702311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4703732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -Wc,*)
4704732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_stripname '-Wc,' '' "$arg"
4705732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	args=$func_stripname_result
4706732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	arg=
4707732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	save_ifs="$IFS"; IFS=','
4708732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for flag in $args; do
4709732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  IFS="$save_ifs"
4710732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          func_quote_for_eval "$flag"
4711732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  arg="$arg $wl$func_quote_for_eval_result"
4712732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
4713732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
4714732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	IFS="$save_ifs"
4715732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_stripname ' ' '' "$arg"
4716732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	arg=$func_stripname_result
4717732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4718311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4719732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -Wl,*)
4720732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_stripname '-Wl,' '' "$arg"
4721732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	args=$func_stripname_result
4722732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	arg=
4723732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	save_ifs="$IFS"; IFS=','
4724732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for flag in $args; do
4725732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  IFS="$save_ifs"
4726732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          func_quote_for_eval "$flag"
4727732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  arg="$arg $wl$func_quote_for_eval_result"
4728732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
4729732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  linker_flags="$linker_flags $func_quote_for_eval_result"
4730732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
4731732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	IFS="$save_ifs"
4732732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_stripname ' ' '' "$arg"
4733732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	arg=$func_stripname_result
4734732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4735311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4736732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -Xcompiler)
4737732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=xcompiler
4738732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4739732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4740311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4741732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -Xlinker)
4742732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=xlinker
4743732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4744732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4745311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4746732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -XCClinker)
4747732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	prev=xcclinker
4748732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4749732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4750311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4751732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # -msg_* for osf cc
4752732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -msg_*)
4753732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_quote_for_eval "$arg"
4754732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	arg="$func_quote_for_eval_result"
4755732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4756311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4757732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
4758732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # -r[0-9][0-9]* specifies the processor on the SGI compiler
4759732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
4760732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # +DA*, +DD* enable 64-bit mode on the HP compiler
4761732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # -q* pass through compiler args for the IBM compiler
4762732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # -m*, -t[45]*, -txscale* pass through architecture-specific
4763732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # compiler args for GCC
4764732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # -F/path gives path to uninstalled frameworks, gcc on darwin
4765732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
4766732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # @file GCC response files
4767732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
4768732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
4769732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_quote_for_eval "$arg"
4770732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	arg="$func_quote_for_eval_result"
4771732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_append compile_command " $arg"
4772732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_append finalize_command " $arg"
4773732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        compiler_flags="$compiler_flags $arg"
4774732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        continue
4775732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
4776311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4777732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Some other compiler flag.
4778732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -* | +*)
4779732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        func_quote_for_eval "$arg"
4780732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	arg="$func_quote_for_eval_result"
4781732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4782311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4783732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *.$objext)
4784732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# A standard object.
4785732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	objs="$objs $arg"
4786732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4787311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4788732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *.lo)
4789732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# A libtool-controlled object.
4790311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4791732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Check to see that this really is a libtool object.
4792732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if func_lalib_unsafe_p "$arg"; then
4793732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  pic_object=
4794732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  non_pic_object=
4795311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4796732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Read the .lo file
4797732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_source "$arg"
4798311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4799732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -z "$pic_object" ||
4800732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     test -z "$non_pic_object" ||
4801732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     test "$pic_object" = none &&
4802732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     test "$non_pic_object" = none; then
4803732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "cannot find name of object for \`$arg'"
4804732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
4805d18457863096b3685e56f5a8919959f6afbdb121openvcdiff
4806732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Extract subdirectory from the argument.
4807732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_dirname "$arg" "/" ""
4808732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  xdir="$func_dirname_result"
4809311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4810732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$pic_object" != none; then
4811732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Prepend the subdirectory the object is found in.
4812732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    pic_object="$xdir$pic_object"
4813311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4814732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$prev" = dlfiles; then
4815732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
4816732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		dlfiles="$dlfiles $pic_object"
4817732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		prev=
4818732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		continue
4819732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
4820732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# If libtool objects are unsupported, then we need to preload.
4821732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		prev=dlprefiles
4822732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
4823732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
4824311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4825732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # CHECK ME:  I think I busted this.  -Ossama
4826732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$prev" = dlprefiles; then
4827732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Preload the old-style object.
4828732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      dlprefiles="$dlprefiles $pic_object"
4829732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      prev=
4830732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
4831311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4832732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # A PIC object.
4833732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_append libobjs " $pic_object"
4834732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    arg="$pic_object"
4835732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
4836311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4837732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Non-PIC object.
4838732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$non_pic_object" != none; then
4839732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Prepend the subdirectory the object is found in.
4840732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    non_pic_object="$xdir$non_pic_object"
4841311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
4842732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # A standard non-PIC object
4843732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_append non_pic_objects " $non_pic_object"
4844732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -z "$pic_object" || test "$pic_object" = none ; then
4845732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      arg="$non_pic_object"
4846732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
4847732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
4848732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # If the PIC object exists, use it instead.
4849732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # $xdir was prepended to $pic_object above.
4850732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    non_pic_object="$pic_object"
4851732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_append non_pic_objects " $non_pic_object"
4852732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
4853732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
4854732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Only an error if not doing a dry-run.
4855732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if $opt_dry_run; then
4856732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Extract subdirectory from the argument.
4857732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_dirname "$arg" "/" ""
4858732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    xdir="$func_dirname_result"
4859732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4860732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_lo2o "$arg"
4861732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    pic_object=$xdir$objdir/$func_lo2o_result
4862732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    non_pic_object=$xdir$func_lo2o_result
4863732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_append libobjs " $pic_object"
4864732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_append non_pic_objects " $non_pic_object"
4865732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
4866732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "\`$arg' is not a valid libtool object"
4867732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
4868732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
4869732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4870732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4871732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *.$libext)
4872732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# An archive.
4873732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	deplibs="$deplibs $arg"
4874732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	old_deplibs="$old_deplibs $arg"
4875732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4876732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4877732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4878732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *.la)
4879732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# A libtool-controlled library.
4880732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4881732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$prev" = dlfiles; then
4882732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # This library was specified with -dlopen.
4883732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  dlfiles="$dlfiles $arg"
4884732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4885732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	elif test "$prev" = dlprefiles; then
4886732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # The library was specified with -dlpreopen.
4887732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  dlprefiles="$dlprefiles $arg"
4888732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prev=
4889732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
4890732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  deplibs="$deplibs $arg"
4891732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
4892732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	continue
4893732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4894732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4895732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Some other compiler argument.
4896732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
4897732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Unknown arguments in both finalize_command and compile_command need
4898732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# to be aesthetically quoted because they are evaled later.
4899732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_quote_for_eval "$arg"
4900732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	arg="$func_quote_for_eval_result"
4901732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
4902732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac # arg
4903732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4904732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Now actually substitute the argument into the commands.
4905732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$arg"; then
4906732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_append compile_command " $arg"
4907732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_append finalize_command " $arg"
4908732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
4909732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    done # argument parsing loop
4910732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4911732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test -n "$prev" && \
4912732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_fatal_help "the \`$prevarg' option requires an argument"
4913732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4914732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
4915732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      eval arg=\"$export_dynamic_flag_spec\"
4916732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_append compile_command " $arg"
4917732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_append finalize_command " $arg"
4918732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
4919732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4920732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    oldlibs=
4921732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # calculate the name of the file, without its directory
4922732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_basename "$output"
4923732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    outputname="$func_basename_result"
4924732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    libobjs_save="$libobjs"
4925732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4926732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test -n "$shlibpath_var"; then
4927732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # get the directories listed in $shlibpath_var
4928732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
4929732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    else
4930732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      shlib_search_path=
4931732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
4932732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
4933732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
4934732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4935732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_dirname "$output" "/" ""
4936732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    output_objdir="$func_dirname_result$objdir"
4937732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Create the object directory.
4938732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_mkdir_p "$output_objdir"
4939732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4940732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Determine the type of output
4941732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $output in
4942732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    "")
4943732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_fatal_help "you must specify an output file"
4944732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      ;;
4945732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *.$libext) linkmode=oldlib ;;
4946732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *.lo | *.$objext) linkmode=obj ;;
4947732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *.la) linkmode=lib ;;
4948732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *) linkmode=prog ;; # Anything else should be a program.
4949732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
4950732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4951732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    specialdeplibs=
4952732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4953732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    libs=
4954732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Find all interdependent deplibs by searching for libraries
4955732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # that are linked more than once (e.g. -la -lb -la)
4956732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for deplib in $deplibs; do
4957732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if $opt_duplicate_deps ; then
4958732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case "$libs " in
4959732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
4960732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
4961732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
4962732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      libs="$libs $deplib"
4963732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    done
4964732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4965732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test "$linkmode" = lib; then
4966732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      libs="$predeps $libs $compiler_lib_search_path $postdeps"
4967732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4968732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Compute libraries that are listed more than once in $predeps
4969732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # $postdeps and mark them as special (i.e., whose duplicates are
4970732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # not to be eliminated).
4971732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      pre_post_deps=
4972732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if $opt_duplicate_compiler_generated_deps; then
4973732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for pre_post_dep in $predeps $postdeps; do
4974732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case "$pre_post_deps " in
4975732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
4976732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
4977732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  pre_post_deps="$pre_post_deps $pre_post_dep"
4978732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
4979732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
4980732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      pre_post_deps=
4981732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
4982732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4983732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    deplibs=
4984732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    newdependency_libs=
4985732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    newlib_search_path=
4986732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    need_relink=no # whether we're linking any uninstalled libtool libraries
4987732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    notinst_deplibs= # not-installed libtool libraries
4988732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    notinst_path= # paths that contain not-installed libtool libraries
4989732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
4990732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $linkmode in
4991732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    lib)
4992732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	passes="conv dlpreopen link"
4993732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for file in $dlfiles $dlprefiles; do
4994732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $file in
4995732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *.la) ;;
4996732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *)
4997732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
4998732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
4999732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
5000732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
5001732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
5002732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    prog)
5003732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	compile_deplibs=
5004732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	finalize_deplibs=
5005732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	alldeplibs=no
5006732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	newdlfiles=
5007732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	newdlprefiles=
5008732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	passes="conv scan dlopen dlpreopen link"
5009732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
5010732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *)  passes="conv"
5011732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
5012732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
5013732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5014732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for pass in $passes; do
5015732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # The preopen pass in lib mode reverses $deplibs; put it back here
5016732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # so that -L comes before libs that need it for instance...
5017732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$linkmode,$pass" = "lib,link"; then
5018732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	## FIXME: Find the place where the list is rebuilt in the wrong
5019732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	##        order, and fix it there properly
5020732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        tmp_deplibs=
5021732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for deplib in $deplibs; do
5022732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  tmp_deplibs="$deplib $tmp_deplibs"
5023732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
5024732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	deplibs="$tmp_deplibs"
5025732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
5026732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5027732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$linkmode,$pass" = "lib,link" ||
5028732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	 test "$linkmode,$pass" = "prog,scan"; then
5029732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	libs="$deplibs"
5030732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	deplibs=
5031732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
5032732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$linkmode" = prog; then
5033732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $pass in
5034732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dlopen) libs="$dlfiles" ;;
5035732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dlpreopen) libs="$dlprefiles" ;;
5036732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	link)
5037732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  libs="$deplibs %DEPLIBS%"
5038732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
5039732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
5040732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
5041732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
5042732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$linkmode,$pass" = "lib,dlpreopen"; then
5043732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Collect and forward deplibs of preopened libtool libs
5044732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for lib in $dlprefiles; do
5045732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Ignore non-libtool-libs
5046732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  dependency_libs=
5047732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $lib in
5048732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *.la)	func_source "$lib" ;;
5049732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
5050732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5051732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Collect preopened libtool deplibs, except any this library
5052732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # has declared as weak libs
5053732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for deplib in $dependency_libs; do
5054732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
5055732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case " $weak_libs " in
5056732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *" $deplib_base "*) ;;
5057732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *) deplibs="$deplibs $deplib" ;;
5058732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
5059732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
5060732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
5061732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	libs="$dlprefiles"
5062732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
5063732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$pass" = dlopen; then
5064732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Collect dlpreopened libraries
5065732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	save_deplibs="$deplibs"
5066732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	deplibs=
5067732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
5068732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5069732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for deplib in $libs; do
5070732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	lib=
5071732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	found=no
5072732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $deplib in
5073732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
5074732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$linkmode,$pass" = "prog,link"; then
5075732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    compile_deplibs="$deplib $compile_deplibs"
5076732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    finalize_deplibs="$deplib $finalize_deplibs"
5077732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
5078732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    compiler_flags="$compiler_flags $deplib"
5079732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$linkmode" = lib ; then
5080732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case "$new_inherited_linker_flags " in
5081732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    *" $deplib "*) ;;
5082732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
5083732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
5084732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5085732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5086732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
5087732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
5088732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-l*)
5089732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$linkmode" != lib && test "$linkmode" != prog; then
5090732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_warning "\`-l' is ignored for archives/objects"
5091732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    continue
5092732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5093732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_stripname '-l' '' "$deplib"
5094732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  name=$func_stripname_result
5095732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$linkmode" = lib; then
5096732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
5097732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
5098732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
5099732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5100732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for searchdir in $searchdirs; do
5101732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for search_ext in .la $std_shrext .so .a; do
5102732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Search the libtool library
5103732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      lib="$searchdir/lib${name}${search_ext}"
5104732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test -f "$lib"; then
5105732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if test "$search_ext" = ".la"; then
5106732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  found=yes
5107732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		else
5108732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  found=no
5109732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
5110732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		break 2
5111732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
5112732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
5113732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
5114732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$found" != yes; then
5115732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # deplib doesn't seem to be a libtool library
5116732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$linkmode,$pass" = "prog,link"; then
5117732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      compile_deplibs="$deplib $compile_deplibs"
5118732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      finalize_deplibs="$deplib $finalize_deplibs"
5119732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
5120732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      deplibs="$deplib $deplibs"
5121732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
5122732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5123732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    continue
5124732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else # deplib is a libtool library
5125732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
5126732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # We need to do some special things here, and not later.
5127732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
5128732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case " $predeps $postdeps " in
5129732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *" $deplib "*)
5130732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if func_lalib_p "$lib"; then
5131732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  library_names=
5132732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  old_library=
5133732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_source "$lib"
5134732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  for l in $old_library $library_names; do
5135732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    ll="$l"
5136732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  done
5137732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  if test "X$ll" = "X$old_library" ; then # only static version available
5138732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    found=no
5139732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    func_dirname "$lib" "" "."
5140732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    ladir="$func_dirname_result"
5141732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    lib=$ladir/$old_library
5142732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    if test "$linkmode,$pass" = "prog,link"; then
5143732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      compile_deplibs="$deplib $compile_deplibs"
5144732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      finalize_deplibs="$deplib $finalize_deplibs"
5145732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    else
5146732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      deplibs="$deplib $deplibs"
5147732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
5148732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    fi
5149732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    continue
5150732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  fi
5151732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
5152732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
5153732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) ;;
5154732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5155732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5156732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5157732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;; # -l
5158732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*.ltframework)
5159732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$linkmode,$pass" = "prog,link"; then
5160732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    compile_deplibs="$deplib $compile_deplibs"
5161732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    finalize_deplibs="$deplib $finalize_deplibs"
5162732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
5163732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    deplibs="$deplib $deplibs"
5164732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$linkmode" = lib ; then
5165732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case "$new_inherited_linker_flags " in
5166732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    *" $deplib "*) ;;
5167732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
5168732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
5169732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5170732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5171732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
5172732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
5173732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-L*)
5174732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $linkmode in
5175732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  lib)
5176732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    deplibs="$deplib $deplibs"
5177732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test "$pass" = conv && continue
5178732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newdependency_libs="$deplib $newdependency_libs"
5179732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_stripname '-L' '' "$deplib"
5180732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newlib_search_path="$newlib_search_path $func_stripname_result"
5181732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
5182732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prog)
5183732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$pass" = conv; then
5184732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      deplibs="$deplib $deplibs"
5185732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      continue
5186732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5187732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$pass" = scan; then
5188732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      deplibs="$deplib $deplibs"
5189732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
5190732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      compile_deplibs="$deplib $compile_deplibs"
5191732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      finalize_deplibs="$deplib $finalize_deplibs"
5192732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5193732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_stripname '-L' '' "$deplib"
5194732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newlib_search_path="$newlib_search_path $func_stripname_result"
5195732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
5196732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *)
5197732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_warning "\`-L' is ignored for archives/objects"
5198732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
5199732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac # linkmode
5200732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
5201732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;; # -L
5202732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-R*)
5203732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$pass" = link; then
5204732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_stripname '-R' '' "$deplib"
5205732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dir=$func_stripname_result
5206732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Make sure the xrpath contains only unique directories.
5207732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case "$xrpath " in
5208732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *" $dir "*) ;;
5209732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *) xrpath="$xrpath $dir" ;;
5210732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
5211732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5212732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  deplibs="$deplib $deplibs"
5213732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
5214732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
5215732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*.la) lib="$deplib" ;;
5216732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*.$libext)
5217732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$pass" = conv; then
5218732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    deplibs="$deplib $deplibs"
5219732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    continue
5220732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5221732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $linkmode in
5222732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  lib)
5223732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Linking convenience modules into shared libraries is allowed,
5224732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # but linking other static libraries is non-portable.
5225732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case " $dlpreconveniencelibs " in
5226732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *" $deplib "*) ;;
5227732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *)
5228732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      valid_a_lib=no
5229732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $deplibs_check_method in
5230732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		match_pattern*)
5231732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  set dummy $deplibs_check_method; shift
5232732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
5233732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
5234732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    | $EGREP "$match_pattern_regex" > /dev/null; then
5235732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    valid_a_lib=yes
5236732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  fi
5237732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
5238732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		pass_all)
5239732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  valid_a_lib=yes
5240732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
5241732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5242732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "$valid_a_lib" != yes; then
5243732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO
5244732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
5245732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** I have the capability to make that library automatically link in when"
5246732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** you link to this library.  But I can only do this if you have a"
5247732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** shared version of the library, which you do not appear to have"
5248732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** because the file extensions .$libext of this argument makes me believe"
5249732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** that it is just a static archive that I should not use here."
5250732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
5251732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO
5252732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** Warning: Linking the shared library $output against the"
5253732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** static library $deplib is not portable!"
5254732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		deplibs="$deplib $deplibs"
5255732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
5256732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
5257732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
5258732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    continue
5259732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
5260732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  prog)
5261732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$pass" != link; then
5262732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      deplibs="$deplib $deplibs"
5263732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
5264732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      compile_deplibs="$deplib $compile_deplibs"
5265732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      finalize_deplibs="$deplib $finalize_deplibs"
5266732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5267732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    continue
5268732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
5269732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac # linkmode
5270732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;; # *.$libext
5271732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*.lo | *.$objext)
5272732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$pass" = conv; then
5273732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    deplibs="$deplib $deplibs"
5274732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  elif test "$linkmode" = prog; then
5275732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
5276732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # If there is no dlopen support or we're linking statically,
5277732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # we need to preload.
5278732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      newdlprefiles="$newdlprefiles $deplib"
5279732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      compile_deplibs="$deplib $compile_deplibs"
5280732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      finalize_deplibs="$deplib $finalize_deplibs"
5281732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
5282732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      newdlfiles="$newdlfiles $deplib"
5283732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5284732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5285732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
5286732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
5287732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	%DEPLIBS%)
5288732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  alldeplibs=yes
5289732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
5290732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
5291732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac # case $deplib
5292732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5293732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$found" = yes || test -f "$lib"; then :
5294732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
5295732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
5296732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
5297732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5298732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Check to see that this really is a libtool archive.
5299732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_lalib_unsafe_p "$lib" \
5300732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  || func_fatal_error "\`$lib' is not a valid libtool archive"
5301732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5302732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_dirname "$lib" "" "."
5303732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	ladir="$func_dirname_result"
5304732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5305732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dlname=
5306732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dlopen=
5307732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dlpreopen=
5308732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	libdir=
5309732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	library_names=
5310732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	old_library=
5311732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	inherited_linker_flags=
5312732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# If the library was installed with an old release of libtool,
5313732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# it will not redefine variables installed, or shouldnotlink
5314732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	installed=yes
5315732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	shouldnotlink=no
5316732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	avoidtemprpath=
5317732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5318732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5319732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Read the .la file
5320732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_source "$lib"
5321732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5322732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Convert "-framework foo" to "foo.ltframework"
5323732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$inherited_linker_flags"; then
5324732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
5325732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
5326732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case " $new_inherited_linker_flags " in
5327732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *" $tmp_inherited_linker_flag "*) ;;
5328732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
5329732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
5330732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
5331732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
5332732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
5333732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$linkmode,$pass" = "lib,link" ||
5334732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	   test "$linkmode,$pass" = "prog,scan" ||
5335732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
5336732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
5337732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
5338732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
5339732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5340732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$pass" = conv; then
5341732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Only check for convenience libraries
5342732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  deplibs="$lib $deplibs"
5343732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -z "$libdir"; then
5344732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -z "$old_library"; then
5345732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_fatal_error "cannot find name of link library for \`$lib'"
5346732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5347732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # It is a libtool convenience library, so add in its objects.
5348732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    convenience="$convenience $ladir/$objdir/$old_library"
5349732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
5350732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    tmp_libs=
5351732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for deplib in $dependency_libs; do
5352732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      deplibs="$deplib $deplibs"
5353732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if $opt_duplicate_deps ; then
5354732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case "$tmp_libs " in
5355732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
5356732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
5357732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
5358732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      tmp_libs="$tmp_libs $deplib"
5359732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
5360732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
5361732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "\`$lib' is not a convenience library"
5362732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5363732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
5364732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi # $pass = conv
5365732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5366732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5367732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Get the name of the library we link against.
5368732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	linklib=
5369732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for l in $old_library $library_names; do
5370732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  linklib="$l"
5371732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
5372732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -z "$linklib"; then
5373732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_error "cannot find name of link library for \`$lib'"
5374732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
5375732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5376732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# This library was specified with -dlopen.
5377732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$pass" = dlopen; then
5378732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -z "$libdir"; then
5379732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
5380732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5381732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -z "$dlname" ||
5382732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     test "$dlopen_support" != yes ||
5383732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     test "$build_libtool_libs" = no; then
5384732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # If there is no dlname, no dlopen support or we're linking
5385732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # statically, we need to preload.  We also need to preload any
5386732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # dependent libraries so libltdl's deplib preloader doesn't
5387732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # bomb out in the load deplibs phase.
5388732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dlprefiles="$dlprefiles $lib $dependency_libs"
5389732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
5390732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newdlfiles="$newdlfiles $lib"
5391732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5392732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
5393732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi # $pass = dlopen
5394732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5395732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# We need an absolute path.
5396732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $ladir in
5397732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
5398732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
5399732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  abs_ladir=`cd "$ladir" && pwd`
5400732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -z "$abs_ladir"; then
5401732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_warning "cannot determine absolute directory name of \`$ladir'"
5402732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_warning "passing it literally to the linker, although it might fail"
5403732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    abs_ladir="$ladir"
5404732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5405732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
5406732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
5407732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_basename "$lib"
5408732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	laname="$func_basename_result"
5409732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5410732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Find the relevant object directory and library name.
5411732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "X$installed" = Xyes; then
5412732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
5413732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_warning "library \`$lib' was moved."
5414732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dir="$ladir"
5415732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    absdir="$abs_ladir"
5416732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    libdir="$abs_ladir"
5417732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
5418732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dir="$libdir"
5419732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    absdir="$libdir"
5420732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5421732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
5422732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
5423732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
5424732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dir="$ladir"
5425732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    absdir="$abs_ladir"
5426732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Remove this search path later
5427732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    notinst_path="$notinst_path $abs_ladir"
5428732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
5429732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dir="$ladir/$objdir"
5430732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    absdir="$abs_ladir/$objdir"
5431732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Remove this search path later
5432732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    notinst_path="$notinst_path $abs_ladir"
5433732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5434732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi # $installed = yes
5435732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_stripname 'lib' '.la' "$laname"
5436732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	name=$func_stripname_result
5437732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5438732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# This library was specified with -dlpreopen.
5439732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$pass" = dlpreopen; then
5440732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -z "$libdir" && test "$linkmode" = prog; then
5441732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
5442732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5443732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Prefer using a static library (so that no silly _DYNAMIC symbols
5444732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # are required to link).
5445732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$old_library"; then
5446732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newdlprefiles="$newdlprefiles $dir/$old_library"
5447732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Keep a list of preopened convenience libraries to check
5448732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # that they are being used correctly in the link pass.
5449732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test -z "$libdir" && \
5450732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
5451732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Otherwise, use the dlname, so that lt_dlopen finds it.
5452732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  elif test -n "$dlname"; then
5453732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newdlprefiles="$newdlprefiles $dir/$dlname"
5454732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
5455732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newdlprefiles="$newdlprefiles $dir/$linklib"
5456732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5457732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi # $pass = dlpreopen
5458732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5459732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -z "$libdir"; then
5460732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Link the convenience library
5461732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$linkmode" = lib; then
5462732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    deplibs="$dir/$old_library $deplibs"
5463732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  elif test "$linkmode,$pass" = "prog,link"; then
5464732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    compile_deplibs="$dir/$old_library $compile_deplibs"
5465732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
5466732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
5467732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    deplibs="$lib $deplibs" # used for prog,scan pass
5468732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5469732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
5470732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
5471732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5472732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5473732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$linkmode" = prog && test "$pass" != link; then
5474732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  newlib_search_path="$newlib_search_path $ladir"
5475732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  deplibs="$lib $deplibs"
5476732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5477732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  linkalldeplibs=no
5478732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
5479732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     test "$build_libtool_libs" = no; then
5480732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    linkalldeplibs=yes
5481732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5482732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5483732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  tmp_libs=
5484732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for deplib in $dependency_libs; do
5485732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case $deplib in
5486732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    -L*) func_stripname '-L' '' "$deplib"
5487732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	         newlib_search_path="$newlib_search_path $func_stripname_result"
5488732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		 ;;
5489732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
5490732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Need to link against all dependency_libs?
5491732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$linkalldeplibs" = yes; then
5492732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      deplibs="$deplib $deplibs"
5493732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
5494732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Need to hardcode shared library paths
5495732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # or/and link against static libraries
5496732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      newdependency_libs="$deplib $newdependency_libs"
5497732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5498732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if $opt_duplicate_deps ; then
5499732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case "$tmp_libs " in
5500732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
5501732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5502732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5503732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    tmp_libs="$tmp_libs $deplib"
5504732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done # for deplib
5505732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  continue
5506732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi # $linkmode = prog...
5507732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5508732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$linkmode,$pass" = "prog,link"; then
5509732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$library_names" &&
5510732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     { { test "$prefer_static_libs" = no ||
5511732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
5512732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	       test -z "$old_library"; }; then
5513732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # We need to hardcode the library path
5514732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
5515732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Make sure the rpath contains only unique directories.
5516732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case "$temp_rpath:" in
5517732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *"$absdir:"*) ;;
5518732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) temp_rpath="$temp_rpath$absdir:" ;;
5519732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5520732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5521732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5522732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Hardcode the library path.
5523732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Skip directories that are in the system default run-time
5524732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # search path.
5525732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case " $sys_lib_dlsearch_path " in
5526732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *" $absdir "*) ;;
5527732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *)
5528732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case "$compile_rpath " in
5529732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *" $absdir "*) ;;
5530732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) compile_rpath="$compile_rpath $absdir"
5531732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5532732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
5533732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
5534732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case " $sys_lib_dlsearch_path " in
5535732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *" $libdir "*) ;;
5536732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *)
5537732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case "$finalize_rpath " in
5538732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *" $libdir "*) ;;
5539732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) finalize_rpath="$finalize_rpath $libdir"
5540732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5541732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
5542732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
5543732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi # $linkmode,$pass = prog,link...
5544732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5545732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$alldeplibs" = yes &&
5546732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     { test "$deplibs_check_method" = pass_all ||
5547732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	       { test "$build_libtool_libs" = yes &&
5548732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		 test -n "$library_names"; }; }; then
5549732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # We only need to search for static libraries
5550732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    continue
5551732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5552732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
5553732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5554732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	link_static=no # Whether the deplib will be linked statically
5555732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	use_static_libs=$prefer_static_libs
5556732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$use_static_libs" = built && test "$installed" = yes; then
5557732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  use_static_libs=no
5558732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
5559732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$library_names" &&
5560732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
5561732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $host in
5562732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *cygwin* | *mingw* | *cegcc*)
5563732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # No point in relinking DLLs because paths are not encoded
5564732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      notinst_deplibs="$notinst_deplibs $lib"
5565732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      need_relink=no
5566732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
5567732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *)
5568732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$installed" = no; then
5569732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      notinst_deplibs="$notinst_deplibs $lib"
5570732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      need_relink=yes
5571732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5572732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
5573732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
5574732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # This is a shared library
5575732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5576732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Warn about portability, can't link against -module's on some
5577732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # systems (darwin).  Don't bleat about dlopened modules though!
5578732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  dlopenmodule=""
5579732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for dlpremoduletest in $dlprefiles; do
5580732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "X$dlpremoduletest" = "X$lib"; then
5581732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      dlopenmodule="$dlpremoduletest"
5582732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      break
5583732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5584732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
5585732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
5586732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO
5587732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$linkmode" = prog; then
5588732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
5589732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
5590732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
5591732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5592732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** $linklib is not portable!"
5593732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5594732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$linkmode" = lib &&
5595732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     test "$hardcode_into_libs" = yes; then
5596732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Hardcode the library path.
5597732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Skip directories that are in the system default run-time
5598732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # search path.
5599732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case " $sys_lib_dlsearch_path " in
5600732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *" $absdir "*) ;;
5601732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *)
5602732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case "$compile_rpath " in
5603732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *" $absdir "*) ;;
5604732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) compile_rpath="$compile_rpath $absdir"
5605732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5606732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
5607732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
5608732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case " $sys_lib_dlsearch_path " in
5609732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *" $libdir "*) ;;
5610732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *)
5611732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case "$finalize_rpath " in
5612732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *" $libdir "*) ;;
5613732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) finalize_rpath="$finalize_rpath $libdir"
5614732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5615732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
5616732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
5617732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5618732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5619732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$old_archive_from_expsyms_cmds"; then
5620732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # figure out the soname
5621732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    set dummy $library_names
5622732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    shift
5623732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    realname="$1"
5624732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    shift
5625732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    libname=`eval "\\$ECHO \"$libname_spec\""`
5626732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # use dlname if we got it. it's perfectly good, no?
5627732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$dlname"; then
5628732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      soname="$dlname"
5629732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    elif test -n "$soname_spec"; then
5630732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # bleh windows
5631732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $host in
5632732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *cygwin* | mingw* | *cegcc*)
5633732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        func_arith $current - $age
5634732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		major=$func_arith_result
5635732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		versuffix="-$major"
5636732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
5637732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5638732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval soname=\"$soname_spec\"
5639732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
5640732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      soname="$realname"
5641732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5642732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5643732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Make a new name for the extract_expsyms_cmds to use
5644732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    soroot="$soname"
5645732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_basename "$soroot"
5646732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    soname="$func_basename_result"
5647732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_stripname 'lib' '.dll' "$soname"
5648732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newlib=libimp-$func_stripname_result.a
5649732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5650732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # If the library has no export list, then create one now
5651732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -f "$output_objdir/$soname-def"; then :
5652732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
5653732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_verbose "extracting exported symbol list from \`$soname'"
5654732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
5655732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5656732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5657732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Create $newlib
5658732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -f "$output_objdir/$newlib"; then :; else
5659732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_verbose "generating import library for \`$soname'"
5660732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
5661732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5662732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # make sure the library variables are pointing to the new library
5663732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dir=$output_objdir
5664732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    linklib=$newlib
5665732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi # test -n "$old_archive_from_expsyms_cmds"
5666732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5667732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$linkmode" = prog || test "$mode" != relink; then
5668732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    add_shlibpath=
5669732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    add_dir=
5670732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    add=
5671732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    lib_linked=yes
5672732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case $hardcode_action in
5673732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    immediate | unsupported)
5674732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "$hardcode_direct" = no; then
5675732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		add="$dir/$linklib"
5676732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case $host in
5677732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
5678732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
5679732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
5680732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    *-*-unixware7*) add_dir="-L$dir" ;;
5681732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  *-*-darwin* )
5682732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    # if the lib is a (non-dlopened) module then we can not
5683732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    # link against it, someone is ignoring the earlier warnings
5684732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    if /usr/bin/file -L $add 2> /dev/null |
5685732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			 $GREP ": [^:]* bundle" >/dev/null ; then
5686732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      if test "X$dlopenmodule" != "X$lib"; then
5687732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
5688732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			if test -z "$old_library" ; then
5689732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  $ECHO
5690732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  $ECHO "*** And there doesn't seem to be a static archive available"
5691732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  $ECHO "*** The link will probably fail, sorry"
5692732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			else
5693732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			  add="$dir/$old_library"
5694732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			fi
5695732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      elif test -n "$old_library"; then
5696732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			add="$dir/$old_library"
5697732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      fi
5698732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    fi
5699732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
5700732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      elif test "$hardcode_minus_L" = no; then
5701732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case $host in
5702732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*-*-sunos*) add_shlibpath="$dir" ;;
5703732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
5704732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		add_dir="-L$dir"
5705732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		add="-l$name"
5706732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      elif test "$hardcode_shlibpath_var" = no; then
5707732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		add_shlibpath="$dir"
5708732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		add="-l$name"
5709732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
5710732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		lib_linked=no
5711732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
5712732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
5713732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    relink)
5714732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "$hardcode_direct" = yes &&
5715732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	         test "$hardcode_direct_absolute" = no; then
5716732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		add="$dir/$linklib"
5717732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      elif test "$hardcode_minus_L" = yes; then
5718732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		add_dir="-L$dir"
5719732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# Try looking first in the location we're being installed to.
5720732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if test -n "$inst_prefix_dir"; then
5721732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  case $libdir in
5722732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    [\\/]*)
5723732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
5724732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      ;;
5725732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  esac
5726732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
5727732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		add="-l$name"
5728732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      elif test "$hardcode_shlibpath_var" = yes; then
5729732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		add_shlibpath="$dir"
5730732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		add="-l$name"
5731732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
5732732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		lib_linked=no
5733732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
5734732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
5735732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *) lib_linked=no ;;
5736732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
5737732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5738732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$lib_linked" != yes; then
5739732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_fatal_configuration "unsupported hardcode properties"
5740732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5741732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5742732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$add_shlibpath"; then
5743732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case :$compile_shlibpath: in
5744732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *":$add_shlibpath:"*) ;;
5745732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
5746732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5747732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5748732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$linkmode" = prog; then
5749732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
5750732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
5751732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
5752732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
5753732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test -n "$add" && deplibs="$add $deplibs"
5754732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "$hardcode_direct" != yes &&
5755732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		 test "$hardcode_minus_L" != yes &&
5756732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		 test "$hardcode_shlibpath_var" = yes; then
5757732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case :$finalize_shlibpath: in
5758732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*":$libdir:"*) ;;
5759732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
5760732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
5761732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
5762732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5763732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5764732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5765732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$linkmode" = prog || test "$mode" = relink; then
5766732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    add_shlibpath=
5767732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    add_dir=
5768732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    add=
5769732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Finalize command for both is simple: just hardcode it.
5770732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$hardcode_direct" = yes &&
5771732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	       test "$hardcode_direct_absolute" = no; then
5772732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      add="$libdir/$linklib"
5773732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    elif test "$hardcode_minus_L" = yes; then
5774732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      add_dir="-L$libdir"
5775732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      add="-l$name"
5776732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    elif test "$hardcode_shlibpath_var" = yes; then
5777732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case :$finalize_shlibpath: in
5778732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *":$libdir:"*) ;;
5779732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
5780732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5781732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      add="-l$name"
5782732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    elif test "$hardcode_automatic" = yes; then
5783732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test -n "$inst_prefix_dir" &&
5784732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
5785732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		add="$inst_prefix_dir$libdir/$linklib"
5786732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
5787732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		add="$libdir/$linklib"
5788732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
5789732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
5790732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # We cannot seem to hardcode it, guess we'll fake it.
5791732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      add_dir="-L$libdir"
5792732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Try looking first in the location we're being installed to.
5793732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test -n "$inst_prefix_dir"; then
5794732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case $libdir in
5795732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  [\\/]*)
5796732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
5797732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    ;;
5798732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
5799732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
5800732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      add="-l$name"
5801732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5802732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5803732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$linkmode" = prog; then
5804732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
5805732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
5806732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
5807732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
5808732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test -n "$add" && deplibs="$add $deplibs"
5809732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5810732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5811732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	elif test "$linkmode" = prog; then
5812732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Here we assume that one of hardcode_direct or hardcode_minus_L
5813732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # is not unsupported.  This is valid on all known static and
5814732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # shared platforms.
5815732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$hardcode_direct" != unsupported; then
5816732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test -n "$old_library" && linklib="$old_library"
5817732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    compile_deplibs="$dir/$linklib $compile_deplibs"
5818732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
5819732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
5820732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    compile_deplibs="-l$name -L$dir $compile_deplibs"
5821732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
5822732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5823732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	elif test "$build_libtool_libs" = yes; then
5824732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Not a shared library
5825732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$deplibs_check_method" != pass_all; then
5826732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # We're trying link a shared library against a static one
5827732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # but the system doesn't support it.
5828732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5829732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Just print a warning and add the library to dependency_libs so
5830732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # that the program can be linked against the static library.
5831732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO
5832732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
5833732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** I have the capability to make that library automatically link in when"
5834732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** you link to this library.  But I can only do this if you have a"
5835732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** shared version of the library, which you do not appear to have."
5836732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$module" = yes; then
5837732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** But as you try to build a module library, libtool will still create "
5838732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** a static module, that should work as long as the dlopening application"
5839732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
5840732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test -z "$global_symbol_pipe"; then
5841732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO
5842732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** However, this would only work if libtool was able to extract symbol"
5843732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
5844732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** not find such a program.  So, this module is probably useless."
5845732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
5846732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
5847732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "$build_old_libs" = no; then
5848732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		build_libtool_libs=module
5849732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		build_old_libs=yes
5850732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
5851732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		build_libtool_libs=no
5852732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
5853732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5854732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
5855732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    deplibs="$dir/$old_library $deplibs"
5856732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    link_static=yes
5857732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5858732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi # link shared/static library?
5859732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5860732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$linkmode" = lib; then
5861732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$dependency_libs" &&
5862732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     { test "$hardcode_into_libs" != yes ||
5863732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	       test "$build_old_libs" = yes ||
5864732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	       test "$link_static" = yes; }; then
5865732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Extract -R from dependency_libs
5866732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    temp_deplibs=
5867732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for libdir in $dependency_libs; do
5868732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $libdir in
5869732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      -R*) func_stripname '-R' '' "$libdir"
5870732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	           temp_xrpath=$func_stripname_result
5871732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		   case " $xrpath " in
5872732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		   *" $temp_xrpath "*) ;;
5873732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		   *) xrpath="$xrpath $temp_xrpath";;
5874732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		   esac;;
5875732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) temp_deplibs="$temp_deplibs $libdir";;
5876732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5877732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
5878732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dependency_libs="$temp_deplibs"
5879732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
5880732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5881732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  newlib_search_path="$newlib_search_path $absdir"
5882732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Link against this library
5883732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
5884732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # ... and its dependency_libs
5885732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  tmp_libs=
5886732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for deplib in $dependency_libs; do
5887732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newdependency_libs="$deplib $newdependency_libs"
5888732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if $opt_duplicate_deps ; then
5889732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case "$tmp_libs " in
5890732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
5891732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5892732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
5893732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    tmp_libs="$tmp_libs $deplib"
5894732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
5895732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5896732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$link_all_deplibs" != no; then
5897732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Add the search paths of all dependency libraries
5898732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for deplib in $dependency_libs; do
5899732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      path=
5900732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $deplib in
5901732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      -L*) path="$deplib" ;;
5902732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *.la)
5903732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        func_dirname "$deplib" "" "."
5904732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		dir="$func_dirname_result"
5905732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# We need an absolute path.
5906732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case $dir in
5907732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
5908732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*)
5909732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  absdir=`cd "$dir" && pwd`
5910732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  if test -z "$absdir"; then
5911732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    func_warning "cannot determine absolute directory name of \`$dir'"
5912732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    absdir="$dir"
5913732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  fi
5914732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  ;;
5915732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
5916732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if $GREP "^installed=no" $deplib > /dev/null; then
5917732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case $host in
5918732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*-*-darwin*)
5919732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  depdepl=
5920732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
5921732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  if test -n "$deplibrary_names" ; then
5922732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    for tmp in $deplibrary_names ; do
5923732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      depdepl=$tmp
5924732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    done
5925732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    if test -f "$absdir/$objdir/$depdepl" ; then
5926732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      depdepl="$absdir/$objdir/$depdepl"
5927732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
5928732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                      if test -z "$darwin_install_name"; then
5929732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
5930732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com                      fi
5931732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
5932732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
5933732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      path=
5934732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    fi
5935732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  fi
5936732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  ;;
5937732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*)
5938732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  path="-L$absdir/$objdir"
5939732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  ;;
5940732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
5941732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		else
5942732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
5943732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  test -z "$libdir" && \
5944732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    func_fatal_error "\`$deplib' is not a valid libtool archive"
5945732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  test "$absdir" != "$libdir" && \
5946732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    func_warning "\`$deplib' seems to be moved"
5947732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5948732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  path="-L$absdir"
5949732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
5950732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
5951732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5952732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case " $deplibs " in
5953732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *" $path "*) ;;
5954732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) deplibs="$path $deplibs" ;;
5955732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
5956732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
5957732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi # link_all_deplibs != no
5958732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi # linkmode = lib
5959732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done # for deplib in $libs
5960732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$pass" = link; then
5961732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$linkmode" = "prog"; then
5962732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
5963732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
5964732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
5965732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
5966732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
5967732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
5968732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      dependency_libs="$newdependency_libs"
5969732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$pass" = dlpreopen; then
5970732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Link the dlpreopened libraries before other libraries
5971732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for deplib in $save_deplibs; do
5972732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  deplibs="$deplib $deplibs"
5973732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
5974732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
5975732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$pass" != dlopen; then
5976732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$pass" != conv; then
5977732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Make sure lib_search_path contains only unique directories.
5978732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  lib_search_path=
5979732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for dir in $newlib_search_path; do
5980732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case "$lib_search_path " in
5981732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *" $dir "*) ;;
5982732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *) lib_search_path="$lib_search_path $dir" ;;
5983732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
5984732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
5985732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  newlib_search_path=
5986732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
5987732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
5988732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$linkmode,$pass" != "prog,link"; then
5989732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  vars="deplibs"
5990732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
5991732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  vars="compile_deplibs finalize_deplibs"
5992732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
5993732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for var in $vars dependency_libs; do
5994732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Add libraries to $var in reverse order
5995732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval tmp_libs=\"\$$var\"
5996732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  new_libs=
5997732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for deplib in $tmp_libs; do
5998732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # FIXME: Pedantically, this is the right thing to do, so
5999732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    #        that some nasty dependency loop isn't accidentally
6000732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    #        broken:
6001732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    #new_libs="$deplib $new_libs"
6002732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Pragmatically, this seems to cause very few problems in
6003732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # practice:
6004732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case $deplib in
6005732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    -L*) new_libs="$deplib $new_libs" ;;
6006732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    -R*) ;;
6007732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *)
6008732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # And here is the reason: when a library appears more
6009732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # than once as an explicit dependence of a library, or
6010732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # is implicitly linked in more than once by the
6011732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # compiler, it is considered special, and multiple
6012732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # occurrences thereof are not removed.  Compare this
6013732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # with having the same library being listed as a
6014732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # dependency of multiple other libraries: in this case,
6015732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # we know (pedantically, we assume) the library does not
6016732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # need to be listed more than once, so we keep only the
6017732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # last copy.  This is not always right, but it is rare
6018732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # enough that we require users that really mean to play
6019732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # such unportable linking tricks to link the library
6020732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # using -Wl,-lname, so that libtool does not consider it
6021732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # for duplicate removal.
6022732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case " $specialdeplibs " in
6023732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
6024732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *)
6025732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case " $new_libs " in
6026732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*" $deplib "*) ;;
6027732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*) new_libs="$deplib $new_libs" ;;
6028732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
6029732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
6030732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
6031732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
6032732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
6033732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
6034732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  tmp_libs=
6035732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for deplib in $new_libs; do
6036732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case $deplib in
6037732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    -L*)
6038732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case " $tmp_libs " in
6039732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *" $deplib "*) ;;
6040732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) tmp_libs="$tmp_libs $deplib" ;;
6041732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
6042732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
6043732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *) tmp_libs="$tmp_libs $deplib" ;;
6044732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
6045732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
6046732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval $var=\"$tmp_libs\"
6047732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done # for var
6048732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
6049732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Last step: remove runtime libs from dependency_libs
6050732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # (they stay in deplibs)
6051732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      tmp_libs=
6052732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for i in $dependency_libs ; do
6053732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case " $predeps $postdeps $compiler_lib_search_path " in
6054732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*" $i "*)
6055732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  i=""
6056732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6057732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
6058732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$i" ; then
6059732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  tmp_libs="$tmp_libs $i"
6060732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6061732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
6062732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      dependency_libs=$tmp_libs
6063732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    done # for pass
6064732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test "$linkmode" = prog; then
6065732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      dlfiles="$newdlfiles"
6066732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
6067732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    if test "$linkmode" = prog || test "$linkmode" = lib; then
6068732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      dlprefiles="$newdlprefiles"
6069732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    fi
6070732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6071732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $linkmode in
6072732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    oldlib)
6073732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
6074732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-dlopen' is ignored for archives"
6075732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
6076732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6077732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case " $deplibs" in
6078732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *\ -l* | *\ -L*)
6079732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-l' and \`-L' are ignored for archives" ;;
6080732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
6081732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6082732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -n "$rpath" && \
6083732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-rpath' is ignored for archives"
6084732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6085732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -n "$xrpath" && \
6086732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-R' is ignored for archives"
6087732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6088732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -n "$vinfo" && \
6089732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-version-info/-version-number' is ignored for archives"
6090732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6091732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -n "$release" && \
6092732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-release' is ignored for archives"
6093732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6094732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -n "$export_symbols$export_symbols_regex" && \
6095732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-export-symbols' is ignored for archives"
6096732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6097732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Now set the variables for building old libraries.
6098732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      build_libtool_libs=no
6099732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      oldlibs="$output"
6100732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      objs="$objs$old_deplibs"
6101732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      ;;
6102732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6103732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    lib)
6104732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Make sure we only generate libraries of the form `libNAME.la'.
6105732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $outputname in
6106732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      lib*)
6107732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_stripname 'lib' '.la' "$outputname"
6108732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	name=$func_stripname_result
6109732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval shared_ext=\"$shrext_cmds\"
6110732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval libname=\"$libname_spec\"
6111732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
6112732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
6113732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test "$module" = no && \
6114732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
6115732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6116732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$need_lib_prefix" != no; then
6117732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Add the "lib" prefix for modules if required
6118732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_stripname '' '.la' "$outputname"
6119732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  name=$func_stripname_result
6120732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval shared_ext=\"$shrext_cmds\"
6121732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval libname=\"$libname_spec\"
6122732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
6123732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_stripname '' '.la' "$outputname"
6124732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  libname=$func_stripname_result
6125732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6126732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
6127732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
6128732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6129732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$objs"; then
6130732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$deplibs_check_method" != pass_all; then
6131732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
6132732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
6133732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO
6134732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
6135732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO "*** objects $objs is not portable!"
6136732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  libobjs="$libobjs $objs"
6137732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6138732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
6139732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6140732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test "$dlself" != no && \
6141732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-dlopen self' is ignored for libtool libraries"
6142732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6143732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      set dummy $rpath
6144732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      shift
6145732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test "$#" -gt 1 && \
6146732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "ignoring multiple \`-rpath's for a libtool library"
6147732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6148732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      install_libdir="$1"
6149732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6150732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      oldlibs=
6151732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -z "$rpath"; then
6152732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$build_libtool_libs" = yes; then
6153732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Building a libtool convenience library.
6154732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Some compilers have problems with a `.al' extension so
6155732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # convenience libraries should have the same extension an
6156732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # archive normally would.
6157732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
6158732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  build_libtool_libs=convenience
6159732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  build_old_libs=yes
6160732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6161732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6162732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test -n "$vinfo" && \
6163732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
6164732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6165732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test -n "$release" && \
6166732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_warning "\`-release' is ignored for convenience libraries"
6167732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
6168732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6169732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Parse the version information argument.
6170732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	save_ifs="$IFS"; IFS=':'
6171732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	set dummy $vinfo 0 0 0
6172732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	shift
6173732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	IFS="$save_ifs"
6174732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6175732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test -n "$7" && \
6176732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_help "too many parameters to \`-version-info'"
6177732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6178732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# convert absolute version numbers to libtool ages
6179732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# this retains compatibility with .la files and attempts
6180732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# to make the code below a bit more comprehensible
6181732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6182732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $vinfo_number in
6183732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	yes)
6184732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  number_major="$1"
6185732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  number_minor="$2"
6186732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  number_revision="$3"
6187732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  #
6188732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # There are really only two kinds -- those that
6189732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # use the current revision as the major version
6190732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # and those that subtract age and use age as
6191732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # a minor version.  But, then there is irix
6192732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # which has an extra 1 added just for fun
6193732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  #
6194732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $version_type in
6195732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  darwin|linux|osf|windows|none)
6196732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_arith $number_major + $number_minor
6197732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    current=$func_arith_result
6198732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    age="$number_minor"
6199732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    revision="$number_revision"
6200732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6201732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  freebsd-aout|freebsd-elf|sunos)
6202732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    current="$number_major"
6203732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    revision="$number_minor"
6204732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    age="0"
6205732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6206732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  irix|nonstopux)
6207732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_arith $number_major + $number_minor
6208732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    current=$func_arith_result
6209732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    age="$number_minor"
6210732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    revision="$number_minor"
6211732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    lt_irix_increment=no
6212732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6213732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *)
6214732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_fatal_configuration "$modename: unknown library version type \`$version_type'"
6215732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6216732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
6217732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6218732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	no)
6219732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  current="$1"
6220732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  revision="$2"
6221732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  age="$3"
6222732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6223732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
6224732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6225732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Check that each of the things are valid numbers.
6226732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $current in
6227732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	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]) ;;
6228732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
6229732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_error "CURRENT \`$current' must be a nonnegative integer"
6230732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_error "\`$vinfo' is not valid version information"
6231732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6232732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
6233732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6234732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $revision in
6235732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	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]) ;;
6236732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
6237732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_error "REVISION \`$revision' must be a nonnegative integer"
6238732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_error "\`$vinfo' is not valid version information"
6239732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6240732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
6241732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6242732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $age in
6243732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	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]) ;;
6244732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
6245732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_error "AGE \`$age' must be a nonnegative integer"
6246732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_error "\`$vinfo' is not valid version information"
6247732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6248732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
6249732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6250732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$age" -gt "$current"; then
6251732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
6252732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_error "\`$vinfo' is not valid version information"
6253732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6254732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6255732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Calculate the version variables.
6256732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	major=
6257732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	versuffix=
6258732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	verstring=
6259732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $version_type in
6260732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	none) ;;
6261732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6262732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	darwin)
6263732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Like Linux, but with the current version available in
6264732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # verstring for coding it into the library header
6265732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_arith $current - $age
6266732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  major=.$func_arith_result
6267732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  versuffix="$major.$age.$revision"
6268732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Darwin ld doesn't like 0 for these options...
6269732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_arith $current + 1
6270732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  minor_current=$func_arith_result
6271732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
6272732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
6273732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6274732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6275732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	freebsd-aout)
6276732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  major=".$current"
6277732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  versuffix=".$current.$revision";
6278732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6279732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6280732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	freebsd-elf)
6281732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  major=".$current"
6282732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  versuffix=".$current"
6283732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6284732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6285732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	irix | nonstopux)
6286732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "X$lt_irix_increment" = "Xno"; then
6287732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_arith $current - $age
6288732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
6289732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_arith $current - $age + 1
6290732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
6291732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  major=$func_arith_result
6292732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6293732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $version_type in
6294732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    nonstopux) verstring_prefix=nonstopux ;;
6295732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *)         verstring_prefix=sgi ;;
6296732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
6297732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  verstring="$verstring_prefix$major.$revision"
6298732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6299732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Add in all the interfaces that we are compatible with.
6300732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  loop=$revision
6301732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  while test "$loop" -ne 0; do
6302732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_arith $revision - $loop
6303732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    iface=$func_arith_result
6304732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_arith $loop - 1
6305732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    loop=$func_arith_result
6306732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    verstring="$verstring_prefix$major.$iface:$verstring"
6307732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
6308732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6309732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Before this point, $major must not contain `.'.
6310732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  major=.$major
6311732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  versuffix="$major.$revision"
6312732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6313732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6314732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	linux)
6315732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_arith $current - $age
6316732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  major=.$func_arith_result
6317732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  versuffix="$major.$age.$revision"
6318732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6319732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6320732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	osf)
6321732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_arith $current - $age
6322732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  major=.$func_arith_result
6323732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  versuffix=".$current.$age.$revision"
6324732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  verstring="$current.$age.$revision"
6325732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6326732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Add in all the interfaces that we are compatible with.
6327732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  loop=$age
6328732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  while test "$loop" -ne 0; do
6329732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_arith $current - $loop
6330732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    iface=$func_arith_result
6331732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_arith $loop - 1
6332732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    loop=$func_arith_result
6333732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    verstring="$verstring:${iface}.0"
6334732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
6335732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6336732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Make executables depend on our current version.
6337732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  verstring="$verstring:${current}.0"
6338732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6339732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6340732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	qnx)
6341732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  major=".$current"
6342732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  versuffix=".$current"
6343732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6344732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6345732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	sunos)
6346732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  major=".$current"
6347732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  versuffix=".$current.$revision"
6348732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6349732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6350732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	windows)
6351732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Use '-' rather than '.', since we only want one
6352732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # extension on DOS 8.3 filesystems.
6353732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_arith $current - $age
6354732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  major=$func_arith_result
6355732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  versuffix="-$major"
6356732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6357732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6358732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
6359732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_configuration "unknown library version type \`$version_type'"
6360732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6361732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
6362732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6363732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Clear the version info if we defaulted, and they specified a release.
6364732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -z "$vinfo" && test -n "$release"; then
6365732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  major=
6366732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $version_type in
6367732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  darwin)
6368732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # we can't check for "0.0" in archive_cmds due to quoting
6369732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # problems, so we reset it completely
6370732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    verstring=
6371732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6372732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *)
6373732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    verstring="0.0"
6374732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6375732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
6376732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$need_version" = no; then
6377732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    versuffix=
6378732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
6379732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    versuffix=".0.0"
6380732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
6381732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6382732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6383732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Remove version info from name if versioning should be avoided
6384732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$avoid_version" = yes && test "$need_version" = no; then
6385732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  major=
6386732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  versuffix=
6387732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  verstring=""
6388732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6389732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6390732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Check to see if the archive will have undefined symbols.
6391732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$allow_undefined" = yes; then
6392732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$allow_undefined_flag" = unsupported; then
6393732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_warning "undefined symbols not allowed in $host shared libraries"
6394732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    build_libtool_libs=no
6395732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    build_old_libs=yes
6396732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
6397732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
6398732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Don't allow undefined symbols.
6399732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  allow_undefined_flag="$no_undefined_flag"
6400732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6401732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6402732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
6403732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6404732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_generate_dlsyms "$libname" "$libname" "yes"
6405732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      libobjs="$libobjs $symfileobj"
6406732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test "X$libobjs" = "X " && libobjs=
6407732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6408732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$mode" != relink; then
6409732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Remove our outputs, but don't remove object files since they
6410732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# may have been created when compiling PIC objects.
6411732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	removelist=
6412732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	tempremovelist=`$ECHO "$output_objdir/*"`
6413732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for p in $tempremovelist; do
6414732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $p in
6415732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *.$objext | *.gcno)
6416732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	       ;;
6417732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
6418732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	       if test "X$precious_files_regex" != "X"; then
6419732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
6420732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		 then
6421732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		   continue
6422732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		 fi
6423732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	       fi
6424732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	       removelist="$removelist $p"
6425732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	       ;;
6426732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *) ;;
6427732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
6428732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
6429732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test -n "$removelist" && \
6430732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_show_eval "${RM}r \$removelist"
6431732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
6432732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6433732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Now set the variables for building old libraries.
6434732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
6435732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	oldlibs="$oldlibs $output_objdir/$libname.$libext"
6436732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6437732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Transform .lo files to .o files.
6438732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
6439732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
6440732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6441732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Eliminate all temporary directories.
6442732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      #for path in $notinst_path; do
6443732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      #	lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
6444732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      #	deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
6445732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      #	dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
6446732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      #done
6447732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6448732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$xrpath"; then
6449732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# If the user specified any rpath flags, then add them.
6450732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	temp_xrpath=
6451732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for libdir in $xrpath; do
6452732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  temp_xrpath="$temp_xrpath -R$libdir"
6453732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case "$finalize_rpath " in
6454732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *" $libdir "*) ;;
6455732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) finalize_rpath="$finalize_rpath $libdir" ;;
6456732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
6457732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
6458732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
6459732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  dependency_libs="$temp_xrpath $dependency_libs"
6460732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6461732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
6462732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6463732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Make sure dlfiles contains only unique files that won't be dlpreopened
6464732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      old_dlfiles="$dlfiles"
6465732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      dlfiles=
6466732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for lib in $old_dlfiles; do
6467732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case " $dlprefiles $dlfiles " in
6468732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*" $lib "*) ;;
6469732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*) dlfiles="$dlfiles $lib" ;;
6470732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
6471732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
6472732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6473732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Make sure dlprefiles contains only unique files
6474732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      old_dlprefiles="$dlprefiles"
6475732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      dlprefiles=
6476732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for lib in $old_dlprefiles; do
6477732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case "$dlprefiles " in
6478732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*" $lib "*) ;;
6479732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*) dlprefiles="$dlprefiles $lib" ;;
6480732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
6481732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
6482732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6483732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$build_libtool_libs" = yes; then
6484732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$rpath"; then
6485732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $host in
6486732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
6487732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # these systems don't actually have a c library (as such)!
6488732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6489732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-rhapsody* | *-*-darwin1.[012])
6490732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Rhapsody C library is in the System framework
6491732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    deplibs="$deplibs System.ltframework"
6492732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6493732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-netbsd*)
6494732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Don't link with libc until the a.out ld.so is fixed.
6495732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6496732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
6497732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Do not include libc due to us having libc/libc_r.
6498732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6499732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-sco3.2v5* | *-*-sco5v6*)
6500732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Causes problems with __ctype
6501732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6502732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
6503732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Compiler inserts libc in the correct place for threads to work
6504732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6505732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *)
6506732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Add libc to deplibs on all other systems if necessary.
6507732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$build_libtool_need_lc" = "yes"; then
6508732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      deplibs="$deplibs -lc"
6509732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
6510732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
6511732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
6512732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6513732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6514732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Transform deplibs into only deplibs that can be linked in shared.
6515732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	name_save=$name
6516732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	libname_save=$libname
6517732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	release_save=$release
6518732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	versuffix_save=$versuffix
6519732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	major_save=$major
6520732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# I'm not sure if I'm treating the release correctly.  I think
6521732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# release should show up in the -l (ie -lgmp5) so we don't want to
6522732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# add it in twice.  Is that correct?
6523732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	release=""
6524732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	versuffix=""
6525732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	major=""
6526732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	newdeplibs=
6527732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	droppeddeps=no
6528732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $deplibs_check_method in
6529732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	pass_all)
6530732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Don't check for shared/static.  Everything works.
6531732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # This might be a little naive.  We might want to check
6532732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # whether the library exists or not.  But this is on
6533732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # osf3 & osf4 and I'm not really sure... Just
6534732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # implementing what was already the behavior.
6535732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  newdeplibs=$deplibs
6536732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6537732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test_compile)
6538732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # This code stresses the "libraries are programs" paradigm to its
6539732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # limits. Maybe even breaks it.  We compile a program, linking it
6540732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # against the deplibs as a proxy for the library.  Then we can check
6541732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # whether they linked in statically or dynamically with ldd.
6542732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_dry_run || $RM conftest.c
6543732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  cat > conftest.c <<EOF
6544732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  int main() { return 0; }
6545732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comEOF
6546732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_dry_run || $RM conftest
6547732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
6548732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ldd_output=`ldd conftest`
6549732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for i in $deplibs; do
6550732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $i in
6551732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      -l*)
6552732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_stripname -l '' "$i"
6553732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		name=$func_stripname_result
6554732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6555732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  case " $predeps $postdeps " in
6556732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  *" $i "*)
6557732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    newdeplibs="$newdeplibs $i"
6558732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    i=""
6559732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    ;;
6560732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  esac
6561732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
6562732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if test -n "$i" ; then
6563732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  libname=`eval "\\$ECHO \"$libname_spec\""`
6564732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
6565732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  set dummy $deplib_matches; shift
6566732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  deplib_match=$1
6567732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
6568732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    newdeplibs="$newdeplibs $i"
6569732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  else
6570732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    droppeddeps=yes
6571732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    $ECHO
6572732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
6573732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    $ECHO "*** I have the capability to make that library automatically link in when"
6574732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    $ECHO "*** you link to this library.  But I can only do this if you have a"
6575732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    $ECHO "*** shared version of the library, which I believe you do not have"
6576732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    $ECHO "*** because a test_compile did reveal that the linker did not use it for"
6577732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
6578732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  fi
6579732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
6580732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
6581732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *)
6582732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		newdeplibs="$newdeplibs $i"
6583732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
6584732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
6585732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
6586732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
6587732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Error occurred in the first compile.  Let's try to salvage
6588732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # the situation: Compile a separate program for each library.
6589732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for i in $deplibs; do
6590732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $i in
6591732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      -l*)
6592732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_stripname -l '' "$i"
6593732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		name=$func_stripname_result
6594732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$opt_dry_run || $RM conftest
6595732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
6596732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  ldd_output=`ldd conftest`
6597732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6598732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    case " $predeps $postdeps " in
6599732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    *" $i "*)
6600732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      newdeplibs="$newdeplibs $i"
6601732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      i=""
6602732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      ;;
6603732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    esac
6604732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  fi
6605732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  if test -n "$i" ; then
6606732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    libname=`eval "\\$ECHO \"$libname_spec\""`
6607732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
6608732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    set dummy $deplib_matches; shift
6609732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    deplib_match=$1
6610732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
6611732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      newdeplibs="$newdeplibs $i"
6612732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    else
6613732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      droppeddeps=yes
6614732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      $ECHO
6615732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
6616732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      $ECHO "*** I have the capability to make that library automatically link in when"
6617732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      $ECHO "*** you link to this library.  But I can only do this if you have a"
6618732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      $ECHO "*** shared version of the library, which you do not appear to have"
6619732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      $ECHO "*** because a test_compile did reveal that the linker did not use this one"
6620732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
6621732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    fi
6622732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  fi
6623732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		else
6624732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  droppeddeps=yes
6625732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  $ECHO
6626732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
6627732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  $ECHO "*** make it link in!  You will probably need to install it or some"
6628732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  $ECHO "*** library that it depends on before this library will be fully"
6629732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  $ECHO "*** functional.  Installing it before continuing would be even better."
6630732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
6631732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
6632732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *)
6633732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		newdeplibs="$newdeplibs $i"
6634732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
6635732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
6636732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
6637732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
6638732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6639732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	file_magic*)
6640732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  set dummy $deplibs_check_method; shift
6641732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
6642732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for a_deplib in $deplibs; do
6643732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case $a_deplib in
6644732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    -l*)
6645732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_stripname -l '' "$a_deplib"
6646732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      name=$func_stripname_result
6647732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6648732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case " $predeps $postdeps " in
6649732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*" $a_deplib "*)
6650732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  newdeplibs="$newdeplibs $a_deplib"
6651732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  a_deplib=""
6652732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  ;;
6653732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
6654732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
6655732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test -n "$a_deplib" ; then
6656732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		libname=`eval "\\$ECHO \"$libname_spec\""`
6657732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
6658732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
6659732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  for potent_lib in $potential_libs; do
6660732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      # Follow soft links.
6661732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      if ls -lLd "$potent_lib" 2>/dev/null |
6662732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			 $GREP " -> " >/dev/null; then
6663732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			continue
6664732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      fi
6665732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      # The statement above tries to avoid entering an
6666732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      # endless loop below, in case of cyclic links.
6667732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      # We might still enter an endless loop, since a link
6668732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      # loop can be closed while we follow links,
6669732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      # but so what?
6670732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      potlib="$potent_lib"
6671732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      while test -h "$potlib" 2>/dev/null; do
6672732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
6673732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			case $potliblink in
6674732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
6675732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
6676732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			esac
6677732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      done
6678732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
6679732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			 $SED -e 10q |
6680732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			 $EGREP "$file_magic_regex" > /dev/null; then
6681732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			newdeplibs="$newdeplibs $a_deplib"
6682732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			a_deplib=""
6683732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com			break 2
6684732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      fi
6685732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  done
6686732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		done
6687732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
6688732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test -n "$a_deplib" ; then
6689732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		droppeddeps=yes
6690732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO
6691732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
6692732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** I have the capability to make that library automatically link in when"
6693732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** you link to this library.  But I can only do this if you have a"
6694732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** shared version of the library, which you do not appear to have"
6695732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** because I did check the linker path looking for a file starting"
6696732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if test -z "$potlib" ; then
6697732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
6698732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		else
6699732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  $ECHO "*** with $libname and none of the candidates passed a file format test"
6700732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  $ECHO "*** using a file magic. Last file checked: $potlib"
6701732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
6702732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
6703732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
6704732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *)
6705732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Add a -L argument.
6706732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      newdeplibs="$newdeplibs $a_deplib"
6707732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
6708732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
6709732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done # Gone through all deplibs.
6710732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6711732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	match_pattern*)
6712732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  set dummy $deplibs_check_method; shift
6713732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
6714732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for a_deplib in $deplibs; do
6715732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case $a_deplib in
6716732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    -l*)
6717732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_stripname -l '' "$a_deplib"
6718732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      name=$func_stripname_result
6719732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6720732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case " $predeps $postdeps " in
6721732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*" $a_deplib "*)
6722732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  newdeplibs="$newdeplibs $a_deplib"
6723732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  a_deplib=""
6724732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  ;;
6725732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
6726732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
6727732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test -n "$a_deplib" ; then
6728732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		libname=`eval "\\$ECHO \"$libname_spec\""`
6729732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
6730732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
6731732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  for potent_lib in $potential_libs; do
6732732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    potlib="$potent_lib" # see symlink-check above in file_magic test
6733732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
6734732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		       $EGREP "$match_pattern_regex" > /dev/null; then
6735732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      newdeplibs="$newdeplibs $a_deplib"
6736732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      a_deplib=""
6737732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		      break 2
6738732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    fi
6739732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  done
6740732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		done
6741732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
6742732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test -n "$a_deplib" ; then
6743732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		droppeddeps=yes
6744732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO
6745732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
6746732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** I have the capability to make that library automatically link in when"
6747732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** you link to this library.  But I can only do this if you have a"
6748732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** shared version of the library, which you do not appear to have"
6749732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$ECHO "*** because I did check the linker path looking for a file starting"
6750732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if test -z "$potlib" ; then
6751732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
6752732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		else
6753732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  $ECHO "*** with $libname and none of the candidates passed a file format test"
6754732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
6755732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
6756732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
6757732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
6758732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *)
6759732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Add a -L argument.
6760732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      newdeplibs="$newdeplibs $a_deplib"
6761732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
6762732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
6763732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done # Gone through all deplibs.
6764732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6765732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	none | unknown | *)
6766732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  newdeplibs=""
6767732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
6768732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
6769732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6770732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for i in $predeps $postdeps ; do
6771732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # can't use Xsed below, because $i might contain '/'
6772732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
6773732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
6774732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
6775732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[	 ]//g' |
6776732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     $GREP . >/dev/null; then
6777732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO
6778732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "X$deplibs_check_method" = "Xnone"; then
6779732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
6780732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
6781732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
6782732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
6783732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** All declared inter-library dependencies are being dropped."
6784732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    droppeddeps=yes
6785732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
6786732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6787732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
6788732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	versuffix=$versuffix_save
6789732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	major=$major_save
6790732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	release=$release_save
6791732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	libname=$libname_save
6792732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	name=$name_save
6793732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6794732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $host in
6795732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*-*-rhapsody* | *-*-darwin1.[012])
6796732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # On Rhapsody replace the C library with the System framework
6797732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
6798732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6799732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
6800732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6801732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$droppeddeps" = yes; then
6802732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$module" = yes; then
6803732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO
6804732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
6805732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
6806732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** a static module, that should work as long as the dlopening"
6807732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** application is linked with the -dlopen flag."
6808732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -z "$global_symbol_pipe"; then
6809732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO
6810732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** However, this would only work if libtool was able to extract symbol"
6811732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
6812732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** not find such a program.  So, this module is probably useless."
6813732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
6814732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
6815732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$build_old_libs" = no; then
6816732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      oldlibs="$output_objdir/$libname.$libext"
6817732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      build_libtool_libs=module
6818732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      build_old_libs=yes
6819732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
6820732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      build_libtool_libs=no
6821732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
6822732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
6823732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** The inter-library dependencies that have been dropped here will be"
6824732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** automatically added whenever a program is linked with this library"
6825732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO "*** or is declared to -dlopen it."
6826732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6827732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$allow_undefined" = no; then
6828732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO
6829732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** Since this library must not contain undefined symbols,"
6830732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** because either the platform does not support them or"
6831732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** it was explicitly requested with -no-undefined,"
6832732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "*** libtool will only create a static version of it."
6833732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "$build_old_libs" = no; then
6834732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		oldlibs="$output_objdir/$libname.$libext"
6835732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		build_libtool_libs=module
6836732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		build_old_libs=yes
6837732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
6838732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		build_libtool_libs=no
6839732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
6840732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
6841732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
6842732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6843732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Done checking deplibs!
6844732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	deplibs=$newdeplibs
6845732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
6846732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
6847732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $host in
6848732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*-*-darwin*)
6849732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
6850732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
6851732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
6852732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6853732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
6854732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6855732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # move library search paths that coincide with paths to not yet
6856732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # installed libraries to the beginning of the library search list
6857732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      new_libs=
6858732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for path in $notinst_path; do
6859732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case " $new_libs " in
6860732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*" -L$path/$objdir "*) ;;
6861732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
6862732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case " $deplibs " in
6863732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *" -L$path/$objdir "*)
6864732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    new_libs="$new_libs -L$path/$objdir" ;;
6865732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
6866732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6867732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
6868732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
6869732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for deplib in $deplibs; do
6870732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $deplib in
6871732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-L*)
6872732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case " $new_libs " in
6873732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *" $deplib "*) ;;
6874732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) new_libs="$new_libs $deplib" ;;
6875732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
6876732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
6877732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*) new_libs="$new_libs $deplib" ;;
6878732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
6879732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
6880732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      deplibs="$new_libs"
6881732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6882732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # All the library-specific variables (install_libdir is set above).
6883732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      library_names=
6884732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      old_library=
6885732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      dlname=
6886732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
6887732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Test again, we may have decided not to build it any more
6888732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$build_libtool_libs" = yes; then
6889732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$hardcode_into_libs" = yes; then
6890732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Hardcode the library paths
6891732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  hardcode_libdirs=
6892732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  dep_rpath=
6893732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  rpath="$finalize_rpath"
6894732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test "$mode" != relink && rpath="$compile_rpath$rpath"
6895732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for libdir in $rpath; do
6896732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$hardcode_libdir_flag_spec"; then
6897732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test -n "$hardcode_libdir_separator"; then
6898732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if test -z "$hardcode_libdirs"; then
6899732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  hardcode_libdirs="$libdir"
6900732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		else
6901732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  # Just accumulate the unique libdirs.
6902732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
6903732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
6904732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    ;;
6905732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  *)
6906732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
6907732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    ;;
6908732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  esac
6909732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
6910732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
6911732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		eval flag=\"$hardcode_libdir_flag_spec\"
6912732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		dep_rpath="$dep_rpath $flag"
6913732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
6914732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    elif test -n "$runpath_var"; then
6915732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case "$perm_rpath " in
6916732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *" $libdir "*) ;;
6917732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) perm_rpath="$perm_rpath $libdir" ;;
6918732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
6919732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
6920732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
6921732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Substitute the hardcoded libdirs into the rpath.
6922732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$hardcode_libdir_separator" &&
6923732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     test -n "$hardcode_libdirs"; then
6924732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    libdir="$hardcode_libdirs"
6925732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$hardcode_libdir_flag_spec_ld"; then
6926732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
6927732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
6928732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
6929732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
6930732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
6931732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
6932732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # We should set the runpath_var.
6933732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    rpath=
6934732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for dir in $perm_rpath; do
6935732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      rpath="$rpath$dir:"
6936732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
6937732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
6938732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
6939732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
6940732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6941311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
6942732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	shlibpath="$finalize_shlibpath"
6943732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
6944732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$shlibpath"; then
6945732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
6946732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6947311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
6948732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Get the real and link names of the library.
6949732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval shared_ext=\"$shrext_cmds\"
6950732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval library_names=\"$library_names_spec\"
6951732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	set dummy $library_names
6952732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	shift
6953732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	realname="$1"
6954732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	shift
6955311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
6956732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$soname_spec"; then
6957732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval soname=\"$soname_spec\"
6958732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
6959732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  soname="$realname"
6960732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6961732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -z "$dlname"; then
6962732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  dlname=$soname
6963732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6964311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
6965732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	lib="$output_objdir/$realname"
6966732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	linknames=
6967732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for link
6968732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	do
6969732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  linknames="$linknames $link"
6970732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
6971311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
6972732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Use standard objects if they are pic
6973732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
6974732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test "X$libobjs" = "X " && libobjs=
6975311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
6976732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	delfiles=
6977732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$export_symbols" && test -n "$include_expsyms"; then
6978732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
6979732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  export_symbols="$output_objdir/$libname.uexp"
6980732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  delfiles="$delfiles $export_symbols"
6981732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
6982311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
6983732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	orig_export_symbols=
6984732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $host_os in
6985732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	cygwin* | mingw* | cegcc*)
6986732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
6987732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # exporting using user supplied symfile
6988732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
6989732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # and it's NOT already a .def file. Must figure out
6990732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # which of the given symbols are data symbols and tag
6991732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # them as such. So, trigger use of export_symbols_cmds.
6992732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # export_symbols gets reassigned inside the "prepare
6993732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # the list of exported symbols" if statement, so the
6994732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # include_expsyms logic still works.
6995732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      orig_export_symbols="$export_symbols"
6996732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      export_symbols=
6997732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      always_export_symbols=yes
6998732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
6999732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
7000732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
7001732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
7002311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7003732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Prepare the list of exported symbols
7004732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -z "$export_symbols"; then
7005732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
7006732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_verbose "generating symbol list for \`$libname.la'"
7007732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    export_symbols="$output_objdir/$libname.exp"
7008732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $opt_dry_run || $RM $export_symbols
7009732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cmds=$export_symbols_cmds
7010732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    save_ifs="$IFS"; IFS='~'
7011732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for cmd in $cmds; do
7012732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      IFS="$save_ifs"
7013732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval cmd=\"$cmd\"
7014732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_len " $cmd"
7015732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      len=$func_len_result
7016732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
7017732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_show_eval "$cmd" 'exit $?'
7018732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		skipped_export=false
7019732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
7020732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# The command line is too long to execute in one step.
7021732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_verbose "using reloadable object file for export list..."
7022732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		skipped_export=:
7023732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# Break out early, otherwise skipped_export may be
7024732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# set to false by a later but shorter cmd.
7025732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		break
7026732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
7027732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
7028732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    IFS="$save_ifs"
7029732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
7030732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
7031732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
7032732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
7033732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
7034311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
7035311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7036732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$export_symbols" && test -n "$include_expsyms"; then
7037732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  tmp_export_symbols="$export_symbols"
7038732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
7039732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
7040732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7041311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7042732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
7043732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # The given exports_symbols file has to be filtered, so filter it.
7044732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
7045732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
7046732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # 's' commands which not all seds can handle. GNU sed should be fine
7047732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # though. Also, the filter scales superlinearly with the number of
7048732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # global variables. join(1) would be nice here, but unfortunately
7049732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # isn't a blessed tool.
7050732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
7051732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
7052732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  export_symbols=$output_objdir/$libname.def
7053732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
7054732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7055311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7056732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	tmp_deplibs=
7057732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for test_deplib in $deplibs; do
7058732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case " $convenience " in
7059732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *" $test_deplib "*) ;;
7060732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *)
7061732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    tmp_deplibs="$tmp_deplibs $test_deplib"
7062732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
7063732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
7064732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
7065732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	deplibs="$tmp_deplibs"
7066311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7067732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$convenience"; then
7068732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$whole_archive_flag_spec" &&
7069732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test "$compiler_needs_object" = yes &&
7070732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test -z "$libobjs"; then
7071732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # extract the archives, so we have objects to list.
7072732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # TODO: could optimize this to just extract one archive.
7073732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    whole_archive_flag_spec=
7074732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
7075732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$whole_archive_flag_spec"; then
7076732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    save_libobjs=$libobjs
7077732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
7078732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test "X$libobjs" = "X " && libobjs=
7079732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
7080732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    gentop="$output_objdir/${outputname}x"
7081732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    generated="$generated $gentop"
7082311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7083732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_extract_archives $gentop $convenience
7084732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    libobjs="$libobjs $func_extract_archives_result"
7085732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test "X$libobjs" = "X " && libobjs=
7086732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
7087311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
7088311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7089732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
7090732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval flag=\"$thread_safe_flag_spec\"
7091732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  linker_flags="$linker_flags $flag"
7092311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
7093311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7094732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Make a backup of the uninstalled library when relinking
7095732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$mode" = relink; then
7096732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
7097732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7098311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7099732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Do each of the archive commands.
7100732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$module" = yes && test -n "$module_cmds" ; then
7101732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
7102732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval test_cmds=\"$module_expsym_cmds\"
7103732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cmds=$module_expsym_cmds
7104732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
7105732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval test_cmds=\"$module_cmds\"
7106732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cmds=$module_cmds
7107732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
7108311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	else
7109732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
7110732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval test_cmds=\"$archive_expsym_cmds\"
7111732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cmds=$archive_expsym_cmds
7112732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
7113732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval test_cmds=\"$archive_cmds\"
7114732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cmds=$archive_cmds
7115732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
7116311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
7117311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7118732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "X$skipped_export" != "X:" &&
7119732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	   func_len " $test_cmds" &&
7120732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	   len=$func_len_result &&
7121732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
7122732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  :
7123732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
7124732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # The command line is too long to link in one step, link piecewise
7125732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # or, if using GNU ld and skipped_export is not :, use a linker
7126732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # script.
7127311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7128732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Save the value of $output and $libobjs because we want to
7129732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # use them later.  If we have whole_archive_flag_spec, we
7130732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # want to use save_libobjs as it was before
7131732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # whole_archive_flag_spec was expanded, because we can't
7132732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # assume the linker understands whole_archive_flag_spec.
7133732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # This may have to be revisited, in case too many
7134732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # convenience libraries get linked in and end up exceeding
7135732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # the spec.
7136732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
7137732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    save_libobjs=$libobjs
7138732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
7139732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  save_output=$output
7140732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
7141311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7142732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Clear the reloadable object creation command queue and
7143732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # initialize k to one.
7144732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test_cmds=
7145732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  concat_cmds=
7146732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  objlist=
7147732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  last_robj=
7148732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  k=1
7149732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7150732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
7151732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    output=${output_objdir}/${output_la}.lnkscript
7152732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_verbose "creating GNU ld script: $output"
7153732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO 'INPUT (' > $output
7154732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for obj in $save_libobjs
7155311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    do
7156732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "$obj" >> $output
7157732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
7158732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO ')' >> $output
7159732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    delfiles="$delfiles $output"
7160732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
7161732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    output=${output_objdir}/${output_la}.lnk
7162732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_verbose "creating linker input file list: $output"
7163732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    : > $output
7164732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    set x $save_libobjs
7165732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    shift
7166732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    firstobj=
7167732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$compiler_needs_object" = yes; then
7168732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      firstobj="$1 "
7169732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      shift
7170732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
7171732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for obj
7172732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    do
7173732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "$obj" >> $output
7174732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
7175732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    delfiles="$delfiles $output"
7176732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    output=$firstobj\"$file_list_spec$output\"
7177732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
7178732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$save_libobjs"; then
7179732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_verbose "creating reloadable object files..."
7180732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      output=$output_objdir/$output_la-${k}.$objext
7181732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval test_cmds=\"$reload_cmds\"
7182732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_len " $test_cmds"
7183732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      len0=$func_len_result
7184732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      len=$len0
7185732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7186732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Loop over the list of objects to be linked.
7187732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      for obj in $save_libobjs
7188732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      do
7189732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_len " $obj"
7190732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_arith $len + $func_len_result
7191732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		len=$func_arith_result
7192732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if test "X$objlist" = X ||
7193732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		   test "$len" -lt "$max_cmd_len"; then
7194732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_append objlist " $obj"
7195732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		else
7196732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  # The command $test_cmds is almost too long, add a
7197732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  # command to the queue.
7198732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  if test "$k" -eq 1 ; then
7199732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    # The first file doesn't have a previous command to add.
7200732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
7201732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  else
7202732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    # All subsequent reloadable object files will link in
7203732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    # the last one created.
7204732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
7205732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  fi
7206732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  last_robj=$output_objdir/$output_la-${k}.$objext
7207732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_arith $k + 1
7208732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  k=$func_arith_result
7209732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  output=$output_objdir/$output_la-${k}.$objext
7210732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  objlist=$obj
7211732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_len " $last_robj"
7212732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_arith $len0 + $func_len_result
7213732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  len=$func_arith_result
7214732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
7215732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      done
7216732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Handle the remaining objects by creating one last
7217732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # reloadable object file.  All subsequent reloadable object
7218732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # files will link in the last one created.
7219732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
7220732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
7221732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test -n "$last_robj"; then
7222732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
7223732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
7224732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      delfiles="$delfiles $output"
7225311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7226732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
7227732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      output=
7228732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
7229311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7230732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if ${skipped_export-false}; then
7231732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_verbose "generating symbol list for \`$libname.la'"
7232732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      export_symbols="$output_objdir/$libname.exp"
7233732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $opt_dry_run || $RM $export_symbols
7234732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      libobjs=$output
7235732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Append the command to create the export file.
7236732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
7237732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
7238732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test -n "$last_robj"; then
7239732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
7240732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
7241311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    fi
7242311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7243732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test -n "$save_libobjs" &&
7244732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_verbose "creating a temporary reloadable object file: $output"
7245311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7246732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Loop through the commands generated above and execute them.
7247732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    save_ifs="$IFS"; IFS='~'
7248732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for cmd in $concat_cmds; do
7249732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      IFS="$save_ifs"
7250732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $opt_silent || {
7251732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_quote_for_expand "$cmd"
7252732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  eval "func_echo $func_quote_for_expand_result"
7253732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      }
7254732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $opt_dry_run || eval "$cmd" || {
7255732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		lt_exit=$?
7256732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7257732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# Restore the uninstalled library and exit
7258732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		if test "$mode" = relink; then
7259732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  ( cd "$output_objdir" && \
7260732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    $RM "${realname}T" && \
7261732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		    $MV "${realname}U" "$realname" )
7262732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		fi
7263311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7264732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		exit $lt_exit
7265732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      }
7266732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
7267732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    IFS="$save_ifs"
7268311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7269732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
7270732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
7271732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
7272311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    fi
7273311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
7274311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7275732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          if ${skipped_export-false}; then
7276732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
7277732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      tmp_export_symbols="$export_symbols"
7278732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
7279732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
7280732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
7281311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7282732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$orig_export_symbols"; then
7283732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # The given exports_symbols file has to be filtered, so filter it.
7284732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
7285732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
7286732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # 's' commands which not all seds can handle. GNU sed should be fine
7287732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # though. Also, the filter scales superlinearly with the number of
7288732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # global variables. join(1) would be nice here, but unfortunately
7289732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # isn't a blessed tool.
7290732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
7291732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
7292732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      export_symbols=$output_objdir/$libname.def
7293732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
7294732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
7295732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
7296311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7297732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  libobjs=$output
7298732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Restore the value of output.
7299732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  output=$save_output
7300311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7301732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
7302732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
7303732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test "X$libobjs" = "X " && libobjs=
7304732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
7305732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Expand the library linking commands again to reset the
7306732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # value of $libobjs for piecewise linking.
7307311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7308732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Do each of the archive commands.
7309732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$module" = yes && test -n "$module_cmds" ; then
7310732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
7311732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      cmds=$module_expsym_cmds
7312732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
7313732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      cmds=$module_cmds
7314311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    fi
7315311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  else
7316732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
7317732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      cmds=$archive_expsym_cmds
7318732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
7319732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      cmds=$archive_cmds
7320732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
7321311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
7322732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7323311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7324732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$delfiles"; then
7325732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Append the command to remove temporary files to $cmds.
7326732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval cmds=\"\$cmds~\$RM $delfiles\"
7327732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7328311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7329732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Add any objects from preloaded convenience libraries
7330732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$dlprefiles"; then
7331732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  gentop="$output_objdir/${outputname}x"
7332732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  generated="$generated $gentop"
7333311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7334732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_extract_archives $gentop $dlprefiles
7335732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  libobjs="$libobjs $func_extract_archives_result"
7336732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  test "X$libobjs" = "X " && libobjs=
7337732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7338311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7339732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	save_ifs="$IFS"; IFS='~'
7340732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for cmd in $cmds; do
7341732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  IFS="$save_ifs"
7342732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval cmd=\"$cmd\"
7343732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_silent || {
7344732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_quote_for_expand "$cmd"
7345732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval "func_echo $func_quote_for_expand_result"
7346732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  }
7347732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_dry_run || eval "$cmd" || {
7348732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    lt_exit=$?
7349311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7350732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Restore the uninstalled library and exit
7351732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$mode" = relink; then
7352732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ( cd "$output_objdir" && \
7353732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        $RM "${realname}T" && \
7354732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$MV "${realname}U" "$realname" )
7355732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
7356311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7357732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    exit $lt_exit
7358732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  }
7359732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
7360732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	IFS="$save_ifs"
7361311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7362732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Restore the uninstalled library and exit
7363732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$mode" = relink; then
7364732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
7365311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7366732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$convenience"; then
7367732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -z "$whole_archive_flag_spec"; then
7368732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_show_eval '${RM}r "$gentop"'
7369732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
7370732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
7371311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7372732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  exit $EXIT_SUCCESS
7373732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7374732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7375732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Create links to the real library.
7376732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for linkname in $linknames; do
7377732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$realname" != "$linkname"; then
7378732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
7379311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
7380311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	done
7381311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7382732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# If -module or -export-dynamic was specified, set the dlname.
7383732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$module" = yes || test "$export_dynamic" = yes; then
7384732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # On all known operating systems, these are identical.
7385732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  dlname="$soname"
7386732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7387732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7388311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      ;;
7389311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7390732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    obj)
7391732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
7392732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-dlopen' is ignored for objects"
7393732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7394311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7395732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case " $deplibs" in
7396732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *\ -l* | *\ -L*)
7397732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-l' and \`-L' are ignored for objects" ;;
7398311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      esac
7399311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7400732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -n "$rpath" && \
7401732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-rpath' is ignored for objects"
7402732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7403732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -n "$xrpath" && \
7404732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-R' is ignored for objects"
7405311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7406732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -n "$vinfo" && \
7407732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-version-info' is ignored for objects"
7408311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7409732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -n "$release" && \
7410732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-release' is ignored for objects"
7411732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7412732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $output in
7413732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *.lo)
7414732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	test -n "$objs$old_deplibs" && \
7415732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
7416732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7417732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	libobj=$output
7418732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_lo2o "$libobj"
7419732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	obj=$func_lo2o_result
7420311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
7421311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      *)
7422732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	libobj=
7423732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	obj="$output"
7424311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
7425311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      esac
7426311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7427732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Delete the old objects.
7428732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $opt_dry_run || $RM $obj $libobj
7429311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7430732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Objects from convenience libraries.  This assumes
7431732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # single-version convenience libraries.  Whenever we create
7432732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # different ones for PIC/non-PIC, this we'll have to duplicate
7433732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # the extraction.
7434732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      reload_conv_objs=
7435732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      gentop=
7436732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # reload_cmds runs $LD directly, so let us get rid of
7437732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # -Wl from whole_archive_flag_spec and hope we can get by with
7438732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # turning comma into space..
7439732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      wl=
7440311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7441732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$convenience"; then
7442732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$whole_archive_flag_spec"; then
7443732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
7444732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
7445732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
7446732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  gentop="$output_objdir/${obj}x"
7447732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  generated="$generated $gentop"
7448311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7449732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_extract_archives $gentop $convenience
7450732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  reload_conv_objs="$reload_objs $func_extract_archives_result"
7451732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7452311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
7453311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7454732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Create the old-style object.
7455732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      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
7456311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7457732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      output="$obj"
7458732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_execute_cmds "$reload_cmds" 'exit $?'
7459311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7460732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Exit if we aren't doing a library object file.
7461732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -z "$libobj"; then
7462732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$gentop"; then
7463732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_show_eval '${RM}r "$gentop"'
7464732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7465732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7466732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	exit $EXIT_SUCCESS
7467311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
7468732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7469732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$build_libtool_libs" != yes; then
7470732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$gentop"; then
7471732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_show_eval '${RM}r "$gentop"'
7472732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7473732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7474732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Create an invalid libtool object if no PIC, so that we don't
7475732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# accidentally link it into a program.
7476732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# $show "echo timestamp > $libobj"
7477732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
7478732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	exit $EXIT_SUCCESS
7479732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7480732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7481732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$pic_flag" || test "$pic_mode" != default; then
7482732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Only do commands if we really have different PIC objects.
7483732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	reload_objs="$libobjs $reload_conv_objs"
7484732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	output="$libobj"
7485732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_execute_cmds "$reload_cmds" 'exit $?'
7486732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7487732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7488732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$gentop"; then
7489732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_show_eval '${RM}r "$gentop"'
7490732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7491732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7492732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      exit $EXIT_SUCCESS
7493311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      ;;
7494311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7495732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    prog)
7496732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $host in
7497732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*cygwin*) func_stripname '' '.exe' "$output"
7498732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	          output=$func_stripname_result.exe;;
7499732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
7500732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -n "$vinfo" && \
7501732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-version-info' is ignored for programs"
7502311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7503732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test -n "$release" && \
7504732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`-release' is ignored for programs"
7505311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7506732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test "$preload" = yes \
7507732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        && test "$dlopen_support" = unknown \
7508732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	&& test "$dlopen_self" = unknown \
7509732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	&& test "$dlopen_self_static" = unknown && \
7510732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
7511732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7512732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $host in
7513732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *-*-rhapsody* | *-*-darwin1.[012])
7514732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# On Rhapsody replace the C library is the System framework
7515732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
7516732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
7517311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
7518732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
7519311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7520732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $host in
7521732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *-*-darwin*)
7522732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Don't allow lazy linking, it breaks C++ global constructors
7523732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# But is supposedly fixed on 10.4 or later (yay!).
7524732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$tagname" = CXX ; then
7525732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
7526732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    10.[0123])
7527732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      compile_command="$compile_command ${wl}-bind_at_load"
7528732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      finalize_command="$finalize_command ${wl}-bind_at_load"
7529732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    ;;
7530732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
7531311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
7532732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
7533732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
7534732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
7535732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	;;
7536732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
7537311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7538311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7539732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # move library search paths that coincide with paths to not yet
7540732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # installed libraries to the beginning of the library search list
7541732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      new_libs=
7542732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for path in $notinst_path; do
7543732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case " $new_libs " in
7544732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*" -L$path/$objdir "*) ;;
7545732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*)
7546732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case " $compile_deplibs " in
7547732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *" -L$path/$objdir "*)
7548732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    new_libs="$new_libs -L$path/$objdir" ;;
7549311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  esac
7550732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
7551732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
7552732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
7553732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for deplib in $compile_deplibs; do
7554732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $deplib in
7555732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	-L*)
7556732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case " $new_libs " in
7557732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *" $deplib "*) ;;
7558732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) new_libs="$new_libs $deplib" ;;
7559311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  esac
7560732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
7561732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*) new_libs="$new_libs $deplib" ;;
7562732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
7563732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
7564732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      compile_deplibs="$new_libs"
7565311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7566311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7567732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      compile_command="$compile_command $compile_deplibs"
7568732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      finalize_command="$finalize_command $finalize_deplibs"
7569311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7570732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$rpath$xrpath"; then
7571732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# If the user specified any rpath flags, then add them.
7572732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for libdir in $rpath $xrpath; do
7573732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # This is the magic to use -rpath.
7574732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case "$finalize_rpath " in
7575732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *" $libdir "*) ;;
7576732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) finalize_rpath="$finalize_rpath $libdir" ;;
7577732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
7578732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
7579732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7580311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7581732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Now hardcode the library paths
7582732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      rpath=
7583732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      hardcode_libdirs=
7584732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for libdir in $compile_rpath $finalize_rpath; do
7585732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$hardcode_libdir_flag_spec"; then
7586732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$hardcode_libdir_separator"; then
7587732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -z "$hardcode_libdirs"; then
7588732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      hardcode_libdirs="$libdir"
7589732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
7590732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Just accumulate the unique libdirs.
7591732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
7592732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
7593732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
7594732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *)
7595732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
7596732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
7597732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
7598732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
7599311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  else
7600732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval flag=\"$hardcode_libdir_flag_spec\"
7601732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    rpath="$rpath $flag"
7602311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
7603732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	elif test -n "$runpath_var"; then
7604732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case "$perm_rpath " in
7605732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *" $libdir "*) ;;
7606732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) perm_rpath="$perm_rpath $libdir" ;;
7607732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
7608732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7609732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $host in
7610732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
7611732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
7612732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case :$dllsearchpath: in
7613732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *":$libdir:"*) ;;
7614732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ::) dllsearchpath=$libdir;;
7615732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) dllsearchpath="$dllsearchpath:$libdir";;
7616732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
7617732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case :$dllsearchpath: in
7618732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *":$testbindir:"*) ;;
7619732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ::) dllsearchpath=$testbindir;;
7620732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) dllsearchpath="$dllsearchpath:$testbindir";;
7621732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
7622732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
7623732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
7624732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
7625732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Substitute the hardcoded libdirs into the rpath.
7626732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$hardcode_libdir_separator" &&
7627732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	 test -n "$hardcode_libdirs"; then
7628732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	libdir="$hardcode_libdirs"
7629732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval rpath=\" $hardcode_libdir_flag_spec\"
7630732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7631732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      compile_rpath="$rpath"
7632311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7633732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      rpath=
7634732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      hardcode_libdirs=
7635732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for libdir in $finalize_rpath; do
7636732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$hardcode_libdir_flag_spec"; then
7637732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$hardcode_libdir_separator"; then
7638732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -z "$hardcode_libdirs"; then
7639732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      hardcode_libdirs="$libdir"
7640732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
7641732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # Just accumulate the unique libdirs.
7642732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
7643732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
7644732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
7645732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *)
7646732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
7647732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
7648732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
7649732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
7650311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  else
7651732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval flag=\"$hardcode_libdir_flag_spec\"
7652732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    rpath="$rpath $flag"
7653311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
7654732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	elif test -n "$runpath_var"; then
7655732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case "$finalize_perm_rpath " in
7656732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *" $libdir "*) ;;
7657732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
7658732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
7659311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
7660732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
7661732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Substitute the hardcoded libdirs into the rpath.
7662732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$hardcode_libdir_separator" &&
7663732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	 test -n "$hardcode_libdirs"; then
7664732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	libdir="$hardcode_libdirs"
7665732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval rpath=\" $hardcode_libdir_flag_spec\"
7666732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7667732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      finalize_rpath="$rpath"
7668311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7669732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$libobjs" && test "$build_old_libs" = yes; then
7670732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Transform all the library objects into standard objects.
7671732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
7672732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
7673732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7674311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7675732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
7676311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7677732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # template prelinking step
7678732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$prelink_cmds"; then
7679732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_execute_cmds "$prelink_cmds" 'exit $?'
7680732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7681311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7682732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      wrappers_required=yes
7683732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      case $host in
7684732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *cygwin* | *mingw* )
7685732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        if test "$build_libtool_libs" != yes; then
7686732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          wrappers_required=no
7687732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        fi
7688732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
7689732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *cegcc)
7690732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        # Disable wrappers for cegcc, we are cross compiling anyway.
7691732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        wrappers_required=no
7692732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
7693732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      *)
7694732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
7695732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com          wrappers_required=no
7696732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        fi
7697732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com        ;;
7698732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      esac
7699732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$wrappers_required" = no; then
7700732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Replace the output file specification.
7701732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
7702732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	link_command="$compile_command$compile_rpath"
7703311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7704732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# We have no uninstalled library dependencies, so finalize right now.
7705732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	exit_status=0
7706732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_show_eval "$link_command" 'exit_status=$?'
7707311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7708732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Delete the generated files.
7709732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -f "$output_objdir/${outputname}S.${objext}"; then
7710732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
7711311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
7712311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7713732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	exit $exit_status
7714732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7715311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7716732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$compile_shlibpath$finalize_shlibpath"; then
7717732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
7718732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7719732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$finalize_shlibpath"; then
7720732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
7721732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7722311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7723732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      compile_var=
7724732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      finalize_var=
7725732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$runpath_var"; then
7726732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$perm_rpath"; then
7727732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # We should set the runpath_var.
7728732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  rpath=
7729732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for dir in $perm_rpath; do
7730732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    rpath="$rpath$dir:"
7731732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
7732732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
7733311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
7734732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$finalize_perm_rpath"; then
7735732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # We should set the runpath_var.
7736732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  rpath=
7737732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for dir in $finalize_perm_rpath; do
7738732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    rpath="$rpath$dir:"
7739732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
7740732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
7741311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
7742732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7743311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7744732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$no_install" = yes; then
7745732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# We don't need to create a wrapper script.
7746732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	link_command="$compile_var$compile_command$compile_rpath"
7747732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Replace the output file specification.
7748732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
7749732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Delete the old output file.
7750732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	$opt_dry_run || $RM $output
7751732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Link the executable and exit
7752732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_show_eval "$link_command" 'exit $?'
7753311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	exit $EXIT_SUCCESS
7754732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7755311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7756732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$hardcode_action" = relink; then
7757732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Fast installation is not supported
7758732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	link_command="$compile_var$compile_command$compile_rpath"
7759732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	relink_command="$finalize_var$finalize_command$finalize_rpath"
7760732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7761732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "this platform does not like uninstalled shared libraries"
7762732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_warning "\`$output' will be relinked during installation"
7763732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
7764732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$fast_install" != no; then
7765732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  link_command="$finalize_var$compile_command$finalize_rpath"
7766732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$fast_install" = yes; then
7767732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
7768732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
7769732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # fast_install is set to needless
7770732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    relink_command=
7771732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
7772311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	else
7773732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  link_command="$compile_var$compile_command$compile_rpath"
7774732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  relink_command="$finalize_var$finalize_command$finalize_rpath"
7775311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
7776732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7777311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7778732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Replace the output file specification.
7779732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
7780311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7781732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Delete the old output files.
7782732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
7783311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7784732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_show_eval "$link_command" 'exit $?'
7785311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7786732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Now create the wrapper script.
7787732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_verbose "creating $output"
7788311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7789732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Quote the relink command for shipping.
7790732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$relink_command"; then
7791732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Preserve any variables that may affect compiler behavior
7792732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for var in $variables_saved_for_relink; do
7793732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if eval test -z \"\${$var+set}\"; then
7794732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
7795732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  elif eval var_value=\$$var; test -z "$var_value"; then
7796732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    relink_command="$var=; export $var; $relink_command"
7797311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  else
7798732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_quote_for_eval "$var_value"
7799732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
7800311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
7801732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
7802732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	relink_command="(cd `pwd`; $relink_command)"
7803732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
7804732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7805311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7806732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Quote $ECHO for shipping.
7807732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
7808732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $progpath in
7809732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
7810732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
7811732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
7812732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
7813732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
7814732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
7815732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7816732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7817732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Only actually do things if not in dry run mode.
7818732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $opt_dry_run || {
7819732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# win32 will think the script is a binary if it has
7820732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# a .exe suffix, so we strip it off here.
7821732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $output in
7822732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *.exe) func_stripname '' '.exe' "$output"
7823732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	         output=$func_stripname_result ;;
7824732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
7825732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# test for cygwin because mv fails w/o .exe extensions
7826732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $host in
7827732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *cygwin*)
7828732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    exeext=.exe
7829732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_stripname '' '.exe' "$outputname"
7830732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    outputname=$func_stripname_result ;;
7831732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *) exeext= ;;
7832311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	esac
7833732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	case $host in
7834732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  *cygwin* | *mingw* )
7835732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_dirname_and_basename "$output" "" "."
7836732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    output_name=$func_basename_result
7837732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    output_path=$func_dirname_result
7838732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
7839732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    cwrapper="$output_path/$output_name.exe"
7840732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $RM $cwrappersource $cwrapper
7841732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
7842732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7843732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_emit_cwrapperexe_src > $cwrappersource
7844732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
7845732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # The wrapper executable is built using the $host compiler,
7846732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # because it contains $host paths and files. If cross-
7847732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # compiling, it, like the target executable, must be
7848732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # executed on the $host or under an emulation environment.
7849732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $opt_dry_run || {
7850732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
7851732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $STRIP $cwrapper
7852732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    }
7853311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7854732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Now, create the wrapper script for func_source use:
7855732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_ltwrapper_scriptname $cwrapper
7856732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $RM $func_ltwrapper_scriptname_result
7857732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
7858732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $opt_dry_run || {
7859732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # note: this script will not be executed, so do not chmod.
7860732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "x$build" = "x$host" ; then
7861732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
7862732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      else
7863732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_emit_wrapper no > $func_ltwrapper_scriptname_result
7864732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
7865732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    }
7866732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
7867732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  * )
7868732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $RM $output
7869732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
7870311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7871732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_emit_wrapper no > $output
7872732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    chmod +x $output
7873732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  ;;
7874732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	esac
7875732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      }
7876732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      exit $EXIT_SUCCESS
7877732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      ;;
7878732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
7879311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7880732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # See if we need to build an old-fashioned archive.
7881732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    for oldlib in $oldlibs; do
7882311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7883732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$build_libtool_libs" = convenience; then
7884732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	oldobjs="$libobjs_save $symfileobj"
7885732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	addlibs="$convenience"
7886732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	build_libtool_libs=no
7887732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
7888732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$build_libtool_libs" = module; then
7889732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  oldobjs="$libobjs_save"
7890732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  build_libtool_libs=no
7891732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
7892732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  oldobjs="$old_deplibs $non_pic_objects"
7893732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$preload" = yes && test -f "$symfileobj"; then
7894732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    oldobjs="$oldobjs $symfileobj"
7895732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
7896732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7897732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	addlibs="$old_convenience"
7898311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
7899311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7900732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$addlibs"; then
7901732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	gentop="$output_objdir/${outputname}x"
7902732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	generated="$generated $gentop"
7903311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7904732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_extract_archives $gentop $addlibs
7905732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	oldobjs="$oldobjs $func_extract_archives_result"
7906732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
7907311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7908732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Do each command in the archive commands.
7909732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
7910732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	cmds=$old_archive_from_new_cmds
7911732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      else
7912311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7913732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# Add any objects from preloaded convenience libraries
7914732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test -n "$dlprefiles"; then
7915732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  gentop="$output_objdir/${outputname}x"
7916732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  generated="$generated $gentop"
7917311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7918732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_extract_archives $gentop $dlprefiles
7919732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  oldobjs="$oldobjs $func_extract_archives_result"
7920732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
7921311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7922732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# POSIX demands no paths to be encoded in archives.  We have
7923732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# to avoid creating archives with duplicate basenames if we
7924732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# might have to extract them afterwards, e.g., when creating a
7925732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# static archive out of a convenience library, or when linking
7926732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# the entirety of a libtool archive into another (currently
7927732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	# not supported by libtool).
7928732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if (for obj in $oldobjs
7929732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    do
7930732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_basename "$obj"
7931732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      $ECHO "$func_basename_result"
7932732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done | sort | sort -uc >/dev/null 2>&1); then
7933732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  :
7934732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
7935732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO "copying selected object files to avoid basename conflicts..."
7936732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  gentop="$output_objdir/${outputname}x"
7937732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  generated="$generated $gentop"
7938732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_mkdir_p "$gentop"
7939732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  save_oldobjs=$oldobjs
7940732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  oldobjs=
7941732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  counter=1
7942732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for obj in $save_oldobjs
7943732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  do
7944732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_basename "$obj"
7945732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    objbase="$func_basename_result"
7946732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    case " $oldobjs " in
7947732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    " ") oldobjs=$obj ;;
7948732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *[\ /]"$objbase "*)
7949732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      while :; do
7950732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# Make sure we don't pick an alternate name that also
7951732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# overlaps.
7952732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		newobj=lt$counter-$objbase
7953732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_arith $counter + 1
7954732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		counter=$func_arith_result
7955732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		case " $oldobjs " in
7956732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*[\ /]"$newobj "*) ;;
7957732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
7958732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		esac
7959732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      done
7960732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
7961732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      oldobjs="$oldobjs $gentop/$newobj"
7962732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      ;;
7963732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *) oldobjs="$oldobjs $obj" ;;
7964732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    esac
7965311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  done
7966311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
7967732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	eval cmds=\"$old_archive_cmds\"
7968311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
7969732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_len " $cmds"
7970732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	len=$func_len_result
7971732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
7972732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  cmds=$old_archive_cmds
7973732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	else
7974732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # the command line is too long to link in one step, link in parts
7975732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_verbose "using piecewise archive linking..."
7976732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  save_RANLIB=$RANLIB
7977732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  RANLIB=:
7978732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  objlist=
7979732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  concat_cmds=
7980732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  save_oldobjs=$oldobjs
7981732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  oldobjs=
7982732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # Is there a better way of finding the last object in the list?
7983732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for obj in $save_oldobjs
7984732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  do
7985732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    last_oldobj=$obj
7986732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
7987732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  eval test_cmds=\"$old_archive_cmds\"
7988732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_len " $test_cmds"
7989732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  len0=$func_len_result
7990732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  len=$len0
7991732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  for obj in $save_oldobjs
7992732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  do
7993732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_len " $obj"
7994732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_arith $len + $func_len_result
7995732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    len=$func_arith_result
7996732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_append objlist " $obj"
7997732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test "$len" -lt "$max_cmd_len"; then
7998732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      :
7999732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
8000732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      # the above command should be used before it gets too long
8001732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      oldobjs=$objlist
8002732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      if test "$obj" = "$last_oldobj" ; then
8003732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		RANLIB=$save_RANLIB
8004732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      fi
8005732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
8006732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
8007732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      objlist=
8008732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      len=$len0
8009732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
8010732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  done
8011732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  RANLIB=$save_RANLIB
8012732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  oldobjs=$objlist
8013732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "X$oldobjs" = "X" ; then
8014732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval cmds=\"\$concat_cmds\"
8015732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
8016732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
8017732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
8018732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	fi
8019732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
8020732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_execute_cmds "$cmds" 'exit $?'
8021311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    done
8022311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8023732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test -n "$generated" && \
8024732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_show_eval "${RM}r$generated"
8025311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8026732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    # Now create the libtool archive.
8027732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    case $output in
8028732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    *.la)
8029732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      old_library=
8030732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      test "$build_old_libs" = yes && old_library="$libname.$libext"
8031732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_verbose "creating $output"
8032311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8033732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Preserve any variables that may affect compiler behavior
8034732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      for var in $variables_saved_for_relink; do
8035732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if eval test -z \"\${$var+set}\"; then
8036732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
8037732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	elif eval var_value=\$$var; test -z "$var_value"; then
8038732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  relink_command="$var=; export $var; $relink_command"
8039311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	else
8040732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_quote_for_eval "$var_value"
8041732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
8042311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
8043732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      done
8044732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Quote the link command for shipping.
8045732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
8046732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
8047732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "$hardcode_automatic" = yes ; then
8048732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	relink_command=
8049732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      fi
8050311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8051732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Only create the output if not a dry run.
8052732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      $opt_dry_run || {
8053732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	for installed in no yes; do
8054732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$installed" = yes; then
8055732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if test -z "$install_libdir"; then
8056732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      break
8057732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
8058732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    output="$output_objdir/$outputname"i
8059732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    # Replace all uninstalled libtool libraries with the installed ones
8060732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newdependency_libs=
8061732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for deplib in $dependency_libs; do
8062732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $deplib in
8063732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *.la)
8064732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_basename "$deplib"
8065732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		name="$func_basename_result"
8066732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
8067732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		test -z "$libdir" && \
8068732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_fatal_error "\`$deplib' is not a valid libtool archive"
8069732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		newdependency_libs="$newdependency_libs $libdir/$name"
8070732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
8071732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) newdependency_libs="$newdependency_libs $deplib" ;;
8072732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
8073732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
8074732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dependency_libs="$newdependency_libs"
8075732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newdlfiles=
8076732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
8077732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for lib in $dlfiles; do
8078732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $lib in
8079732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *.la)
8080732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	        func_basename "$lib"
8081732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		name="$func_basename_result"
8082732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
8083732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		test -z "$libdir" && \
8084732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_fatal_error "\`$lib' is not a valid libtool archive"
8085732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		newdlfiles="$newdlfiles $libdir/$name"
8086732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
8087732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *) newdlfiles="$newdlfiles $lib" ;;
8088732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
8089732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
8090732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dlfiles="$newdlfiles"
8091732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newdlprefiles=
8092732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for lib in $dlprefiles; do
8093732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $lib in
8094732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      *.la)
8095732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# Only pass preopened files to the pseudo-archive (for
8096732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# eventual linking with the app. that links it) if we
8097732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# didn't already link the preopened objects directly into
8098732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		# the library:
8099732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		func_basename "$lib"
8100732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		name="$func_basename_result"
8101732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
8102732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		test -z "$libdir" && \
8103732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		  func_fatal_error "\`$lib' is not a valid libtool archive"
8104732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		newdlprefiles="$newdlprefiles $libdir/$name"
8105732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		;;
8106732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
8107732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
8108732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dlprefiles="$newdlprefiles"
8109732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  else
8110732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newdlfiles=
8111732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for lib in $dlfiles; do
8112732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $lib in
8113732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
8114732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*) abs=`pwd`"/$lib" ;;
8115732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
8116732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      newdlfiles="$newdlfiles $abs"
8117732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
8118732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dlfiles="$newdlfiles"
8119732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    newdlprefiles=
8120732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    for lib in $dlprefiles; do
8121732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      case $lib in
8122732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
8123732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com		*) abs=`pwd`"/$lib" ;;
8124732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      esac
8125732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      newdlprefiles="$newdlprefiles $abs"
8126732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    done
8127732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    dlprefiles="$newdlprefiles"
8128732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
8129732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $RM $output
8130732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  # place dlname in correct position for cygwin
8131732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  tdlname=$dlname
8132732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  case $host,$output,$installed,$module,$dlname in
8133732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
8134732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  esac
8135732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  $ECHO > $output "\
8136732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# $outputname - a libtool library file
8137732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
8138732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com#
8139732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Please DO NOT delete this file!
8140732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# It is necessary for linking the library.
8141311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8142732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# The name that we can dlopen(3).
8143732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comdlname='$tdlname'
8144311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8145732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Names of this library.
8146732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlibrary_names='$library_names'
8147311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8148732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# The name of the static archive.
8149732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comold_library='$old_library'
8150311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8151732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Linker flags that can not go in dependency_libs.
8152732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.cominherited_linker_flags='$new_inherited_linker_flags'
8153311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8154732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Libraries that this one depends upon.
8155732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comdependency_libs='$dependency_libs'
8156311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8157732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Names of additional weak libraries provided by this library
8158732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comweak_library_names='$weak_libs'
8159311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8160732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Version information for $libname.
8161732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comcurrent=$current
8162732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comage=$age
8163732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comrevision=$revision
8164311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8165732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Is this an already installed library?
8166732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.cominstalled=$installed
8167311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8168732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Should we warn about portability when linking against -modules?
8169732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comshouldnotlink=$module
8170311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8171732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Files to dlopen/dlpreopen
8172732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comdlopen='$dlfiles'
8173732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comdlpreopen='$dlprefiles'
8174311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8175732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# Directory that this library needs to be installed in:
8176732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comlibdir='$install_libdir'"
8177732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test "$installed" = no && test "$need_relink" = yes; then
8178732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    $ECHO >> $output "\
8179732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comrelink_command=\"$relink_command\""
8180732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  fi
8181732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	done
8182732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      }
8183311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8184732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # Do a symbolic link so that the libtool archive can be found in
8185732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      # LD_LIBRARY_PATH before the program is installed.
8186732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
8187732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      ;;
8188732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    esac
8189732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    exit $EXIT_SUCCESS
8190732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
8191311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8192732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{ test "$mode" = link || test "$mode" = relink; } &&
8193732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_mode_link ${1+"$@"}
8194311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8195311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8196732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# func_mode_uninstall arg...
8197732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comfunc_mode_uninstall ()
8198732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{
8199732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    $opt_debug
8200732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    RM="$nonopt"
8201311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    files=
8202311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    rmforce=
8203311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    exit_status=0
8204311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8205311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # This variable tells wrapper scripts just to set variables rather
8206311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # than running their programs.
8207311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    libtool_install_magic="$magic"
8208311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8209311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    for arg
8210311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    do
8211311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      case $arg in
8212732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -f) RM="$RM $arg"; rmforce=yes ;;
8213732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      -*) RM="$RM $arg" ;;
8214311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      *) files="$files $arg" ;;
8215311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      esac
8216311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    done
8217311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8218732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    test -z "$RM" && \
8219732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_fatal_help "you must specify an RM program"
8220311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8221311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    rmdirs=
8222311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8223311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    origobjdir="$objdir"
8224311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    for file in $files; do
8225732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_dirname "$file" "" "."
8226732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      dir="$func_dirname_result"
8227732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if test "X$dir" = X.; then
8228311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	objdir="$origobjdir"
8229311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      else
8230311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	objdir="$dir/$origobjdir"
8231311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
8232732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_basename "$file"
8233732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      name="$func_basename_result"
8234311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      test "$mode" = uninstall && objdir="$dir"
8235311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8236311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # Remember objdir for removal later, being careful to avoid duplicates
8237311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test "$mode" = clean; then
8238311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	case " $rmdirs " in
8239311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  *" $objdir "*) ;;
8240311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  *) rmdirs="$rmdirs $objdir" ;;
8241311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	esac
8242311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
8243311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8244311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      # Don't error if the file doesn't exist and rm -f was used.
8245732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      if { test -L "$file"; } >/dev/null 2>&1 ||
8246732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	 { test -h "$file"; } >/dev/null 2>&1 ||
8247732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	 test -f "$file"; then
8248311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	:
8249311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      elif test -d "$file"; then
8250311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	exit_status=1
8251311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	continue
8252311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      elif test "$rmforce" = yes; then
8253311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	continue
8254311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
8255311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8256311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      rmfiles="$file"
8257311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8258311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      case $name in
8259311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      *.la)
8260311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	# Possibly a libtool archive, so verify it.
8261732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if func_lalib_p "$file"; then
8262732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_source $dir/$name
8263311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8264311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  # Delete the libtool libraries and symlinks.
8265311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  for n in $library_names; do
8266311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    rmfiles="$rmfiles $objdir/$n"
8267311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  done
8268311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
8269311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8270311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  case "$mode" in
8271311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  clean)
8272311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    case "  $library_names " in
8273311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    # "  " in the beginning catches empty $dlname
8274311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    *" $dlname "*) ;;
8275311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
8276311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    esac
8277732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
8278311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    ;;
8279311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  uninstall)
8280311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    if test -n "$library_names"; then
8281311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	      # Do each command in the postuninstall commands.
8282732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
8283311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    fi
8284311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8285311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    if test -n "$old_library"; then
8286311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	      # Do each command in the old_postuninstall commands.
8287732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
8288311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    fi
8289311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    # FIXME: should reinstall the best remaining shared library.
8290311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    ;;
8291311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  esac
8292311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
8293311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
8294311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8295311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      *.lo)
8296311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	# Possibly a libtool object, so verify it.
8297732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	if func_lalib_p "$file"; then
8298311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8299311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  # Read the .lo file
8300732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  func_source $dir/$name
8301311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8302311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  # Add PIC object to the list of files to remove.
8303732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$pic_object" &&
8304732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     test "$pic_object" != none; then
8305311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    rmfiles="$rmfiles $dir/$pic_object"
8306311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
8307311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8308311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  # Add non-PIC object to the list of files to remove.
8309732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if test -n "$non_pic_object" &&
8310732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	     test "$non_pic_object" != none; then
8311311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    rmfiles="$rmfiles $dir/$non_pic_object"
8312311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
8313311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
8314311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
8315311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8316311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      *)
8317311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	if test "$mode" = clean ; then
8318311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  noexename=$name
8319311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  case $file in
8320311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  *.exe)
8321732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_stripname '' '.exe' "$file"
8322732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    file=$func_stripname_result
8323732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    func_stripname '' '.exe' "$name"
8324732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    noexename=$func_stripname_result
8325311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    # $file with .exe has already been added to rmfiles,
8326311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    # add $file without .exe
8327311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    rmfiles="$rmfiles $file"
8328311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    ;;
8329311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  esac
8330311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  # Do a test to see if this is a libtool program.
8331732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	  if func_ltwrapper_p "$file"; then
8332732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    if func_ltwrapper_executable_p "$file"; then
8333732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_ltwrapper_scriptname "$file"
8334732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      relink_command=
8335732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_source $func_ltwrapper_scriptname_result
8336732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
8337732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    else
8338732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      relink_command=
8339732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	      func_source $dir/$noexename
8340732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	    fi
8341311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8342311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    # note $name still contains .exe if it was in $file originally
8343311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    # as does the version of $file that was added into $rmfiles
8344311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
8345311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    if test "$fast_install" = yes && test -n "$relink_command"; then
8346311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	      rmfiles="$rmfiles $objdir/lt-$name"
8347311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    fi
8348311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    if test "X$noexename" != "X$name" ; then
8349311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
8350311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	    fi
8351311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	  fi
8352311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	fi
8353311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff	;;
8354311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      esac
8355732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com      func_show_eval "$RM $rmfiles" 'exit_status=1'
8356311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    done
8357311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    objdir="$origobjdir"
8358311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8359311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    # Try to remove the ${objdir}s in the directories where we deleted files
8360311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    for dir in $rmdirs; do
8361311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      if test -d "$dir"; then
8362732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com	func_show_eval "rmdir $dir >/dev/null 2>&1"
8363311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff      fi
8364311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    done
8365311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8366311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff    exit $exit_status
8367732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
8368311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8369732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com{ test "$mode" = uninstall || test "$mode" = clean; } &&
8370732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com    func_mode_uninstall ${1+"$@"}
8371311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8372732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comtest -z "$mode" && {
8373732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  help="$generic_help"
8374732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  func_fatal_help "you must specify a MODE"
8375732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com}
8376732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
8377732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comtest -z "$exec_cmd" && \
8378732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  func_fatal_help "invalid operation mode \`$mode'"
8379311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8380311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiffif test -n "$exec_cmd"; then
8381732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com  eval exec "$exec_cmd"
8382311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff  exit $EXIT_FAILURE
8383311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdifffi
8384311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8385732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.comexit $exit_status
8386311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8387311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8388311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# The TAGs below are defined such that we never get into a situation
8389311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# in which we disable both kinds of libraries.  Given conflicting
8390311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# choices, we go for a static library, that is the most portable,
8391311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# since we can't tell whether shared libraries were disabled because
8392311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# the user asked for that or because the platform doesn't support
8393311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# them.  This is particularly important on AIX, because we don't
8394311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# support having both static and shared libraries enabled at the same
8395311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# time on that platform, so we default to a shared-only configuration.
8396311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# If a disable-shared tag is given, we'll fallback to a static-only
8397311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# configuration.  But we'll never go from static-only to shared-only.
8398311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8399311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
8400732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.combuild_libtool_libs=no
8401732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.combuild_old_libs=yes
8402311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# ### END LIBTOOL TAG CONFIG: disable-shared
8403311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8404311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# ### BEGIN LIBTOOL TAG CONFIG: disable-static
8405732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.combuild_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
8406311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# ### END LIBTOOL TAG CONFIG: disable-static
8407311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff
8408311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# Local Variables:
8409311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# mode:shell-script
8410311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# sh-indentation:2
8411311c71486f5f6074e5ba62a7f4c5397c8700b868openvcdiff# End:
8412732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com# vi:sw=2
8413732fff248e662ec47aa27c124632f406f27b6c8dopenvcdiff@gmail.com
8414