Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: third_party/sqlite/sqlite-src-3080704/autoconf/ltmain.sh

Issue 883353008: [sql] Import reference version of SQLite 3.8.7.4. (Closed) Base URL: http://chromium.googlesource.com/chromium/src.git@master
Patch Set: Hold back encoding change which is messing up patch. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Generated from ltmain.m4sh.
2 1
3 # ltmain.sh (GNU libtool) 2.2.6 2 # libtool (GNU libtool) 2.4.2
4 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 3 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
5 4
6 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc. 5 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
6 # 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
7 # This is free software; see the source for copying conditions. There is NO 7 # This is free software; see the source for copying conditions. There is NO
8 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 8 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9 9
10 # GNU Libtool is free software; you can redistribute it and/or modify 10 # GNU Libtool is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by 11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 2 of the License, or 12 # the Free Software Foundation; either version 2 of the License, or
13 # (at your option) any later version. 13 # (at your option) any later version.
14 # 14 #
15 # As a special exception to the GNU General Public License, 15 # As a special exception to the GNU General Public License,
16 # if you distribute this file as part of a program or library that 16 # if you distribute this file as part of a program or library that
17 # is built using GNU Libtool, you may include this file under the 17 # is built using GNU Libtool, you may include this file under the
18 # same distribution terms that you use for the rest of that program. 18 # same distribution terms that you use for the rest of that program.
19 # 19 #
20 # GNU Libtool is distributed in the hope that it will be useful, but 20 # GNU Libtool is distributed in the hope that it will be useful, but
21 # WITHOUT ANY WARRANTY; without even the implied warranty of 21 # WITHOUT ANY WARRANTY; without even the implied warranty of
22 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 # General Public License for more details. 23 # General Public License for more details.
24 # 24 #
25 # You should have received a copy of the GNU General Public License 25 # You should have received a copy of the GNU General Public License
26 # along with GNU Libtool; see the file COPYING. If not, a copy 26 # along with GNU Libtool; see the file COPYING. If not, a copy
27 # can be downloaded from http://www.gnu.org/licenses/gpl.html, 27 # can be downloaded from http://www.gnu.org/licenses/gpl.html,
28 # or obtained by writing to the Free Software Foundation, Inc., 28 # or obtained by writing to the Free Software Foundation, Inc.,
29 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 29 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
30 30
31 # Usage: $progname [OPTION]... [MODE-ARG]... 31 # Usage: $progname [OPTION]... [MODE-ARG]...
32 # 32 #
33 # Provide generalized library-building support services. 33 # Provide generalized library-building support services.
34 # 34 #
35 # --config show all configuration variables 35 # --config show all configuration variables
36 # --debug enable verbose shell tracing 36 # --debug enable verbose shell tracing
37 # -n, --dry-run display commands without modifying any files 37 # -n, --dry-run display commands without modifying any files
38 # --features display basic configuration information and exit 38 # --features display basic configuration information and exit
39 # --mode=MODE use operation mode MODE 39 # --mode=MODE use operation mode MODE
40 # --preserve-dup-deps don't remove duplicate dependency libraries 40 # --preserve-dup-deps don't remove duplicate dependency libraries
41 # --quiet, --silent don't print informational messages 41 # --quiet, --silent don't print informational messages
42 # --tag=TAG use configuration variables from tag TAG 42 # --no-quiet, --no-silent
43 # -v, --verbose print informational messages (default) 43 # print informational messages (default)
44 # --version print version information 44 # --no-warn don't display warning messages
45 # -h, --help print short or long help message 45 # --tag=TAG use configuration variables from tag TAG
46 # -v, --verbose print more informational messages than default
47 # --no-verbose don't print the extra informational messages
48 # --version print version information
49 # -h, --help, --help-all print short, long, or detailed help message
46 # 50 #
47 # MODE must be one of the following: 51 # MODE must be one of the following:
48 # 52 #
49 # clean remove files from the build directory 53 # clean remove files from the build directory
50 # compile compile a source file into a libtool object 54 # compile compile a source file into a libtool object
51 # execute automatically set library path, then run a program 55 # execute automatically set library path, then run a program
52 # finish complete the installation of libtool libraries 56 # finish complete the installation of libtool libraries
53 # install install libraries or executables 57 # install install libraries or executables
54 # link create a library or an executable 58 # link create a library or an executable
55 # uninstall remove libraries from an installed directory 59 # uninstall remove libraries from an installed directory
56 # 60 #
57 # MODE-ARGS vary depending on the MODE. 61 # MODE-ARGS vary depending on the MODE. When passed as first option,
62 # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
58 # Try `$progname --help --mode=MODE' for a more detailed description of MODE. 63 # Try `$progname --help --mode=MODE' for a more detailed description of MODE.
59 # 64 #
60 # When reporting a bug, please describe a test case to reproduce it and 65 # When reporting a bug, please describe a test case to reproduce it and
61 # include the following information: 66 # include the following information:
62 # 67 #
63 # host-triplet:» $host 68 # host-triplet:»$host
64 # shell:» » $SHELL 69 # shell:» » $SHELL
65 # compiler:» » $LTCC 70 # compiler:» » $LTCC
66 # compiler flags:»» $LTCFLAGS 71 # compiler flags:» » $LTCFLAGS
67 # linker:»» $LD (gnu? $with_gnu_ld) 72 # linker:» » $LD (gnu? $with_gnu_ld)
68 # $progname:» » (GNU libtool) 2.2.6 73 # $progname:» (GNU libtool) 2.4.2
69 # automake:» » $automake_version 74 # automake:» $automake_version
70 # autoconf:» » $autoconf_version 75 # autoconf:» $autoconf_version
71 # 76 #
72 # Report bugs to <bug-libtool@gnu.org>. 77 # Report bugs to <bug-libtool@gnu.org>.
78 # GNU libtool home page: <http://www.gnu.org/software/libtool/>.
79 # General help using GNU software: <http://www.gnu.org/gethelp/>.
73 80
74 PROGRAM=ltmain.sh 81 PROGRAM=libtool
75 PACKAGE=libtool 82 PACKAGE=libtool
76 VERSION=2.2.6 83 VERSION=2.4.2
77 TIMESTAMP="" 84 TIMESTAMP=""
78 package_revision=1.3012 85 package_revision=1.3337
79 86
80 # Be Bourne compatible 87 # Be Bourne compatible
81 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then 88 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
82 emulate sh 89 emulate sh
83 NULLCMD=: 90 NULLCMD=:
84 # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which 91 # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
85 # is contrary to our usage. Disable this feature. 92 # is contrary to our usage. Disable this feature.
86 alias -g '${1+"$@"}'='"$@"' 93 alias -g '${1+"$@"}'='"$@"'
87 setopt NO_GLOB_SUBST 94 setopt NO_GLOB_SUBST
88 else 95 else
89 case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac 96 case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
90 fi 97 fi
91 BIN_SH=xpg4; export BIN_SH # for Tru64 98 BIN_SH=xpg4; export BIN_SH # for Tru64
92 DUALCASE=1; export DUALCASE # for MKS sh 99 DUALCASE=1; export DUALCASE # for MKS sh
93 100
101 # A function that is used when there is no print builtin or printf.
102 func_fallback_echo ()
103 {
104 eval 'cat <<_LTECHO_EOF
105 $1
106 _LTECHO_EOF'
107 }
108
94 # NLS nuisances: We save the old values to restore during execute mode. 109 # NLS nuisances: We save the old values to restore during execute mode.
95 # Only set LANG and LC_ALL to C if already set.
96 # These must not be set unconditionally because not all systems understand
97 # e.g. LANG=C (notably SCO).
98 lt_user_locale= 110 lt_user_locale=
99 lt_safe_locale= 111 lt_safe_locale=
100 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES 112 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
101 do 113 do
102 eval "if test \"\${$lt_var+set}\" = set; then 114 eval "if test \"\${$lt_var+set}\" = set; then
103 save_$lt_var=\$$lt_var 115 save_$lt_var=\$$lt_var
104 $lt_var=C 116 $lt_var=C
105 export $lt_var 117 export $lt_var
106 lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" 118 lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
107 lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" 119 lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
108 fi" 120 fi"
109 done 121 done
122 LC_ALL=C
123 LANGUAGE=C
124 export LANGUAGE LC_ALL
110 125
111 $lt_unset CDPATH 126 $lt_unset CDPATH
112 127
113 128
129 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
130 # is ksh but when the shell is invoked as "sh" and the current value of
131 # the _XPG environment variable is not equal to 1 (one), the special
132 # positional parameter $0, within a function call, is the name of the
133 # function.
134 progpath="$0"
114 135
115 136
116 137
117 : ${CP="cp -f"} 138 : ${CP="cp -f"}
118 : ${ECHO="echo"} 139 test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
119 : ${EGREP="/usr/bin/grep -E"}
120 : ${FGREP="/usr/bin/grep -F"}
121 : ${GREP="/usr/bin/grep"}
122 : ${LN_S="ln -s"}
123 : ${MAKE="make"} 140 : ${MAKE="make"}
124 : ${MKDIR="mkdir"} 141 : ${MKDIR="mkdir"}
125 : ${MV="mv -f"} 142 : ${MV="mv -f"}
126 : ${RM="rm -f"} 143 : ${RM="rm -f"}
127 : ${SED="/opt/local/bin/gsed"}
128 : ${SHELL="${CONFIG_SHELL-/bin/sh}"} 144 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
129 : ${Xsed="$SED -e 1s/^X//"} 145 : ${Xsed="$SED -e 1s/^X//"}
130 146
131 # Global variables: 147 # Global variables:
132 EXIT_SUCCESS=0 148 EXIT_SUCCESS=0
133 EXIT_FAILURE=1 149 EXIT_FAILURE=1
134 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. 150 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
135 EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. 151 EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
136 152
137 exit_status=$EXIT_SUCCESS 153 exit_status=$EXIT_SUCCESS
138 154
139 # Make sure IFS has a sensible default 155 # Make sure IFS has a sensible default
140 lt_nl=' 156 lt_nl='
141 ' 157 '
142 IFS=" $lt_nl" 158 IFS=" $lt_nl"
143 159
144 dirname="s,/[^/]*$,," 160 dirname="s,/[^/]*$,,"
145 basename="s,^.*/,," 161 basename="s,^.*/,,"
146 162
163 # func_dirname file append nondir_replacement
164 # Compute the dirname of FILE. If nonempty, add APPEND to the result,
165 # otherwise set result to NONDIR_REPLACEMENT.
166 func_dirname ()
167 {
168 func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
169 if test "X$func_dirname_result" = "X${1}"; then
170 func_dirname_result="${3}"
171 else
172 func_dirname_result="$func_dirname_result${2}"
173 fi
174 } # func_dirname may be replaced by extended shell implementation
175
176
177 # func_basename file
178 func_basename ()
179 {
180 func_basename_result=`$ECHO "${1}" | $SED "$basename"`
181 } # func_basename may be replaced by extended shell implementation
182
183
147 # func_dirname_and_basename file append nondir_replacement 184 # func_dirname_and_basename file append nondir_replacement
148 # perform func_basename and func_dirname in a single function 185 # perform func_basename and func_dirname in a single function
149 # call: 186 # call:
150 # dirname: Compute the dirname of FILE. If nonempty, 187 # dirname: Compute the dirname of FILE. If nonempty,
151 # add APPEND to the result, otherwise set result 188 # add APPEND to the result, otherwise set result
152 # to NONDIR_REPLACEMENT. 189 # to NONDIR_REPLACEMENT.
153 # value returned in "$func_dirname_result" 190 # value returned in "$func_dirname_result"
154 # basename: Compute filename of FILE. 191 # basename: Compute filename of FILE.
155 # value retuned in "$func_basename_result" 192 # value retuned in "$func_basename_result"
156 # Implementation must be kept synchronized with func_dirname 193 # Implementation must be kept synchronized with func_dirname
157 # and func_basename. For efficiency, we do not delegate to 194 # and func_basename. For efficiency, we do not delegate to
158 # those functions but instead duplicate the functionality here. 195 # those functions but instead duplicate the functionality here.
159 func_dirname_and_basename () 196 func_dirname_and_basename ()
160 { 197 {
161 # Extract subdirectory from the argument. 198 # Extract subdirectory from the argument.
162 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` 199 func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
163 if test "X$func_dirname_result" = "X${1}"; then 200 if test "X$func_dirname_result" = "X${1}"; then
164 func_dirname_result="${3}" 201 func_dirname_result="${3}"
165 else 202 else
166 func_dirname_result="$func_dirname_result${2}" 203 func_dirname_result="$func_dirname_result${2}"
167 fi 204 fi
168 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` 205 func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
206 } # func_dirname_and_basename may be replaced by extended shell implementation
207
208
209 # func_stripname prefix suffix name
210 # strip PREFIX and SUFFIX off of NAME.
211 # PREFIX and SUFFIX must not contain globbing or regex special
212 # characters, hashes, percent signs, but SUFFIX may contain a leading
213 # dot (in which case that matches only a dot).
214 # func_strip_suffix prefix name
215 func_stripname ()
216 {
217 case ${2} in
218 .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%" `;;
219 *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
220 esac
221 } # func_stripname may be replaced by extended shell implementation
222
223
224 # These SED scripts presuppose an absolute path with a trailing slash.
225 pathcar='s,^/\([^/]*\).*$,\1,'
226 pathcdr='s,^/[^/]*,,'
227 removedotparts=':dotsl
228 » » s@/\./@/@g
229 » » t dotsl
230 » » s,/\.$,/,'
231 collapseslashes='s@/\{1,\}@/@g'
232 finalslash='s,/*$,/,'
233
234 # func_normal_abspath PATH
235 # Remove doubled-up and trailing slashes, "." path components,
236 # and cancel out any ".." path components in PATH after making
237 # it an absolute path.
238 # value returned in "$func_normal_abspath_result"
239 func_normal_abspath ()
240 {
241 # Start from root dir and reassemble the path.
242 func_normal_abspath_result=
243 func_normal_abspath_tpath=$1
244 func_normal_abspath_altnamespace=
245 case $func_normal_abspath_tpath in
246 "")
247 # Empty path, that just means $cwd.
248 func_stripname '' '/' "`pwd`"
249 func_normal_abspath_result=$func_stripname_result
250 return
251 ;;
252 # The next three entries are used to spot a run of precisely
253 # two leading slashes without using negated character classes;
254 # we take advantage of case's first-match behaviour.
255 ///*)
256 # Unusual form of absolute path, do nothing.
257 ;;
258 //*)
259 # Not necessarily an ordinary path; POSIX reserves leading '//'
260 # and for example Cygwin uses it to access remote file shares
261 # over CIFS/SMB, so we conserve a leading double slash if found.
262 func_normal_abspath_altnamespace=/
263 ;;
264 /*)
265 # Absolute path, do nothing.
266 ;;
267 *)
268 # Relative path, prepend $cwd.
269 func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
270 ;;
271 esac
272 # Cancel out all the simple stuff to save iterations. We also want
273 # the path to end with a slash for ease of parsing, so make sure
274 # there is one (and only one) here.
275 func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
276 -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
277 while :; do
278 # Processed it all yet?
279 if test "$func_normal_abspath_tpath" = / ; then
280 # If we ascended to the root using ".." the result may be empty now.
281 if test -z "$func_normal_abspath_result" ; then
282 func_normal_abspath_result=/
283 fi
284 break
285 fi
286 func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
287 -e "$pathcar"`
288 func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
289 -e "$pathcdr"`
290 # Figure out what to do with it
291 case $func_normal_abspath_tcomponent in
292 "")
293 # Trailing empty path component, ignore it.
294 ;;
295 ..)
296 # Parent dir; strip last assembled component from result.
297 func_dirname "$func_normal_abspath_result"
298 func_normal_abspath_result=$func_dirname_result
299 ;;
300 *)
301 # Actual path component, append it.
302 func_normal_abspath_result=$func_normal_abspath_result/$func_normal_absp ath_tcomponent
303 ;;
304 esac
305 done
306 # Restore leading double-slash if one was found on entry.
307 func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspa th_result
169 } 308 }
170 309
171 # Generated shell functions inserted here. 310 # func_relative_path SRCDIR DSTDIR
311 # generates a relative path from SRCDIR to DSTDIR, with a trailing
312 # slash if non-empty, suitable for immediately appending a filename
313 # without needing to append a separator.
314 # value returned in "$func_relative_path_result"
315 func_relative_path ()
316 {
317 func_relative_path_result=
318 func_normal_abspath "$1"
319 func_relative_path_tlibdir=$func_normal_abspath_result
320 func_normal_abspath "$2"
321 func_relative_path_tbindir=$func_normal_abspath_result
172 322
173 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh 323 # Ascend the tree starting from libdir
174 # is ksh but when the shell is invoked as "sh" and the current value of 324 while :; do
175 # the _XPG environment variable is not equal to 1 (one), the special 325 # check if we have found a prefix of bindir
176 # positional parameter $0, within a function call, is the name of the 326 case $func_relative_path_tbindir in
177 # function. 327 $func_relative_path_tlibdir)
178 progpath="$0" 328 # found an exact match
329 func_relative_path_tcancelled=
330 break
331 ;;
332 $func_relative_path_tlibdir*)
333 # found a matching prefix
334 func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbi ndir"
335 func_relative_path_tcancelled=$func_stripname_result
336 if test -z "$func_relative_path_result"; then
337 func_relative_path_result=.
338 fi
339 break
340 ;;
341 *)
342 func_dirname $func_relative_path_tlibdir
343 func_relative_path_tlibdir=${func_dirname_result}
344 if test "x$func_relative_path_tlibdir" = x ; then
345 # Have to descend all the way to the root!
346 func_relative_path_result=../$func_relative_path_result
347 func_relative_path_tcancelled=$func_relative_path_tbindir
348 break
349 fi
350 func_relative_path_result=../$func_relative_path_result
351 ;;
352 esac
353 done
354
355 # Now calculate path; take care to avoid doubling-up slashes.
356 func_stripname '' '/' "$func_relative_path_result"
357 func_relative_path_result=$func_stripname_result
358 func_stripname '/' '/' "$func_relative_path_tcancelled"
359 if test "x$func_stripname_result" != x ; then
360 func_relative_path_result=${func_relative_path_result}/${func_stripname_resu lt}
361 fi
362
363 # Normalisation. If bindir is libdir, return empty string,
364 # else relative path ending with a slash; either way, target
365 # file name can be directly appended.
366 if test ! -z "$func_relative_path_result"; then
367 func_stripname './' '' "$func_relative_path_result/"
368 func_relative_path_result=$func_stripname_result
369 fi
370 }
179 371
180 # The name of this program: 372 # The name of this program:
181 # In the unlikely event $progname began with a '-', it would play havoc with
182 # func_echo (imagine progname=-n), so we prepend ./ in that case:
183 func_dirname_and_basename "$progpath" 373 func_dirname_and_basename "$progpath"
184 progname=$func_basename_result 374 progname=$func_basename_result
185 case $progname in
186 -*) progname=./$progname ;;
187 esac
188 375
189 # Make sure we have an absolute path for reexecution: 376 # Make sure we have an absolute path for reexecution:
190 case $progpath in 377 case $progpath in
191 [\\/]*|[A-Za-z]:\\*) ;; 378 [\\/]*|[A-Za-z]:\\*) ;;
192 *[\\/]*) 379 *[\\/]*)
193 progdir=$func_dirname_result 380 progdir=$func_dirname_result
194 progdir=`cd "$progdir" && pwd` 381 progdir=`cd "$progdir" && pwd`
195 progpath="$progdir/$progname" 382 progpath="$progdir/$progname"
196 ;; 383 ;;
197 *) 384 *)
198 save_IFS="$IFS" 385 save_IFS="$IFS"
199 IFS=: 386 IFS=${PATH_SEPARATOR-:}
200 for progdir in $PATH; do 387 for progdir in $PATH; do
201 IFS="$save_IFS" 388 IFS="$save_IFS"
202 test -x "$progdir/$progname" && break 389 test -x "$progdir/$progname" && break
203 done 390 done
204 IFS="$save_IFS" 391 IFS="$save_IFS"
205 test -n "$progdir" || progdir=`pwd` 392 test -n "$progdir" || progdir=`pwd`
206 progpath="$progdir/$progname" 393 progpath="$progdir/$progname"
207 ;; 394 ;;
208 esac 395 esac
209 396
210 # Sed substitution that helps us do robust quoting. It backslashifies 397 # Sed substitution that helps us do robust quoting. It backslashifies
211 # metacharacters that are still active within double-quoted strings. 398 # metacharacters that are still active within double-quoted strings.
212 Xsed="${SED}"' -e 1s/^X//' 399 Xsed="${SED}"' -e 1s/^X//'
213 sed_quote_subst='s/\([`"$\\]\)/\\\1/g' 400 sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
214 401
215 # Same as above, but do not quote variable references. 402 # Same as above, but do not quote variable references.
216 double_quote_subst='s/\(["`\\]\)/\\\1/g' 403 double_quote_subst='s/\(["`\\]\)/\\\1/g'
217 404
405 # Sed substitution that turns a string into a regex matching for the
406 # string literally.
407 sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
408
409 # Sed substitution that converts a w32 file name or path
410 # which contains forward slashes, into one that contains
411 # (escaped) backslashes. A very naive implementation.
412 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
413
218 # Re-`\' parameter expansions in output of double_quote_subst that were 414 # Re-`\' parameter expansions in output of double_quote_subst that were
219 # `\'-ed in input to the same. If an odd number of `\' preceded a '$' 415 # `\'-ed in input to the same. If an odd number of `\' preceded a '$'
220 # in input to double_quote_subst, that '$' was protected from expansion. 416 # in input to double_quote_subst, that '$' was protected from expansion.
221 # Since each input `\' is now two `\'s, look for any number of runs of 417 # Since each input `\' is now two `\'s, look for any number of runs of
222 # four `\'s followed by two `\'s and then a '$'. `\' that '$'. 418 # four `\'s followed by two `\'s and then a '$'. `\' that '$'.
223 bs='\\' 419 bs='\\'
224 bs2='\\\\' 420 bs2='\\\\'
225 bs4='\\\\\\\\' 421 bs4='\\\\\\\\'
226 dollar='\$' 422 dollar='\$'
227 sed_double_backslash="\ 423 sed_double_backslash="\
228 s/$bs4/&\\ 424 s/$bs4/&\\
229 /g 425 /g
230 s/^$bs2$dollar/$bs&/ 426 s/^$bs2$dollar/$bs&/
231 s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g 427 s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
232 s/\n//g" 428 s/\n//g"
233 429
234 # Standard options: 430 # Standard options:
235 opt_dry_run=false 431 opt_dry_run=false
236 opt_help=false 432 opt_help=false
237 opt_quiet=false 433 opt_quiet=false
238 opt_verbose=false 434 opt_verbose=false
239 opt_warning=: 435 opt_warning=:
240 436
241 # func_echo arg... 437 # func_echo arg...
242 # Echo program name prefixed message, along with the current mode 438 # Echo program name prefixed message, along with the current mode
243 # name if it has been set yet. 439 # name if it has been set yet.
244 func_echo () 440 func_echo ()
245 { 441 {
246 $ECHO "$progname${mode+: }$mode: $*" 442 $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
247 } 443 }
248 444
249 # func_verbose arg... 445 # func_verbose arg...
250 # Echo program name prefixed message in verbose mode only. 446 # Echo program name prefixed message in verbose mode only.
251 func_verbose () 447 func_verbose ()
252 { 448 {
253 $opt_verbose && func_echo ${1+"$@"} 449 $opt_verbose && func_echo ${1+"$@"}
254 450
255 # A bug in bash halts the script if the last line of a function 451 # A bug in bash halts the script if the last line of a function
256 # fails when set -e is in force, so we need another command to 452 # fails when set -e is in force, so we need another command to
257 # work around that: 453 # work around that:
258 : 454 :
259 } 455 }
260 456
457 # func_echo_all arg...
458 # Invoke $ECHO with all args, space-separated.
459 func_echo_all ()
460 {
461 $ECHO "$*"
462 }
463
261 # func_error arg... 464 # func_error arg...
262 # Echo program name prefixed message to standard error. 465 # Echo program name prefixed message to standard error.
263 func_error () 466 func_error ()
264 { 467 {
265 $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 468 $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
266 } 469 }
267 470
268 # func_warning arg... 471 # func_warning arg...
269 # Echo program name prefixed warning message to standard error. 472 # Echo program name prefixed warning message to standard error.
270 func_warning () 473 func_warning ()
271 { 474 {
272 $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 475 $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
273 476
274 # bash bug again: 477 # bash bug again:
275 : 478 :
276 } 479 }
277 480
278 # func_fatal_error arg... 481 # func_fatal_error arg...
279 # Echo program name prefixed message to standard error, and exit. 482 # Echo program name prefixed message to standard error, and exit.
280 func_fatal_error () 483 func_fatal_error ()
281 { 484 {
282 func_error ${1+"$@"} 485 func_error ${1+"$@"}
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 # While some portion of DIR does not yet exist... 522 # While some portion of DIR does not yet exist...
320 while test ! -d "$my_directory_path"; do 523 while test ! -d "$my_directory_path"; do
321 # ...make a list in topmost first order. Use a colon delimited 524 # ...make a list in topmost first order. Use a colon delimited
322 # list incase some portion of path contains whitespace. 525 # list incase some portion of path contains whitespace.
323 my_dir_list="$my_directory_path:$my_dir_list" 526 my_dir_list="$my_directory_path:$my_dir_list"
324 527
325 # If the last portion added has no slash in it, the list is done 528 # If the last portion added has no slash in it, the list is done
326 case $my_directory_path in */*) ;; *) break ;; esac 529 case $my_directory_path in */*) ;; *) break ;; esac
327 530
328 # ...otherwise throw away the child directory and loop 531 # ...otherwise throw away the child directory and loop
329 my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` 532 my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
330 done 533 done
331 my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` 534 my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
332 535
333 save_mkdir_p_IFS="$IFS"; IFS=':' 536 save_mkdir_p_IFS="$IFS"; IFS=':'
334 for my_dir in $my_dir_list; do 537 for my_dir in $my_dir_list; do
335 IFS="$save_mkdir_p_IFS" 538 IFS="$save_mkdir_p_IFS"
336 # mkdir can fail with a `File exist' error if two processes 539 # mkdir can fail with a `File exist' error if two processes
337 # try to create one of the directories concurrently. Don't 540 # try to create one of the directories concurrently. Don't
338 # stop in that case! 541 # stop in that case!
339 $MKDIR "$my_dir" 2>/dev/null || : 542 $MKDIR "$my_dir" 2>/dev/null || :
340 done 543 done
341 IFS="$save_mkdir_p_IFS" 544 IFS="$save_mkdir_p_IFS"
(...skipping 29 matching lines...) Expand all
371 umask 0077 574 umask 0077
372 $MKDIR "$my_tmpdir" 575 $MKDIR "$my_tmpdir"
373 umask $save_mktempdir_umask 576 umask $save_mktempdir_umask
374 fi 577 fi
375 578
376 # If we're not in dry-run mode, bomb out on failure 579 # If we're not in dry-run mode, bomb out on failure
377 test -d "$my_tmpdir" || \ 580 test -d "$my_tmpdir" || \
378 func_fatal_error "cannot create temporary directory \`$my_tmpdir'" 581 func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
379 fi 582 fi
380 583
381 $ECHO "X$my_tmpdir" | $Xsed 584 $ECHO "$my_tmpdir"
382 } 585 }
383 586
384 587
385 # func_quote_for_eval arg 588 # func_quote_for_eval arg
386 # Aesthetically quote ARG to be evaled later. 589 # Aesthetically quote ARG to be evaled later.
387 # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT 590 # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
388 # is double-quoted, suitable for a subsequent eval, whereas 591 # is double-quoted, suitable for a subsequent eval, whereas
389 # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters 592 # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
390 # which are still active within double quotes backslashified. 593 # which are still active within double quotes backslashified.
391 func_quote_for_eval () 594 func_quote_for_eval ()
392 { 595 {
393 case $1 in 596 case $1 in
394 *[\\\`\"\$]*) 597 *[\\\`\"\$]*)
395 » func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_ subst"` ;; 598 » func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst "` ;;
396 *) 599 *)
397 func_quote_for_eval_unquoted_result="$1" ;; 600 func_quote_for_eval_unquoted_result="$1" ;;
398 esac 601 esac
399 602
400 case $func_quote_for_eval_unquoted_result in 603 case $func_quote_for_eval_unquoted_result in
401 # Double-quote args containing shell metacharacters to delay 604 # Double-quote args containing shell metacharacters to delay
402 # word splitting, command substitution and and variable 605 # word splitting, command substitution and and variable
403 # expansion for a subsequent eval. 606 # expansion for a subsequent eval.
404 # Many Bourne shells cannot handle close brackets correctly 607 # Many Bourne shells cannot handle close brackets correctly
405 # in scan sets, so we specify it separately. 608 # in scan sets, so we specify it separately.
406 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") 609 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
407 func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" 610 func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
408 ;; 611 ;;
409 *) 612 *)
410 func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" 613 func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
411 esac 614 esac
412 } 615 }
413 616
414 617
415 # func_quote_for_expand arg 618 # func_quote_for_expand arg
416 # Aesthetically quote ARG to be evaled later; same as above, 619 # Aesthetically quote ARG to be evaled later; same as above,
417 # but do not quote variable references. 620 # but do not quote variable references.
418 func_quote_for_expand () 621 func_quote_for_expand ()
419 { 622 {
420 case $1 in 623 case $1 in
421 *[\\\`\"]*) 624 *[\\\`\"]*)
422 » my_arg=`$ECHO "X$1" | $Xsed \ 625 » my_arg=`$ECHO "$1" | $SED \
423 -e "$double_quote_subst" -e "$sed_double_backslash"` ;; 626 -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
424 *) 627 *)
425 my_arg="$1" ;; 628 my_arg="$1" ;;
426 esac 629 esac
427 630
428 case $my_arg in 631 case $my_arg in
429 # Double-quote args containing shell metacharacters to delay 632 # Double-quote args containing shell metacharacters to delay
430 # word splitting and command substitution for a subsequent eval. 633 # word splitting and command substitution for a subsequent eval.
431 # Many Bourne shells cannot handle close brackets correctly 634 # Many Bourne shells cannot handle close brackets correctly
432 # in scan sets, so we specify it separately. 635 # in scan sets, so we specify it separately.
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 eval "$lt_user_locale 684 eval "$lt_user_locale
482 $my_cmd" 685 $my_cmd"
483 my_status=$? 686 my_status=$?
484 eval "$lt_safe_locale" 687 eval "$lt_safe_locale"
485 if test "$my_status" -eq 0; then :; else 688 if test "$my_status" -eq 0; then :; else
486 eval "(exit $my_status); $my_fail_exp" 689 eval "(exit $my_status); $my_fail_exp"
487 fi 690 fi
488 fi 691 fi
489 } 692 }
490 693
491 694 # func_tr_sh
492 695 # Turn $1 into a string suitable for a shell variable name.
696 # Result is stored in $func_tr_sh_result. All characters
697 # not in the set a-zA-Z0-9_ are replaced with '_'. Further,
698 # if $1 begins with a digit, a '_' is prepended as well.
699 func_tr_sh ()
700 {
701 case $1 in
702 [0-9]* | *[!a-zA-Z0-9_]*)
703 func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g '`
704 ;;
705 * )
706 func_tr_sh_result=$1
707 ;;
708 esac
709 }
493 710
494 711
495 # func_version 712 # func_version
496 # Echo version message to standard output and exit. 713 # Echo version message to standard output and exit.
497 func_version () 714 func_version ()
498 { 715 {
499 $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { 716 $opt_debug
717
718 $SED -n '/(C)/!b go
719 » :more
720 » /\./!{
721 » N
722 » s/\n# / /
723 » b more
724 » }
725 » :go
726 » /^# '$PROGRAM' (GNU /,/# warranty; / {
500 s/^# // 727 s/^# //
501 s/^# *$// 728 s/^# *$//
502 s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ 729 s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
503 p 730 p
504 }' < "$progpath" 731 }' < "$progpath"
505 exit $? 732 exit $?
506 } 733 }
507 734
508 # func_usage 735 # func_usage
509 # Echo short help message to standard output and exit. 736 # Echo short help message to standard output and exit.
510 func_usage () 737 func_usage ()
511 { 738 {
512 $SED -n '/^# Usage:/,/# -h/ { 739 $opt_debug
740
741 $SED -n '/^# Usage:/,/^# *.*--help/ {
513 s/^# // 742 s/^# //
514 s/^# *$// 743 s/^# *$//
515 s/\$progname/'$progname'/ 744 s/\$progname/'$progname'/
516 p 745 p
517 }' < "$progpath" 746 }' < "$progpath"
518 $ECHO 747 echo
519 $ECHO "run \`$progname --help | more' for full usage" 748 $ECHO "run \`$progname --help | more' for full usage"
520 exit $? 749 exit $?
521 } 750 }
522 751
523 # func_help 752 # func_help [NOEXIT]
524 # Echo long help message to standard output and exit. 753 # Echo long help message to standard output and exit,
754 # unless 'noexit' is passed as argument.
525 func_help () 755 func_help ()
526 { 756 {
757 $opt_debug
758
527 $SED -n '/^# Usage:/,/# Report bugs to/ { 759 $SED -n '/^# Usage:/,/# Report bugs to/ {
760 :print
528 s/^# // 761 s/^# //
529 s/^# *$// 762 s/^# *$//
530 s*\$progname*'$progname'* 763 s*\$progname*'$progname'*
531 s*\$host*'"$host"'* 764 s*\$host*'"$host"'*
532 s*\$SHELL*'"$SHELL"'* 765 s*\$SHELL*'"$SHELL"'*
533 s*\$LTCC*'"$LTCC"'* 766 s*\$LTCC*'"$LTCC"'*
534 s*\$LTCFLAGS*'"$LTCFLAGS"'* 767 s*\$LTCFLAGS*'"$LTCFLAGS"'*
535 s*\$LD*'"$LD"'* 768 s*\$LD*'"$LD"'*
536 s/\$with_gnu_ld/'"$with_gnu_ld"'/ 769 s/\$with_gnu_ld/'"$with_gnu_ld"'/
537 » s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ 770 » s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$S ED 1q`"'/
538 » s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ 771 » s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$S ED 1q`"'/
539 p 772 p
540 }' < "$progpath" 773 » d
541 exit $? 774 }
775 /^# .* home page:/b print
776 /^# General help using/b print
777 ' < "$progpath"
778 ret=$?
779 if test -z "$1"; then
780 exit $ret
781 fi
542 } 782 }
543 783
544 # func_missing_arg argname 784 # func_missing_arg argname
545 # Echo program name prefixed message to standard error and set global 785 # Echo program name prefixed message to standard error and set global
546 # exit_cmd. 786 # exit_cmd.
547 func_missing_arg () 787 func_missing_arg ()
548 { 788 {
549 func_error "missing argument for $1" 789 $opt_debug
790
791 func_error "missing argument for $1."
550 exit_cmd=exit 792 exit_cmd=exit
551 } 793 }
552 794
795
796 # func_split_short_opt shortopt
797 # Set func_split_short_opt_name and func_split_short_opt_arg shell
798 # variables after splitting SHORTOPT after the 2nd character.
799 func_split_short_opt ()
800 {
801 my_sed_short_opt='1s/^\(..\).*$/\1/;q'
802 my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
803
804 func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
805 func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
806 } # func_split_short_opt may be replaced by extended shell implementation
807
808
809 # func_split_long_opt longopt
810 # Set func_split_long_opt_name and func_split_long_opt_arg shell
811 # variables after splitting LONGOPT at the `=' sign.
812 func_split_long_opt ()
813 {
814 my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
815 my_sed_long_arg='1s/^--[^=]*=//'
816
817 func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
818 func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
819 } # func_split_long_opt may be replaced by extended shell implementation
820
553 exit_cmd=: 821 exit_cmd=:
554 822
555 823
556 824
557 825
558 826
559 # Check that we have a working $ECHO.
560 if test "X$1" = X--no-reexec; then
561 # Discard the --no-reexec flag, and continue.
562 shift
563 elif test "X$1" = X--fallback-echo; then
564 # Avoid inline document here, it may be left over
565 :
566 elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
567 # Yippee, $ECHO works!
568 :
569 else
570 # Restart under the correct shell, and then maybe $ECHO will work.
571 exec $SHELL "$progpath" --no-reexec ${1+"$@"}
572 fi
573 # Same for EGREP, and just to be sure, do LTCC as well
574 if test "x$EGREP" = x ; then
575 EGREP=egrep
576 fi
577 if test "x$LTCC" = x ; then
578 LTCC=${CC-gcc}
579 fi
580
581 if test "X$1" = X--fallback-echo; then
582 # used as fallback echo
583 shift
584 cat <<EOF
585 $*
586 EOF
587 exit $EXIT_SUCCESS
588 fi
589
590 magic="%%%MAGIC variable%%%" 827 magic="%%%MAGIC variable%%%"
591 magic_exe="%%%MAGIC EXE variable%%%" 828 magic_exe="%%%MAGIC EXE variable%%%"
592 829
593 # Global variables. 830 # Global variables.
594 # $mode is unset
595 nonopt= 831 nonopt=
596 execute_dlfiles=
597 preserve_args= 832 preserve_args=
598 lo2o="s/\\.lo\$/.${objext}/" 833 lo2o="s/\\.lo\$/.${objext}/"
599 o2lo="s/\\.${objext}\$/.lo/" 834 o2lo="s/\\.${objext}\$/.lo/"
600 extracted_archives= 835 extracted_archives=
601 extracted_serial=0 836 extracted_serial=0
602 837
603 opt_dry_run=false
604 opt_duplicate_deps=false
605 opt_silent=false
606 opt_debug=:
607
608 # If this variable is set in any of the actions, the command in it 838 # If this variable is set in any of the actions, the command in it
609 # will be execed at the end. This prevents here-documents from being 839 # will be execed at the end. This prevents here-documents from being
610 # left over by shells. 840 # left over by shells.
611 exec_cmd= 841 exec_cmd=
612 842
843 # func_append var value
844 # Append VALUE to the end of shell variable VAR.
845 func_append ()
846 {
847 eval "${1}=\$${1}\${2}"
848 } # func_append may be replaced by extended shell implementation
849
850 # func_append_quoted var value
851 # Quote VALUE and append to the end of shell variable VAR, separated
852 # by a space.
853 func_append_quoted ()
854 {
855 func_quote_for_eval "${2}"
856 eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
857 } # func_append_quoted may be replaced by extended shell implementation
858
859
860 # func_arith arithmetic-term...
861 func_arith ()
862 {
863 func_arith_result=`expr "${@}"`
864 } # func_arith may be replaced by extended shell implementation
865
866
867 # func_len string
868 # STRING may not start with a hyphen.
869 func_len ()
870 {
871 func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
872 } # func_len may be replaced by extended shell implementation
873
874
875 # func_lo2o object
876 func_lo2o ()
877 {
878 func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
879 } # func_lo2o may be replaced by extended shell implementation
880
881
882 # func_xform libobj-or-source
883 func_xform ()
884 {
885 func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
886 } # func_xform may be replaced by extended shell implementation
887
888
613 # func_fatal_configuration arg... 889 # func_fatal_configuration arg...
614 # Echo program name prefixed message to standard error, followed by 890 # Echo program name prefixed message to standard error, followed by
615 # a configuration failure hint, and exit. 891 # a configuration failure hint, and exit.
616 func_fatal_configuration () 892 func_fatal_configuration ()
617 { 893 {
618 func_error ${1+"$@"} 894 func_error ${1+"$@"}
619 func_error "See the $PACKAGE documentation for more information." 895 func_error "See the $PACKAGE documentation for more information."
620 func_fatal_error "Fatal configuration error." 896 func_fatal_error "Fatal configuration error."
621 } 897 }
622 898
(...skipping 13 matching lines...) Expand all
636 $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagn ame\$/p" < "$progpath" 912 $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagn ame\$/p" < "$progpath"
637 done 913 done
638 914
639 exit $? 915 exit $?
640 } 916 }
641 917
642 # func_features 918 # func_features
643 # Display the features supported by this script. 919 # Display the features supported by this script.
644 func_features () 920 func_features ()
645 { 921 {
646 $ECHO "host: $host" 922 echo "host: $host"
647 if test "$build_libtool_libs" = yes; then 923 if test "$build_libtool_libs" = yes; then
648 $ECHO "enable shared libraries" 924 echo "enable shared libraries"
649 else 925 else
650 $ECHO "disable shared libraries" 926 echo "disable shared libraries"
651 fi 927 fi
652 if test "$build_old_libs" = yes; then 928 if test "$build_old_libs" = yes; then
653 $ECHO "enable static libraries" 929 echo "enable static libraries"
654 else 930 else
655 $ECHO "disable static libraries" 931 echo "disable static libraries"
656 fi 932 fi
657 933
658 exit $? 934 exit $?
659 } 935 }
660 936
661 # func_enable_tag tagname 937 # func_enable_tag tagname
662 # Verify that TAGNAME is valid, and either flag an error and exit, or 938 # Verify that TAGNAME is valid, and either flag an error and exit, or
663 # enable the TAGNAME tag. We also add TAGNAME to the global $taglist 939 # enable the TAGNAME tag. We also add TAGNAME to the global $taglist
664 # variable here. 940 # variable here.
665 func_enable_tag () 941 func_enable_tag ()
(...skipping 26 matching lines...) Expand all
692 # quotes we have to do it in 2 steps: 968 # quotes we have to do it in 2 steps:
693 extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` 969 extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
694 eval "$extractedcf" 970 eval "$extractedcf"
695 else 971 else
696 func_error "ignoring unknown tag $tagname" 972 func_error "ignoring unknown tag $tagname"
697 fi 973 fi
698 ;; 974 ;;
699 esac 975 esac
700 } 976 }
701 977
702 # Parse options once, thoroughly. This comes as soon as possible in 978 # func_check_version_match
703 # the script to make things like `libtool --version' happen quickly. 979 # Ensure that we are using m4 macros, and libtool script from the same
980 # release of libtool.
981 func_check_version_match ()
704 { 982 {
705 983 if test "$package_revision" != "$macro_revision"; then
706 # Shorthand for --mode=foo, only valid as the first argument 984 if test "$VERSION" != "$macro_version"; then
707 case $1 in 985 if test -z "$macro_version"; then
708 clean|clea|cle|cl) 986 cat >&2 <<_LT_EOF
709 shift; set dummy --mode clean ${1+"$@"}; shift 987 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
710 ;; 988 $progname: definition of this LT_INIT comes from an older release.
711 compile|compil|compi|comp|com|co|c) 989 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
712 shift; set dummy --mode compile ${1+"$@"}; shift 990 $progname: and run autoconf again.
713 ;; 991 _LT_EOF
714 execute|execut|execu|exec|exe|ex|e) 992 else
715 shift; set dummy --mode execute ${1+"$@"}; shift 993 cat >&2 <<_LT_EOF
716 ;; 994 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
717 finish|finis|fini|fin|fi|f) 995 $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
718 shift; set dummy --mode finish ${1+"$@"}; shift 996 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
719 ;; 997 $progname: and run autoconf again.
720 install|instal|insta|inst|ins|in|i) 998 _LT_EOF
721 shift; set dummy --mode install ${1+"$@"}; shift 999 fi
722 ;; 1000 else
723 link|lin|li|l) 1001 cat >&2 <<_LT_EOF
724 shift; set dummy --mode link ${1+"$@"}; shift 1002 $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package _revision,
725 ;; 1003 $progname: but the definition of this LT_INIT comes from revision $macro_revisio n.
726 uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) 1004 $progname: You should recreate aclocal.m4 with macros from revision $package_rev ision
727 shift; set dummy --mode uninstall ${1+"$@"}; shift 1005 $progname: of $PACKAGE $VERSION and run autoconf again.
728 ;; 1006 _LT_EOF
729 esac 1007 fi
730 1008
731 # Parse non-mode specific arguments: 1009 exit $EXIT_MISMATCH
732 while test "$#" -gt 0; do 1010 fi
1011 }
1012
1013
1014 # Shorthand for --mode=foo, only valid as the first argument
1015 case $1 in
1016 clean|clea|cle|cl)
1017 shift; set dummy --mode clean ${1+"$@"}; shift
1018 ;;
1019 compile|compil|compi|comp|com|co|c)
1020 shift; set dummy --mode compile ${1+"$@"}; shift
1021 ;;
1022 execute|execut|execu|exec|exe|ex|e)
1023 shift; set dummy --mode execute ${1+"$@"}; shift
1024 ;;
1025 finish|finis|fini|fin|fi|f)
1026 shift; set dummy --mode finish ${1+"$@"}; shift
1027 ;;
1028 install|instal|insta|inst|ins|in|i)
1029 shift; set dummy --mode install ${1+"$@"}; shift
1030 ;;
1031 link|lin|li|l)
1032 shift; set dummy --mode link ${1+"$@"}; shift
1033 ;;
1034 uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
1035 shift; set dummy --mode uninstall ${1+"$@"}; shift
1036 ;;
1037 esac
1038
1039
1040
1041 # Option defaults:
1042 opt_debug=:
1043 opt_dry_run=false
1044 opt_config=false
1045 opt_preserve_dup_deps=false
1046 opt_features=false
1047 opt_finish=false
1048 opt_help=false
1049 opt_help_all=false
1050 opt_silent=:
1051 opt_warning=:
1052 opt_verbose=:
1053 opt_silent=false
1054 opt_verbose=false
1055
1056
1057 # Parse options once, thoroughly. This comes as soon as possible in the
1058 # script to make things like `--version' happen as quickly as we can.
1059 {
1060 # this just eases exit handling
1061 while test $# -gt 0; do
733 opt="$1" 1062 opt="$1"
734 shift 1063 shift
735
736 case $opt in 1064 case $opt in
737 --config)»» func_config» » » » » ;; 1065 --debug|-x)» opt_debug='set -x'
738
739 --debug)» » preserve_args="$preserve_args $opt"
740 func_echo "enabling shell trace mode" 1066 func_echo "enabling shell trace mode"
741 opt_debug='set -x'
742 $opt_debug 1067 $opt_debug
743 ;; 1068 ;;
744 1069 --dry-run|--dryrun|-n)
745 -dlopen)» » test "$#" -eq 0 && func_missing_arg "$opt" && break 1070 » » » opt_dry_run=:
746 » » » execute_dlfiles="$execute_dlfiles $1" 1071 » » » ;;
747 » » » shift 1072 --config)
748 » » » ;; 1073 » » » opt_config=:
749 1074 func_config
750 --dry-run | -n)» opt_dry_run=:» » » » » ;; 1075 » » » ;;
751 --features) func_features» » » » » ;; 1076 --dlopen|-dlopen)
752 --finish)»» mode="finish"» » » » » ;; 1077 » » » optarg="$1"
753 1078 » » » opt_dlopen="${opt_dlopen+$opt_dlopen
754 --mode)» » test "$#" -eq 0 && func_missing_arg "$opt" && break 1079 }$optarg"
755 » » » case $1 in 1080 » » » shift
756 » » » # Valid mode arguments: 1081 » » » ;;
757 » » » clean)» ;;
758 » » » compile)» ;;
759 » » » execute)» ;;
760 » » » finish)» ;;
761 » » » install)» ;;
762 » » » link)»» ;;
763 » » » relink)» ;;
764 » » » uninstall)» ;;
765
766 » » » # Catch anything else as an error
767 » » » *) func_error "invalid argument for $opt"
768 » » » exit_cmd=exit
769 » » » break
770 » » » ;;
771 » » esac
772
773 » » » mode="$1"
774 » » » shift
775 » » » ;;
776
777 --preserve-dup-deps) 1082 --preserve-dup-deps)
778 » » » opt_duplicate_deps=:» » » » ;; 1083 » » » opt_preserve_dup_deps=:
779 1084 » » » ;;
780 --quiet|--silent)»preserve_args="$preserve_args $opt" 1085 --features)
1086 » » » opt_features=:
1087 func_features
1088 » » » ;;
1089 --finish)
1090 » » » opt_finish=:
1091 set dummy --mode finish ${1+"$@"}; shift
1092 » » » ;;
1093 --help)
1094 » » » opt_help=:
1095 » » » ;;
1096 --help-all)
1097 » » » opt_help_all=:
1098 opt_help=': help-all'
1099 » » » ;;
1100 --mode)
1101 » » » test $# = 0 && func_missing_arg $opt && break
1102 » » » optarg="$1"
1103 » » » opt_mode="$optarg"
1104 case $optarg in
1105 # Valid mode arguments:
1106 clean|compile|execute|finish|install|link|relink|uninstall) ;;
1107
1108 # Catch anything else as an error
1109 *) func_error "invalid argument for $opt"
1110 exit_cmd=exit
1111 break
1112 ;;
1113 esac
1114 » » » shift
1115 » » » ;;
1116 --no-silent|--no-quiet)
1117 » » » opt_silent=false
1118 func_append preserve_args " $opt"
1119 » » » ;;
1120 --no-warning|--no-warn)
1121 » » » opt_warning=false
1122 func_append preserve_args " $opt"
1123 » » » ;;
1124 --no-verbose)
1125 » » » opt_verbose=false
1126 func_append preserve_args " $opt"
1127 » » » ;;
1128 --silent|--quiet)
781 opt_silent=: 1129 opt_silent=:
782 » » » ;; 1130 func_append preserve_args " $opt"
783 1131 opt_verbose=false
784 --verbose| -v)» preserve_args="$preserve_args $opt" 1132 » » » ;;
785 » » » opt_silent=false 1133 --verbose|-v)
786 » » » ;; 1134 » » » opt_verbose=:
787 1135 func_append preserve_args " $opt"
788 --tag)» » test "$#" -eq 0 && func_missing_arg "$opt" && break 1136 opt_silent=false
789 » » » preserve_args="$preserve_args $opt $1" 1137 » » » ;;
790 » » » func_enable_tag "$1"» # tagname is set here 1138 --tag)
791 » » » shift 1139 » » » test $# = 0 && func_missing_arg $opt && break
792 » » » ;; 1140 » » » optarg="$1"
1141 » » » opt_tag="$optarg"
1142 func_append preserve_args " $opt $optarg"
1143 func_enable_tag "$optarg"
1144 » » » shift
1145 » » » ;;
1146
1147 -\?|-h)» » func_usage» » » » ;;
1148 --help)» » func_help» » » » ;;
1149 --version)» func_version» » » » ;;
793 1150
794 # Separate optargs to long options: 1151 # Separate optargs to long options:
795 -dlopen=*|--mode=*|--tag=*) 1152 --*=*)
796 » » » func_opt_split "$opt" 1153 » » » func_split_long_opt "$opt"
797 » » » set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${ 1+"$@"} 1154 » » » set dummy "$func_split_long_opt_name" "$func_split_long_ opt_arg" ${1+"$@"}
798 » » » shift 1155 » » » shift
799 » » » ;; 1156 » » » ;;
800 1157
801 -\?|-h)» » func_usage» » » » » ;; 1158 # Separate non-argument short options:
802 --help)» » opt_help=:» » » » » ;; 1159 -\?*|-h*|-n*|-v*)
803 --version)» func_version» » » » » ;; 1160 » » » func_split_short_opt "$opt"
804 1161 » » » set dummy "$func_split_short_opt_name" "-$func_split_sho rt_opt_arg" ${1+"$@"}
805 -*)» » func_fatal_help "unrecognized option \`$opt'"» ;; 1162 » » » shift
806 1163 » » » ;;
807 *)» » nonopt="$opt" 1164
808 » » » break 1165 --)» » break» » » » » ;;
809 » » » ;; 1166 -*)» » func_fatal_help "unrecognized option \`$opt'" ;;
1167 *)» » set dummy "$opt" ${1+"$@"};» shift; break ;;
810 esac 1168 esac
811 done 1169 done
812 1170
1171 # Validate options:
1172
1173 # save first non-option argument
1174 if test "$#" -gt 0; then
1175 nonopt="$opt"
1176 shift
1177 fi
1178
1179 # preserve --debug
1180 test "$opt_debug" = : || func_append preserve_args " --debug"
813 1181
814 case $host in 1182 case $host in
815 *cygwin* | *mingw* | *pw32* | *cegcc*) 1183 *cygwin* | *mingw* | *pw32* | *cegcc*)
816 # don't eliminate duplications in $postdeps and $predeps 1184 # don't eliminate duplications in $postdeps and $predeps
817 opt_duplicate_compiler_generated_deps=: 1185 opt_duplicate_compiler_generated_deps=:
818 ;; 1186 ;;
819 *) 1187 *)
820 opt_duplicate_compiler_generated_deps=$opt_duplicate_deps 1188 opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
821 ;; 1189 ;;
822 esac 1190 esac
823 1191
824 # Having warned about all mis-specified options, bail out if 1192 $opt_help || {
825 # anything was wrong. 1193 # Sanity checks first:
1194 func_check_version_match
1195
1196 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
1197 func_fatal_configuration "not configured to build any kind of library"
1198 fi
1199
1200 # Darwin sucks
1201 eval std_shrext=\"$shrext_cmds\"
1202
1203 # Only execute mode is allowed to have -dlopen flags.
1204 if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
1205 func_error "unrecognized option \`-dlopen'"
1206 $ECHO "$help" 1>&2
1207 exit $EXIT_FAILURE
1208 fi
1209
1210 # Change the help message to a mode-specific one.
1211 generic_help="$help"
1212 help="Try \`$progname --help --mode=$opt_mode' for more information."
1213 }
1214
1215
1216 # Bail if the options were screwed
826 $exit_cmd $EXIT_FAILURE 1217 $exit_cmd $EXIT_FAILURE
827 } 1218 }
828 1219
829 # func_check_version_match
830 # Ensure that we are using m4 macros, and libtool script from the same
831 # release of libtool.
832 func_check_version_match ()
833 {
834 if test "$package_revision" != "$macro_revision"; then
835 if test "$VERSION" != "$macro_version"; then
836 if test -z "$macro_version"; then
837 cat >&2 <<_LT_EOF
838 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
839 $progname: definition of this LT_INIT comes from an older release.
840 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
841 $progname: and run autoconf again.
842 _LT_EOF
843 else
844 cat >&2 <<_LT_EOF
845 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
846 $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
847 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
848 $progname: and run autoconf again.
849 _LT_EOF
850 fi
851 else
852 cat >&2 <<_LT_EOF
853 $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package _revision,
854 $progname: but the definition of this LT_INIT comes from revision $macro_revisio n.
855 $progname: You should recreate aclocal.m4 with macros from revision $package_rev ision
856 $progname: of $PACKAGE $VERSION and run autoconf again.
857 _LT_EOF
858 fi
859 1220
860 exit $EXIT_MISMATCH
861 fi
862 }
863 1221
864 1222
865 ## ----------- ## 1223 ## ----------- ##
866 ## Main. ## 1224 ## Main. ##
867 ## ----------- ## 1225 ## ----------- ##
868 1226
869 $opt_help || {
870 # Sanity checks first:
871 func_check_version_match
872
873 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
874 func_fatal_configuration "not configured to build any kind of library"
875 fi
876
877 test -z "$mode" && func_fatal_error "error: you must specify a MODE."
878
879
880 # Darwin sucks
881 eval std_shrext=\"$shrext_cmds\"
882
883
884 # Only execute mode is allowed to have -dlopen flags.
885 if test -n "$execute_dlfiles" && test "$mode" != execute; then
886 func_error "unrecognized option \`-dlopen'"
887 $ECHO "$help" 1>&2
888 exit $EXIT_FAILURE
889 fi
890
891 # Change the help message to a mode-specific one.
892 generic_help="$help"
893 help="Try \`$progname --help --mode=$mode' for more information."
894 }
895
896
897 # func_lalib_p file 1227 # func_lalib_p file
898 # True iff FILE is a libtool `.la' library or `.lo' object file. 1228 # True iff FILE is a libtool `.la' library or `.lo' object file.
899 # This function is only a basic sanity check; it will hardly flush out 1229 # This function is only a basic sanity check; it will hardly flush out
900 # determined imposters. 1230 # determined imposters.
901 func_lalib_p () 1231 func_lalib_p ()
902 { 1232 {
903 test -f "$1" && 1233 test -f "$1" &&
904 $SED -e 4q "$1" 2>/dev/null \ 1234 $SED -e 4q "$1" 2>/dev/null \
905 | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 1235 | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
906 } 1236 }
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
950 esac 1280 esac
951 $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 1281 $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
952 } 1282 }
953 1283
954 # func_ltwrapper_scriptname file 1284 # func_ltwrapper_scriptname file
955 # Assumes file is an ltwrapper_executable 1285 # Assumes file is an ltwrapper_executable
956 # uses $file to determine the appropriate filename for a 1286 # uses $file to determine the appropriate filename for a
957 # temporary ltwrapper_script. 1287 # temporary ltwrapper_script.
958 func_ltwrapper_scriptname () 1288 func_ltwrapper_scriptname ()
959 { 1289 {
960 func_ltwrapper_scriptname_result="" 1290 func_dirname_and_basename "$1" "" "."
961 if func_ltwrapper_executable_p "$1"; then 1291 func_stripname '' '.exe' "$func_basename_result"
962 » func_dirname_and_basename "$1" "" "." 1292 func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripn ame_result}_ltshwrapper"
963 » func_stripname '' '.exe' "$func_basename_result"
964 » func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_st ripname_result}_ltshwrapper"
965 fi
966 } 1293 }
967 1294
968 # func_ltwrapper_p file 1295 # func_ltwrapper_p file
969 # True iff FILE is a libtool wrapper script or wrapper executable 1296 # True iff FILE is a libtool wrapper script or wrapper executable
970 # This function is only a basic sanity check; it will hardly flush out 1297 # This function is only a basic sanity check; it will hardly flush out
971 # determined imposters. 1298 # determined imposters.
972 func_ltwrapper_p () 1299 func_ltwrapper_p ()
973 { 1300 {
974 func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" 1301 func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
975 } 1302 }
(...skipping 25 matching lines...) Expand all
1001 func_source () 1328 func_source ()
1002 { 1329 {
1003 $opt_debug 1330 $opt_debug
1004 case $1 in 1331 case $1 in
1005 */* | *\\*) . "$1" ;; 1332 */* | *\\*) . "$1" ;;
1006 *) . "./$1" ;; 1333 *) . "./$1" ;;
1007 esac 1334 esac
1008 } 1335 }
1009 1336
1010 1337
1338 # func_resolve_sysroot PATH
1339 # Replace a leading = in PATH with a sysroot. Store the result into
1340 # func_resolve_sysroot_result
1341 func_resolve_sysroot ()
1342 {
1343 func_resolve_sysroot_result=$1
1344 case $func_resolve_sysroot_result in
1345 =*)
1346 func_stripname '=' '' "$func_resolve_sysroot_result"
1347 func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
1348 ;;
1349 esac
1350 }
1351
1352 # func_replace_sysroot PATH
1353 # If PATH begins with the sysroot, replace it with = and
1354 # store the result into func_replace_sysroot_result.
1355 func_replace_sysroot ()
1356 {
1357 case "$lt_sysroot:$1" in
1358 ?*:"$lt_sysroot"*)
1359 func_stripname "$lt_sysroot" '' "$1"
1360 func_replace_sysroot_result="=$func_stripname_result"
1361 ;;
1362 *)
1363 # Including no sysroot.
1364 func_replace_sysroot_result=$1
1365 ;;
1366 esac
1367 }
1368
1011 # func_infer_tag arg 1369 # func_infer_tag arg
1012 # Infer tagged configuration to use if any are available and 1370 # Infer tagged configuration to use if any are available and
1013 # if one wasn't chosen via the "--tag" command line option. 1371 # if one wasn't chosen via the "--tag" command line option.
1014 # Only attempt this if the compiler in the base compile 1372 # Only attempt this if the compiler in the base compile
1015 # command doesn't match the default compiler. 1373 # command doesn't match the default compiler.
1016 # arg is usually of the form 'gcc ...' 1374 # arg is usually of the form 'gcc ...'
1017 func_infer_tag () 1375 func_infer_tag ()
1018 { 1376 {
1019 $opt_debug 1377 $opt_debug
1020 if test -n "$available_tags" && test -z "$tagname"; then 1378 if test -n "$available_tags" && test -z "$tagname"; then
1021 CC_quoted= 1379 CC_quoted=
1022 for arg in $CC; do 1380 for arg in $CC; do
1023 func_quote_for_eval "$arg" 1381 » func_append_quoted CC_quoted "$arg"
1024 » CC_quoted="$CC_quoted $func_quote_for_eval_result"
1025 done 1382 done
1383 CC_expanded=`func_echo_all $CC`
1384 CC_quoted_expanded=`func_echo_all $CC_quoted`
1026 case $@ in 1385 case $@ in
1027 # Blanks in the command may have been stripped by the calling shell, 1386 # Blanks in the command may have been stripped by the calling shell,
1028 # but not from the CC environment variable when configure was run. 1387 # but not from the CC environment variable when configure was run.
1029 " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; 1388 " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
1389 " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_e xpanded "*) ;;
1030 # Blanks at the start of $base_compile will cause this to fail 1390 # Blanks at the start of $base_compile will cause this to fail
1031 # if we don't check for them as well. 1391 # if we don't check for them as well.
1032 *) 1392 *)
1033 for z in $available_tags; do 1393 for z in $available_tags; do
1034 if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/n ull; then 1394 if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/n ull; then
1035 # Evaluate the configuration. 1395 # Evaluate the configuration.
1036 eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ## # END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" 1396 eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ## # END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
1037 CC_quoted= 1397 CC_quoted=
1038 for arg in $CC; do 1398 for arg in $CC; do
1039 # Double-quote args containing other shell metacharacters. 1399 # Double-quote args containing other shell metacharacters.
1040 » func_quote_for_eval "$arg" 1400 » func_append_quoted CC_quoted "$arg"
1041 » CC_quoted="$CC_quoted $func_quote_for_eval_result"
1042 done 1401 done
1402 CC_expanded=`func_echo_all $CC`
1403 CC_quoted_expanded=`func_echo_all $CC_quoted`
1043 case "$@ " in 1404 case "$@ " in
1044 » " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_qu oted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) 1405 » " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
1406 » " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_qu oted_expanded "*)
1045 # The compiler in the base compile command matches 1407 # The compiler in the base compile command matches
1046 # the one in the tagged configuration. 1408 # the one in the tagged configuration.
1047 # Assume this is the tagged configuration we want. 1409 # Assume this is the tagged configuration we want.
1048 tagname=$z 1410 tagname=$z
1049 break 1411 break
1050 ;; 1412 ;;
1051 esac 1413 esac
1052 fi 1414 fi
1053 done 1415 done
1054 # If $tagname still isn't set, then no tagged configuration 1416 # If $tagname still isn't set, then no tagged configuration
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1097 pic_object=$write_lobj 1459 pic_object=$write_lobj
1098 1460
1099 # Name of the non-PIC object 1461 # Name of the non-PIC object
1100 non_pic_object=$write_oldobj 1462 non_pic_object=$write_oldobj
1101 1463
1102 EOF 1464 EOF
1103 $MV "${write_libobj}T" "${write_libobj}" 1465 $MV "${write_libobj}T" "${write_libobj}"
1104 } 1466 }
1105 } 1467 }
1106 1468
1469
1470 ##################################################
1471 # FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
1472 ##################################################
1473
1474 # func_convert_core_file_wine_to_w32 ARG
1475 # Helper function used by file name conversion functions when $build is *nix,
1476 # and $host is mingw, cygwin, or some other w32 environment. Relies on a
1477 # correctly configured wine environment available, with the winepath program
1478 # in $build's $PATH.
1479 #
1480 # ARG is the $build file name to be converted to w32 format.
1481 # Result is available in $func_convert_core_file_wine_to_w32_result, and will
1482 # be empty on error (or when ARG is empty)
1483 func_convert_core_file_wine_to_w32 ()
1484 {
1485 $opt_debug
1486 func_convert_core_file_wine_to_w32_result="$1"
1487 if test -n "$1"; then
1488 # Unfortunately, winepath does not exit with a non-zero error code, so we
1489 # are forced to check the contents of stdout. On the other hand, if the
1490 # command is not found, the shell will set an exit code of 127 and print
1491 # *an error message* to stdout. So we must check for both error code of
1492 # zero AND non-empty stdout, which explains the odd construction:
1493 func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
1494 if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; t hen
1495 func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_ wine_to_w32_tmp" |
1496 $SED -e "$lt_sed_naive_backslashify"`
1497 else
1498 func_convert_core_file_wine_to_w32_result=
1499 fi
1500 fi
1501 }
1502 # end: func_convert_core_file_wine_to_w32
1503
1504
1505 # func_convert_core_path_wine_to_w32 ARG
1506 # Helper function used by path conversion functions when $build is *nix, and
1507 # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
1508 # configured wine environment available, with the winepath program in $build's
1509 # $PATH. Assumes ARG has no leading or trailing path separator characters.
1510 #
1511 # ARG is path to be converted from $build format to win32.
1512 # Result is available in $func_convert_core_path_wine_to_w32_result.
1513 # Unconvertible file (directory) names in ARG are skipped; if no directory names
1514 # are convertible, then the result may be empty.
1515 func_convert_core_path_wine_to_w32 ()
1516 {
1517 $opt_debug
1518 # unfortunately, winepath doesn't convert paths, only file names
1519 func_convert_core_path_wine_to_w32_result=""
1520 if test -n "$1"; then
1521 oldIFS=$IFS
1522 IFS=:
1523 for func_convert_core_path_wine_to_w32_f in $1; do
1524 IFS=$oldIFS
1525 func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
1526 if test -n "$func_convert_core_file_wine_to_w32_result" ; then
1527 if test -z "$func_convert_core_path_wine_to_w32_result"; then
1528 func_convert_core_path_wine_to_w32_result="$func_convert_core_file_win e_to_w32_result"
1529 else
1530 func_append func_convert_core_path_wine_to_w32_result ";$func_convert_ core_file_wine_to_w32_result"
1531 fi
1532 fi
1533 done
1534 IFS=$oldIFS
1535 fi
1536 }
1537 # end: func_convert_core_path_wine_to_w32
1538
1539
1540 # func_cygpath ARGS...
1541 # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
1542 # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
1543 # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
1544 # (2), returns the Cygwin file name or path in func_cygpath_result (input
1545 # file name or path is assumed to be in w32 format, as previously converted
1546 # from $build's *nix or MSYS format). In case (3), returns the w32 file name
1547 # or path in func_cygpath_result (input file name or path is assumed to be in
1548 # Cygwin format). Returns an empty string on error.
1549 #
1550 # ARGS are passed to cygpath, with the last one being the file name or path to
1551 # be converted.
1552 #
1553 # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
1554 # environment variable; do not put it in $PATH.
1555 func_cygpath ()
1556 {
1557 $opt_debug
1558 if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
1559 func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
1560 if test "$?" -ne 0; then
1561 # on failure, ensure result is empty
1562 func_cygpath_result=
1563 fi
1564 else
1565 func_cygpath_result=
1566 func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPAT H'"
1567 fi
1568 }
1569 #end: func_cygpath
1570
1571
1572 # func_convert_core_msys_to_w32 ARG
1573 # Convert file name or path ARG from MSYS format to w32 format. Return
1574 # result in func_convert_core_msys_to_w32_result.
1575 func_convert_core_msys_to_w32 ()
1576 {
1577 $opt_debug
1578 # awkward: cmd appends spaces to result
1579 func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
1580 $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
1581 }
1582 #end: func_convert_core_msys_to_w32
1583
1584
1585 # func_convert_file_check ARG1 ARG2
1586 # Verify that ARG1 (a file name in $build format) was converted to $host
1587 # format in ARG2. Otherwise, emit an error message, but continue (resetting
1588 # func_to_host_file_result to ARG1).
1589 func_convert_file_check ()
1590 {
1591 $opt_debug
1592 if test -z "$2" && test -n "$1" ; then
1593 func_error "Could not determine host file name corresponding to"
1594 func_error " \`$1'"
1595 func_error "Continuing, but uninstalled executables may not work."
1596 # Fallback:
1597 func_to_host_file_result="$1"
1598 fi
1599 }
1600 # end func_convert_file_check
1601
1602
1603 # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
1604 # Verify that FROM_PATH (a path in $build format) was converted to $host
1605 # format in TO_PATH. Otherwise, emit an error message, but continue, resetting
1606 # func_to_host_file_result to a simplistic fallback value (see below).
1607 func_convert_path_check ()
1608 {
1609 $opt_debug
1610 if test -z "$4" && test -n "$3"; then
1611 func_error "Could not determine the host path corresponding to"
1612 func_error " \`$3'"
1613 func_error "Continuing, but uninstalled executables may not work."
1614 # Fallback. This is a deliberately simplistic "conversion" and
1615 # should not be "improved". See libtool.info.
1616 if test "x$1" != "x$2"; then
1617 lt_replace_pathsep_chars="s|$1|$2|g"
1618 func_to_host_path_result=`echo "$3" |
1619 $SED -e "$lt_replace_pathsep_chars"`
1620 else
1621 func_to_host_path_result="$3"
1622 fi
1623 fi
1624 }
1625 # end func_convert_path_check
1626
1627
1628 # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
1629 # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
1630 # and appending REPL if ORIG matches BACKPAT.
1631 func_convert_path_front_back_pathsep ()
1632 {
1633 $opt_debug
1634 case $4 in
1635 $1 ) func_to_host_path_result="$3$func_to_host_path_result"
1636 ;;
1637 esac
1638 case $4 in
1639 $2 ) func_append func_to_host_path_result "$3"
1640 ;;
1641 esac
1642 }
1643 # end func_convert_path_front_back_pathsep
1644
1645
1646 ##################################################
1647 # $build to $host FILE NAME CONVERSION FUNCTIONS #
1648 ##################################################
1649 # invoked via `$to_host_file_cmd ARG'
1650 #
1651 # In each case, ARG is the path to be converted from $build to $host format.
1652 # Result will be available in $func_to_host_file_result.
1653
1654
1655 # func_to_host_file ARG
1656 # Converts the file name ARG from $build format to $host format. Return result
1657 # in func_to_host_file_result.
1658 func_to_host_file ()
1659 {
1660 $opt_debug
1661 $to_host_file_cmd "$1"
1662 }
1663 # end func_to_host_file
1664
1665
1666 # func_to_tool_file ARG LAZY
1667 # converts the file name ARG from $build format to toolchain format. Return
1668 # result in func_to_tool_file_result. If the conversion in use is listed
1669 # in (the comma separated) LAZY, no conversion takes place.
1670 func_to_tool_file ()
1671 {
1672 $opt_debug
1673 case ,$2, in
1674 *,"$to_tool_file_cmd",*)
1675 func_to_tool_file_result=$1
1676 ;;
1677 *)
1678 $to_tool_file_cmd "$1"
1679 func_to_tool_file_result=$func_to_host_file_result
1680 ;;
1681 esac
1682 }
1683 # end func_to_tool_file
1684
1685
1686 # func_convert_file_noop ARG
1687 # Copy ARG to func_to_host_file_result.
1688 func_convert_file_noop ()
1689 {
1690 func_to_host_file_result="$1"
1691 }
1692 # end func_convert_file_noop
1693
1694
1695 # func_convert_file_msys_to_w32 ARG
1696 # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
1697 # conversion to w32 is not available inside the cwrapper. Returns result in
1698 # func_to_host_file_result.
1699 func_convert_file_msys_to_w32 ()
1700 {
1701 $opt_debug
1702 func_to_host_file_result="$1"
1703 if test -n "$1"; then
1704 func_convert_core_msys_to_w32 "$1"
1705 func_to_host_file_result="$func_convert_core_msys_to_w32_result"
1706 fi
1707 func_convert_file_check "$1" "$func_to_host_file_result"
1708 }
1709 # end func_convert_file_msys_to_w32
1710
1711
1712 # func_convert_file_cygwin_to_w32 ARG
1713 # Convert file name ARG from Cygwin to w32 format. Returns result in
1714 # func_to_host_file_result.
1715 func_convert_file_cygwin_to_w32 ()
1716 {
1717 $opt_debug
1718 func_to_host_file_result="$1"
1719 if test -n "$1"; then
1720 # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
1721 # LT_CYGPATH in this case.
1722 func_to_host_file_result=`cygpath -m "$1"`
1723 fi
1724 func_convert_file_check "$1" "$func_to_host_file_result"
1725 }
1726 # end func_convert_file_cygwin_to_w32
1727
1728
1729 # func_convert_file_nix_to_w32 ARG
1730 # Convert file name ARG from *nix to w32 format. Requires a wine environment
1731 # and a working winepath. Returns result in func_to_host_file_result.
1732 func_convert_file_nix_to_w32 ()
1733 {
1734 $opt_debug
1735 func_to_host_file_result="$1"
1736 if test -n "$1"; then
1737 func_convert_core_file_wine_to_w32 "$1"
1738 func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
1739 fi
1740 func_convert_file_check "$1" "$func_to_host_file_result"
1741 }
1742 # end func_convert_file_nix_to_w32
1743
1744
1745 # func_convert_file_msys_to_cygwin ARG
1746 # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
1747 # Returns result in func_to_host_file_result.
1748 func_convert_file_msys_to_cygwin ()
1749 {
1750 $opt_debug
1751 func_to_host_file_result="$1"
1752 if test -n "$1"; then
1753 func_convert_core_msys_to_w32 "$1"
1754 func_cygpath -u "$func_convert_core_msys_to_w32_result"
1755 func_to_host_file_result="$func_cygpath_result"
1756 fi
1757 func_convert_file_check "$1" "$func_to_host_file_result"
1758 }
1759 # end func_convert_file_msys_to_cygwin
1760
1761
1762 # func_convert_file_nix_to_cygwin ARG
1763 # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
1764 # in a wine environment, working winepath, and LT_CYGPATH set. Returns result
1765 # in func_to_host_file_result.
1766 func_convert_file_nix_to_cygwin ()
1767 {
1768 $opt_debug
1769 func_to_host_file_result="$1"
1770 if test -n "$1"; then
1771 # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
1772 func_convert_core_file_wine_to_w32 "$1"
1773 func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
1774 func_to_host_file_result="$func_cygpath_result"
1775 fi
1776 func_convert_file_check "$1" "$func_to_host_file_result"
1777 }
1778 # end func_convert_file_nix_to_cygwin
1779
1780
1781 #############################################
1782 # $build to $host PATH CONVERSION FUNCTIONS #
1783 #############################################
1784 # invoked via `$to_host_path_cmd ARG'
1785 #
1786 # In each case, ARG is the path to be converted from $build to $host format.
1787 # The result will be available in $func_to_host_path_result.
1788 #
1789 # Path separators are also converted from $build format to $host format. If
1790 # ARG begins or ends with a path separator character, it is preserved (but
1791 # converted to $host format) on output.
1792 #
1793 # All path conversion functions are named using the following convention:
1794 # file name conversion function : func_convert_file_X_to_Y ()
1795 # path conversion function : func_convert_path_X_to_Y ()
1796 # where, for any given $build/$host combination the 'X_to_Y' value is the
1797 # same. If conversion functions are added for new $build/$host combinations,
1798 # the two new functions must follow this pattern, or func_init_to_host_path_cmd
1799 # will break.
1800
1801
1802 # func_init_to_host_path_cmd
1803 # Ensures that function "pointer" variable $to_host_path_cmd is set to the
1804 # appropriate value, based on the value of $to_host_file_cmd.
1805 to_host_path_cmd=
1806 func_init_to_host_path_cmd ()
1807 {
1808 $opt_debug
1809 if test -z "$to_host_path_cmd"; then
1810 func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
1811 to_host_path_cmd="func_convert_path_${func_stripname_result}"
1812 fi
1813 }
1814
1815
1816 # func_to_host_path ARG
1817 # Converts the path ARG from $build format to $host format. Return result
1818 # in func_to_host_path_result.
1819 func_to_host_path ()
1820 {
1821 $opt_debug
1822 func_init_to_host_path_cmd
1823 $to_host_path_cmd "$1"
1824 }
1825 # end func_to_host_path
1826
1827
1828 # func_convert_path_noop ARG
1829 # Copy ARG to func_to_host_path_result.
1830 func_convert_path_noop ()
1831 {
1832 func_to_host_path_result="$1"
1833 }
1834 # end func_convert_path_noop
1835
1836
1837 # func_convert_path_msys_to_w32 ARG
1838 # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
1839 # conversion to w32 is not available inside the cwrapper. Returns result in
1840 # func_to_host_path_result.
1841 func_convert_path_msys_to_w32 ()
1842 {
1843 $opt_debug
1844 func_to_host_path_result="$1"
1845 if test -n "$1"; then
1846 # Remove leading and trailing path separator characters from ARG. MSYS
1847 # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
1848 # and winepath ignores them completely.
1849 func_stripname : : "$1"
1850 func_to_host_path_tmp1=$func_stripname_result
1851 func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
1852 func_to_host_path_result="$func_convert_core_msys_to_w32_result"
1853 func_convert_path_check : ";" \
1854 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1855 func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
1856 fi
1857 }
1858 # end func_convert_path_msys_to_w32
1859
1860
1861 # func_convert_path_cygwin_to_w32 ARG
1862 # Convert path ARG from Cygwin to w32 format. Returns result in
1863 # func_to_host_file_result.
1864 func_convert_path_cygwin_to_w32 ()
1865 {
1866 $opt_debug
1867 func_to_host_path_result="$1"
1868 if test -n "$1"; then
1869 # See func_convert_path_msys_to_w32:
1870 func_stripname : : "$1"
1871 func_to_host_path_tmp1=$func_stripname_result
1872 func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
1873 func_convert_path_check : ";" \
1874 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1875 func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
1876 fi
1877 }
1878 # end func_convert_path_cygwin_to_w32
1879
1880
1881 # func_convert_path_nix_to_w32 ARG
1882 # Convert path ARG from *nix to w32 format. Requires a wine environment and
1883 # a working winepath. Returns result in func_to_host_file_result.
1884 func_convert_path_nix_to_w32 ()
1885 {
1886 $opt_debug
1887 func_to_host_path_result="$1"
1888 if test -n "$1"; then
1889 # See func_convert_path_msys_to_w32:
1890 func_stripname : : "$1"
1891 func_to_host_path_tmp1=$func_stripname_result
1892 func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
1893 func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
1894 func_convert_path_check : ";" \
1895 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1896 func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
1897 fi
1898 }
1899 # end func_convert_path_nix_to_w32
1900
1901
1902 # func_convert_path_msys_to_cygwin ARG
1903 # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
1904 # Returns result in func_to_host_file_result.
1905 func_convert_path_msys_to_cygwin ()
1906 {
1907 $opt_debug
1908 func_to_host_path_result="$1"
1909 if test -n "$1"; then
1910 # See func_convert_path_msys_to_w32:
1911 func_stripname : : "$1"
1912 func_to_host_path_tmp1=$func_stripname_result
1913 func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
1914 func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
1915 func_to_host_path_result="$func_cygpath_result"
1916 func_convert_path_check : : \
1917 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1918 func_convert_path_front_back_pathsep ":*" "*:" : "$1"
1919 fi
1920 }
1921 # end func_convert_path_msys_to_cygwin
1922
1923
1924 # func_convert_path_nix_to_cygwin ARG
1925 # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
1926 # a wine environment, working winepath, and LT_CYGPATH set. Returns result in
1927 # func_to_host_file_result.
1928 func_convert_path_nix_to_cygwin ()
1929 {
1930 $opt_debug
1931 func_to_host_path_result="$1"
1932 if test -n "$1"; then
1933 # Remove leading and trailing path separator characters from
1934 # ARG. msys behavior is inconsistent here, cygpath turns them
1935 # into '.;' and ';.', and winepath ignores them completely.
1936 func_stripname : : "$1"
1937 func_to_host_path_tmp1=$func_stripname_result
1938 func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
1939 func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
1940 func_to_host_path_result="$func_cygpath_result"
1941 func_convert_path_check : : \
1942 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1943 func_convert_path_front_back_pathsep ":*" "*:" : "$1"
1944 fi
1945 }
1946 # end func_convert_path_nix_to_cygwin
1947
1948
1107 # func_mode_compile arg... 1949 # func_mode_compile arg...
1108 func_mode_compile () 1950 func_mode_compile ()
1109 { 1951 {
1110 $opt_debug 1952 $opt_debug
1111 # Get the compilation command and the source file. 1953 # Get the compilation command and the source file.
1112 base_compile= 1954 base_compile=
1113 srcfile="$nonopt" # always keep a non-empty value in "srcfile" 1955 srcfile="$nonopt" # always keep a non-empty value in "srcfile"
1114 suppress_opt=yes 1956 suppress_opt=yes
1115 suppress_output= 1957 suppress_output=
1116 arg_mode=normal 1958 arg_mode=normal
(...skipping 20 matching lines...) Expand all
1137 # Accept any command-line options. 1979 # Accept any command-line options.
1138 case $arg in 1980 case $arg in
1139 -o) 1981 -o)
1140 test -n "$libobj" && \ 1982 test -n "$libobj" && \
1141 func_fatal_error "you cannot specify \`-o' more than once" 1983 func_fatal_error "you cannot specify \`-o' more than once"
1142 arg_mode=target 1984 arg_mode=target
1143 continue 1985 continue
1144 ;; 1986 ;;
1145 1987
1146 -pie | -fpie | -fPIE) 1988 -pie | -fpie | -fPIE)
1147 pie_flag="$pie_flag $arg" 1989 func_append pie_flag " $arg"
1148 continue 1990 continue
1149 ;; 1991 ;;
1150 1992
1151 -shared | -static | -prefer-pic | -prefer-non-pic) 1993 -shared | -static | -prefer-pic | -prefer-non-pic)
1152 » later="$later $arg" 1994 » func_append later " $arg"
1153 continue 1995 continue
1154 ;; 1996 ;;
1155 1997
1156 -no-suppress) 1998 -no-suppress)
1157 suppress_opt=no 1999 suppress_opt=no
1158 continue 2000 continue
1159 ;; 2001 ;;
1160 2002
1161 -Xcompiler) 2003 -Xcompiler)
1162 arg_mode=arg # the next one goes into the "base_compile" arg list 2004 arg_mode=arg # the next one goes into the "base_compile" arg list
1163 continue # The current "srcfile" will either be retained or 2005 continue # The current "srcfile" will either be retained or
1164 ;; # replaced later. I would guess that would be a bug. 2006 ;; # replaced later. I would guess that would be a bug.
1165 2007
1166 -Wc,*) 2008 -Wc,*)
1167 func_stripname '-Wc,' '' "$arg" 2009 func_stripname '-Wc,' '' "$arg"
1168 args=$func_stripname_result 2010 args=$func_stripname_result
1169 lastarg= 2011 lastarg=
1170 save_ifs="$IFS"; IFS=',' 2012 save_ifs="$IFS"; IFS=','
1171 for arg in $args; do 2013 for arg in $args; do
1172 IFS="$save_ifs" 2014 IFS="$save_ifs"
1173 » func_quote_for_eval "$arg" 2015 » func_append_quoted lastarg "$arg"
1174 » lastarg="$lastarg $func_quote_for_eval_result"
1175 done 2016 done
1176 IFS="$save_ifs" 2017 IFS="$save_ifs"
1177 func_stripname ' ' '' "$lastarg" 2018 func_stripname ' ' '' "$lastarg"
1178 lastarg=$func_stripname_result 2019 lastarg=$func_stripname_result
1179 2020
1180 # Add the arguments to base_compile. 2021 # Add the arguments to base_compile.
1181 » base_compile="$base_compile $lastarg" 2022 » func_append base_compile " $lastarg"
1182 continue 2023 continue
1183 ;; 2024 ;;
1184 2025
1185 *) 2026 *)
1186 # Accept the current argument as the source file. 2027 # Accept the current argument as the source file.
1187 # The previous "srcfile" becomes the current argument. 2028 # The previous "srcfile" becomes the current argument.
1188 # 2029 #
1189 lastarg="$srcfile" 2030 lastarg="$srcfile"
1190 srcfile="$arg" 2031 srcfile="$arg"
1191 ;; 2032 ;;
1192 esac # case $arg 2033 esac # case $arg
1193 ;; 2034 ;;
1194 esac # case $arg_mode 2035 esac # case $arg_mode
1195 2036
1196 # Aesthetically quote the previous argument. 2037 # Aesthetically quote the previous argument.
1197 func_quote_for_eval "$lastarg" 2038 func_append_quoted base_compile "$lastarg"
1198 base_compile="$base_compile $func_quote_for_eval_result"
1199 done # for arg 2039 done # for arg
1200 2040
1201 case $arg_mode in 2041 case $arg_mode in
1202 arg) 2042 arg)
1203 func_fatal_error "you must specify an argument for -Xcompile" 2043 func_fatal_error "you must specify an argument for -Xcompile"
1204 ;; 2044 ;;
1205 target) 2045 target)
1206 func_fatal_error "you must specify a target with \`-o'" 2046 func_fatal_error "you must specify a target with \`-o'"
1207 ;; 2047 ;;
1208 *) 2048 *)
1209 # Get the name of the library object. 2049 # Get the name of the library object.
1210 test -z "$libobj" && { 2050 test -z "$libobj" && {
1211 func_basename "$srcfile" 2051 func_basename "$srcfile"
1212 libobj="$func_basename_result" 2052 libobj="$func_basename_result"
1213 } 2053 }
1214 ;; 2054 ;;
1215 esac 2055 esac
1216 2056
1217 # Recognize several different file suffixes. 2057 # Recognize several different file suffixes.
1218 # If the user specifies -o file.o, it is replaced with file.lo 2058 # If the user specifies -o file.o, it is replaced with file.lo
1219 case $libobj in 2059 case $libobj in
1220 *.[cCFSifmso] | \ 2060 *.[cCFSifmso] | \
1221 *.ada | *.adb | *.ads | *.asm | \ 2061 *.ada | *.adb | *.ads | *.asm | \
1222 *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ 2062 *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
1223 *.[fF][09]? | *.for | *.java | *.obj | *.sx) 2063 *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
1224 func_xform "$libobj" 2064 func_xform "$libobj"
1225 libobj=$func_xform_result 2065 libobj=$func_xform_result
1226 ;; 2066 ;;
1227 esac 2067 esac
1228 2068
1229 case $libobj in 2069 case $libobj in
1230 *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; 2070 *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
1231 *) 2071 *)
1232 func_fatal_error "cannot determine name of library object from \`$libobj'" 2072 func_fatal_error "cannot determine name of library object from \`$libobj'"
1233 ;; 2073 ;;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1288 ;; 2128 ;;
1289 esac 2129 esac
1290 if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then 2130 if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
1291 # non-PIC code in shared libraries is not supported 2131 # non-PIC code in shared libraries is not supported
1292 pic_mode=default 2132 pic_mode=default
1293 fi 2133 fi
1294 2134
1295 # Calculate the filename of the output object if compiler does 2135 # Calculate the filename of the output object if compiler does
1296 # not support -o with -c 2136 # not support -o with -c
1297 if test "$compiler_c_o" = no; then 2137 if test "$compiler_c_o" = no; then
1298 output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${o bjext} 2138 output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
1299 lockfile="$output_obj.lock" 2139 lockfile="$output_obj.lock"
1300 else 2140 else
1301 output_obj= 2141 output_obj=
1302 need_locks=no 2142 need_locks=no
1303 lockfile= 2143 lockfile=
1304 fi 2144 fi
1305 2145
1306 # Lock this critical section if it is needed 2146 # Lock this critical section if it is needed
1307 # We use this script file to make the link, it avoids creating a new file 2147 # We use this script file to make the link, it avoids creating a new file
1308 if test "$need_locks" = yes; then 2148 if test "$need_locks" = yes; then
(...skipping 10 matching lines...) Expand all
1319 This indicates that another process is trying to use the same 2159 This indicates that another process is trying to use the same
1320 temporary object file, and libtool could not work around it because 2160 temporary object file, and libtool could not work around it because
1321 your compiler does not support \`-c' and \`-o' together. If you 2161 your compiler does not support \`-c' and \`-o' together. If you
1322 repeat this compilation, it may succeed, by chance, but you had better 2162 repeat this compilation, it may succeed, by chance, but you had better
1323 avoid parallel builds (make -j) in this platform, or get a better 2163 avoid parallel builds (make -j) in this platform, or get a better
1324 compiler." 2164 compiler."
1325 2165
1326 $opt_dry_run || $RM $removelist 2166 $opt_dry_run || $RM $removelist
1327 exit $EXIT_FAILURE 2167 exit $EXIT_FAILURE
1328 fi 2168 fi
1329 removelist="$removelist $output_obj" 2169 func_append removelist " $output_obj"
1330 $ECHO "$srcfile" > "$lockfile" 2170 $ECHO "$srcfile" > "$lockfile"
1331 fi 2171 fi
1332 2172
1333 $opt_dry_run || $RM $removelist 2173 $opt_dry_run || $RM $removelist
1334 removelist="$removelist $lockfile" 2174 func_append removelist " $lockfile"
1335 trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 2175 trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
1336 2176
1337 if test -n "$fix_srcfile_path"; then 2177 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
1338 eval srcfile=\"$fix_srcfile_path\" 2178 srcfile=$func_to_tool_file_result
1339 fi
1340 func_quote_for_eval "$srcfile" 2179 func_quote_for_eval "$srcfile"
1341 qsrcfile=$func_quote_for_eval_result 2180 qsrcfile=$func_quote_for_eval_result
1342 2181
1343 # Only build a PIC object if we are building libtool libraries. 2182 # Only build a PIC object if we are building libtool libraries.
1344 if test "$build_libtool_libs" = yes; then 2183 if test "$build_libtool_libs" = yes; then
1345 # Without this assignment, base_compile gets emptied. 2184 # Without this assignment, base_compile gets emptied.
1346 fbsd_hideous_sh_bug=$base_compile 2185 fbsd_hideous_sh_bug=$base_compile
1347 2186
1348 if test "$pic_mode" != no; then 2187 if test "$pic_mode" != no; then
1349 command="$base_compile $qsrcfile $pic_flag" 2188 command="$base_compile $qsrcfile $pic_flag"
1350 else 2189 else
1351 # Don't build PIC code 2190 # Don't build PIC code
1352 command="$base_compile $qsrcfile" 2191 command="$base_compile $qsrcfile"
1353 fi 2192 fi
1354 2193
1355 func_mkdir_p "$xdir$objdir" 2194 func_mkdir_p "$xdir$objdir"
1356 2195
1357 if test -z "$output_obj"; then 2196 if test -z "$output_obj"; then
1358 # Place PIC objects in $objdir 2197 # Place PIC objects in $objdir
1359 » command="$command -o $lobj" 2198 » func_append command " -o $lobj"
1360 fi 2199 fi
1361 2200
1362 func_show_eval_locale "$command" \ 2201 func_show_eval_locale "$command" \
1363 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' 2202 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
1364 2203
1365 if test "$need_locks" = warn && 2204 if test "$need_locks" = warn &&
1366 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then 2205 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1367 $ECHO "\ 2206 $ECHO "\
1368 *** ERROR, $lockfile contains: 2207 *** ERROR, $lockfile contains:
1369 `cat $lockfile 2>/dev/null` 2208 `cat $lockfile 2>/dev/null`
(...skipping 26 matching lines...) Expand all
1396 2235
1397 # Only build a position-dependent object if we build old libraries. 2236 # Only build a position-dependent object if we build old libraries.
1398 if test "$build_old_libs" = yes; then 2237 if test "$build_old_libs" = yes; then
1399 if test "$pic_mode" != yes; then 2238 if test "$pic_mode" != yes; then
1400 # Don't build PIC code 2239 # Don't build PIC code
1401 command="$base_compile $qsrcfile$pie_flag" 2240 command="$base_compile $qsrcfile$pie_flag"
1402 else 2241 else
1403 command="$base_compile $qsrcfile $pic_flag" 2242 command="$base_compile $qsrcfile $pic_flag"
1404 fi 2243 fi
1405 if test "$compiler_c_o" = yes; then 2244 if test "$compiler_c_o" = yes; then
1406 » command="$command -o $obj" 2245 » func_append command " -o $obj"
1407 fi 2246 fi
1408 2247
1409 # Suppress compiler output if we already did a PIC compilation. 2248 # Suppress compiler output if we already did a PIC compilation.
1410 command="$command$suppress_output" 2249 func_append command "$suppress_output"
1411 func_show_eval_locale "$command" \ 2250 func_show_eval_locale "$command" \
1412 '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 2251 '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
1413 2252
1414 if test "$need_locks" = warn && 2253 if test "$need_locks" = warn &&
1415 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then 2254 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1416 $ECHO "\ 2255 $ECHO "\
1417 *** ERROR, $lockfile contains: 2256 *** ERROR, $lockfile contains:
1418 `cat $lockfile 2>/dev/null` 2257 `cat $lockfile 2>/dev/null`
1419 2258
1420 but it should contain: 2259 but it should contain:
(...skipping 24 matching lines...) Expand all
1445 if test "$need_locks" != no; then 2284 if test "$need_locks" != no; then
1446 removelist=$lockfile 2285 removelist=$lockfile
1447 $RM "$lockfile" 2286 $RM "$lockfile"
1448 fi 2287 fi
1449 } 2288 }
1450 2289
1451 exit $EXIT_SUCCESS 2290 exit $EXIT_SUCCESS
1452 } 2291 }
1453 2292
1454 $opt_help || { 2293 $opt_help || {
1455 test "$mode" = compile && func_mode_compile ${1+"$@"} 2294 test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
1456 } 2295 }
1457 2296
1458 func_mode_help () 2297 func_mode_help ()
1459 { 2298 {
1460 # We need to display help for each of the modes. 2299 # We need to display help for each of the modes.
1461 case $mode in 2300 case $opt_mode in
1462 "") 2301 "")
1463 # Generic help is extracted from the usage comments 2302 # Generic help is extracted from the usage comments
1464 # at the start of this file. 2303 # at the start of this file.
1465 func_help 2304 func_help
1466 ;; 2305 ;;
1467 2306
1468 clean) 2307 clean)
1469 $ECHO \ 2308 $ECHO \
1470 "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... 2309 "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
1471 2310
(...skipping 10 matching lines...) Expand all
1482 compile) 2321 compile)
1483 $ECHO \ 2322 $ECHO \
1484 "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE 2323 "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
1485 2324
1486 Compile a source file into a libtool library object. 2325 Compile a source file into a libtool library object.
1487 2326
1488 This mode accepts the following additional options: 2327 This mode accepts the following additional options:
1489 2328
1490 -o OUTPUT-FILE set the output file name to OUTPUT-FILE 2329 -o OUTPUT-FILE set the output file name to OUTPUT-FILE
1491 -no-suppress do not suppress compiler output for multiple passes 2330 -no-suppress do not suppress compiler output for multiple passes
1492 -prefer-pic try to building PIC objects only 2331 -prefer-pic try to build PIC objects only
1493 -prefer-non-pic try to building non-PIC objects only 2332 -prefer-non-pic try to build non-PIC objects only
1494 -shared do not build a \`.o' file suitable for static linking 2333 -shared do not build a \`.o' file suitable for static linking
1495 -static only build a \`.o' file suitable for static linking 2334 -static only build a \`.o' file suitable for static linking
2335 -Wc,FLAG pass FLAG directly to the compiler
1496 2336
1497 COMPILE-COMMAND is a command to be used in creating a \`standard' object file 2337 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
1498 from the given SOURCEFILE. 2338 from the given SOURCEFILE.
1499 2339
1500 The output file name is determined by removing the directory component from 2340 The output file name is determined by removing the directory component from
1501 SOURCEFILE, then substituting the C source code suffix \`.c' with the 2341 SOURCEFILE, then substituting the C source code suffix \`.c' with the
1502 library object suffix, \`.lo'." 2342 library object suffix, \`.lo'."
1503 ;; 2343 ;;
1504 2344
1505 execute) 2345 execute)
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1538 $ECHO \ 2378 $ECHO \
1539 "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... 2379 "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
1540 2380
1541 Install executables or libraries. 2381 Install executables or libraries.
1542 2382
1543 INSTALL-COMMAND is the installation command. The first component should be 2383 INSTALL-COMMAND is the installation command. The first component should be
1544 either the \`install' or \`cp' program. 2384 either the \`install' or \`cp' program.
1545 2385
1546 The following components of INSTALL-COMMAND are treated specially: 2386 The following components of INSTALL-COMMAND are treated specially:
1547 2387
1548 -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation 2388 -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
1549 2389
1550 The rest of the components are interpreted as arguments to that command (only 2390 The rest of the components are interpreted as arguments to that command (only
1551 BSD-compatible install options are recognized)." 2391 BSD-compatible install options are recognized)."
1552 ;; 2392 ;;
1553 2393
1554 link) 2394 link)
1555 $ECHO \ 2395 $ECHO \
1556 "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... 2396 "Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
1557 2397
1558 Link object files or libraries together to form another library, or to 2398 Link object files or libraries together to form another library, or to
1559 create an executable program. 2399 create an executable program.
1560 2400
1561 LINK-COMMAND is a command using the C compiler that you would use to create 2401 LINK-COMMAND is a command using the C compiler that you would use to create
1562 a program from several object files. 2402 a program from several object files.
1563 2403
1564 The following components of LINK-COMMAND are treated specially: 2404 The following components of LINK-COMMAND are treated specially:
1565 2405
1566 -all-static do not do any dynamic linking at all 2406 -all-static do not do any dynamic linking at all
1567 -avoid-version do not add a version suffix if possible 2407 -avoid-version do not add a version suffix if possible
2408 -bindir BINDIR specify path to binaries directory (for systems where
2409 libraries must be found in the PATH setting at runtime)
1568 -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime 2410 -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
1569 -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols 2411 -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
1570 -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) 2412 -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
1571 -export-symbols SYMFILE 2413 -export-symbols SYMFILE
1572 try to export only the symbols listed in SYMFILE 2414 try to export only the symbols listed in SYMFILE
1573 -export-symbols-regex REGEX 2415 -export-symbols-regex REGEX
1574 try to export only the symbols matching REGEX 2416 try to export only the symbols matching REGEX
1575 -LLIBDIR search LIBDIR for required installed libraries 2417 -LLIBDIR search LIBDIR for required installed libraries
1576 -lNAME OUTPUT-FILE requires the installed library libNAME 2418 -lNAME OUTPUT-FILE requires the installed library libNAME
1577 -module build a library that can dlopened 2419 -module build a library that can dlopened
1578 -no-fast-install disable the fast-install mode 2420 -no-fast-install disable the fast-install mode
1579 -no-install link a not-installable executable 2421 -no-install link a not-installable executable
1580 -no-undefined declare that a library does not refer to external symbols 2422 -no-undefined declare that a library does not refer to external symbols
1581 -o OUTPUT-FILE create OUTPUT-FILE from the specified objects 2423 -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
1582 -objectlist FILE Use a list of object files found in FILE to specify objects 2424 -objectlist FILE Use a list of object files found in FILE to specify objects
1583 -precious-files-regex REGEX 2425 -precious-files-regex REGEX
1584 don't remove output files matching REGEX 2426 don't remove output files matching REGEX
1585 -release RELEASE specify package release information 2427 -release RELEASE specify package release information
1586 -rpath LIBDIR the created library will eventually be installed in LIBDIR 2428 -rpath LIBDIR the created library will eventually be installed in LIBDIR
1587 -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries 2429 -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
1588 -shared only do dynamic linking of libtool libraries 2430 -shared only do dynamic linking of libtool libraries
1589 -shrext SUFFIX override the standard shared library file extension 2431 -shrext SUFFIX override the standard shared library file extension
1590 -static do not do any dynamic linking of uninstalled libtool librari es 2432 -static do not do any dynamic linking of uninstalled libtool librari es
1591 -static-libtool-libs 2433 -static-libtool-libs
1592 do not do any dynamic linking of libtool libraries 2434 do not do any dynamic linking of libtool libraries
1593 -version-info CURRENT[:REVISION[:AGE]] 2435 -version-info CURRENT[:REVISION[:AGE]]
1594 specify library version info [each variable defaults to 0] 2436 specify library version info [each variable defaults to 0]
1595 -weak LIBNAME declare that the target provides the LIBNAME interface 2437 -weak LIBNAME declare that the target provides the LIBNAME interface
2438 -Wc,FLAG
2439 -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
2440 -Wl,FLAG
2441 -Xlinker FLAG pass linker-specific FLAG directly to the linker
2442 -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
1596 2443
1597 All other options (arguments beginning with \`-') are ignored. 2444 All other options (arguments beginning with \`-') are ignored.
1598 2445
1599 Every other argument is treated as a filename. Files ending in \`.la' are 2446 Every other argument is treated as a filename. Files ending in \`.la' are
1600 treated as uninstalled libtool libraries, other files are standard or library 2447 treated as uninstalled libtool libraries, other files are standard or library
1601 object files. 2448 object files.
1602 2449
1603 If the OUTPUT-FILE ends in \`.la', then a libtool library is created, 2450 If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
1604 only library objects (\`.lo' files) may be specified, and \`-rpath' is 2451 only library objects (\`.lo' files) may be specified, and \`-rpath' is
1605 required, except when creating a convenience library. 2452 required, except when creating a convenience library.
(...skipping 13 matching lines...) Expand all
1619 2466
1620 RM is the name of the program to use to delete files associated with each FILE 2467 RM is the name of the program to use to delete files associated with each FILE
1621 (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed 2468 (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
1622 to RM. 2469 to RM.
1623 2470
1624 If FILE is a libtool library, all the files associated with it are deleted. 2471 If FILE is a libtool library, all the files associated with it are deleted.
1625 Otherwise, only FILE itself is deleted using RM." 2472 Otherwise, only FILE itself is deleted using RM."
1626 ;; 2473 ;;
1627 2474
1628 *) 2475 *)
1629 func_fatal_help "invalid operation mode \`$mode'" 2476 func_fatal_help "invalid operation mode \`$opt_mode'"
1630 ;; 2477 ;;
1631 esac 2478 esac
1632 2479
1633 $ECHO 2480 echo
1634 $ECHO "Try \`$progname --help' for more information about other modes." 2481 $ECHO "Try \`$progname --help' for more information about other modes."
1635
1636 exit $?
1637 } 2482 }
1638 2483
1639 # Now that we've collected a possible --mode arg, show help if necessary 2484 # Now that we've collected a possible --mode arg, show help if necessary
1640 $opt_help && func_mode_help 2485 if $opt_help; then
2486 if test "$opt_help" = :; then
2487 func_mode_help
2488 else
2489 {
2490 func_help noexit
2491 for opt_mode in compile link execute install finish uninstall clean; do
2492 » func_mode_help
2493 done
2494 } | sed -n '1p; 2,$s/^Usage:/ or: /p'
2495 {
2496 func_help noexit
2497 for opt_mode in compile link execute install finish uninstall clean; do
2498 » echo
2499 » func_mode_help
2500 done
2501 } |
2502 sed '1d
2503 /^When reporting/,/^Report/{
2504 » H
2505 » d
2506 }
2507 $x
2508 /information about other modes/d
2509 /more detailed .*MODE/d
2510 s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
2511 fi
2512 exit $?
2513 fi
1641 2514
1642 2515
1643 # func_mode_execute arg... 2516 # func_mode_execute arg...
1644 func_mode_execute () 2517 func_mode_execute ()
1645 { 2518 {
1646 $opt_debug 2519 $opt_debug
1647 # The first argument is the command name. 2520 # The first argument is the command name.
1648 cmd="$nonopt" 2521 cmd="$nonopt"
1649 test -z "$cmd" && \ 2522 test -z "$cmd" && \
1650 func_fatal_help "you must specify a COMMAND" 2523 func_fatal_help "you must specify a COMMAND"
1651 2524
1652 # Handle -dlopen flags immediately. 2525 # Handle -dlopen flags immediately.
1653 for file in $execute_dlfiles; do 2526 for file in $opt_dlopen; do
1654 test -f "$file" \ 2527 test -f "$file" \
1655 || func_fatal_help "\`$file' is not a file" 2528 || func_fatal_help "\`$file' is not a file"
1656 2529
1657 dir= 2530 dir=
1658 case $file in 2531 case $file in
1659 *.la) 2532 *.la)
2533 func_resolve_sysroot "$file"
2534 file=$func_resolve_sysroot_result
2535
1660 # Check to see that this really is a libtool archive. 2536 # Check to see that this really is a libtool archive.
1661 func_lalib_unsafe_p "$file" \ 2537 func_lalib_unsafe_p "$file" \
1662 || func_fatal_help "\`$lib' is not a valid libtool archive" 2538 || func_fatal_help "\`$lib' is not a valid libtool archive"
1663 2539
1664 # Read the libtool library. 2540 # Read the libtool library.
1665 dlname= 2541 dlname=
1666 library_names= 2542 library_names=
1667 func_source "$file" 2543 func_source "$file"
1668 2544
1669 # Skip this library if it cannot be dlopened. 2545 # Skip this library if it cannot be dlopened.
1670 if test -z "$dlname"; then 2546 if test -z "$dlname"; then
1671 # Warn if it was a shared library. 2547 # Warn if it was a shared library.
1672 test -n "$library_names" && \ 2548 test -n "$library_names" && \
1673 func_warning "\`$file' was not linked with \`-export-dynamic'" 2549 func_warning "\`$file' was not linked with \`-export-dynamic'"
1674 continue 2550 continue
1675 fi 2551 fi
1676 2552
1677 func_dirname "$file" "" "." 2553 func_dirname "$file" "" "."
1678 dir="$func_dirname_result" 2554 dir="$func_dirname_result"
1679 2555
1680 if test -f "$dir/$objdir/$dlname"; then 2556 if test -f "$dir/$objdir/$dlname"; then
1681 » dir="$dir/$objdir" 2557 » func_append dir "/$objdir"
1682 else 2558 else
1683 if test ! -f "$dir/$dlname"; then 2559 if test ! -f "$dir/$dlname"; then
1684 func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdi r'" 2560 func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdi r'"
1685 fi 2561 fi
1686 fi 2562 fi
1687 ;; 2563 ;;
1688 2564
1689 *.lo) 2565 *.lo)
1690 # Just add the directory containing the .lo file. 2566 # Just add the directory containing the .lo file.
1691 func_dirname "$file" "" "." 2567 func_dirname "$file" "" "."
(...skipping 20 matching lines...) Expand all
1712 2588
1713 # This variable tells wrapper scripts just to set shlibpath_var 2589 # This variable tells wrapper scripts just to set shlibpath_var
1714 # rather than running their programs. 2590 # rather than running their programs.
1715 libtool_execute_magic="$magic" 2591 libtool_execute_magic="$magic"
1716 2592
1717 # Check if any of the arguments is a wrapper script. 2593 # Check if any of the arguments is a wrapper script.
1718 args= 2594 args=
1719 for file 2595 for file
1720 do 2596 do
1721 case $file in 2597 case $file in
1722 -*) ;; 2598 -* | *.la | *.lo ) ;;
1723 *) 2599 *)
1724 # Do a test to see if this is really a libtool program. 2600 # Do a test to see if this is really a libtool program.
1725 if func_ltwrapper_script_p "$file"; then 2601 if func_ltwrapper_script_p "$file"; then
1726 func_source "$file" 2602 func_source "$file"
1727 # Transform arg to wrapped name. 2603 # Transform arg to wrapped name.
1728 file="$progdir/$program" 2604 file="$progdir/$program"
1729 elif func_ltwrapper_executable_p "$file"; then 2605 elif func_ltwrapper_executable_p "$file"; then
1730 func_ltwrapper_scriptname "$file" 2606 func_ltwrapper_scriptname "$file"
1731 func_source "$func_ltwrapper_scriptname_result" 2607 func_source "$func_ltwrapper_scriptname_result"
1732 # Transform arg to wrapped name. 2608 # Transform arg to wrapped name.
1733 file="$progdir/$program" 2609 file="$progdir/$program"
1734 fi 2610 fi
1735 ;; 2611 ;;
1736 esac 2612 esac
1737 # Quote arguments (to preserve shell metacharacters). 2613 # Quote arguments (to preserve shell metacharacters).
1738 func_quote_for_eval "$file" 2614 func_append_quoted args "$file"
1739 args="$args $func_quote_for_eval_result"
1740 done 2615 done
1741 2616
1742 if test "X$opt_dry_run" = Xfalse; then 2617 if test "X$opt_dry_run" = Xfalse; then
1743 if test -n "$shlibpath_var"; then 2618 if test -n "$shlibpath_var"; then
1744 # Export the shlibpath_var. 2619 # Export the shlibpath_var.
1745 eval "export $shlibpath_var" 2620 eval "export $shlibpath_var"
1746 fi 2621 fi
1747 2622
1748 # Restore saved environment variables 2623 # Restore saved environment variables
1749 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES 2624 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
1750 do 2625 do
1751 eval "if test \"\${save_$lt_var+set}\" = set; then 2626 eval "if test \"\${save_$lt_var+set}\" = set; then
1752 $lt_var=\$save_$lt_var; export $lt_var 2627 $lt_var=\$save_$lt_var; export $lt_var
1753 else 2628 else
1754 $lt_unset $lt_var 2629 $lt_unset $lt_var
1755 fi" 2630 fi"
1756 done 2631 done
1757 2632
1758 # Now prepare to actually exec the command. 2633 # Now prepare to actually exec the command.
1759 exec_cmd="\$cmd$args" 2634 exec_cmd="\$cmd$args"
1760 else 2635 else
1761 # Display what would be done. 2636 # Display what would be done.
1762 if test -n "$shlibpath_var"; then 2637 if test -n "$shlibpath_var"; then
1763 eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" 2638 eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
1764 » $ECHO "export $shlibpath_var" 2639 » echo "export $shlibpath_var"
1765 fi 2640 fi
1766 $ECHO "$cmd$args" 2641 $ECHO "$cmd$args"
1767 exit $EXIT_SUCCESS 2642 exit $EXIT_SUCCESS
1768 fi 2643 fi
1769 } 2644 }
1770 2645
1771 test "$mode" = execute && func_mode_execute ${1+"$@"} 2646 test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
1772 2647
1773 2648
1774 # func_mode_finish arg... 2649 # func_mode_finish arg...
1775 func_mode_finish () 2650 func_mode_finish ()
1776 { 2651 {
1777 $opt_debug 2652 $opt_debug
1778 libdirs="$nonopt" 2653 libs=
2654 libdirs=
1779 admincmds= 2655 admincmds=
1780 2656
2657 for opt in "$nonopt" ${1+"$@"}
2658 do
2659 if test -d "$opt"; then
2660 func_append libdirs " $opt"
2661
2662 elif test -f "$opt"; then
2663 if func_lalib_unsafe_p "$opt"; then
2664 func_append libs " $opt"
2665 else
2666 func_warning "\`$opt' is not a valid libtool archive"
2667 fi
2668
2669 else
2670 func_fatal_error "invalid argument \`$opt'"
2671 fi
2672 done
2673
2674 if test -n "$libs"; then
2675 if test -n "$lt_sysroot"; then
2676 sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
2677 sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
2678 else
2679 sysroot_cmd=
2680 fi
2681
2682 # Remove sysroot references
2683 if $opt_dry_run; then
2684 for lib in $libs; do
2685 echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
2686 done
2687 else
2688 tmpdir=`func_mktempdir`
2689 for lib in $libs; do
2690 sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
2691 > $tmpdir/tmp-la
2692 mv -f $tmpdir/tmp-la $lib
2693 done
2694 ${RM}r "$tmpdir"
2695 fi
2696 fi
2697
1781 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then 2698 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
1782 for dir
1783 do
1784 libdirs="$libdirs $dir"
1785 done
1786
1787 for libdir in $libdirs; do 2699 for libdir in $libdirs; do
1788 if test -n "$finish_cmds"; then 2700 if test -n "$finish_cmds"; then
1789 # Do each command in the finish commands. 2701 # Do each command in the finish commands.
1790 func_execute_cmds "$finish_cmds" 'admincmds="$admincmds 2702 func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
1791 '"$cmd"'"' 2703 '"$cmd"'"'
1792 fi 2704 fi
1793 if test -n "$finish_eval"; then 2705 if test -n "$finish_eval"; then
1794 # Do the single finish_eval. 2706 # Do the single finish_eval.
1795 eval cmds=\"$finish_eval\" 2707 eval cmds=\"$finish_eval\"
1796 » $opt_dry_run || eval "$cmds" || admincmds="$admincmds 2708 » $opt_dry_run || eval "$cmds" || func_append admincmds "
1797 $cmds" 2709 $cmds"
1798 fi 2710 fi
1799 done 2711 done
1800 fi 2712 fi
1801 2713
1802 # Exit here if they wanted silent mode. 2714 # Exit here if they wanted silent mode.
1803 $opt_silent && exit $EXIT_SUCCESS 2715 $opt_silent && exit $EXIT_SUCCESS
1804 2716
1805 $ECHO "X-------------------------------------------------------------------- --" | $Xsed 2717 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
1806 $ECHO "Libraries have been installed in:" 2718 echo "-------------------------------------------------------------------- --"
1807 for libdir in $libdirs; do 2719 echo "Libraries have been installed in:"
1808 $ECHO " $libdir" 2720 for libdir in $libdirs; do
1809 done 2721 » $ECHO " $libdir"
1810 $ECHO 2722 done
1811 $ECHO "If you ever happen to want to link against installed libraries" 2723 echo
1812 $ECHO "in a given directory, LIBDIR, you must either use libtool, and" 2724 echo "If you ever happen to want to link against installed libraries"
1813 $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'" 2725 echo "in a given directory, LIBDIR, you must either use libtool, and"
1814 $ECHO "flag during linking and do at least one of the following:" 2726 echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
1815 if test -n "$shlibpath_var"; then 2727 echo "flag during linking and do at least one of the following:"
1816 $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable" 2728 if test -n "$shlibpath_var"; then
1817 $ECHO " during execution" 2729 » echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
2730 » echo " during execution"
2731 fi
2732 if test -n "$runpath_var"; then
2733 » echo " - add LIBDIR to the \`$runpath_var' environment variable"
2734 » echo " during linking"
2735 fi
2736 if test -n "$hardcode_libdir_flag_spec"; then
2737 » libdir=LIBDIR
2738 » eval flag=\"$hardcode_libdir_flag_spec\"
2739
2740 » $ECHO " - use the \`$flag' linker flag"
2741 fi
2742 if test -n "$admincmds"; then
2743 » $ECHO " - have your system administrator run these commands:$admincmds "
2744 fi
2745 if test -f /etc/ld.so.conf; then
2746 » echo " - have your system administrator add LIBDIR to \`/etc/ld.so.con f'"
2747 fi
2748 echo
2749
2750 echo "See any operating system documentation about shared libraries for"
2751 case $host in
2752 » solaris2.[6789]|solaris2.1[0-9])
2753 » echo "more information, such as the ld(1), crle(1) and ld.so(8) manual "
2754 » echo "pages."
2755 » ;;
2756 » *)
2757 » echo "more information, such as the ld(1) and ld.so(8) manual pages."
2758 » ;;
2759 esac
2760 echo "-------------------------------------------------------------------- --"
1818 fi 2761 fi
1819 if test -n "$runpath_var"; then
1820 $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
1821 $ECHO " during linking"
1822 fi
1823 if test -n "$hardcode_libdir_flag_spec"; then
1824 libdir=LIBDIR
1825 eval flag=\"$hardcode_libdir_flag_spec\"
1826
1827 $ECHO " - use the \`$flag' linker flag"
1828 fi
1829 if test -n "$admincmds"; then
1830 $ECHO " - have your system administrator run these commands:$admincmds"
1831 fi
1832 if test -f /etc/ld.so.conf; then
1833 $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf '"
1834 fi
1835 $ECHO
1836
1837 $ECHO "See any operating system documentation about shared libraries for"
1838 case $host in
1839 solaris2.[6789]|solaris2.1[0-9])
1840 $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
1841 $ECHO "pages."
1842 ;;
1843 *)
1844 $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
1845 ;;
1846 esac
1847 $ECHO "X-------------------------------------------------------------------- --" | $Xsed
1848 exit $EXIT_SUCCESS 2762 exit $EXIT_SUCCESS
1849 } 2763 }
1850 2764
1851 test "$mode" = finish && func_mode_finish ${1+"$@"} 2765 test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
1852 2766
1853 2767
1854 # func_mode_install arg... 2768 # func_mode_install arg...
1855 func_mode_install () 2769 func_mode_install ()
1856 { 2770 {
1857 $opt_debug 2771 $opt_debug
1858 # There may be an optional sh(1) argument at the beginning of 2772 # There may be an optional sh(1) argument at the beginning of
1859 # install_prog (especially on Windows NT). 2773 # install_prog (especially on Windows NT).
1860 if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || 2774 if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
1861 # Allow the use of GNU shtool's install command. 2775 # Allow the use of GNU shtool's install command.
1862 $ECHO "X$nonopt" | $GREP shtool >/dev/null; then 2776 case $nonopt in *shtool*) :;; *) false;; esac; then
1863 # Aesthetically quote it. 2777 # Aesthetically quote it.
1864 func_quote_for_eval "$nonopt" 2778 func_quote_for_eval "$nonopt"
1865 install_prog="$func_quote_for_eval_result " 2779 install_prog="$func_quote_for_eval_result "
1866 arg=$1 2780 arg=$1
1867 shift 2781 shift
1868 else 2782 else
1869 install_prog= 2783 install_prog=
1870 arg=$nonopt 2784 arg=$nonopt
1871 fi 2785 fi
1872 2786
1873 # The real first argument should be the name of the installation program. 2787 # The real first argument should be the name of the installation program.
1874 # Aesthetically quote it. 2788 # Aesthetically quote it.
1875 func_quote_for_eval "$arg" 2789 func_quote_for_eval "$arg"
1876 install_prog="$install_prog$func_quote_for_eval_result" 2790 func_append install_prog "$func_quote_for_eval_result"
2791 install_shared_prog=$install_prog
2792 case " $install_prog " in
2793 *[\\\ /]cp\ *) install_cp=: ;;
2794 *) install_cp=false ;;
2795 esac
1877 2796
1878 # We need to accept at least all the BSD install flags. 2797 # We need to accept at least all the BSD install flags.
1879 dest= 2798 dest=
1880 files= 2799 files=
1881 opts= 2800 opts=
1882 prev= 2801 prev=
1883 install_type= 2802 install_type=
1884 isdir=no 2803 isdir=no
1885 stripme= 2804 stripme=
2805 no_mode=:
1886 for arg 2806 for arg
1887 do 2807 do
2808 arg2=
1888 if test -n "$dest"; then 2809 if test -n "$dest"; then
1889 » files="$files $dest" 2810 » func_append files " $dest"
1890 dest=$arg 2811 dest=$arg
1891 continue 2812 continue
1892 fi 2813 fi
1893 2814
1894 case $arg in 2815 case $arg in
1895 -d) isdir=yes ;; 2816 -d) isdir=yes ;;
1896 -f) 2817 -f)
1897 » case " $install_prog " in 2818 » if $install_cp; then :; else
1898 » *[\\\ /]cp\ *) ;; 2819 » prev=$arg
1899 » *) prev=$arg ;; 2820 » fi
1900 » esac
1901 ;; 2821 ;;
1902 -g | -m | -o) 2822 -g | -m | -o)
1903 prev=$arg 2823 prev=$arg
1904 ;; 2824 ;;
1905 -s) 2825 -s)
1906 stripme=" -s" 2826 stripme=" -s"
1907 continue 2827 continue
1908 ;; 2828 ;;
1909 -*) 2829 -*)
1910 ;; 2830 ;;
1911 *) 2831 *)
1912 # If the previous option needed an argument, then skip it. 2832 # If the previous option needed an argument, then skip it.
1913 if test -n "$prev"; then 2833 if test -n "$prev"; then
2834 if test "x$prev" = x-m && test -n "$install_override_mode"; then
2835 arg2=$install_override_mode
2836 no_mode=false
2837 fi
1914 prev= 2838 prev=
1915 else 2839 else
1916 dest=$arg 2840 dest=$arg
1917 continue 2841 continue
1918 fi 2842 fi
1919 ;; 2843 ;;
1920 esac 2844 esac
1921 2845
1922 # Aesthetically quote the argument. 2846 # Aesthetically quote the argument.
1923 func_quote_for_eval "$arg" 2847 func_quote_for_eval "$arg"
1924 install_prog="$install_prog $func_quote_for_eval_result" 2848 func_append install_prog " $func_quote_for_eval_result"
2849 if test -n "$arg2"; then
2850 » func_quote_for_eval "$arg2"
2851 fi
2852 func_append install_shared_prog " $func_quote_for_eval_result"
1925 done 2853 done
1926 2854
1927 test -z "$install_prog" && \ 2855 test -z "$install_prog" && \
1928 func_fatal_help "you must specify an install program" 2856 func_fatal_help "you must specify an install program"
1929 2857
1930 test -n "$prev" && \ 2858 test -n "$prev" && \
1931 func_fatal_help "the \`$prev' option requires an argument" 2859 func_fatal_help "the \`$prev' option requires an argument"
1932 2860
2861 if test -n "$install_override_mode" && $no_mode; then
2862 if $install_cp; then :; else
2863 func_quote_for_eval "$install_override_mode"
2864 func_append install_shared_prog " -m $func_quote_for_eval_result"
2865 fi
2866 fi
2867
1933 if test -z "$files"; then 2868 if test -z "$files"; then
1934 if test -z "$dest"; then 2869 if test -z "$dest"; then
1935 func_fatal_help "no file or destination specified" 2870 func_fatal_help "no file or destination specified"
1936 else 2871 else
1937 func_fatal_help "you must specify a destination" 2872 func_fatal_help "you must specify a destination"
1938 fi 2873 fi
1939 fi 2874 fi
1940 2875
1941 # Strip any trailing slash from the destination. 2876 # Strip any trailing slash from the destination.
1942 func_stripname '' '/' "$dest" 2877 func_stripname '' '/' "$dest"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1977 2912
1978 staticlibs= 2913 staticlibs=
1979 future_libdirs= 2914 future_libdirs=
1980 current_libdirs= 2915 current_libdirs=
1981 for file in $files; do 2916 for file in $files; do
1982 2917
1983 # Do each installation. 2918 # Do each installation.
1984 case $file in 2919 case $file in
1985 *.$libext) 2920 *.$libext)
1986 # Do the static libraries later. 2921 # Do the static libraries later.
1987 » staticlibs="$staticlibs $file" 2922 » func_append staticlibs " $file"
1988 ;; 2923 ;;
1989 2924
1990 *.la) 2925 *.la)
2926 func_resolve_sysroot "$file"
2927 file=$func_resolve_sysroot_result
2928
1991 # Check to see that this really is a libtool archive. 2929 # Check to see that this really is a libtool archive.
1992 func_lalib_unsafe_p "$file" \ 2930 func_lalib_unsafe_p "$file" \
1993 || func_fatal_help "\`$file' is not a valid libtool archive" 2931 || func_fatal_help "\`$file' is not a valid libtool archive"
1994 2932
1995 library_names= 2933 library_names=
1996 old_library= 2934 old_library=
1997 relink_command= 2935 relink_command=
1998 func_source "$file" 2936 func_source "$file"
1999 2937
2000 # Add the libdir to current_libdirs if it is the destination. 2938 # Add the libdir to current_libdirs if it is the destination.
2001 if test "X$destdir" = "X$libdir"; then 2939 if test "X$destdir" = "X$libdir"; then
2002 case "$current_libdirs " in 2940 case "$current_libdirs " in
2003 *" $libdir "*) ;; 2941 *" $libdir "*) ;;
2004 » *) current_libdirs="$current_libdirs $libdir" ;; 2942 » *) func_append current_libdirs " $libdir" ;;
2005 esac 2943 esac
2006 else 2944 else
2007 # Note the libdir as a future libdir. 2945 # Note the libdir as a future libdir.
2008 case "$future_libdirs " in 2946 case "$future_libdirs " in
2009 *" $libdir "*) ;; 2947 *" $libdir "*) ;;
2010 » *) future_libdirs="$future_libdirs $libdir" ;; 2948 » *) func_append future_libdirs " $libdir" ;;
2011 esac 2949 esac
2012 fi 2950 fi
2013 2951
2014 func_dirname "$file" "/" "" 2952 func_dirname "$file" "/" ""
2015 dir="$func_dirname_result" 2953 dir="$func_dirname_result"
2016 » dir="$dir$objdir" 2954 » func_append dir "$objdir"
2017 2955
2018 if test -n "$relink_command"; then 2956 if test -n "$relink_command"; then
2019 # Determine the prefix the user has applied to our future dir. 2957 # Determine the prefix the user has applied to our future dir.
2020 » inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` 2958 » inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
2021 2959
2022 # Don't allow the user to place us outside of our expected 2960 # Don't allow the user to place us outside of our expected
2023 # location b/c this prevents finding dependent libraries that 2961 # location b/c this prevents finding dependent libraries that
2024 # are installed to the same prefix. 2962 # are installed to the same prefix.
2025 # At present, this check doesn't affect windows .dll's that 2963 # At present, this check doesn't affect windows .dll's that
2026 # are installed into $libdir/../bin (currently, that works fine) 2964 # are installed into $libdir/../bin (currently, that works fine)
2027 # but it's something to keep an eye on. 2965 # but it's something to keep an eye on.
2028 test "$inst_prefix_dir" = "$destdir" && \ 2966 test "$inst_prefix_dir" = "$destdir" && \
2029 func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" 2967 func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
2030 2968
2031 if test -n "$inst_prefix_dir"; then 2969 if test -n "$inst_prefix_dir"; then
2032 # Stick the inst_prefix_dir data into the link command. 2970 # Stick the inst_prefix_dir data into the link command.
2033 » relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_ dir@%-inst-prefix-dir $inst_prefix_dir%"` 2971 » relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@% -inst-prefix-dir $inst_prefix_dir%"`
2034 else 2972 else
2035 » relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_ dir@%%"` 2973 » relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@% %"`
2036 fi 2974 fi
2037 2975
2038 func_warning "relinking \`$file'" 2976 func_warning "relinking \`$file'"
2039 func_show_eval "$relink_command" \ 2977 func_show_eval "$relink_command" \
2040 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' 2978 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
2041 fi 2979 fi
2042 2980
2043 # See the names of the shared library. 2981 # See the names of the shared library.
2044 set dummy $library_names; shift 2982 set dummy $library_names; shift
2045 if test -n "$1"; then 2983 if test -n "$1"; then
2046 realname="$1" 2984 realname="$1"
2047 shift 2985 shift
2048 2986
2049 srcname="$realname" 2987 srcname="$realname"
2050 test -n "$relink_command" && srcname="$realname"T 2988 test -n "$relink_command" && srcname="$realname"T
2051 2989
2052 # Install the shared library and build the symlinks. 2990 # Install the shared library and build the symlinks.
2053 » func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ 2991 » func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
2054 'exit $?' 2992 'exit $?'
2055 tstripme="$stripme" 2993 tstripme="$stripme"
2056 case $host_os in 2994 case $host_os in
2057 cygwin* | mingw* | pw32* | cegcc*) 2995 cygwin* | mingw* | pw32* | cegcc*)
2058 case $realname in 2996 case $realname in
2059 *.dll.a) 2997 *.dll.a)
2060 tstripme="" 2998 tstripme=""
2061 ;; 2999 ;;
2062 esac 3000 esac
2063 ;; 3001 ;;
(...skipping 19 matching lines...) Expand all
2083 func_execute_cmds "$postinstall_cmds" 'exit $?' 3021 func_execute_cmds "$postinstall_cmds" 'exit $?'
2084 fi 3022 fi
2085 3023
2086 # Install the pseudo-library for information purposes. 3024 # Install the pseudo-library for information purposes.
2087 func_basename "$file" 3025 func_basename "$file"
2088 name="$func_basename_result" 3026 name="$func_basename_result"
2089 instname="$dir/$name"i 3027 instname="$dir/$name"i
2090 func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' 3028 func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
2091 3029
2092 # Maybe install the static library, too. 3030 # Maybe install the static library, too.
2093 » test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" 3031 » test -n "$old_library" && func_append staticlibs " $dir/$old_library"
2094 ;; 3032 ;;
2095 3033
2096 *.lo) 3034 *.lo)
2097 # Install (i.e. copy) a libtool object. 3035 # Install (i.e. copy) a libtool object.
2098 3036
2099 # Figure out destination file name, if it wasn't already specified. 3037 # Figure out destination file name, if it wasn't already specified.
2100 if test -n "$destname"; then 3038 if test -n "$destname"; then
2101 destfile="$destdir/$destname" 3039 destfile="$destdir/$destname"
2102 else 3040 else
2103 func_basename "$file" 3041 func_basename "$file"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
2183 test -z "$generated_by_libtool_version" && \ 3121 test -z "$generated_by_libtool_version" && \
2184 func_fatal_error "invalid libtool wrapper script \`$wrapper'" 3122 func_fatal_error "invalid libtool wrapper script \`$wrapper'"
2185 3123
2186 finalize=yes 3124 finalize=yes
2187 for lib in $notinst_deplibs; do 3125 for lib in $notinst_deplibs; do
2188 # Check to see that each library is installed. 3126 # Check to see that each library is installed.
2189 libdir= 3127 libdir=
2190 if test -f "$lib"; then 3128 if test -f "$lib"; then
2191 func_source "$lib" 3129 func_source "$lib"
2192 fi 3130 fi
2193 » libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsui te: skip nested quoting test 3131 » libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: s kip nested quoting test
2194 if test -n "$libdir" && test ! -f "$libfile"; then 3132 if test -n "$libdir" && test ! -f "$libfile"; then
2195 func_warning "\`$lib' has not been installed in \`$libdir'" 3133 func_warning "\`$lib' has not been installed in \`$libdir'"
2196 finalize=no 3134 finalize=no
2197 fi 3135 fi
2198 done 3136 done
2199 3137
2200 relink_command= 3138 relink_command=
2201 func_source "$wrapper" 3139 func_source "$wrapper"
2202 3140
2203 outputname= 3141 outputname=
2204 if test "$fast_install" = no && test -n "$relink_command"; then 3142 if test "$fast_install" = no && test -n "$relink_command"; then
2205 $opt_dry_run || { 3143 $opt_dry_run || {
2206 if test "$finalize" = yes; then 3144 if test "$finalize" = yes; then
2207 tmpdir=`func_mktempdir` 3145 tmpdir=`func_mktempdir`
2208 func_basename "$file$stripped_ext" 3146 func_basename "$file$stripped_ext"
2209 file="$func_basename_result" 3147 file="$func_basename_result"
2210 outputname="$tmpdir/$file" 3148 outputname="$tmpdir/$file"
2211 # Replace the output file specification. 3149 # Replace the output file specification.
2212 » relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@% '"$outputname"'%g'` 3150 » relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$ou tputname"'%g'`
2213 3151
2214 $opt_silent || { 3152 $opt_silent || {
2215 func_quote_for_expand "$relink_command" 3153 func_quote_for_expand "$relink_command"
2216 eval "func_echo $func_quote_for_expand_result" 3154 eval "func_echo $func_quote_for_expand_result"
2217 } 3155 }
2218 if eval "$relink_command"; then : 3156 if eval "$relink_command"; then :
2219 else 3157 else
2220 func_error "error: relink \`$file' with the above command befo re installing it" 3158 func_error "error: relink \`$file' with the above command befo re installing it"
2221 $opt_dry_run || ${RM}r "$tmpdir" 3159 $opt_dry_run || ${RM}r "$tmpdir"
2222 continue 3160 continue
2223 fi 3161 fi
2224 file="$outputname" 3162 file="$outputname"
2225 else 3163 else
2226 func_warning "cannot relink \`$file'" 3164 func_warning "cannot relink \`$file'"
2227 fi 3165 fi
2228 } 3166 }
2229 else 3167 else
2230 # Install the binary that we compiled earlier. 3168 # Install the binary that we compiled earlier.
2231 » file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\ 1%"` 3169 » file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
2232 fi 3170 fi
2233 fi 3171 fi
2234 3172
2235 # remove .exe since cygwin /usr/bin/install will append another 3173 # remove .exe since cygwin /usr/bin/install will append another
2236 # one anyway 3174 # one anyway
2237 case $install_prog,$host in 3175 case $install_prog,$host in
2238 */usr/bin/install*,*cygwin*) 3176 */usr/bin/install*,*cygwin*)
2239 case $file:$destfile in 3177 case $file:$destfile in
2240 *.exe:*.exe) 3178 *.exe:*.exe)
2241 # this is ok 3179 # this is ok
(...skipping 15 matching lines...) Expand all
2257 ;; 3195 ;;
2258 esac 3196 esac
2259 done 3197 done
2260 3198
2261 for file in $staticlibs; do 3199 for file in $staticlibs; do
2262 func_basename "$file" 3200 func_basename "$file"
2263 name="$func_basename_result" 3201 name="$func_basename_result"
2264 3202
2265 # Set up the ranlib parameters. 3203 # Set up the ranlib parameters.
2266 oldlib="$destdir/$name" 3204 oldlib="$destdir/$name"
3205 func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
3206 tool_oldlib=$func_to_tool_file_result
2267 3207
2268 func_show_eval "$install_prog \$file \$oldlib" 'exit $?' 3208 func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
2269 3209
2270 if test -n "$stripme" && test -n "$old_striplib"; then 3210 if test -n "$stripme" && test -n "$old_striplib"; then
2271 » func_show_eval "$old_striplib $oldlib" 'exit $?' 3211 » func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
2272 fi 3212 fi
2273 3213
2274 # Do each command in the postinstall commands. 3214 # Do each command in the postinstall commands.
2275 func_execute_cmds "$old_postinstall_cmds" 'exit $?' 3215 func_execute_cmds "$old_postinstall_cmds" 'exit $?'
2276 done 3216 done
2277 3217
2278 test -n "$future_libdirs" && \ 3218 test -n "$future_libdirs" && \
2279 func_warning "remember to run \`$progname --finish$future_libdirs'" 3219 func_warning "remember to run \`$progname --finish$future_libdirs'"
2280 3220
2281 if test -n "$current_libdirs"; then 3221 if test -n "$current_libdirs"; then
2282 # Maybe just do a dry run. 3222 # Maybe just do a dry run.
2283 $opt_dry_run && current_libdirs=" -n$current_libdirs" 3223 $opt_dry_run && current_libdirs=" -n$current_libdirs"
2284 exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' 3224 exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
2285 else 3225 else
2286 exit $EXIT_SUCCESS 3226 exit $EXIT_SUCCESS
2287 fi 3227 fi
2288 } 3228 }
2289 3229
2290 test "$mode" = install && func_mode_install ${1+"$@"} 3230 test "$opt_mode" = install && func_mode_install ${1+"$@"}
2291 3231
2292 3232
2293 # func_generate_dlsyms outputname originator pic_p 3233 # func_generate_dlsyms outputname originator pic_p
2294 # Extract symbols from dlprefiles and create ${outputname}S.o with 3234 # Extract symbols from dlprefiles and create ${outputname}S.o with
2295 # a dlpreopen symbol table. 3235 # a dlpreopen symbol table.
2296 func_generate_dlsyms () 3236 func_generate_dlsyms ()
2297 { 3237 {
2298 $opt_debug 3238 $opt_debug
2299 my_outputname="$1" 3239 my_outputname="$1"
2300 my_originator="$2" 3240 my_originator="$2"
(...skipping 22 matching lines...) Expand all
2323 func_verbose "creating $output_objdir/$my_dlsyms" 3263 func_verbose "creating $output_objdir/$my_dlsyms"
2324 3264
2325 $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ 3265 $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
2326 /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. * / 3266 /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. * /
2327 /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ 3267 /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
2328 3268
2329 #ifdef __cplusplus 3269 #ifdef __cplusplus
2330 extern \"C\" { 3270 extern \"C\" {
2331 #endif 3271 #endif
2332 3272
3273 #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC_ _ > 4))
3274 #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
3275 #endif
3276
3277 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. * /
3278 #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
3279 /* DATA imports from DLLs on WIN32 con't be const, because runtime
3280 relocations are performed -- see ld's documentation on pseudo-relocs. */
3281 # define LT_DLSYM_CONST
3282 #elif defined(__osf__)
3283 /* This system does not cope well with relocations in const data. */
3284 # define LT_DLSYM_CONST
3285 #else
3286 # define LT_DLSYM_CONST const
3287 #endif
3288
2333 /* External symbol declarations for the compiler. */\ 3289 /* External symbol declarations for the compiler. */\
2334 " 3290 "
2335 3291
2336 if test "$dlself" = yes; then 3292 if test "$dlself" = yes; then
2337 func_verbose "generating symbol list for \`$output'" 3293 func_verbose "generating symbol list for \`$output'"
2338 3294
2339 $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" 3295 $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
2340 3296
2341 # Add our own program objects to the symbol list. 3297 # Add our own program objects to the symbol list.
2342 » progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $N L2SP` 3298 » progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
2343 for progfile in $progfiles; do 3299 for progfile in $progfiles; do
2344 » func_verbose "extracting global C symbols from \`$progfile'" 3300 » func_to_tool_file "$progfile" func_convert_file_msys_to_w32
2345 » $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist '" 3301 » func_verbose "extracting global C symbols from \`$func_to_tool_file_ result'"
3302 » $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol _pipe >> '$nlist'"
2346 done 3303 done
2347 3304
2348 if test -n "$exclude_expsyms"; then 3305 if test -n "$exclude_expsyms"; then
2349 $opt_dry_run || { 3306 $opt_dry_run || {
2350 eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' 3307 eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
2351 eval '$MV "$nlist"T "$nlist"' 3308 eval '$MV "$nlist"T "$nlist"'
2352 } 3309 }
2353 fi 3310 fi
2354 3311
2355 if test -n "$export_symbols_regex"; then 3312 if test -n "$export_symbols_regex"; then
(...skipping 15 matching lines...) Expand all
2371 eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' 3328 eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
2372 ;; 3329 ;;
2373 esac 3330 esac
2374 } 3331 }
2375 else 3332 else
2376 $opt_dry_run || { 3333 $opt_dry_run || {
2377 eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'" ' < "$export_symbols" > "$output_objdir/$outputname.exp"' 3334 eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'" ' < "$export_symbols" > "$output_objdir/$outputname.exp"'
2378 eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nli st"T' 3335 eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nli st"T'
2379 eval '$MV "$nlist"T "$nlist"' 3336 eval '$MV "$nlist"T "$nlist"'
2380 case $host in 3337 case $host in
2381 » *cygwin | *mingw* | *cegcc* ) 3338 » *cygwin* | *mingw* | *cegcc* )
2382 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' 3339 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
2383 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' 3340 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
2384 ;; 3341 ;;
2385 esac 3342 esac
2386 } 3343 }
2387 fi 3344 fi
2388 fi 3345 fi
2389 3346
2390 for dlprefile in $dlprefiles; do 3347 for dlprefile in $dlprefiles; do
2391 func_verbose "extracting global C symbols from \`$dlprefile'" 3348 func_verbose "extracting global C symbols from \`$dlprefile'"
2392 func_basename "$dlprefile" 3349 func_basename "$dlprefile"
2393 name="$func_basename_result" 3350 name="$func_basename_result"
2394 » $opt_dry_run || { 3351 case $host in
2395 » eval '$ECHO ": $name " >> "$nlist"' 3352 » *cygwin* | *mingw* | *cegcc* )
2396 » eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" 3353 » # if an import library, we need to obtain dlname
2397 » } 3354 » if func_win32_import_lib_p "$dlprefile"; then
3355 » func_tr_sh "$dlprefile"
3356 » eval "curr_lafile=\$libfile_$func_tr_sh_result"
3357 » dlprefile_dlbasename=""
3358 » if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
3359 » # Use subshell, to avoid clobbering current variable values
3360 » dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
3361 » if test -n "$dlprefile_dlname" ; then
3362 » func_basename "$dlprefile_dlname"
3363 » dlprefile_dlbasename="$func_basename_result"
3364 » else
3365 » # no lafile. user explicitly requested -dlpreopen <import li brary>.
3366 » $sharedlib_from_linklib_cmd "$dlprefile"
3367 » dlprefile_dlbasename=$sharedlib_from_linklib_result
3368 » fi
3369 » fi
3370 » $opt_dry_run || {
3371 » if test -n "$dlprefile_dlbasename" ; then
3372 » eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
3373 » else
3374 » func_warning "Could not compute DLL name from $name"
3375 » eval '$ECHO ": $name " >> "$nlist"'
3376 » fi
3377 » func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
3378 » eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_ symbol_pipe |
3379 » $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist '"
3380 » }
3381 » else # not an import lib
3382 » $opt_dry_run || {
3383 » eval '$ECHO ": $name " >> "$nlist"'
3384 » func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
3385 » eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_ symbol_pipe >> '$nlist'"
3386 » }
3387 » fi
3388 » ;;
3389 » *)
3390 » $opt_dry_run || {
3391 » eval '$ECHO ": $name " >> "$nlist"'
3392 » func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
3393 » eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_sy mbol_pipe >> '$nlist'"
3394 » }
3395 » ;;
3396 esac
2398 done 3397 done
2399 3398
2400 $opt_dry_run || { 3399 $opt_dry_run || {
2401 # Make sure we have at least an empty file. 3400 # Make sure we have at least an empty file.
2402 test -f "$nlist" || : > "$nlist" 3401 test -f "$nlist" || : > "$nlist"
2403 3402
2404 if test -n "$exclude_expsyms"; then 3403 if test -n "$exclude_expsyms"; then
2405 $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T 3404 $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
2406 $MV "$nlist"T "$nlist" 3405 $MV "$nlist"T "$nlist"
2407 fi 3406 fi
2408 3407
2409 # Try sorting and uniquifying the output. 3408 # Try sorting and uniquifying the output.
2410 if $GREP -v "^: " < "$nlist" | 3409 if $GREP -v "^: " < "$nlist" |
2411 if sort -k 3 </dev/null >/dev/null 2>&1; then 3410 if sort -k 3 </dev/null >/dev/null 2>&1; then
2412 sort -k 3 3411 sort -k 3
2413 else 3412 else
2414 sort +2 3413 sort +2
2415 fi | 3414 fi |
2416 uniq > "$nlist"S; then 3415 uniq > "$nlist"S; then
2417 : 3416 :
2418 else 3417 else
2419 $GREP -v "^: " < "$nlist" > "$nlist"S 3418 $GREP -v "^: " < "$nlist" > "$nlist"S
2420 fi 3419 fi
2421 3420
2422 if test -f "$nlist"S; then 3421 if test -f "$nlist"S; then
2423 eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_d lsyms"' 3422 eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_d lsyms"'
2424 else 3423 else
2425 » $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" 3424 » echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
2426 fi 3425 fi
2427 3426
2428 » $ECHO >> "$output_objdir/$my_dlsyms" "\ 3427 » echo >> "$output_objdir/$my_dlsyms" "\
2429 3428
2430 /* The mapping between symbol names and symbols. */ 3429 /* The mapping between symbol names and symbols. */
2431 typedef struct { 3430 typedef struct {
2432 const char *name; 3431 const char *name;
2433 void *address; 3432 void *address;
2434 } lt_dlsymlist; 3433 } lt_dlsymlist;
2435 " 3434 extern LT_DLSYM_CONST lt_dlsymlist
2436 » case $host in
2437 » *cygwin* | *mingw* | *cegcc* )
2438 » $ECHO >> "$output_objdir/$my_dlsyms" "\
2439 /* DATA imports from DLLs on WIN32 con't be const, because
2440 runtime relocations are performed -- see ld's documentation
2441 on pseudo-relocs. */"
2442 » lt_dlsym_const= ;;
2443 » *osf5*)
2444 » echo >> "$output_objdir/$my_dlsyms" "\
2445 /* This system does not cope well with relocations in const data */"
2446 » lt_dlsym_const= ;;
2447 » *)
2448 » lt_dlsym_const=const ;;
2449 » esac
2450
2451 » $ECHO >> "$output_objdir/$my_dlsyms" "\
2452 extern $lt_dlsym_const lt_dlsymlist
2453 lt_${my_prefix}_LTX_preloaded_symbols[]; 3435 lt_${my_prefix}_LTX_preloaded_symbols[];
2454 $lt_dlsym_const lt_dlsymlist 3436 LT_DLSYM_CONST lt_dlsymlist
2455 lt_${my_prefix}_LTX_preloaded_symbols[] = 3437 lt_${my_prefix}_LTX_preloaded_symbols[] =
2456 {\ 3438 {\
2457 { \"$my_originator\", (void *) 0 }," 3439 { \"$my_originator\", (void *) 0 },"
2458 3440
2459 case $need_lib_prefix in 3441 case $need_lib_prefix in
2460 no) 3442 no)
2461 eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdi r/$my_dlsyms" 3443 eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdi r/$my_dlsyms"
2462 ;; 3444 ;;
2463 *) 3445 *)
2464 eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$o utput_objdir/$my_dlsyms" 3446 eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$o utput_objdir/$my_dlsyms"
2465 ;; 3447 ;;
2466 esac 3448 esac
2467 » $ECHO >> "$output_objdir/$my_dlsyms" "\ 3449 » echo >> "$output_objdir/$my_dlsyms" "\
2468 {0, (void *) 0} 3450 {0, (void *) 0}
2469 }; 3451 };
2470 3452
2471 /* This works around a problem in FreeBSD linker */ 3453 /* This works around a problem in FreeBSD linker */
2472 #ifdef FREEBSD_WORKAROUND 3454 #ifdef FREEBSD_WORKAROUND
2473 static const void *lt_preloaded_setup() { 3455 static const void *lt_preloaded_setup() {
2474 return lt_${my_prefix}_LTX_preloaded_symbols; 3456 return lt_${my_prefix}_LTX_preloaded_symbols;
2475 } 3457 }
2476 #endif 3458 #endif
2477 3459
2478 #ifdef __cplusplus 3460 #ifdef __cplusplus
2479 } 3461 }
2480 #endif\ 3462 #endif\
2481 " 3463 "
2482 } # !$opt_dry_run 3464 } # !$opt_dry_run
2483 3465
2484 pic_flag_for_symtable= 3466 pic_flag_for_symtable=
2485 case "$compile_command " in 3467 case "$compile_command " in
2486 *" -static "*) ;; 3468 *" -static "*) ;;
2487 *) 3469 *)
2488 case $host in 3470 case $host in
2489 # compiling the symbol table file with pic_flag works around 3471 # compiling the symbol table file with pic_flag works around
2490 # a FreeBSD bug that causes programs to crash when -lm is 3472 # a FreeBSD bug that causes programs to crash when -lm is
2491 # linked before any other PIC object. But we must not use 3473 # linked before any other PIC object. But we must not use
2492 # pic_flag when linking with -static. The problem exists in 3474 # pic_flag when linking with -static. The problem exists in
2493 # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. 3475 # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
2494 » *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) 3476 » *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
2495 pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; 3477 pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
2496 *-*-hpux*) 3478 *-*-hpux*)
2497 pic_flag_for_symtable=" $pic_flag" ;; 3479 pic_flag_for_symtable=" $pic_flag" ;;
2498 *) 3480 *)
2499 if test "X$my_pic_p" != Xno; then 3481 if test "X$my_pic_p" != Xno; then
2500 pic_flag_for_symtable=" $pic_flag" 3482 pic_flag_for_symtable=" $pic_flag"
2501 fi 3483 fi
2502 ;; 3484 ;;
2503 esac 3485 esac
2504 ;; 3486 ;;
2505 esac 3487 esac
2506 symtab_cflags= 3488 symtab_cflags=
2507 for arg in $LTCFLAGS; do 3489 for arg in $LTCFLAGS; do
2508 case $arg in 3490 case $arg in
2509 -pie | -fpie | -fPIE) ;; 3491 -pie | -fpie | -fPIE) ;;
2510 » *) symtab_cflags="$symtab_cflags $arg" ;; 3492 » *) func_append symtab_cflags " $arg" ;;
2511 esac 3493 esac
2512 done 3494 done
2513 3495
2514 # Now compile the dynamic symbol file. 3496 # Now compile the dynamic symbol file.
2515 func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_ flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' 3497 func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_ flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
2516 3498
2517 # Clean up the generated files. 3499 # Clean up the generated files.
2518 func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${ nlist}T"' 3500 func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${ nlist}T"'
2519 3501
2520 # Transform the symbol file into the correct name. 3502 # Transform the symbol file into the correct name.
2521 symfileobj="$output_objdir/${my_outputname}S.$objext" 3503 symfileobj="$output_objdir/${my_outputname}S.$objext"
2522 case $host in 3504 case $host in
2523 *cygwin* | *mingw* | *cegcc* ) 3505 *cygwin* | *mingw* | *cegcc* )
2524 if test -f "$output_objdir/$my_outputname.def"; then 3506 if test -f "$output_objdir/$my_outputname.def"; then
2525 » compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$ output_objdir/$my_outputname.def $symfileobj%"` 3507 » compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$outpu t_objdir/$my_outputname.def $symfileobj%"`
2526 » finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@ %$output_objdir/$my_outputname.def $symfileobj%"` 3508 » finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$out put_objdir/$my_outputname.def $symfileobj%"`
2527 else 3509 else
2528 » compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$ symfileobj%"` 3510 » compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfi leobj%"`
2529 » finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@ %$symfileobj%"` 3511 » finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$sym fileobj%"`
2530 fi 3512 fi
2531 ;; 3513 ;;
2532 *) 3514 *)
2533 » compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$sy mfileobj%"` 3515 » compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfile obj%"`
2534 » finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$ symfileobj%"` 3516 » finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfi leobj%"`
2535 ;; 3517 ;;
2536 esac 3518 esac
2537 ;; 3519 ;;
2538 *) 3520 *)
2539 func_fatal_error "unknown suffix for \`$my_dlsyms'" 3521 func_fatal_error "unknown suffix for \`$my_dlsyms'"
2540 ;; 3522 ;;
2541 esac 3523 esac
2542 else 3524 else
2543 # We keep going just in case the user didn't refer to 3525 # We keep going just in case the user didn't refer to
2544 # lt_preloaded_symbols. The linker will fail if global_symbol_pipe 3526 # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
2545 # really was required. 3527 # really was required.
2546 3528
2547 # Nullify the symbol file. 3529 # Nullify the symbol file.
2548 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` 3530 compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
2549 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` 3531 finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
2550 fi 3532 fi
2551 } 3533 }
2552 3534
2553 # func_win32_libid arg 3535 # func_win32_libid arg
2554 # return the library type of file 'arg' 3536 # return the library type of file 'arg'
2555 # 3537 #
2556 # Need a lot of goo to handle *both* DLLs and import libs 3538 # Need a lot of goo to handle *both* DLLs and import libs
2557 # Has to be a shell function in order to 'eat' the argument 3539 # Has to be a shell function in order to 'eat' the argument
2558 # that is supplied when $file_magic_command is called. 3540 # that is supplied when $file_magic_command is called.
3541 # Despite the name, also deal with 64 bit binaries.
2559 func_win32_libid () 3542 func_win32_libid ()
2560 { 3543 {
2561 $opt_debug 3544 $opt_debug
2562 win32_libid_type="unknown" 3545 win32_libid_type="unknown"
2563 win32_fileres=`file -L $1 2>/dev/null` 3546 win32_fileres=`file -L $1 2>/dev/null`
2564 case $win32_fileres in 3547 case $win32_fileres in
2565 *ar\ archive\ import\ library*) # definitely import 3548 *ar\ archive\ import\ library*) # definitely import
2566 win32_libid_type="x86 archive import" 3549 win32_libid_type="x86 archive import"
2567 ;; 3550 ;;
2568 *ar\ archive*) # could be an import, or static 3551 *ar\ archive*) # could be an import, or static
3552 # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
2569 if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | 3553 if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
2570 $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then 3554 $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86 -64)' >/dev/null; then
2571 win32_nmres=`eval $NM -f posix -A $1 | 3555 func_to_tool_file "$1" func_convert_file_msys_to_w32
3556 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
2572 $SED -n -e ' 3557 $SED -n -e '
2573 1,100{ 3558 1,100{
2574 / I /{ 3559 / I /{
2575 s,.*,import, 3560 s,.*,import,
2576 p 3561 p
2577 q 3562 q
2578 } 3563 }
2579 }'` 3564 }'`
2580 case $win32_nmres in 3565 case $win32_nmres in
2581 import*) win32_libid_type="x86 archive import";; 3566 import*) win32_libid_type="x86 archive import";;
2582 *) win32_libid_type="x86 archive static";; 3567 *) win32_libid_type="x86 archive static";;
2583 esac 3568 esac
2584 fi 3569 fi
2585 ;; 3570 ;;
2586 *DLL*) 3571 *DLL*)
2587 win32_libid_type="x86 DLL" 3572 win32_libid_type="x86 DLL"
2588 ;; 3573 ;;
2589 *executable*) # but shell scripts are "executable" too... 3574 *executable*) # but shell scripts are "executable" too...
2590 case $win32_fileres in 3575 case $win32_fileres in
2591 *MS\ Windows\ PE\ Intel*) 3576 *MS\ Windows\ PE\ Intel*)
2592 win32_libid_type="x86 DLL" 3577 win32_libid_type="x86 DLL"
2593 ;; 3578 ;;
2594 esac 3579 esac
2595 ;; 3580 ;;
2596 esac 3581 esac
2597 $ECHO "$win32_libid_type" 3582 $ECHO "$win32_libid_type"
2598 } 3583 }
2599 3584
3585 # func_cygming_dll_for_implib ARG
3586 #
3587 # Platform-specific function to extract the
3588 # name of the DLL associated with the specified
3589 # import library ARG.
3590 # Invoked by eval'ing the libtool variable
3591 # $sharedlib_from_linklib_cmd
3592 # Result is available in the variable
3593 # $sharedlib_from_linklib_result
3594 func_cygming_dll_for_implib ()
3595 {
3596 $opt_debug
3597 sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
3598 }
3599
3600 # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
3601 #
3602 # The is the core of a fallback implementation of a
3603 # platform-specific function to extract the name of the
3604 # DLL associated with the specified import library LIBNAME.
3605 #
3606 # SECTION_NAME is either .idata$6 or .idata$7, depending
3607 # on the platform and compiler that created the implib.
3608 #
3609 # Echos the name of the DLL associated with the
3610 # specified import library.
3611 func_cygming_dll_for_implib_fallback_core ()
3612 {
3613 $opt_debug
3614 match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
3615 $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
3616 $SED '/^Contents of section '"$match_literal"':/{
3617 # Place marker at beginning of archive member dllname section
3618 s/.*/====MARK====/
3619 p
3620 d
3621 }
3622 # These lines can sometimes be longer than 43 characters, but
3623 # are always uninteresting
3624 /:[ ]*file format pe[i]\{,1\}-/d
3625 /^In archive [^:]*:/d
3626 # Ensure marker is printed
3627 /^====MARK====/p
3628 # Remove all lines with less than 43 characters
3629 /^.\{43\}/!d
3630 # From remaining lines, remove first 43 characters
3631 s/^.\{43\}//' |
3632 $SED -n '
3633 # Join marker and all lines until next marker into a single line
3634 /^====MARK====/ b para
3635 H
3636 $ b para
3637 b
3638 :para
3639 x
3640 s/\n//g
3641 # Remove the marker
3642 s/^====MARK====//
3643 # Remove trailing dots and whitespace
3644 s/[\. \t]*$//
3645 # Print
3646 /./p' |
3647 # we now have a list, one entry per line, of the stringified
3648 # contents of the appropriate section of all members of the
3649 # archive which possess that section. Heuristic: eliminate
3650 # all those which have a first or second character that is
3651 # a '.' (that is, objdump's representation of an unprintable
3652 # character.) This should work for all archives with less than
3653 # 0x302f exports -- but will fail for DLLs whose name actually
3654 # begins with a literal '.' or a single character followed by
3655 # a '.'.
3656 #
3657 # Of those that remain, print the first one.
3658 $SED -e '/^\./d;/^.\./d;q'
3659 }
3660
3661 # func_cygming_gnu_implib_p ARG
3662 # This predicate returns with zero status (TRUE) if
3663 # ARG is a GNU/binutils-style import library. Returns
3664 # with nonzero status (FALSE) otherwise.
3665 func_cygming_gnu_implib_p ()
3666 {
3667 $opt_debug
3668 func_to_tool_file "$1" func_convert_file_msys_to_w32
3669 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_s ymbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$' `
3670 test -n "$func_cygming_gnu_implib_tmp"
3671 }
3672
3673 # func_cygming_ms_implib_p ARG
3674 # This predicate returns with zero status (TRUE) if
3675 # ARG is an MS-style import library. Returns
3676 # with nonzero status (FALSE) otherwise.
3677 func_cygming_ms_implib_p ()
3678 {
3679 $opt_debug
3680 func_to_tool_file "$1" func_convert_file_msys_to_w32
3681 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_sy mbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
3682 test -n "$func_cygming_ms_implib_tmp"
3683 }
3684
3685 # func_cygming_dll_for_implib_fallback ARG
3686 # Platform-specific function to extract the
3687 # name of the DLL associated with the specified
3688 # import library ARG.
3689 #
3690 # This fallback implementation is for use when $DLLTOOL
3691 # does not support the --identify-strict option.
3692 # Invoked by eval'ing the libtool variable
3693 # $sharedlib_from_linklib_cmd
3694 # Result is available in the variable
3695 # $sharedlib_from_linklib_result
3696 func_cygming_dll_for_implib_fallback ()
3697 {
3698 $opt_debug
3699 if func_cygming_gnu_implib_p "$1" ; then
3700 # binutils import library
3701 sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.i data$7' "$1"`
3702 elif func_cygming_ms_implib_p "$1" ; then
3703 # ms-generated import library
3704 sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.i data$6' "$1"`
3705 else
3706 # unknown
3707 sharedlib_from_linklib_result=""
3708 fi
3709 }
2600 3710
2601 3711
2602 # func_extract_an_archive dir oldlib 3712 # func_extract_an_archive dir oldlib
2603 func_extract_an_archive () 3713 func_extract_an_archive ()
2604 { 3714 {
2605 $opt_debug 3715 $opt_debug
2606 f_ex_an_ar_dir="$1"; shift 3716 f_ex_an_ar_dir="$1"; shift
2607 f_ex_an_ar_oldlib="$1" 3717 f_ex_an_ar_oldlib="$1"
2608 func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exi t $?' 3718 if test "$lock_old_archive_extraction" = yes; then
3719 lockfile=$f_ex_an_ar_oldlib.lock
3720 until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
3721 » func_echo "Waiting for $lockfile to be removed"
3722 » sleep 2
3723 done
3724 fi
3725 func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
3726 » » 'stat=$?; rm -f "$lockfile"; exit $stat'
3727 if test "$lock_old_archive_extraction" = yes; then
3728 $opt_dry_run || rm -f "$lockfile"
3729 fi
2609 if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then 3730 if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
2610 : 3731 :
2611 else 3732 else
2612 func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_ an_ar_oldlib" 3733 func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_ an_ar_oldlib"
2613 fi 3734 fi
2614 } 3735 }
2615 3736
2616 3737
2617 # func_extract_archives gentop oldlib ... 3738 # func_extract_archives gentop oldlib ...
2618 func_extract_archives () 3739 func_extract_archives ()
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
2669 cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" 3790 cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
2670 func_extract_an_archive "`pwd`" "${darwin_base_archive}" 3791 func_extract_an_archive "`pwd`" "${darwin_base_archive}"
2671 cd "$darwin_curdir" 3792 cd "$darwin_curdir"
2672 $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_ archive}" 3793 $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_ archive}"
2673 done # $darwin_arches 3794 done # $darwin_arches
2674 ## Okay now we've a bunch of thin objects, gotta fatten them up :) 3795 ## Okay now we've a bunch of thin objects, gotta fatten them up :)
2675 darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \* .lo -print | $SED -e "$basename" | sort -u` 3796 darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \* .lo -print | $SED -e "$basename" | sort -u`
2676 darwin_file= 3797 darwin_file=
2677 darwin_files= 3798 darwin_files=
2678 for darwin_file in $darwin_filelist; do 3799 for darwin_file in $darwin_filelist; do
2679 » darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` 3800 » darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL 2SP`
2680 $LIPO -create -output "$darwin_file" $darwin_files 3801 $LIPO -create -output "$darwin_file" $darwin_files
2681 done # $darwin_filelist 3802 done # $darwin_filelist
2682 $RM -rf unfat-$$ 3803 $RM -rf unfat-$$
2683 cd "$darwin_orig_dir" 3804 cd "$darwin_orig_dir"
2684 else 3805 else
2685 cd $darwin_orig_dir 3806 cd $darwin_orig_dir
2686 func_extract_an_archive "$my_xdir" "$my_xabs" 3807 func_extract_an_archive "$my_xdir" "$my_xabs"
2687 fi # $darwin_arches 3808 fi # $darwin_arches
2688 } # !$opt_dry_run 3809 } # !$opt_dry_run
2689 ;; 3810 ;;
2690 *) 3811 *)
2691 func_extract_an_archive "$my_xdir" "$my_xabs" 3812 func_extract_an_archive "$my_xdir" "$my_xabs"
2692 ;; 3813 ;;
2693 esac 3814 esac
2694 my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \ *.lo -print | $NL2SP` 3815 my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \ *.lo -print | sort | $NL2SP`
2695 done 3816 done
2696 3817
2697 func_extract_archives_result="$my_oldobjs" 3818 func_extract_archives_result="$my_oldobjs"
2698 } 3819 }
2699 3820
2700 3821
2701 3822 # func_emit_wrapper [arg=no]
2702 # func_emit_wrapper_part1 [arg=no]
2703 # 3823 #
2704 # Emit the first part of a libtool wrapper script on stdout. 3824 # Emit a libtool wrapper script on stdout.
2705 # For more information, see the description associated with 3825 # Don't directly open a file because we may want to
2706 # func_emit_wrapper(), below. 3826 # incorporate the script contents within a cygwin/mingw
2707 func_emit_wrapper_part1 () 3827 # wrapper executable. Must ONLY be called from within
3828 # func_mode_link because it depends on a number of variables
3829 # set therein.
3830 #
3831 # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
3832 # variable will take. If 'yes', then the emitted script
3833 # will assume that the directory in which it is stored is
3834 # the $objdir directory. This is a cygwin/mingw-specific
3835 # behavior.
3836 func_emit_wrapper ()
2708 { 3837 {
2709 » func_emit_wrapper_part1_arg1=no 3838 » func_emit_wrapper_arg1=${1-no}
2710 » if test -n "$1" ; then
2711 » func_emit_wrapper_part1_arg1=$1
2712 » fi
2713 3839
2714 $ECHO "\ 3840 $ECHO "\
2715 #! $SHELL 3841 #! $SHELL
2716 3842
2717 # $output - temporary wrapper script for $objdir/$outputname 3843 # $output - temporary wrapper script for $objdir/$outputname
2718 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION 3844 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
2719 # 3845 #
2720 # The $output program cannot be directly executed until all the libtool 3846 # The $output program cannot be directly executed until all the libtool
2721 # libraries that it depends on are installed. 3847 # libraries that it depends on are installed.
2722 # 3848 #
2723 # This wrapper script should never be moved out of the build directory. 3849 # This wrapper script should never be moved out of the build directory.
2724 # If it is, it will not operate correctly. 3850 # If it is, it will not operate correctly.
2725 3851
2726 # Sed substitution that helps us do robust quoting. It backslashifies 3852 # Sed substitution that helps us do robust quoting. It backslashifies
2727 # metacharacters that are still active within double-quoted strings. 3853 # metacharacters that are still active within double-quoted strings.
2728 Xsed='${SED} -e 1s/^X//'
2729 sed_quote_subst='$sed_quote_subst' 3854 sed_quote_subst='$sed_quote_subst'
2730 3855
2731 # Be Bourne compatible 3856 # Be Bourne compatible
2732 if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then 3857 if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
2733 emulate sh 3858 emulate sh
2734 NULLCMD=: 3859 NULLCMD=:
2735 # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which 3860 # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
2736 # is contrary to our usage. Disable this feature. 3861 # is contrary to our usage. Disable this feature.
2737 alias -g '\${1+\"\$@\"}'='\"\$@\"' 3862 alias -g '\${1+\"\$@\"}'='\"\$@\"'
2738 setopt NO_GLOB_SUBST 3863 setopt NO_GLOB_SUBST
(...skipping 10 matching lines...) Expand all
2749 relink_command=\"$relink_command\" 3874 relink_command=\"$relink_command\"
2750 3875
2751 # This environment variable determines our operation mode. 3876 # This environment variable determines our operation mode.
2752 if test \"\$libtool_install_magic\" = \"$magic\"; then 3877 if test \"\$libtool_install_magic\" = \"$magic\"; then
2753 # install mode needs the following variables: 3878 # install mode needs the following variables:
2754 generated_by_libtool_version='$macro_version' 3879 generated_by_libtool_version='$macro_version'
2755 notinst_deplibs='$notinst_deplibs' 3880 notinst_deplibs='$notinst_deplibs'
2756 else 3881 else
2757 # When we are sourced in execute mode, \$file and \$ECHO are already set. 3882 # When we are sourced in execute mode, \$file and \$ECHO are already set.
2758 if test \"\$libtool_execute_magic\" != \"$magic\"; then 3883 if test \"\$libtool_execute_magic\" != \"$magic\"; then
2759 ECHO=\"$qecho\" 3884 file=\"\$0\""
2760 file=\"\$0\" 3885
2761 # Make sure echo works. 3886 qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
2762 if test \"X\$1\" = X--no-reexec; then 3887 $ECHO "\
2763 # Discard the --no-reexec flag, and continue. 3888
3889 # A function that is used when there is no print builtin or printf.
3890 func_fallback_echo ()
3891 {
3892 eval 'cat <<_LTECHO_EOF
3893 \$1
3894 _LTECHO_EOF'
3895 }
3896 ECHO=\"$qECHO\"
3897 fi
3898
3899 # Very basic option parsing. These options are (a) specific to
3900 # the libtool wrapper, (b) are identical between the wrapper
3901 # /script/ and the wrapper /executable/ which is used only on
3902 # windows platforms, and (c) all begin with the string "--lt-"
3903 # (application programs are unlikely to have options which match
3904 # this pattern).
3905 #
3906 # There are only two supported options: --lt-debug and
3907 # --lt-dump-script. There is, deliberately, no --lt-help.
3908 #
3909 # The first argument to this parsing function should be the
3910 # script's $0 value, followed by "$@".
3911 lt_option_debug=
3912 func_parse_lt_options ()
3913 {
3914 lt_script_arg0=\$0
3915 shift
3916 for lt_opt
3917 do
3918 case \"\$lt_opt\" in
3919 --lt-debug) lt_option_debug=1 ;;
3920 --lt-dump-script)
3921 lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]* $%%'\`
3922 test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
3923 lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%% '\`
3924 cat \"\$lt_dump_D/\$lt_dump_F\"
3925 exit 0
3926 ;;
3927 --lt-*)
3928 \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
3929 exit 1
3930 ;;
3931 esac
3932 done
3933
3934 # Print the debug banner immediately:
3935 if test -n \"\$lt_option_debug\"; then
3936 echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIM ESTAMP) $VERSION\" 1>&2
3937 fi
3938 }
3939
3940 # Used when --lt-debug. Prints its arguments to stdout
3941 # (redirection is the responsibility of the caller)
3942 func_lt_dump_args ()
3943 {
3944 lt_dump_args_N=1;
3945 for lt_arg
3946 do
3947 \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt _arg\"
3948 lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
3949 done
3950 }
3951
3952 # Core function for launching the target application
3953 func_exec_program_core ()
3954 {
3955 "
3956 case $host in
3957 # Backslashes separate directories on plain windows
3958 *-*-mingw | *-*-os2* | *-cegcc*)
3959 $ECHO "\
3960 if test -n \"\$lt_option_debug\"; then
3961 \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$ program\" 1>&2
3962 func_lt_dump_args \${1+\"\$@\"} 1>&2
3963 fi
3964 exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
3965 "
3966 ;;
3967
3968 *)
3969 $ECHO "\
3970 if test -n \"\$lt_option_debug\"; then
3971 \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$pro gram\" 1>&2
3972 func_lt_dump_args \${1+\"\$@\"} 1>&2
3973 fi
3974 exec \"\$progdir/\$program\" \${1+\"\$@\"}
3975 "
3976 ;;
3977 esac
3978 $ECHO "\
3979 \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
3980 exit 1
3981 }
3982
3983 # A function to encapsulate launching the target application
3984 # Strips options in the --lt-* namespace from \$@ and
3985 # launches target application with the remaining arguments.
3986 func_exec_program ()
3987 {
3988 case \" \$* \" in
3989 *\\ --lt-*)
3990 for lt_wr_arg
3991 do
3992 case \$lt_wr_arg in
3993 --lt-*) ;;
3994 *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
3995 esac
2764 shift 3996 shift
2765 elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then 3997 done ;;
2766 # Yippee, \$ECHO works! 3998 esac
2767 : 3999 func_exec_program_core \${1+\"\$@\"}
2768 else 4000 }
2769 # Restart under the correct shell, and then maybe \$ECHO will work. 4001
2770 exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} 4002 # Parse options
2771 fi 4003 func_parse_lt_options \"\$0\" \${1+\"\$@\"}
2772 fi\
2773 "
2774 » $ECHO "\
2775 4004
2776 # Find the directory that this script lives in. 4005 # Find the directory that this script lives in.
2777 thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` 4006 thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
2778 test \"x\$thisdir\" = \"x\$file\" && thisdir=. 4007 test \"x\$thisdir\" = \"x\$file\" && thisdir=.
2779 4008
2780 # Follow symbolic links until we get to the real thisdir. 4009 # Follow symbolic links until we get to the real thisdir.
2781 file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` 4010 file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
2782 while test -n \"\$file\"; do 4011 while test -n \"\$file\"; do
2783 destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` 4012 destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
2784 4013
2785 # If there was a directory component, then change thisdir. 4014 # If there was a directory component, then change thisdir.
2786 if test \"x\$destdir\" != \"x\$file\"; then 4015 if test \"x\$destdir\" != \"x\$file\"; then
2787 case \"\$destdir\" in 4016 case \"\$destdir\" in
2788 [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; 4017 [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
2789 *) thisdir=\"\$thisdir/\$destdir\" ;; 4018 *) thisdir=\"\$thisdir/\$destdir\" ;;
2790 esac 4019 esac
2791 fi 4020 fi
2792 4021
2793 file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` 4022 file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
2794 file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` 4023 file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
2795 done 4024 done
2796 "
2797 }
2798 # end: func_emit_wrapper_part1
2799
2800 # func_emit_wrapper_part2 [arg=no]
2801 #
2802 # Emit the second part of a libtool wrapper script on stdout.
2803 # For more information, see the description associated with
2804 # func_emit_wrapper(), below.
2805 func_emit_wrapper_part2 ()
2806 {
2807 func_emit_wrapper_part2_arg1=no
2808 if test -n "$1" ; then
2809 func_emit_wrapper_part2_arg1=$1
2810 fi
2811
2812 $ECHO "\
2813 4025
2814 # Usually 'no', except on cygwin/mingw when embedded into 4026 # Usually 'no', except on cygwin/mingw when embedded into
2815 # the cwrapper. 4027 # the cwrapper.
2816 WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1 4028 WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
2817 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then 4029 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
2818 # special case for '.' 4030 # special case for '.'
2819 if test \"\$thisdir\" = \".\"; then 4031 if test \"\$thisdir\" = \".\"; then
2820 thisdir=\`pwd\` 4032 thisdir=\`pwd\`
2821 fi 4033 fi
2822 # remove .libs from thisdir 4034 # remove .libs from thisdir
2823 case \"\$thisdir\" in 4035 case \"\$thisdir\" in
2824 *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\ \\/]*$%%'\` ;; 4036 *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$ %%'\` ;;
2825 $objdir ) thisdir=. ;; 4037 $objdir ) thisdir=. ;;
2826 esac 4038 esac
2827 fi 4039 fi
2828 4040
2829 # Try to get the absolute directory name. 4041 # Try to get the absolute directory name.
2830 absdir=\`cd \"\$thisdir\" && pwd\` 4042 absdir=\`cd \"\$thisdir\" && pwd\`
2831 test -n \"\$absdir\" && thisdir=\"\$absdir\" 4043 test -n \"\$absdir\" && thisdir=\"\$absdir\"
2832 " 4044 "
2833 4045
2834 if test "$fast_install" = yes; then 4046 if test "$fast_install" = yes; then
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
2869 $ECHO "\ 4081 $ECHO "\
2870 program='$outputname' 4082 program='$outputname'
2871 progdir=\"\$thisdir/$objdir\" 4083 progdir=\"\$thisdir/$objdir\"
2872 " 4084 "
2873 fi 4085 fi
2874 4086
2875 $ECHO "\ 4087 $ECHO "\
2876 4088
2877 if test -f \"\$progdir/\$program\"; then" 4089 if test -f \"\$progdir/\$program\"; then"
2878 4090
4091 # fixup the dll searchpath if we need to.
4092 #
4093 # Fix the DLL searchpath if we need to. Do this before prepending
4094 # to shlibpath, because on Windows, both are PATH and uninstalled
4095 # libraries must come first.
4096 if test -n "$dllsearchpath"; then
4097 $ECHO "\
4098 # Add the dll search path components to the executable PATH
4099 PATH=$dllsearchpath:\$PATH
4100 "
4101 fi
4102
2879 # Export our shlibpath_var if we have one. 4103 # Export our shlibpath_var if we have one.
2880 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then 4104 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
2881 $ECHO "\ 4105 $ECHO "\
2882 # Add our own library path to $shlibpath_var 4106 # Add our own library path to $shlibpath_var
2883 $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" 4107 $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
2884 4108
2885 # Some systems cannot cope with colon-terminated $shlibpath_var 4109 # Some systems cannot cope with colon-terminated $shlibpath_var
2886 # The second colon is a workaround for a bug in BeOS R4 sed 4110 # The second colon is a workaround for a bug in BeOS R4 sed
2887 $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` 4111 $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
2888 4112
2889 export $shlibpath_var 4113 export $shlibpath_var
2890 " 4114 "
2891 fi 4115 fi
2892 4116
2893 # fixup the dll searchpath if we need to.
2894 if test -n "$dllsearchpath"; then
2895 $ECHO "\
2896 # Add the dll search path components to the executable PATH
2897 PATH=$dllsearchpath:\$PATH
2898 "
2899 fi
2900
2901 $ECHO "\ 4117 $ECHO "\
2902 if test \"\$libtool_execute_magic\" != \"$magic\"; then 4118 if test \"\$libtool_execute_magic\" != \"$magic\"; then
2903 # Run the actual program with our arguments. 4119 # Run the actual program with our arguments.
2904 " 4120 func_exec_program \${1+\"\$@\"}
2905 » case $host in
2906 » # Backslashes separate directories on plain windows
2907 » *-*-mingw | *-*-os2* | *-cegcc*)
2908 » $ECHO "\
2909 exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
2910 "
2911 » ;;
2912
2913 » *)
2914 » $ECHO "\
2915 exec \"\$progdir/\$program\" \${1+\"\$@\"}
2916 "
2917 » ;;
2918 » esac
2919 » $ECHO "\
2920 \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
2921 exit 1
2922 fi 4121 fi
2923 else 4122 else
2924 # The program doesn't exist. 4123 # The program doesn't exist.
2925 \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 4124 \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
2926 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 4125 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
2927 $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 4126 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
2928 exit 1 4127 exit 1
2929 fi 4128 fi
2930 fi\ 4129 fi\
2931 " 4130 "
2932 } 4131 }
2933 # end: func_emit_wrapper_part2
2934 4132
2935 4133
2936 # func_emit_wrapper [arg=no]
2937 #
2938 # Emit a libtool wrapper script on stdout.
2939 # Don't directly open a file because we may want to
2940 # incorporate the script contents within a cygwin/mingw
2941 # wrapper executable. Must ONLY be called from within
2942 # func_mode_link because it depends on a number of variables
2943 # set therein.
2944 #
2945 # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
2946 # variable will take. If 'yes', then the emitted script
2947 # will assume that the directory in which it is stored is
2948 # the $objdir directory. This is a cygwin/mingw-specific
2949 # behavior.
2950 func_emit_wrapper ()
2951 {
2952 func_emit_wrapper_arg1=no
2953 if test -n "$1" ; then
2954 func_emit_wrapper_arg1=$1
2955 fi
2956
2957 # split this up so that func_emit_cwrapperexe_src
2958 # can call each part independently.
2959 func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
2960 func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
2961 }
2962
2963
2964 # func_to_host_path arg
2965 #
2966 # Convert paths to host format when used with build tools.
2967 # Intended for use with "native" mingw (where libtool itself
2968 # is running under the msys shell), or in the following cross-
2969 # build environments:
2970 # $build $host
2971 # mingw (msys) mingw [e.g. native]
2972 # cygwin mingw
2973 # *nix + wine mingw
2974 # where wine is equipped with the `winepath' executable.
2975 # In the native mingw case, the (msys) shell automatically
2976 # converts paths for any non-msys applications it launches,
2977 # but that facility isn't available from inside the cwrapper.
2978 # Similar accommodations are necessary for $host mingw and
2979 # $build cygwin. Calling this function does no harm for other
2980 # $host/$build combinations not listed above.
2981 #
2982 # ARG is the path (on $build) that should be converted to
2983 # the proper representation for $host. The result is stored
2984 # in $func_to_host_path_result.
2985 func_to_host_path ()
2986 {
2987 func_to_host_path_result="$1"
2988 if test -n "$1" ; then
2989 case $host in
2990 *mingw* )
2991 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
2992 case $build in
2993 *mingw* ) # actually, msys
2994 # awkward: cmd appends spaces to result
2995 lt_sed_strip_trailing_spaces="s/[ ]*\$//"
2996 func_to_host_path_tmp1=`( cmd //c echo "$1" |\
2997 $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
2998 func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
2999 $SED -e "$lt_sed_naive_backslashify"`
3000 ;;
3001 *cygwin* )
3002 func_to_host_path_tmp1=`cygpath -w "$1"`
3003 func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
3004 $SED -e "$lt_sed_naive_backslashify"`
3005 ;;
3006 * )
3007 # Unfortunately, winepath does not exit with a non-zero
3008 # error code, so we are forced to check the contents of
3009 # stdout. On the other hand, if the command is not
3010 # found, the shell will set an exit code of 127 and print
3011 # *an error message* to stdout. So we must check for both
3012 # error code of zero AND non-empty stdout, which explains
3013 # the odd construction:
3014 func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
3015 if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
3016 func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
3017 $SED -e "$lt_sed_naive_backslashify"`
3018 else
3019 # Allow warning below.
3020 func_to_host_path_result=""
3021 fi
3022 ;;
3023 esac
3024 if test -z "$func_to_host_path_result" ; then
3025 func_error "Could not determine host path corresponding to"
3026 func_error " '$1'"
3027 func_error "Continuing, but uninstalled executables may not work."
3028 # Fallback:
3029 func_to_host_path_result="$1"
3030 fi
3031 ;;
3032 esac
3033 fi
3034 }
3035 # end: func_to_host_path
3036
3037 # func_to_host_pathlist arg
3038 #
3039 # Convert pathlists to host format when used with build tools.
3040 # See func_to_host_path(), above. This function supports the
3041 # following $build/$host combinations (but does no harm for
3042 # combinations not listed here):
3043 # $build $host
3044 # mingw (msys) mingw [e.g. native]
3045 # cygwin mingw
3046 # *nix + wine mingw
3047 #
3048 # Path separators are also converted from $build format to
3049 # $host format. If ARG begins or ends with a path separator
3050 # character, it is preserved (but converted to $host format)
3051 # on output.
3052 #
3053 # ARG is a pathlist (on $build) that should be converted to
3054 # the proper representation on $host. The result is stored
3055 # in $func_to_host_pathlist_result.
3056 func_to_host_pathlist ()
3057 {
3058 func_to_host_pathlist_result="$1"
3059 if test -n "$1" ; then
3060 case $host in
3061 *mingw* )
3062 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
3063 # Remove leading and trailing path separator characters from
3064 # ARG. msys behavior is inconsistent here, cygpath turns them
3065 # into '.;' and ';.', and winepath ignores them completely.
3066 func_to_host_pathlist_tmp2="$1"
3067 # Once set for this call, this variable should not be
3068 # reassigned. It is used in tha fallback case.
3069 func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
3070 $SED -e 's|^:*||' -e 's|:*$||'`
3071 case $build in
3072 *mingw* ) # Actually, msys.
3073 # Awkward: cmd appends spaces to result.
3074 lt_sed_strip_trailing_spaces="s/[ ]*\$//"
3075 func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_t mp1" |\
3076 $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
3077 func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
3078 $SED -e "$lt_sed_naive_backslashify"`
3079 ;;
3080 *cygwin* )
3081 func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tm p1"`
3082 func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
3083 $SED -e "$lt_sed_naive_backslashify"`
3084 ;;
3085 * )
3086 # unfortunately, winepath doesn't convert pathlists
3087 func_to_host_pathlist_result=""
3088 func_to_host_pathlist_oldIFS=$IFS
3089 IFS=:
3090 for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
3091 IFS=$func_to_host_pathlist_oldIFS
3092 if test -n "$func_to_host_pathlist_f" ; then
3093 func_to_host_path "$func_to_host_pathlist_f"
3094 if test -n "$func_to_host_path_result" ; then
3095 if test -z "$func_to_host_pathlist_result" ; then
3096 func_to_host_pathlist_result="$func_to_host_path_result"
3097 else
3098 func_to_host_pathlist_result="$func_to_host_pathlist_result; $func_to_host_path_result"
3099 fi
3100 fi
3101 fi
3102 IFS=:
3103 done
3104 IFS=$func_to_host_pathlist_oldIFS
3105 ;;
3106 esac
3107 if test -z "$func_to_host_pathlist_result" ; then
3108 func_error "Could not determine the host path(s) corresponding to"
3109 func_error " '$1'"
3110 func_error "Continuing, but uninstalled executables may not work."
3111 # Fallback. This may break if $1 contains DOS-style drive
3112 # specifications. The fix is not to complicate the expression
3113 # below, but for the user to provide a working wine installation
3114 # with winepath so that path translation in the cross-to-mingw
3115 # case works properly.
3116 lt_replace_pathsep_nix_to_dos="s|:|;|g"
3117 func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
3118 $SED -e "$lt_replace_pathsep_nix_to_dos"`
3119 fi
3120 # Now, add the leading and trailing path separators back
3121 case "$1" in
3122 :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
3123 ;;
3124 esac
3125 case "$1" in
3126 *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
3127 ;;
3128 esac
3129 ;;
3130 esac
3131 fi
3132 }
3133 # end: func_to_host_pathlist
3134
3135 # func_emit_cwrapperexe_src 4134 # func_emit_cwrapperexe_src
3136 # emit the source code for a wrapper executable on stdout 4135 # emit the source code for a wrapper executable on stdout
3137 # Must ONLY be called from within func_mode_link because 4136 # Must ONLY be called from within func_mode_link because
3138 # it depends on a number of variable set therein. 4137 # it depends on a number of variable set therein.
3139 func_emit_cwrapperexe_src () 4138 func_emit_cwrapperexe_src ()
3140 { 4139 {
3141 cat <<EOF 4140 cat <<EOF
3142 4141
3143 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname 4142 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
3144 Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION 4143 Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
3145 4144
3146 The $output program cannot be directly executed until all the libtool 4145 The $output program cannot be directly executed until all the libtool
3147 libraries that it depends on are installed. 4146 libraries that it depends on are installed.
3148 4147
3149 This wrapper executable should never be moved out of the build directory. 4148 This wrapper executable should never be moved out of the build directory.
3150 If it is, it will not operate correctly. 4149 If it is, it will not operate correctly.
3151
3152 Currently, it simply execs the wrapper *script* "$SHELL $output",
3153 but could eventually absorb all of the scripts functionality and
3154 exec $objdir/$outputname directly.
3155 */ 4150 */
3156 EOF 4151 EOF
3157 cat <<"EOF" 4152 cat <<"EOF"
4153 #ifdef _MSC_VER
4154 # define _CRT_SECURE_NO_DEPRECATE 1
4155 #endif
3158 #include <stdio.h> 4156 #include <stdio.h>
3159 #include <stdlib.h> 4157 #include <stdlib.h>
3160 #ifdef _MSC_VER 4158 #ifdef _MSC_VER
3161 # include <direct.h> 4159 # include <direct.h>
3162 # include <process.h> 4160 # include <process.h>
3163 # include <io.h> 4161 # include <io.h>
3164 # define setmode _setmode
3165 #else 4162 #else
3166 # include <unistd.h> 4163 # include <unistd.h>
3167 # include <stdint.h> 4164 # include <stdint.h>
3168 # ifdef __CYGWIN__ 4165 # ifdef __CYGWIN__
3169 # include <io.h> 4166 # include <io.h>
3170 # define HAVE_SETENV
3171 # ifdef __STRICT_ANSI__
3172 char *realpath (const char *, char *);
3173 int putenv (char *);
3174 int setenv (const char *, const char *, int);
3175 # endif
3176 # endif 4167 # endif
3177 #endif 4168 #endif
3178 #include <malloc.h> 4169 #include <malloc.h>
3179 #include <stdarg.h> 4170 #include <stdarg.h>
3180 #include <assert.h> 4171 #include <assert.h>
3181 #include <string.h> 4172 #include <string.h>
3182 #include <ctype.h> 4173 #include <ctype.h>
3183 #include <errno.h> 4174 #include <errno.h>
3184 #include <fcntl.h> 4175 #include <fcntl.h>
3185 #include <sys/stat.h> 4176 #include <sys/stat.h>
3186 4177
4178 /* declarations of non-ANSI functions */
4179 #if defined(__MINGW32__)
4180 # ifdef __STRICT_ANSI__
4181 int _putenv (const char *);
4182 # endif
4183 #elif defined(__CYGWIN__)
4184 # ifdef __STRICT_ANSI__
4185 char *realpath (const char *, char *);
4186 int putenv (char *);
4187 int setenv (const char *, const char *, int);
4188 # endif
4189 /* #elif defined (other platforms) ... */
4190 #endif
4191
4192 /* portability defines, excluding path handling macros */
4193 #if defined(_MSC_VER)
4194 # define setmode _setmode
4195 # define stat _stat
4196 # define chmod _chmod
4197 # define getcwd _getcwd
4198 # define putenv _putenv
4199 # define S_IXUSR _S_IEXEC
4200 # ifndef _INTPTR_T_DEFINED
4201 # define _INTPTR_T_DEFINED
4202 # define intptr_t int
4203 # endif
4204 #elif defined(__MINGW32__)
4205 # define setmode _setmode
4206 # define stat _stat
4207 # define chmod _chmod
4208 # define getcwd _getcwd
4209 # define putenv _putenv
4210 #elif defined(__CYGWIN__)
4211 # define HAVE_SETENV
4212 # define FOPEN_WB "wb"
4213 /* #elif defined (other platforms) ... */
4214 #endif
4215
3187 #if defined(PATH_MAX) 4216 #if defined(PATH_MAX)
3188 # define LT_PATHMAX PATH_MAX 4217 # define LT_PATHMAX PATH_MAX
3189 #elif defined(MAXPATHLEN) 4218 #elif defined(MAXPATHLEN)
3190 # define LT_PATHMAX MAXPATHLEN 4219 # define LT_PATHMAX MAXPATHLEN
3191 #else 4220 #else
3192 # define LT_PATHMAX 1024 4221 # define LT_PATHMAX 1024
3193 #endif 4222 #endif
3194 4223
3195 #ifndef S_IXOTH 4224 #ifndef S_IXOTH
3196 # define S_IXOTH 0 4225 # define S_IXOTH 0
3197 #endif 4226 #endif
3198 #ifndef S_IXGRP 4227 #ifndef S_IXGRP
3199 # define S_IXGRP 0 4228 # define S_IXGRP 0
3200 #endif 4229 #endif
3201 4230
3202 #ifdef _MSC_VER 4231 /* path handling portability macros */
3203 # define S_IXUSR _S_IEXEC
3204 # define stat _stat
3205 # ifndef _INTPTR_T_DEFINED
3206 # define intptr_t int
3207 # endif
3208 #endif
3209
3210 #ifndef DIR_SEPARATOR 4232 #ifndef DIR_SEPARATOR
3211 # define DIR_SEPARATOR '/' 4233 # define DIR_SEPARATOR '/'
3212 # define PATH_SEPARATOR ':' 4234 # define PATH_SEPARATOR ':'
3213 #endif 4235 #endif
3214 4236
3215 #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ 4237 #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
3216 defined (__OS2__) 4238 defined (__OS2__)
3217 # define HAVE_DOS_BASED_FILE_SYSTEM 4239 # define HAVE_DOS_BASED_FILE_SYSTEM
3218 # define FOPEN_WB "wb" 4240 # define FOPEN_WB "wb"
3219 # ifndef DIR_SEPARATOR_2 4241 # ifndef DIR_SEPARATOR_2
(...skipping 10 matching lines...) Expand all
3230 # define IS_DIR_SEPARATOR(ch) \ 4252 # define IS_DIR_SEPARATOR(ch) \
3231 (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) 4253 (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
3232 #endif /* DIR_SEPARATOR_2 */ 4254 #endif /* DIR_SEPARATOR_2 */
3233 4255
3234 #ifndef PATH_SEPARATOR_2 4256 #ifndef PATH_SEPARATOR_2
3235 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) 4257 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
3236 #else /* PATH_SEPARATOR_2 */ 4258 #else /* PATH_SEPARATOR_2 */
3237 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) 4259 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
3238 #endif /* PATH_SEPARATOR_2 */ 4260 #endif /* PATH_SEPARATOR_2 */
3239 4261
3240 #ifdef __CYGWIN__
3241 # define FOPEN_WB "wb"
3242 #endif
3243
3244 #ifndef FOPEN_WB 4262 #ifndef FOPEN_WB
3245 # define FOPEN_WB "w" 4263 # define FOPEN_WB "w"
3246 #endif 4264 #endif
3247 #ifndef _O_BINARY 4265 #ifndef _O_BINARY
3248 # define _O_BINARY 0 4266 # define _O_BINARY 0
3249 #endif 4267 #endif
3250 4268
3251 #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) 4269 #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
3252 #define XFREE(stale) do { \ 4270 #define XFREE(stale) do { \
3253 if (stale) { free ((void *) stale); stale = 0; } \ 4271 if (stale) { free ((void *) stale); stale = 0; } \
3254 } while (0) 4272 } while (0)
3255 4273
3256 #undef LTWRAPPER_DEBUGPRINTF 4274 #if defined(LT_DEBUGWRAPPER)
3257 #if defined DEBUGWRAPPER 4275 static int lt_debug = 1;
3258 # define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
3259 static void
3260 ltwrapper_debugprintf (const char *fmt, ...)
3261 {
3262 va_list args;
3263 va_start (args, fmt);
3264 (void) vfprintf (stderr, fmt, args);
3265 va_end (args);
3266 }
3267 #else 4276 #else
3268 # define LTWRAPPER_DEBUGPRINTF(args) 4277 static int lt_debug = 0;
3269 #endif 4278 #endif
3270 4279
3271 const char *program_name = NULL; 4280 const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
3272 4281
3273 void *xmalloc (size_t num); 4282 void *xmalloc (size_t num);
3274 char *xstrdup (const char *string); 4283 char *xstrdup (const char *string);
3275 const char *base_name (const char *name); 4284 const char *base_name (const char *name);
3276 char *find_executable (const char *wrapper); 4285 char *find_executable (const char *wrapper);
3277 char *chase_symlinks (const char *pathspec); 4286 char *chase_symlinks (const char *pathspec);
3278 int make_executable (const char *path); 4287 int make_executable (const char *path);
3279 int check_executable (const char *path); 4288 int check_executable (const char *path);
3280 char *strendzap (char *str, const char *pat); 4289 char *strendzap (char *str, const char *pat);
3281 void lt_fatal (const char *message, ...); 4290 void lt_debugprintf (const char *file, int line, const char *fmt, ...);
4291 void lt_fatal (const char *file, int line, const char *message, ...);
4292 static const char *nonnull (const char *s);
4293 static const char *nonempty (const char *s);
3282 void lt_setenv (const char *name, const char *value); 4294 void lt_setenv (const char *name, const char *value);
3283 char *lt_extend_str (const char *orig_value, const char *add, int to_end); 4295 char *lt_extend_str (const char *orig_value, const char *add, int to_end);
3284 void lt_opt_process_env_set (const char *arg);
3285 void lt_opt_process_env_prepend (const char *arg);
3286 void lt_opt_process_env_append (const char *arg);
3287 int lt_split_name_value (const char *arg, char** name, char** value);
3288 void lt_update_exe_path (const char *name, const char *value); 4296 void lt_update_exe_path (const char *name, const char *value);
3289 void lt_update_lib_path (const char *name, const char *value); 4297 void lt_update_lib_path (const char *name, const char *value);
3290 4298 char **prepare_spawn (char **argv);
3291 static const char *script_text_part1 = 4299 void lt_dump_script (FILE *f);
3292 EOF 4300 EOF
3293 4301
3294 func_emit_wrapper_part1 yes |
3295 $SED -e 's/\([\\"]\)/\\\1/g' \
3296 -e 's/^/ "/' -e 's/$/\\n"/'
3297 echo ";"
3298 cat <<EOF 4302 cat <<EOF
3299 4303 volatile const char * MAGIC_EXE = "$magic_exe";
3300 static const char *script_text_part2 =
3301 EOF
3302 » func_emit_wrapper_part2 yes |
3303 » $SED -e 's/\([\\"]\)/\\\1/g' \
3304 » -e 's/^/ "/' -e 's/$/\\n"/'
3305 » echo ";"
3306
3307 » cat <<EOF
3308 const char * MAGIC_EXE = "$magic_exe";
3309 const char * LIB_PATH_VARNAME = "$shlibpath_var"; 4304 const char * LIB_PATH_VARNAME = "$shlibpath_var";
3310 EOF 4305 EOF
3311 4306
3312 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_ var" && test -n "$temp_rpath"; then 4307 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_ var" && test -n "$temp_rpath"; then
3313 func_to_host_pathlist "$temp_rpath" 4308 func_to_host_path "$temp_rpath"
3314 cat <<EOF 4309 cat <<EOF
3315 const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result"; 4310 const char * LIB_PATH_VALUE = "$func_to_host_path_result";
3316 EOF 4311 EOF
3317 else 4312 else
3318 cat <<"EOF" 4313 cat <<"EOF"
3319 const char * LIB_PATH_VALUE = ""; 4314 const char * LIB_PATH_VALUE = "";
3320 EOF 4315 EOF
3321 fi 4316 fi
3322 4317
3323 if test -n "$dllsearchpath"; then 4318 if test -n "$dllsearchpath"; then
3324 func_to_host_pathlist "$dllsearchpath:" 4319 func_to_host_path "$dllsearchpath:"
3325 cat <<EOF 4320 cat <<EOF
3326 const char * EXE_PATH_VARNAME = "PATH"; 4321 const char * EXE_PATH_VARNAME = "PATH";
3327 const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result"; 4322 const char * EXE_PATH_VALUE = "$func_to_host_path_result";
3328 EOF 4323 EOF
3329 else 4324 else
3330 cat <<"EOF" 4325 cat <<"EOF"
3331 const char * EXE_PATH_VARNAME = ""; 4326 const char * EXE_PATH_VARNAME = "";
3332 const char * EXE_PATH_VALUE = ""; 4327 const char * EXE_PATH_VALUE = "";
3333 EOF 4328 EOF
3334 fi 4329 fi
3335 4330
3336 if test "$fast_install" = yes; then 4331 if test "$fast_install" = yes; then
3337 cat <<EOF 4332 cat <<EOF
3338 const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */ 4333 const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
3339 EOF 4334 EOF
3340 else 4335 else
3341 cat <<EOF 4336 cat <<EOF
3342 const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */ 4337 const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
3343 EOF 4338 EOF
3344 fi 4339 fi
3345 4340
3346 4341
3347 cat <<"EOF" 4342 cat <<"EOF"
3348 4343
3349 #define LTWRAPPER_OPTION_PREFIX "--lt-" 4344 #define LTWRAPPER_OPTION_PREFIX "--lt-"
3350 #define LTWRAPPER_OPTION_PREFIX_LENGTH 5
3351 4345
3352 static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
3353 static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX; 4346 static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
3354
3355 static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script"; 4347 static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
3356 4348 static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
3357 static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
3358 static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
3359 /* argument is putenv-style "foo=bar", value of foo is set to bar */
3360
3361 static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
3362 static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
3363 /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
3364
3365 static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
3366 static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
3367 /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
3368 4349
3369 int 4350 int
3370 main (int argc, char *argv[]) 4351 main (int argc, char *argv[])
3371 { 4352 {
3372 char **newargz; 4353 char **newargz;
3373 int newargc; 4354 int newargc;
3374 char *tmp_pathspec; 4355 char *tmp_pathspec;
3375 char *actual_cwrapper_path; 4356 char *actual_cwrapper_path;
3376 char *actual_cwrapper_name; 4357 char *actual_cwrapper_name;
3377 char *target_name; 4358 char *target_name;
3378 char *lt_argv_zero; 4359 char *lt_argv_zero;
3379 intptr_t rval = 127; 4360 intptr_t rval = 127;
3380 4361
3381 int i; 4362 int i;
3382 4363
3383 program_name = (char *) xstrdup (base_name (argv[0])); 4364 program_name = (char *) xstrdup (base_name (argv[0]));
3384 LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0])); 4365 newargz = XMALLOC (char *, argc + 1);
3385 LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
3386 4366
3387 /* very simple arg parsing; don't want to rely on getopt */ 4367 /* very simple arg parsing; don't want to rely on getopt
4368 * also, copy all non cwrapper options to newargz, except
4369 * argz[0], which is handled differently
4370 */
4371 newargc=0;
3388 for (i = 1; i < argc; i++) 4372 for (i = 1; i < argc; i++)
3389 { 4373 {
3390 if (strcmp (argv[i], dumpscript_opt) == 0) 4374 if (strcmp (argv[i], dumpscript_opt) == 0)
3391 { 4375 {
3392 EOF 4376 EOF
3393 case "$host" in 4377 case "$host" in
3394 *mingw* | *cygwin* ) 4378 *mingw* | *cygwin* )
3395 # make stdout use "unix" line endings 4379 # make stdout use "unix" line endings
3396 echo " setmode(1,_O_BINARY);" 4380 echo " setmode(1,_O_BINARY);"
3397 ;; 4381 ;;
3398 esac 4382 esac
3399 4383
3400 cat <<"EOF" 4384 cat <<"EOF"
3401 » printf ("%s", script_text_part1); 4385 » lt_dump_script (stdout);
3402 » printf ("%s", script_text_part2);
3403 return 0; 4386 return 0;
3404 } 4387 }
4388 if (strcmp (argv[i], debug_opt) == 0)
4389 {
4390 lt_debug = 1;
4391 continue;
4392 }
4393 if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
4394 {
4395 /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
4396 namespace, but it is not one of the ones we know about and
4397 have already dealt with, above (inluding dump-script), then
4398 report an error. Otherwise, targets might begin to believe
4399 they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
4400 namespace. The first time any user complains about this, we'll
4401 need to make LTWRAPPER_OPTION_PREFIX a configure-time option
4402 or a configure.ac-settable value.
4403 */
4404 lt_fatal (__FILE__, __LINE__,
4405 "unrecognized %s option: '%s'",
4406 ltwrapper_option_prefix, argv[i]);
4407 }
4408 /* otherwise ... */
4409 newargz[++newargc] = xstrdup (argv[i]);
3405 } 4410 }
4411 newargz[++newargc] = NULL;
3406 4412
3407 newargz = XMALLOC (char *, argc + 1); 4413 EOF
4414 » cat <<EOF
4415 /* The GNU banner must be the first non-error debug message */
4416 lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
4417 EOF
4418 » cat <<"EOF"
4419 lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
4420 lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name) ;
4421
3408 tmp_pathspec = find_executable (argv[0]); 4422 tmp_pathspec = find_executable (argv[0]);
3409 if (tmp_pathspec == NULL) 4423 if (tmp_pathspec == NULL)
3410 lt_fatal ("Couldn't find %s", argv[0]); 4424 lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
3411 LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n", 4425 lt_debugprintf (__FILE__, __LINE__,
3412 » » » tmp_pathspec)); 4426 "(main) found exe (before symlink chase) at: %s\n",
4427 » » tmp_pathspec);
3413 4428
3414 actual_cwrapper_path = chase_symlinks (tmp_pathspec); 4429 actual_cwrapper_path = chase_symlinks (tmp_pathspec);
3415 LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n", 4430 lt_debugprintf (__FILE__, __LINE__,
3416 » » » actual_cwrapper_path)); 4431 "(main) found exe (after symlink chase) at: %s\n",
4432 » » actual_cwrapper_path);
3417 XFREE (tmp_pathspec); 4433 XFREE (tmp_pathspec);
3418 4434
3419 actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path)); 4435 actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
3420 strendzap (actual_cwrapper_path, actual_cwrapper_name); 4436 strendzap (actual_cwrapper_path, actual_cwrapper_name);
3421 4437
3422 /* wrapper name transforms */ 4438 /* wrapper name transforms */
3423 strendzap (actual_cwrapper_name, ".exe"); 4439 strendzap (actual_cwrapper_name, ".exe");
3424 tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1); 4440 tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
3425 XFREE (actual_cwrapper_name); 4441 XFREE (actual_cwrapper_name);
3426 actual_cwrapper_name = tmp_pathspec; 4442 actual_cwrapper_name = tmp_pathspec;
3427 tmp_pathspec = 0; 4443 tmp_pathspec = 0;
3428 4444
3429 /* target_name transforms -- use actual target program name; might have lt- pr efix */ 4445 /* target_name transforms -- use actual target program name; might have lt- pr efix */
3430 target_name = xstrdup (base_name (TARGET_PROGRAM_NAME)); 4446 target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
3431 strendzap (target_name, ".exe"); 4447 strendzap (target_name, ".exe");
3432 tmp_pathspec = lt_extend_str (target_name, ".exe", 1); 4448 tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
3433 XFREE (target_name); 4449 XFREE (target_name);
3434 target_name = tmp_pathspec; 4450 target_name = tmp_pathspec;
3435 tmp_pathspec = 0; 4451 tmp_pathspec = 0;
3436 4452
3437 LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n", 4453 lt_debugprintf (__FILE__, __LINE__,
3438 » » » target_name)); 4454 » » "(main) libtool target name: %s\n",
4455 » » target_name);
3439 EOF 4456 EOF
3440 4457
3441 cat <<EOF 4458 cat <<EOF
3442 newargz[0] = 4459 newargz[0] =
3443 XMALLOC (char, (strlen (actual_cwrapper_path) + 4460 XMALLOC (char, (strlen (actual_cwrapper_path) +
3444 strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1)) ; 4461 strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1)) ;
3445 strcpy (newargz[0], actual_cwrapper_path); 4462 strcpy (newargz[0], actual_cwrapper_path);
3446 strcat (newargz[0], "$objdir"); 4463 strcat (newargz[0], "$objdir");
3447 strcat (newargz[0], "/"); 4464 strcat (newargz[0], "/");
3448 EOF 4465 EOF
(...skipping 29 matching lines...) Expand all
3478 ;; 4495 ;;
3479 esac 4496 esac
3480 4497
3481 cat <<"EOF" 4498 cat <<"EOF"
3482 XFREE (target_name); 4499 XFREE (target_name);
3483 XFREE (actual_cwrapper_path); 4500 XFREE (actual_cwrapper_path);
3484 XFREE (actual_cwrapper_name); 4501 XFREE (actual_cwrapper_name);
3485 4502
3486 lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */ 4503 lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
3487 lt_setenv ("DUALCASE", "1"); /* for MSK sh */ 4504 lt_setenv ("DUALCASE", "1"); /* for MSK sh */
4505 /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
4506 be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
4507 because on Windows, both *_VARNAMEs are PATH but uninstalled
4508 libraries must come first. */
4509 lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
3488 lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); 4510 lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
3489 lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
3490 4511
3491 newargc=0; 4512 lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
3492 for (i = 1; i < argc; i++) 4513 » » nonnull (lt_argv_zero));
3493 {
3494 if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
3495 {
3496 if (argv[i][env_set_opt_len] == '=')
3497 {
3498 const char *p = argv[i] + env_set_opt_len + 1;
3499 lt_opt_process_env_set (p);
3500 }
3501 else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
3502 {
3503 lt_opt_process_env_set (argv[++i]); /* don't copy */
3504 }
3505 else
3506 lt_fatal ("%s missing required argument", env_set_opt);
3507 continue;
3508 }
3509 if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
3510 {
3511 if (argv[i][env_prepend_opt_len] == '=')
3512 {
3513 const char *p = argv[i] + env_prepend_opt_len + 1;
3514 lt_opt_process_env_prepend (p);
3515 }
3516 else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
3517 {
3518 lt_opt_process_env_prepend (argv[++i]); /* don't copy */
3519 }
3520 else
3521 lt_fatal ("%s missing required argument", env_prepend_opt);
3522 continue;
3523 }
3524 if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
3525 {
3526 if (argv[i][env_append_opt_len] == '=')
3527 {
3528 const char *p = argv[i] + env_append_opt_len + 1;
3529 lt_opt_process_env_append (p);
3530 }
3531 else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
3532 {
3533 lt_opt_process_env_append (argv[++i]); /* don't copy */
3534 }
3535 else
3536 lt_fatal ("%s missing required argument", env_append_opt);
3537 continue;
3538 }
3539 if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
3540 {
3541 /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
3542 namespace, but it is not one of the ones we know about and
3543 have already dealt with, above (inluding dump-script), then
3544 report an error. Otherwise, targets might begin to believe
3545 they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
3546 namespace. The first time any user complains about this, we'll
3547 need to make LTWRAPPER_OPTION_PREFIX a configure-time option
3548 or a configure.ac-settable value.
3549 */
3550 lt_fatal ("Unrecognized option in %s namespace: '%s'",
3551 ltwrapper_option_prefix, argv[i]);
3552 }
3553 /* otherwise ... */
3554 newargz[++newargc] = xstrdup (argv[i]);
3555 }
3556 newargz[++newargc] = NULL;
3557
3558 LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_a rgv_zero : "<NULL>")));
3559 for (i = 0; i < newargc; i++) 4514 for (i = 0; i < newargc; i++)
3560 { 4515 {
3561 LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? ne wargz[i] : "<NULL>"))); 4516 lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
4517 » » i, nonnull (newargz[i]));
3562 } 4518 }
3563 4519
3564 EOF 4520 EOF
3565 4521
3566 case $host_os in 4522 case $host_os in
3567 mingw*) 4523 mingw*)
3568 cat <<"EOF" 4524 cat <<"EOF"
3569 /* execv doesn't actually work on mingw as expected on unix */ 4525 /* execv doesn't actually work on mingw as expected on unix */
4526 newargz = prepare_spawn (newargz);
3570 rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); 4527 rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
3571 if (rval == -1) 4528 if (rval == -1)
3572 { 4529 {
3573 /* failed to start process */ 4530 /* failed to start process */
3574 LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d \n", lt_argv_zero, errno)); 4531 lt_debugprintf (__FILE__, __LINE__,
4532 » » "(main) failed to launch target \"%s\": %s\n",
4533 » » lt_argv_zero, nonnull (strerror (errno)));
3575 return 127; 4534 return 127;
3576 } 4535 }
3577 return rval; 4536 return rval;
3578 EOF 4537 EOF
3579 ;; 4538 ;;
3580 *) 4539 *)
3581 cat <<"EOF" 4540 cat <<"EOF"
3582 execv (lt_argv_zero, newargz); 4541 execv (lt_argv_zero, newargz);
3583 return rval; /* =127, but avoids unused variable warning */ 4542 return rval; /* =127, but avoids unused variable warning */
3584 EOF 4543 EOF
3585 ;; 4544 ;;
3586 esac 4545 esac
3587 4546
3588 cat <<"EOF" 4547 cat <<"EOF"
3589 } 4548 }
3590 4549
3591 void * 4550 void *
3592 xmalloc (size_t num) 4551 xmalloc (size_t num)
3593 { 4552 {
3594 void *p = (void *) malloc (num); 4553 void *p = (void *) malloc (num);
3595 if (!p) 4554 if (!p)
3596 lt_fatal ("Memory exhausted"); 4555 lt_fatal (__FILE__, __LINE__, "memory exhausted");
3597 4556
3598 return p; 4557 return p;
3599 } 4558 }
3600 4559
3601 char * 4560 char *
3602 xstrdup (const char *string) 4561 xstrdup (const char *string)
3603 { 4562 {
3604 return string ? strcpy ((char *) xmalloc (strlen (string) + 1), 4563 return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
3605 string) : NULL; 4564 string) : NULL;
3606 } 4565 }
(...skipping 13 matching lines...) Expand all
3620 if (IS_DIR_SEPARATOR (*name)) 4579 if (IS_DIR_SEPARATOR (*name))
3621 base = name + 1; 4580 base = name + 1;
3622 return base; 4581 return base;
3623 } 4582 }
3624 4583
3625 int 4584 int
3626 check_executable (const char *path) 4585 check_executable (const char *path)
3627 { 4586 {
3628 struct stat st; 4587 struct stat st;
3629 4588
3630 LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", 4589 lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
3631 » » » path ? (*path ? path : "EMPTY!") : "NULL!")); 4590 nonempty (path));
3632 if ((!path) || (!*path)) 4591 if ((!path) || (!*path))
3633 return 0; 4592 return 0;
3634 4593
3635 if ((stat (path, &st) >= 0) 4594 if ((stat (path, &st) >= 0)
3636 && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) 4595 && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
3637 return 1; 4596 return 1;
3638 else 4597 else
3639 return 0; 4598 return 0;
3640 } 4599 }
3641 4600
3642 int 4601 int
3643 make_executable (const char *path) 4602 make_executable (const char *path)
3644 { 4603 {
3645 int rval = 0; 4604 int rval = 0;
3646 struct stat st; 4605 struct stat st;
3647 4606
3648 LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", 4607 lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
3649 » » » path ? (*path ? path : "EMPTY!") : "NULL!")); 4608 nonempty (path));
3650 if ((!path) || (!*path)) 4609 if ((!path) || (!*path))
3651 return 0; 4610 return 0;
3652 4611
3653 if (stat (path, &st) >= 0) 4612 if (stat (path, &st) >= 0)
3654 { 4613 {
3655 rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); 4614 rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
3656 } 4615 }
3657 return rval; 4616 return rval;
3658 } 4617 }
3659 4618
3660 /* Searches for the full path of the wrapper. Returns 4619 /* Searches for the full path of the wrapper. Returns
3661 newly allocated full path name if found, NULL otherwise 4620 newly allocated full path name if found, NULL otherwise
3662 Does not chase symlinks, even on platforms that support them. 4621 Does not chase symlinks, even on platforms that support them.
3663 */ 4622 */
3664 char * 4623 char *
3665 find_executable (const char *wrapper) 4624 find_executable (const char *wrapper)
3666 { 4625 {
3667 int has_slash = 0; 4626 int has_slash = 0;
3668 const char *p; 4627 const char *p;
3669 const char *p_next; 4628 const char *p_next;
3670 /* static buffer for getcwd */ 4629 /* static buffer for getcwd */
3671 char tmp[LT_PATHMAX + 1]; 4630 char tmp[LT_PATHMAX + 1];
3672 int tmp_len; 4631 int tmp_len;
3673 char *concat_name; 4632 char *concat_name;
3674 4633
3675 LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", 4634 lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
3676 » » » wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); 4635 nonempty (wrapper));
3677 4636
3678 if ((wrapper == NULL) || (*wrapper == '\0')) 4637 if ((wrapper == NULL) || (*wrapper == '\0'))
3679 return NULL; 4638 return NULL;
3680 4639
3681 /* Absolute path? */ 4640 /* Absolute path? */
3682 #if defined (HAVE_DOS_BASED_FILE_SYSTEM) 4641 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
3683 if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') 4642 if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
3684 { 4643 {
3685 concat_name = xstrdup (wrapper); 4644 concat_name = xstrdup (wrapper);
3686 if (check_executable (concat_name)) 4645 if (check_executable (concat_name))
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
3719 size_t p_len; 4678 size_t p_len;
3720 for (q = p; *q; q++) 4679 for (q = p; *q; q++)
3721 if (IS_PATH_SEPARATOR (*q)) 4680 if (IS_PATH_SEPARATOR (*q))
3722 break; 4681 break;
3723 p_len = q - p; 4682 p_len = q - p;
3724 p_next = (*q == '\0' ? q : q + 1); 4683 p_next = (*q == '\0' ? q : q + 1);
3725 if (p_len == 0) 4684 if (p_len == 0)
3726 { 4685 {
3727 /* empty path: current directory */ 4686 /* empty path: current directory */
3728 if (getcwd (tmp, LT_PATHMAX) == NULL) 4687 if (getcwd (tmp, LT_PATHMAX) == NULL)
3729 » » lt_fatal ("getcwd failed"); 4688 » » lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
4689 nonnull (strerror (errno)));
3730 tmp_len = strlen (tmp); 4690 tmp_len = strlen (tmp);
3731 concat_name = 4691 concat_name =
3732 XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); 4692 XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
3733 memcpy (concat_name, tmp, tmp_len); 4693 memcpy (concat_name, tmp, tmp_len);
3734 concat_name[tmp_len] = '/'; 4694 concat_name[tmp_len] = '/';
3735 strcpy (concat_name + tmp_len + 1, wrapper); 4695 strcpy (concat_name + tmp_len + 1, wrapper);
3736 } 4696 }
3737 else 4697 else
3738 { 4698 {
3739 concat_name = 4699 concat_name =
3740 XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); 4700 XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
3741 memcpy (concat_name, p, p_len); 4701 memcpy (concat_name, p, p_len);
3742 concat_name[p_len] = '/'; 4702 concat_name[p_len] = '/';
3743 strcpy (concat_name + p_len + 1, wrapper); 4703 strcpy (concat_name + p_len + 1, wrapper);
3744 } 4704 }
3745 if (check_executable (concat_name)) 4705 if (check_executable (concat_name))
3746 return concat_name; 4706 return concat_name;
3747 XFREE (concat_name); 4707 XFREE (concat_name);
3748 } 4708 }
3749 } 4709 }
3750 /* not found in PATH; assume curdir */ 4710 /* not found in PATH; assume curdir */
3751 } 4711 }
3752 /* Relative path | not found in path: prepend cwd */ 4712 /* Relative path | not found in path: prepend cwd */
3753 if (getcwd (tmp, LT_PATHMAX) == NULL) 4713 if (getcwd (tmp, LT_PATHMAX) == NULL)
3754 lt_fatal ("getcwd failed"); 4714 lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
4715 nonnull (strerror (errno)));
3755 tmp_len = strlen (tmp); 4716 tmp_len = strlen (tmp);
3756 concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); 4717 concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
3757 memcpy (concat_name, tmp, tmp_len); 4718 memcpy (concat_name, tmp, tmp_len);
3758 concat_name[tmp_len] = '/'; 4719 concat_name[tmp_len] = '/';
3759 strcpy (concat_name + tmp_len + 1, wrapper); 4720 strcpy (concat_name + tmp_len + 1, wrapper);
3760 4721
3761 if (check_executable (concat_name)) 4722 if (check_executable (concat_name))
3762 return concat_name; 4723 return concat_name;
3763 XFREE (concat_name); 4724 XFREE (concat_name);
3764 return NULL; 4725 return NULL;
3765 } 4726 }
3766 4727
3767 char * 4728 char *
3768 chase_symlinks (const char *pathspec) 4729 chase_symlinks (const char *pathspec)
3769 { 4730 {
3770 #ifndef S_ISLNK 4731 #ifndef S_ISLNK
3771 return xstrdup (pathspec); 4732 return xstrdup (pathspec);
3772 #else 4733 #else
3773 char buf[LT_PATHMAX]; 4734 char buf[LT_PATHMAX];
3774 struct stat s; 4735 struct stat s;
3775 char *tmp_pathspec = xstrdup (pathspec); 4736 char *tmp_pathspec = xstrdup (pathspec);
3776 char *p; 4737 char *p;
3777 int has_symlinks = 0; 4738 int has_symlinks = 0;
3778 while (strlen (tmp_pathspec) && !has_symlinks) 4739 while (strlen (tmp_pathspec) && !has_symlinks)
3779 { 4740 {
3780 LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", 4741 lt_debugprintf (__FILE__, __LINE__,
3781 » » » tmp_pathspec)); 4742 » » "checking path component for symlinks: %s\n",
4743 » » tmp_pathspec);
3782 if (lstat (tmp_pathspec, &s) == 0) 4744 if (lstat (tmp_pathspec, &s) == 0)
3783 { 4745 {
3784 if (S_ISLNK (s.st_mode) != 0) 4746 if (S_ISLNK (s.st_mode) != 0)
3785 { 4747 {
3786 has_symlinks = 1; 4748 has_symlinks = 1;
3787 break; 4749 break;
3788 } 4750 }
3789 4751
3790 /* search backwards for last DIR_SEPARATOR */ 4752 /* search backwards for last DIR_SEPARATOR */
3791 p = tmp_pathspec + strlen (tmp_pathspec) - 1; 4753 p = tmp_pathspec + strlen (tmp_pathspec) - 1;
3792 while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) 4754 while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
3793 p--; 4755 p--;
3794 if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) 4756 if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
3795 { 4757 {
3796 /* no more DIR_SEPARATORS left */ 4758 /* no more DIR_SEPARATORS left */
3797 break; 4759 break;
3798 } 4760 }
3799 *p = '\0'; 4761 *p = '\0';
3800 } 4762 }
3801 else 4763 else
3802 { 4764 {
3803 » char *errstr = strerror (errno); 4765 » lt_fatal (__FILE__, __LINE__,
3804 » lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); 4766 » » "error accessing file \"%s\": %s",
4767 » » tmp_pathspec, nonnull (strerror (errno)));
3805 } 4768 }
3806 } 4769 }
3807 XFREE (tmp_pathspec); 4770 XFREE (tmp_pathspec);
3808 4771
3809 if (!has_symlinks) 4772 if (!has_symlinks)
3810 { 4773 {
3811 return xstrdup (pathspec); 4774 return xstrdup (pathspec);
3812 } 4775 }
3813 4776
3814 tmp_pathspec = realpath (pathspec, buf); 4777 tmp_pathspec = realpath (pathspec, buf);
3815 if (tmp_pathspec == 0) 4778 if (tmp_pathspec == 0)
3816 { 4779 {
3817 lt_fatal ("Could not follow symlinks for %s", pathspec); 4780 lt_fatal (__FILE__, __LINE__,
4781 » » "could not follow symlinks for %s", pathspec);
3818 } 4782 }
3819 return xstrdup (tmp_pathspec); 4783 return xstrdup (tmp_pathspec);
3820 #endif 4784 #endif
3821 } 4785 }
3822 4786
3823 char * 4787 char *
3824 strendzap (char *str, const char *pat) 4788 strendzap (char *str, const char *pat)
3825 { 4789 {
3826 size_t len, patlen; 4790 size_t len, patlen;
3827 4791
3828 assert (str != NULL); 4792 assert (str != NULL);
3829 assert (pat != NULL); 4793 assert (pat != NULL);
3830 4794
3831 len = strlen (str); 4795 len = strlen (str);
3832 patlen = strlen (pat); 4796 patlen = strlen (pat);
3833 4797
3834 if (patlen <= len) 4798 if (patlen <= len)
3835 { 4799 {
3836 str += len - patlen; 4800 str += len - patlen;
3837 if (strcmp (str, pat) == 0) 4801 if (strcmp (str, pat) == 0)
3838 *str = '\0'; 4802 *str = '\0';
3839 } 4803 }
3840 return str; 4804 return str;
3841 } 4805 }
3842 4806
4807 void
4808 lt_debugprintf (const char *file, int line, const char *fmt, ...)
4809 {
4810 va_list args;
4811 if (lt_debug)
4812 {
4813 (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
4814 va_start (args, fmt);
4815 (void) vfprintf (stderr, fmt, args);
4816 va_end (args);
4817 }
4818 }
4819
3843 static void 4820 static void
3844 lt_error_core (int exit_status, const char *mode, 4821 lt_error_core (int exit_status, const char *file,
4822 » int line, const char *mode,
3845 const char *message, va_list ap) 4823 const char *message, va_list ap)
3846 { 4824 {
3847 fprintf (stderr, "%s: %s: ", program_name, mode); 4825 fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
3848 vfprintf (stderr, message, ap); 4826 vfprintf (stderr, message, ap);
3849 fprintf (stderr, ".\n"); 4827 fprintf (stderr, ".\n");
3850 4828
3851 if (exit_status >= 0) 4829 if (exit_status >= 0)
3852 exit (exit_status); 4830 exit (exit_status);
3853 } 4831 }
3854 4832
3855 void 4833 void
3856 lt_fatal (const char *message, ...) 4834 lt_fatal (const char *file, int line, const char *message, ...)
3857 { 4835 {
3858 va_list ap; 4836 va_list ap;
3859 va_start (ap, message); 4837 va_start (ap, message);
3860 lt_error_core (EXIT_FAILURE, "FATAL", message, ap); 4838 lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
3861 va_end (ap); 4839 va_end (ap);
3862 } 4840 }
3863 4841
4842 static const char *
4843 nonnull (const char *s)
4844 {
4845 return s ? s : "(null)";
4846 }
4847
4848 static const char *
4849 nonempty (const char *s)
4850 {
4851 return (s && !*s) ? "(empty)" : nonnull (s);
4852 }
4853
3864 void 4854 void
3865 lt_setenv (const char *name, const char *value) 4855 lt_setenv (const char *name, const char *value)
3866 { 4856 {
3867 LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", 4857 lt_debugprintf (__FILE__, __LINE__,
3868 (name ? name : "<NULL>"), 4858 » » "(lt_setenv) setting '%s' to '%s'\n",
3869 (value ? value : "<NULL>"))); 4859 nonnull (name), nonnull (value));
3870 { 4860 {
3871 #ifdef HAVE_SETENV 4861 #ifdef HAVE_SETENV
3872 /* always make a copy, for consistency with !HAVE_SETENV */ 4862 /* always make a copy, for consistency with !HAVE_SETENV */
3873 char *str = xstrdup (value); 4863 char *str = xstrdup (value);
3874 setenv (name, str, 1); 4864 setenv (name, str, 1);
3875 #else 4865 #else
3876 int len = strlen (name) + 1 + strlen (value) + 1; 4866 int len = strlen (name) + 1 + strlen (value) + 1;
3877 char *str = XMALLOC (char, len); 4867 char *str = XMALLOC (char, len);
3878 sprintf (str, "%s=%s", name, value); 4868 sprintf (str, "%s=%s", name, value);
3879 if (putenv (str) != EXIT_SUCCESS) 4869 if (putenv (str) != EXIT_SUCCESS)
(...skipping 24 matching lines...) Expand all
3904 strcpy (new_value + add_len, orig_value); 4894 strcpy (new_value + add_len, orig_value);
3905 } 4895 }
3906 } 4896 }
3907 else 4897 else
3908 { 4898 {
3909 new_value = xstrdup (add); 4899 new_value = xstrdup (add);
3910 } 4900 }
3911 return new_value; 4901 return new_value;
3912 } 4902 }
3913 4903
3914 int
3915 lt_split_name_value (const char *arg, char** name, char** value)
3916 {
3917 const char *p;
3918 int len;
3919 if (!arg || !*arg)
3920 return 1;
3921
3922 p = strchr (arg, (int)'=');
3923
3924 if (!p)
3925 return 1;
3926
3927 *value = xstrdup (++p);
3928
3929 len = strlen (arg) - strlen (*value);
3930 *name = XMALLOC (char, len);
3931 strncpy (*name, arg, len-1);
3932 (*name)[len - 1] = '\0';
3933
3934 return 0;
3935 }
3936
3937 void
3938 lt_opt_process_env_set (const char *arg)
3939 {
3940 char *name = NULL;
3941 char *value = NULL;
3942
3943 if (lt_split_name_value (arg, &name, &value) != 0)
3944 {
3945 XFREE (name);
3946 XFREE (value);
3947 lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
3948 }
3949
3950 lt_setenv (name, value);
3951 XFREE (name);
3952 XFREE (value);
3953 }
3954
3955 void
3956 lt_opt_process_env_prepend (const char *arg)
3957 {
3958 char *name = NULL;
3959 char *value = NULL;
3960 char *new_value = NULL;
3961
3962 if (lt_split_name_value (arg, &name, &value) != 0)
3963 {
3964 XFREE (name);
3965 XFREE (value);
3966 lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
3967 }
3968
3969 new_value = lt_extend_str (getenv (name), value, 0);
3970 lt_setenv (name, new_value);
3971 XFREE (new_value);
3972 XFREE (name);
3973 XFREE (value);
3974 }
3975
3976 void
3977 lt_opt_process_env_append (const char *arg)
3978 {
3979 char *name = NULL;
3980 char *value = NULL;
3981 char *new_value = NULL;
3982
3983 if (lt_split_name_value (arg, &name, &value) != 0)
3984 {
3985 XFREE (name);
3986 XFREE (value);
3987 lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
3988 }
3989
3990 new_value = lt_extend_str (getenv (name), value, 1);
3991 lt_setenv (name, new_value);
3992 XFREE (new_value);
3993 XFREE (name);
3994 XFREE (value);
3995 }
3996
3997 void 4904 void
3998 lt_update_exe_path (const char *name, const char *value) 4905 lt_update_exe_path (const char *name, const char *value)
3999 { 4906 {
4000 LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s '\n", 4907 lt_debugprintf (__FILE__, __LINE__,
4001 (name ? name : "<NULL>"), 4908 » » "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
4002 (value ? value : "<NULL>"))); 4909 nonnull (name), nonnull (value));
4003 4910
4004 if (name && *name && value && *value) 4911 if (name && *name && value && *value)
4005 { 4912 {
4006 char *new_value = lt_extend_str (getenv (name), value, 0); 4913 char *new_value = lt_extend_str (getenv (name), value, 0);
4007 /* some systems can't cope with a ':'-terminated path #' */ 4914 /* some systems can't cope with a ':'-terminated path #' */
4008 int len = strlen (new_value); 4915 int len = strlen (new_value);
4009 while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[le n-1])) 4916 while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[le n-1]))
4010 { 4917 {
4011 new_value[len-1] = '\0'; 4918 new_value[len-1] = '\0';
4012 } 4919 }
4013 lt_setenv (name, new_value); 4920 lt_setenv (name, new_value);
4014 XFREE (new_value); 4921 XFREE (new_value);
4015 } 4922 }
4016 } 4923 }
4017 4924
4018 void 4925 void
4019 lt_update_lib_path (const char *name, const char *value) 4926 lt_update_lib_path (const char *name, const char *value)
4020 { 4927 {
4021 LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s '\n", 4928 lt_debugprintf (__FILE__, __LINE__,
4022 (name ? name : "<NULL>"), 4929 » » "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
4023 (value ? value : "<NULL>"))); 4930 nonnull (name), nonnull (value));
4024 4931
4025 if (name && *name && value && *value) 4932 if (name && *name && value && *value)
4026 { 4933 {
4027 char *new_value = lt_extend_str (getenv (name), value, 0); 4934 char *new_value = lt_extend_str (getenv (name), value, 0);
4028 lt_setenv (name, new_value); 4935 lt_setenv (name, new_value);
4029 XFREE (new_value); 4936 XFREE (new_value);
4030 } 4937 }
4031 } 4938 }
4032 4939
4940 EOF
4941 case $host_os in
4942 mingw*)
4943 cat <<"EOF"
4033 4944
4945 /* Prepares an argument vector before calling spawn().
4946 Note that spawn() does not by itself call the command interpreter
4947 (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
4948 ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
4949 GetVersionEx(&v);
4950 v.dwPlatformId == VER_PLATFORM_WIN32_NT;
4951 }) ? "cmd.exe" : "command.com").
4952 Instead it simply concatenates the arguments, separated by ' ', and calls
4953 CreateProcess(). We must quote the arguments since Win32 CreateProcess()
4954 interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
4955 special way:
4956 - Space and tab are interpreted as delimiters. They are not treated as
4957 delimiters if they are surrounded by double quotes: "...".
4958 - Unescaped double quotes are removed from the input. Their only effect is
4959 that within double quotes, space and tab are treated like normal
4960 characters.
4961 - Backslashes not followed by double quotes are not special.
4962 - But 2*n+1 backslashes followed by a double quote become
4963 n backslashes followed by a double quote (n >= 0):
4964 \" -> "
4965 \\\" -> \"
4966 \\\\\" -> \\"
4967 */
4968 #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\0 14\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
4969 #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015 \016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
4970 char **
4971 prepare_spawn (char **argv)
4972 {
4973 size_t argc;
4974 char **new_argv;
4975 size_t i;
4976
4977 /* Count number of arguments. */
4978 for (argc = 0; argv[argc] != NULL; argc++)
4979 ;
4980
4981 /* Allocate new argument vector. */
4982 new_argv = XMALLOC (char *, argc + 1);
4983
4984 /* Put quoted arguments into the new argument vector. */
4985 for (i = 0; i < argc; i++)
4986 {
4987 const char *string = argv[i];
4988
4989 if (string[0] == '\0')
4990 new_argv[i] = xstrdup ("\"\"");
4991 else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
4992 {
4993 int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
4994 size_t length;
4995 unsigned int backslashes;
4996 const char *s;
4997 char *quoted_string;
4998 char *p;
4999
5000 length = 0;
5001 backslashes = 0;
5002 if (quote_around)
5003 length++;
5004 for (s = string; *s != '\0'; s++)
5005 {
5006 char c = *s;
5007 if (c == '"')
5008 length += backslashes + 1;
5009 length++;
5010 if (c == '\\')
5011 backslashes++;
5012 else
5013 backslashes = 0;
5014 }
5015 if (quote_around)
5016 length += backslashes + 1;
5017
5018 quoted_string = XMALLOC (char, length + 1);
5019
5020 p = quoted_string;
5021 backslashes = 0;
5022 if (quote_around)
5023 *p++ = '"';
5024 for (s = string; *s != '\0'; s++)
5025 {
5026 char c = *s;
5027 if (c == '"')
5028 {
5029 unsigned int j;
5030 for (j = backslashes + 1; j > 0; j--)
5031 *p++ = '\\';
5032 }
5033 *p++ = c;
5034 if (c == '\\')
5035 backslashes++;
5036 else
5037 backslashes = 0;
5038 }
5039 if (quote_around)
5040 {
5041 unsigned int j;
5042 for (j = backslashes; j > 0; j--)
5043 *p++ = '\\';
5044 *p++ = '"';
5045 }
5046 *p = '\0';
5047
5048 new_argv[i] = quoted_string;
5049 }
5050 else
5051 new_argv[i] = (char *) string;
5052 }
5053 new_argv[argc] = NULL;
5054
5055 return new_argv;
5056 }
5057 EOF
5058 ;;
5059 esac
5060
5061 cat <<"EOF"
5062 void lt_dump_script (FILE* f)
5063 {
5064 EOF
5065 func_emit_wrapper yes |
5066 $SED -n -e '
5067 s/^\(.\{79\}\)\(..*\)/\1\
5068 \2/
5069 h
5070 s/\([\\"]\)/\\\1/g
5071 s/$/\\n/
5072 s/\([^\n]*\).*/ fputs ("\1", f);/p
5073 g
5074 D'
5075 cat <<"EOF"
5076 }
4034 EOF 5077 EOF
4035 } 5078 }
4036 # end: func_emit_cwrapperexe_src 5079 # end: func_emit_cwrapperexe_src
4037 5080
5081 # func_win32_import_lib_p ARG
5082 # True if ARG is an import lib, as indicated by $file_magic_cmd
5083 func_win32_import_lib_p ()
5084 {
5085 $opt_debug
5086 case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
5087 *import*) : ;;
5088 *) false ;;
5089 esac
5090 }
5091
4038 # func_mode_link arg... 5092 # func_mode_link arg...
4039 func_mode_link () 5093 func_mode_link ()
4040 { 5094 {
4041 $opt_debug 5095 $opt_debug
4042 case $host in 5096 case $host in
4043 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) 5097 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
4044 # It is impossible to link a dll without this setting, and 5098 # It is impossible to link a dll without this setting, and
4045 # we shouldn't force the makefile maintainer to figure out 5099 # we shouldn't force the makefile maintainer to figure out
4046 # which system we are compiling for in order to pass an extra 5100 # which system we are compiling for in order to pass an extra
4047 # flag for every libtool invocation. 5101 # flag for every libtool invocation.
(...skipping 24 matching lines...) Expand all
4072 deplibs= 5126 deplibs=
4073 old_deplibs= 5127 old_deplibs=
4074 compiler_flags= 5128 compiler_flags=
4075 linker_flags= 5129 linker_flags=
4076 dllsearchpath= 5130 dllsearchpath=
4077 lib_search_path=`pwd` 5131 lib_search_path=`pwd`
4078 inst_prefix_dir= 5132 inst_prefix_dir=
4079 new_inherited_linker_flags= 5133 new_inherited_linker_flags=
4080 5134
4081 avoid_version=no 5135 avoid_version=no
5136 bindir=
4082 dlfiles= 5137 dlfiles=
4083 dlprefiles= 5138 dlprefiles=
4084 dlself=no 5139 dlself=no
4085 export_dynamic=no 5140 export_dynamic=no
4086 export_symbols= 5141 export_symbols=
4087 export_symbols_regex= 5142 export_symbols_regex=
4088 generated= 5143 generated=
4089 libobjs= 5144 libobjs=
4090 ltlibs= 5145 ltlibs=
4091 module=no 5146 module=no
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
4164 # If the previous option needs an argument, assign it. 5219 # If the previous option needs an argument, assign it.
4165 if test -n "$prev"; then 5220 if test -n "$prev"; then
4166 case $prev in 5221 case $prev in
4167 output) 5222 output)
4168 func_append compile_command " @OUTPUT@" 5223 func_append compile_command " @OUTPUT@"
4169 func_append finalize_command " @OUTPUT@" 5224 func_append finalize_command " @OUTPUT@"
4170 ;; 5225 ;;
4171 esac 5226 esac
4172 5227
4173 case $prev in 5228 case $prev in
5229 bindir)
5230 bindir="$arg"
5231 prev=
5232 continue
5233 ;;
4174 dlfiles|dlprefiles) 5234 dlfiles|dlprefiles)
4175 if test "$preload" = no; then 5235 if test "$preload" = no; then
4176 # Add the symbol object into the linking commands. 5236 # Add the symbol object into the linking commands.
4177 func_append compile_command " @SYMFILE@" 5237 func_append compile_command " @SYMFILE@"
4178 func_append finalize_command " @SYMFILE@" 5238 func_append finalize_command " @SYMFILE@"
4179 preload=yes 5239 preload=yes
4180 fi 5240 fi
4181 case $arg in 5241 case $arg in
4182 *.la | *.lo) ;; # We handle these cases below. 5242 *.la | *.lo) ;; # We handle these cases below.
4183 force) 5243 force)
(...skipping 11 matching lines...) Expand all
4195 dlself=yes 5255 dlself=yes
4196 else 5256 else
4197 dlself=needless 5257 dlself=needless
4198 export_dynamic=yes 5258 export_dynamic=yes
4199 fi 5259 fi
4200 prev= 5260 prev=
4201 continue 5261 continue
4202 ;; 5262 ;;
4203 *) 5263 *)
4204 if test "$prev" = dlfiles; then 5264 if test "$prev" = dlfiles; then
4205 » dlfiles="$dlfiles $arg" 5265 » func_append dlfiles " $arg"
4206 else 5266 else
4207 » dlprefiles="$dlprefiles $arg" 5267 » func_append dlprefiles " $arg"
4208 fi 5268 fi
4209 prev= 5269 prev=
4210 continue 5270 continue
4211 ;; 5271 ;;
4212 esac 5272 esac
4213 ;; 5273 ;;
4214 expsyms) 5274 expsyms)
4215 export_symbols="$arg" 5275 export_symbols="$arg"
4216 test -f "$arg" \ 5276 test -f "$arg" \
4217 || func_fatal_error "symbol file \`$arg' does not exist" 5277 || func_fatal_error "symbol file \`$arg' does not exist"
4218 prev= 5278 prev=
4219 continue 5279 continue
4220 ;; 5280 ;;
4221 expsyms_regex) 5281 expsyms_regex)
4222 export_symbols_regex="$arg" 5282 export_symbols_regex="$arg"
4223 prev= 5283 prev=
4224 continue 5284 continue
4225 ;; 5285 ;;
4226 framework) 5286 framework)
4227 case $host in 5287 case $host in
4228 *-*-darwin*) 5288 *-*-darwin*)
4229 case "$deplibs " in 5289 case "$deplibs " in
4230 *" $qarg.ltframework "*) ;; 5290 *" $qarg.ltframework "*) ;;
4231 » » *) deplibs="$deplibs $qarg.ltframework" # this is fixed later 5291 » » *) func_append deplibs " $qarg.ltframework" # this is fixed late r
4232 ;; 5292 ;;
4233 esac 5293 esac
4234 ;; 5294 ;;
4235 esac 5295 esac
4236 prev= 5296 prev=
4237 continue 5297 continue
4238 ;; 5298 ;;
4239 inst_prefix) 5299 inst_prefix)
4240 inst_prefix_dir="$arg" 5300 inst_prefix_dir="$arg"
4241 prev= 5301 prev=
4242 continue 5302 continue
4243 ;; 5303 ;;
4244 objectlist) 5304 objectlist)
4245 if test -f "$arg"; then 5305 if test -f "$arg"; then
4246 save_arg=$arg 5306 save_arg=$arg
4247 moreargs= 5307 moreargs=
4248 for fil in `cat "$save_arg"` 5308 for fil in `cat "$save_arg"`
4249 do 5309 do
4250 #» moreargs="$moreargs $fil" 5310 #» func_append moreargs " $fil"
4251 arg=$fil 5311 arg=$fil
4252 # A libtool-controlled object. 5312 # A libtool-controlled object.
4253 5313
4254 # Check to see that this really is a libtool object. 5314 # Check to see that this really is a libtool object.
4255 if func_lalib_unsafe_p "$arg"; then 5315 if func_lalib_unsafe_p "$arg"; then
4256 pic_object= 5316 pic_object=
4257 non_pic_object= 5317 non_pic_object=
4258 5318
4259 # Read the .lo file 5319 # Read the .lo file
4260 func_source "$arg" 5320 func_source "$arg"
4261 5321
4262 if test -z "$pic_object" || 5322 if test -z "$pic_object" ||
4263 test -z "$non_pic_object" || 5323 test -z "$non_pic_object" ||
4264 test "$pic_object" = none && 5324 test "$pic_object" = none &&
4265 test "$non_pic_object" = none; then 5325 test "$non_pic_object" = none; then
4266 func_fatal_error "cannot find name of object for \`$arg'" 5326 func_fatal_error "cannot find name of object for \`$arg'"
4267 fi 5327 fi
4268 5328
4269 # Extract subdirectory from the argument. 5329 # Extract subdirectory from the argument.
4270 func_dirname "$arg" "/" "" 5330 func_dirname "$arg" "/" ""
4271 xdir="$func_dirname_result" 5331 xdir="$func_dirname_result"
4272 5332
4273 if test "$pic_object" != none; then 5333 if test "$pic_object" != none; then
4274 # Prepend the subdirectory the object is found in. 5334 # Prepend the subdirectory the object is found in.
4275 pic_object="$xdir$pic_object" 5335 pic_object="$xdir$pic_object"
4276 5336
4277 if test "$prev" = dlfiles; then 5337 if test "$prev" = dlfiles; then
4278 if test "$build_libtool_libs" = yes && test "$dlopen_support " = yes; then 5338 if test "$build_libtool_libs" = yes && test "$dlopen_support " = yes; then
4279 » » dlfiles="$dlfiles $pic_object" 5339 » » func_append dlfiles " $pic_object"
4280 prev= 5340 prev=
4281 continue 5341 continue
4282 else 5342 else
4283 # If libtool objects are unsupported, then we need to prel oad. 5343 # If libtool objects are unsupported, then we need to prel oad.
4284 prev=dlprefiles 5344 prev=dlprefiles
4285 fi 5345 fi
4286 fi 5346 fi
4287 5347
4288 # CHECK ME: I think I busted this. -Ossama 5348 # CHECK ME: I think I busted this. -Ossama
4289 if test "$prev" = dlprefiles; then 5349 if test "$prev" = dlprefiles; then
4290 # Preload the old-style object. 5350 # Preload the old-style object.
4291 » » dlprefiles="$dlprefiles $pic_object" 5351 » » func_append dlprefiles " $pic_object"
4292 prev= 5352 prev=
4293 fi 5353 fi
4294 5354
4295 # A PIC object. 5355 # A PIC object.
4296 func_append libobjs " $pic_object" 5356 func_append libobjs " $pic_object"
4297 arg="$pic_object" 5357 arg="$pic_object"
4298 fi 5358 fi
4299 5359
4300 # Non-PIC object. 5360 # Non-PIC object.
4301 if test "$non_pic_object" != none; then 5361 if test "$non_pic_object" != none; then
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
4351 # We need an absolute path. 5411 # We need an absolute path.
4352 case $arg in 5412 case $arg in
4353 [\\/]* | [A-Za-z]:[\\/]*) ;; 5413 [\\/]* | [A-Za-z]:[\\/]*) ;;
4354 *) 5414 *)
4355 func_fatal_error "only absolute run-paths are allowed" 5415 func_fatal_error "only absolute run-paths are allowed"
4356 ;; 5416 ;;
4357 esac 5417 esac
4358 if test "$prev" = rpath; then 5418 if test "$prev" = rpath; then
4359 case "$rpath " in 5419 case "$rpath " in
4360 *" $arg "*) ;; 5420 *" $arg "*) ;;
4361 » *) rpath="$rpath $arg" ;; 5421 » *) func_append rpath " $arg" ;;
4362 esac 5422 esac
4363 else 5423 else
4364 case "$xrpath " in 5424 case "$xrpath " in
4365 *" $arg "*) ;; 5425 *" $arg "*) ;;
4366 » *) xrpath="$xrpath $arg" ;; 5426 » *) func_append xrpath " $arg" ;;
4367 esac 5427 esac
4368 fi 5428 fi
4369 prev= 5429 prev=
4370 continue 5430 continue
4371 ;; 5431 ;;
4372 shrext) 5432 shrext)
4373 shrext_cmds="$arg" 5433 shrext_cmds="$arg"
4374 prev= 5434 prev=
4375 continue 5435 continue
4376 ;; 5436 ;;
4377 weak) 5437 weak)
4378 » weak_libs="$weak_libs $arg" 5438 » func_append weak_libs " $arg"
4379 prev= 5439 prev=
4380 continue 5440 continue
4381 ;; 5441 ;;
4382 xcclinker) 5442 xcclinker)
4383 » linker_flags="$linker_flags $qarg" 5443 » func_append linker_flags " $qarg"
4384 » compiler_flags="$compiler_flags $qarg" 5444 » func_append compiler_flags " $qarg"
4385 prev= 5445 prev=
4386 func_append compile_command " $qarg" 5446 func_append compile_command " $qarg"
4387 func_append finalize_command " $qarg" 5447 func_append finalize_command " $qarg"
4388 continue 5448 continue
4389 ;; 5449 ;;
4390 xcompiler) 5450 xcompiler)
4391 » compiler_flags="$compiler_flags $qarg" 5451 » func_append compiler_flags " $qarg"
4392 prev= 5452 prev=
4393 func_append compile_command " $qarg" 5453 func_append compile_command " $qarg"
4394 func_append finalize_command " $qarg" 5454 func_append finalize_command " $qarg"
4395 continue 5455 continue
4396 ;; 5456 ;;
4397 xlinker) 5457 xlinker)
4398 » linker_flags="$linker_flags $qarg" 5458 » func_append linker_flags " $qarg"
4399 » compiler_flags="$compiler_flags $wl$qarg" 5459 » func_append compiler_flags " $wl$qarg"
4400 prev= 5460 prev=
4401 func_append compile_command " $wl$qarg" 5461 func_append compile_command " $wl$qarg"
4402 func_append finalize_command " $wl$qarg" 5462 func_append finalize_command " $wl$qarg"
4403 continue 5463 continue
4404 ;; 5464 ;;
4405 *) 5465 *)
4406 eval "$prev=\"\$arg\"" 5466 eval "$prev=\"\$arg\""
4407 prev= 5467 prev=
4408 continue 5468 continue
4409 ;; 5469 ;;
(...skipping 15 matching lines...) Expand all
4425 -allow-undefined) 5485 -allow-undefined)
4426 # FIXME: remove this flag sometime in the future. 5486 # FIXME: remove this flag sometime in the future.
4427 func_fatal_error "\`-allow-undefined' must not be used because it is the default" 5487 func_fatal_error "\`-allow-undefined' must not be used because it is the default"
4428 ;; 5488 ;;
4429 5489
4430 -avoid-version) 5490 -avoid-version)
4431 avoid_version=yes 5491 avoid_version=yes
4432 continue 5492 continue
4433 ;; 5493 ;;
4434 5494
5495 -bindir)
5496 prev=bindir
5497 continue
5498 ;;
5499
4435 -dlopen) 5500 -dlopen)
4436 prev=dlfiles 5501 prev=dlfiles
4437 continue 5502 continue
4438 ;; 5503 ;;
4439 5504
4440 -dlpreopen) 5505 -dlpreopen)
4441 prev=dlprefiles 5506 prev=dlprefiles
4442 continue 5507 continue
4443 ;; 5508 ;;
4444 5509
(...skipping 30 matching lines...) Expand all
4475 case $with_gcc/$host in 5540 case $with_gcc/$host in
4476 no/*-*-irix* | /*-*-irix*) 5541 no/*-*-irix* | /*-*-irix*)
4477 func_append compile_command " $arg" 5542 func_append compile_command " $arg"
4478 func_append finalize_command " $arg" 5543 func_append finalize_command " $arg"
4479 ;; 5544 ;;
4480 esac 5545 esac
4481 continue 5546 continue
4482 ;; 5547 ;;
4483 5548
4484 -L*) 5549 -L*)
4485 » func_stripname '-L' '' "$arg" 5550 » func_stripname "-L" '' "$arg"
4486 » dir=$func_stripname_result 5551 » if test -z "$func_stripname_result"; then
4487 » if test -z "$dir"; then
4488 if test "$#" -gt 0; then 5552 if test "$#" -gt 0; then
4489 func_fatal_error "require no space between \`-L' and \`$1'" 5553 func_fatal_error "require no space between \`-L' and \`$1'"
4490 else 5554 else
4491 func_fatal_error "need path for \`-L' option" 5555 func_fatal_error "need path for \`-L' option"
4492 fi 5556 fi
4493 fi 5557 fi
5558 func_resolve_sysroot "$func_stripname_result"
5559 dir=$func_resolve_sysroot_result
4494 # We need an absolute path. 5560 # We need an absolute path.
4495 case $dir in 5561 case $dir in
4496 [\\/]* | [A-Za-z]:[\\/]*) ;; 5562 [\\/]* | [A-Za-z]:[\\/]*) ;;
4497 *) 5563 *)
4498 absdir=`cd "$dir" && pwd` 5564 absdir=`cd "$dir" && pwd`
4499 test -z "$absdir" && \ 5565 test -z "$absdir" && \
4500 func_fatal_error "cannot determine absolute directory name of \`$dir '" 5566 func_fatal_error "cannot determine absolute directory name of \`$dir '"
4501 dir="$absdir" 5567 dir="$absdir"
4502 ;; 5568 ;;
4503 esac 5569 esac
4504 case "$deplibs " in 5570 case "$deplibs " in
4505 » *" -L$dir "*) ;; 5571 » *" -L$dir "* | *" $arg "*)
5572 » # Will only happen for absolute or sysroot arguments
5573 » ;;
4506 *) 5574 *)
4507 » deplibs="$deplibs -L$dir" 5575 » # Preserve sysroot, but never include relative directories
4508 » lib_search_path="$lib_search_path $dir" 5576 » case $dir in
5577 » [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
5578 » *) func_append deplibs " -L$dir" ;;
5579 » esac
5580 » func_append lib_search_path " $dir"
4509 ;; 5581 ;;
4510 esac 5582 esac
4511 case $host in 5583 case $host in
4512 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) 5584 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
4513 » testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` 5585 » testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
4514 case :$dllsearchpath: in 5586 case :$dllsearchpath: in
4515 *":$dir:"*) ;; 5587 *":$dir:"*) ;;
4516 ::) dllsearchpath=$dir;; 5588 ::) dllsearchpath=$dir;;
4517 » *) dllsearchpath="$dllsearchpath:$dir";; 5589 » *) func_append dllsearchpath ":$dir";;
4518 esac 5590 esac
4519 case :$dllsearchpath: in 5591 case :$dllsearchpath: in
4520 *":$testbindir:"*) ;; 5592 *":$testbindir:"*) ;;
4521 ::) dllsearchpath=$testbindir;; 5593 ::) dllsearchpath=$testbindir;;
4522 » *) dllsearchpath="$dllsearchpath:$testbindir";; 5594 » *) func_append dllsearchpath ":$testbindir";;
4523 esac 5595 esac
4524 ;; 5596 ;;
4525 esac 5597 esac
4526 continue 5598 continue
4527 ;; 5599 ;;
4528 5600
4529 -l*) 5601 -l*)
4530 if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then 5602 if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
4531 case $host in 5603 case $host in
4532 » *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*) 5604 » *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haik u*)
4533 # These systems don't actually have a C or math library (as such) 5605 # These systems don't actually have a C or math library (as such)
4534 continue 5606 continue
4535 ;; 5607 ;;
4536 *-*-os2*) 5608 *-*-os2*)
4537 # These systems don't actually have a C library (as such) 5609 # These systems don't actually have a C library (as such)
4538 test "X$arg" = "X-lc" && continue 5610 test "X$arg" = "X-lc" && continue
4539 ;; 5611 ;;
4540 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) 5612 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
4541 # Do not include libc due to us having libc/libc_r. 5613 # Do not include libc due to us having libc/libc_r.
4542 test "X$arg" = "X-lc" && continue 5614 test "X$arg" = "X-lc" && continue
4543 ;; 5615 ;;
4544 *-*-rhapsody* | *-*-darwin1.[012]) 5616 *-*-rhapsody* | *-*-darwin1.[012])
4545 # Rhapsody C and math libraries are in the System framework 5617 # Rhapsody C and math libraries are in the System framework
4546 » deplibs="$deplibs System.ltframework" 5618 » func_append deplibs " System.ltframework"
4547 continue 5619 continue
4548 ;; 5620 ;;
4549 *-*-sco3.2v5* | *-*-sco5v6*) 5621 *-*-sco3.2v5* | *-*-sco5v6*)
4550 # Causes problems with __ctype 5622 # Causes problems with __ctype
4551 test "X$arg" = "X-lc" && continue 5623 test "X$arg" = "X-lc" && continue
4552 ;; 5624 ;;
4553 *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) 5625 *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
4554 # Compiler inserts libc in the correct place for threads to work 5626 # Compiler inserts libc in the correct place for threads to work
4555 test "X$arg" = "X-lc" && continue 5627 test "X$arg" = "X-lc" && continue
4556 ;; 5628 ;;
4557 esac 5629 esac
4558 elif test "X$arg" = "X-lc_r"; then 5630 elif test "X$arg" = "X-lc_r"; then
4559 case $host in 5631 case $host in
4560 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) 5632 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
4561 # Do not include libc_r directly, use -pthread flag. 5633 # Do not include libc_r directly, use -pthread flag.
4562 continue 5634 continue
4563 ;; 5635 ;;
4564 esac 5636 esac
4565 fi 5637 fi
4566 » deplibs="$deplibs $arg" 5638 » func_append deplibs " $arg"
4567 continue 5639 continue
4568 ;; 5640 ;;
4569 5641
4570 -module) 5642 -module)
4571 module=yes 5643 module=yes
4572 continue 5644 continue
4573 ;; 5645 ;;
4574 5646
4575 # Tru64 UNIX uses -model [arg] to determine the layout of C++ 5647 # Tru64 UNIX uses -model [arg] to determine the layout of C++
4576 # classes, name mangling, and exception handling. 5648 # classes, name mangling, and exception handling.
4577 # Darwin uses the -arch flag to determine output architecture. 5649 # Darwin uses the -arch flag to determine output architecture.
4578 -model|-arch|-isysroot) 5650 -model|-arch|-isysroot|--sysroot)
4579 » compiler_flags="$compiler_flags $arg" 5651 » func_append compiler_flags " $arg"
4580 func_append compile_command " $arg" 5652 func_append compile_command " $arg"
4581 func_append finalize_command " $arg" 5653 func_append finalize_command " $arg"
4582 prev=xcompiler 5654 prev=xcompiler
4583 continue 5655 continue
4584 ;; 5656 ;;
4585 5657
4586 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) 5658 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
4587 » compiler_flags="$compiler_flags $arg" 5659 |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
5660 » func_append compiler_flags " $arg"
4588 func_append compile_command " $arg" 5661 func_append compile_command " $arg"
4589 func_append finalize_command " $arg" 5662 func_append finalize_command " $arg"
4590 case "$new_inherited_linker_flags " in 5663 case "$new_inherited_linker_flags " in
4591 *" $arg "*) ;; 5664 *" $arg "*) ;;
4592 » * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; 5665 » * ) func_append new_inherited_linker_flags " $arg" ;;
4593 esac 5666 esac
4594 continue 5667 continue
4595 ;; 5668 ;;
4596 5669
4597 -multi_module) 5670 -multi_module)
4598 single_module="${wl}-multi_module" 5671 single_module="${wl}-multi_module"
4599 continue 5672 continue
4600 ;; 5673 ;;
4601 5674
4602 -no-fast-install) 5675 -no-fast-install)
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
4649 prev=xrpath 5722 prev=xrpath
4650 continue 5723 continue
4651 ;; 5724 ;;
4652 5725
4653 -R*) 5726 -R*)
4654 func_stripname '-R' '' "$arg" 5727 func_stripname '-R' '' "$arg"
4655 dir=$func_stripname_result 5728 dir=$func_stripname_result
4656 # We need an absolute path. 5729 # We need an absolute path.
4657 case $dir in 5730 case $dir in
4658 [\\/]* | [A-Za-z]:[\\/]*) ;; 5731 [\\/]* | [A-Za-z]:[\\/]*) ;;
5732 =*)
5733 func_stripname '=' '' "$dir"
5734 dir=$lt_sysroot$func_stripname_result
5735 ;;
4659 *) 5736 *)
4660 func_fatal_error "only absolute run-paths are allowed" 5737 func_fatal_error "only absolute run-paths are allowed"
4661 ;; 5738 ;;
4662 esac 5739 esac
4663 case "$xrpath " in 5740 case "$xrpath " in
4664 *" $dir "*) ;; 5741 *" $dir "*) ;;
4665 » *) xrpath="$xrpath $dir" ;; 5742 » *) func_append xrpath " $dir" ;;
4666 esac 5743 esac
4667 continue 5744 continue
4668 ;; 5745 ;;
4669 5746
4670 -shared) 5747 -shared)
4671 # The effects of -shared are defined in a previous loop. 5748 # The effects of -shared are defined in a previous loop.
4672 continue 5749 continue
4673 ;; 5750 ;;
4674 5751
4675 -shrext) 5752 -shrext)
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
4708 ;; 5785 ;;
4709 5786
4710 -Wc,*) 5787 -Wc,*)
4711 func_stripname '-Wc,' '' "$arg" 5788 func_stripname '-Wc,' '' "$arg"
4712 args=$func_stripname_result 5789 args=$func_stripname_result
4713 arg= 5790 arg=
4714 save_ifs="$IFS"; IFS=',' 5791 save_ifs="$IFS"; IFS=','
4715 for flag in $args; do 5792 for flag in $args; do
4716 IFS="$save_ifs" 5793 IFS="$save_ifs"
4717 func_quote_for_eval "$flag" 5794 func_quote_for_eval "$flag"
4718 » arg="$arg $wl$func_quote_for_eval_result" 5795 » func_append arg " $func_quote_for_eval_result"
4719 » compiler_flags="$compiler_flags $func_quote_for_eval_result" 5796 » func_append compiler_flags " $func_quote_for_eval_result"
4720 done 5797 done
4721 IFS="$save_ifs" 5798 IFS="$save_ifs"
4722 func_stripname ' ' '' "$arg" 5799 func_stripname ' ' '' "$arg"
4723 arg=$func_stripname_result 5800 arg=$func_stripname_result
4724 ;; 5801 ;;
4725 5802
4726 -Wl,*) 5803 -Wl,*)
4727 func_stripname '-Wl,' '' "$arg" 5804 func_stripname '-Wl,' '' "$arg"
4728 args=$func_stripname_result 5805 args=$func_stripname_result
4729 arg= 5806 arg=
4730 save_ifs="$IFS"; IFS=',' 5807 save_ifs="$IFS"; IFS=','
4731 for flag in $args; do 5808 for flag in $args; do
4732 IFS="$save_ifs" 5809 IFS="$save_ifs"
4733 func_quote_for_eval "$flag" 5810 func_quote_for_eval "$flag"
4734 » arg="$arg $wl$func_quote_for_eval_result" 5811 » func_append arg " $wl$func_quote_for_eval_result"
4735 » compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" 5812 » func_append compiler_flags " $wl$func_quote_for_eval_result"
4736 » linker_flags="$linker_flags $func_quote_for_eval_result" 5813 » func_append linker_flags " $func_quote_for_eval_result"
4737 done 5814 done
4738 IFS="$save_ifs" 5815 IFS="$save_ifs"
4739 func_stripname ' ' '' "$arg" 5816 func_stripname ' ' '' "$arg"
4740 arg=$func_stripname_result 5817 arg=$func_stripname_result
4741 ;; 5818 ;;
4742 5819
4743 -Xcompiler) 5820 -Xcompiler)
4744 prev=xcompiler 5821 prev=xcompiler
4745 continue 5822 continue
4746 ;; 5823 ;;
4747 5824
4748 -Xlinker) 5825 -Xlinker)
4749 prev=xlinker 5826 prev=xlinker
4750 continue 5827 continue
4751 ;; 5828 ;;
4752 5829
4753 -XCClinker) 5830 -XCClinker)
4754 prev=xcclinker 5831 prev=xcclinker
4755 continue 5832 continue
4756 ;; 5833 ;;
4757 5834
4758 # -msg_* for osf cc 5835 # -msg_* for osf cc
4759 -msg_*) 5836 -msg_*)
4760 func_quote_for_eval "$arg" 5837 func_quote_for_eval "$arg"
4761 arg="$func_quote_for_eval_result" 5838 arg="$func_quote_for_eval_result"
4762 ;; 5839 ;;
4763 5840
4764 # -64, -mips[0-9] enable 64-bit mode on the SGI compiler 5841 # Flags to be passed through unchanged, with rationale:
4765 # -r[0-9][0-9]* specifies the processor on the SGI compiler 5842 # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
4766 # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler 5843 # -r[0-9][0-9]* specify processor for the SGI compiler
4767 # +DA*, +DD* enable 64-bit mode on the HP compiler 5844 # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
4768 # -q* pass through compiler args for the IBM compiler 5845 # +DA*, +DD* enable 64-bit mode for the HP compiler
4769 # -m*, -t[45]*, -txscale* pass through architecture-specific 5846 # -q* compiler args for the IBM compiler
4770 # compiler args for GCC 5847 # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
4771 # -F/path gives path to uninstalled frameworks, gcc on darwin 5848 # -F/path path to uninstalled frameworks, gcc on darwin
4772 # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC 5849 # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
4773 # @file GCC response files 5850 # @file GCC response files
5851 # -tp=* Portland pgcc target processor selection
5852 # --sysroot=* for sysroot support
5853 # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
4774 -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ 5854 -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
4775 -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) 5855 -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
5856 -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
4776 func_quote_for_eval "$arg" 5857 func_quote_for_eval "$arg"
4777 arg="$func_quote_for_eval_result" 5858 arg="$func_quote_for_eval_result"
4778 func_append compile_command " $arg" 5859 func_append compile_command " $arg"
4779 func_append finalize_command " $arg" 5860 func_append finalize_command " $arg"
4780 compiler_flags="$compiler_flags $arg" 5861 func_append compiler_flags " $arg"
4781 continue 5862 continue
4782 ;; 5863 ;;
4783 5864
4784 # Some other compiler flag. 5865 # Some other compiler flag.
4785 -* | +*) 5866 -* | +*)
4786 func_quote_for_eval "$arg" 5867 func_quote_for_eval "$arg"
4787 arg="$func_quote_for_eval_result" 5868 arg="$func_quote_for_eval_result"
4788 ;; 5869 ;;
4789 5870
4790 *.$objext) 5871 *.$objext)
4791 # A standard object. 5872 # A standard object.
4792 » objs="$objs $arg" 5873 » func_append objs " $arg"
4793 ;; 5874 ;;
4794 5875
4795 *.lo) 5876 *.lo)
4796 # A libtool-controlled object. 5877 # A libtool-controlled object.
4797 5878
4798 # Check to see that this really is a libtool object. 5879 # Check to see that this really is a libtool object.
4799 if func_lalib_unsafe_p "$arg"; then 5880 if func_lalib_unsafe_p "$arg"; then
4800 pic_object= 5881 pic_object=
4801 non_pic_object= 5882 non_pic_object=
4802 5883
(...skipping 10 matching lines...) Expand all
4813 # Extract subdirectory from the argument. 5894 # Extract subdirectory from the argument.
4814 func_dirname "$arg" "/" "" 5895 func_dirname "$arg" "/" ""
4815 xdir="$func_dirname_result" 5896 xdir="$func_dirname_result"
4816 5897
4817 if test "$pic_object" != none; then 5898 if test "$pic_object" != none; then
4818 # Prepend the subdirectory the object is found in. 5899 # Prepend the subdirectory the object is found in.
4819 pic_object="$xdir$pic_object" 5900 pic_object="$xdir$pic_object"
4820 5901
4821 if test "$prev" = dlfiles; then 5902 if test "$prev" = dlfiles; then
4822 if test "$build_libtool_libs" = yes && test "$dlopen_support" = ye s; then 5903 if test "$build_libtool_libs" = yes && test "$dlopen_support" = ye s; then
4823 » » dlfiles="$dlfiles $pic_object" 5904 » » func_append dlfiles " $pic_object"
4824 prev= 5905 prev=
4825 continue 5906 continue
4826 else 5907 else
4827 # If libtool objects are unsupported, then we need to preload. 5908 # If libtool objects are unsupported, then we need to preload.
4828 prev=dlprefiles 5909 prev=dlprefiles
4829 fi 5910 fi
4830 fi 5911 fi
4831 5912
4832 # CHECK ME: I think I busted this. -Ossama 5913 # CHECK ME: I think I busted this. -Ossama
4833 if test "$prev" = dlprefiles; then 5914 if test "$prev" = dlprefiles; then
4834 # Preload the old-style object. 5915 # Preload the old-style object.
4835 » dlprefiles="$dlprefiles $pic_object" 5916 » func_append dlprefiles " $pic_object"
4836 prev= 5917 prev=
4837 fi 5918 fi
4838 5919
4839 # A PIC object. 5920 # A PIC object.
4840 func_append libobjs " $pic_object" 5921 func_append libobjs " $pic_object"
4841 arg="$pic_object" 5922 arg="$pic_object"
4842 fi 5923 fi
4843 5924
4844 # Non-PIC object. 5925 # Non-PIC object.
4845 if test "$non_pic_object" != none; then 5926 if test "$non_pic_object" != none; then
(...skipping 24 matching lines...) Expand all
4870 func_append libobjs " $pic_object" 5951 func_append libobjs " $pic_object"
4871 func_append non_pic_objects " $non_pic_object" 5952 func_append non_pic_objects " $non_pic_object"
4872 else 5953 else
4873 func_fatal_error "\`$arg' is not a valid libtool object" 5954 func_fatal_error "\`$arg' is not a valid libtool object"
4874 fi 5955 fi
4875 fi 5956 fi
4876 ;; 5957 ;;
4877 5958
4878 *.$libext) 5959 *.$libext)
4879 # An archive. 5960 # An archive.
4880 » deplibs="$deplibs $arg" 5961 » func_append deplibs " $arg"
4881 » old_deplibs="$old_deplibs $arg" 5962 » func_append old_deplibs " $arg"
4882 continue 5963 continue
4883 ;; 5964 ;;
4884 5965
4885 *.la) 5966 *.la)
4886 # A libtool-controlled library. 5967 # A libtool-controlled library.
4887 5968
5969 func_resolve_sysroot "$arg"
4888 if test "$prev" = dlfiles; then 5970 if test "$prev" = dlfiles; then
4889 # This library was specified with -dlopen. 5971 # This library was specified with -dlopen.
4890 » dlfiles="$dlfiles $arg" 5972 » func_append dlfiles " $func_resolve_sysroot_result"
4891 prev= 5973 prev=
4892 elif test "$prev" = dlprefiles; then 5974 elif test "$prev" = dlprefiles; then
4893 # The library was specified with -dlpreopen. 5975 # The library was specified with -dlpreopen.
4894 » dlprefiles="$dlprefiles $arg" 5976 » func_append dlprefiles " $func_resolve_sysroot_result"
4895 prev= 5977 prev=
4896 else 5978 else
4897 » deplibs="$deplibs $arg" 5979 » func_append deplibs " $func_resolve_sysroot_result"
4898 fi 5980 fi
4899 continue 5981 continue
4900 ;; 5982 ;;
4901 5983
4902 # Some other compiler argument. 5984 # Some other compiler argument.
4903 *) 5985 *)
4904 # Unknown arguments in both finalize_command and compile_command need 5986 # Unknown arguments in both finalize_command and compile_command need
4905 # to be aesthetically quoted because they are evaled later. 5987 # to be aesthetically quoted because they are evaled later.
4906 func_quote_for_eval "$arg" 5988 func_quote_for_eval "$arg"
4907 arg="$func_quote_for_eval_result" 5989 arg="$func_quote_for_eval_result"
(...skipping 17 matching lines...) Expand all
4925 fi 6007 fi
4926 6008
4927 oldlibs= 6009 oldlibs=
4928 # calculate the name of the file, without its directory 6010 # calculate the name of the file, without its directory
4929 func_basename "$output" 6011 func_basename "$output"
4930 outputname="$func_basename_result" 6012 outputname="$func_basename_result"
4931 libobjs_save="$libobjs" 6013 libobjs_save="$libobjs"
4932 6014
4933 if test -n "$shlibpath_var"; then 6015 if test -n "$shlibpath_var"; then
4934 # get the directories listed in $shlibpath_var 6016 # get the directories listed in $shlibpath_var
4935 eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/: / /g\'\` 6017 eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\ '\`
4936 else 6018 else
4937 shlib_search_path= 6019 shlib_search_path=
4938 fi 6020 fi
4939 eval sys_lib_search_path=\"$sys_lib_search_path_spec\" 6021 eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
4940 eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" 6022 eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
4941 6023
4942 func_dirname "$output" "/" "" 6024 func_dirname "$output" "/" ""
4943 output_objdir="$func_dirname_result$objdir" 6025 output_objdir="$func_dirname_result$objdir"
6026 func_to_tool_file "$output_objdir/"
6027 tool_output_objdir=$func_to_tool_file_result
4944 # Create the object directory. 6028 # Create the object directory.
4945 func_mkdir_p "$output_objdir" 6029 func_mkdir_p "$output_objdir"
4946 6030
4947 # Determine the type of output 6031 # Determine the type of output
4948 case $output in 6032 case $output in
4949 "") 6033 "")
4950 func_fatal_help "you must specify an output file" 6034 func_fatal_help "you must specify an output file"
4951 ;; 6035 ;;
4952 *.$libext) linkmode=oldlib ;; 6036 *.$libext) linkmode=oldlib ;;
4953 *.lo | *.$objext) linkmode=obj ;; 6037 *.lo | *.$objext) linkmode=obj ;;
4954 *.la) linkmode=lib ;; 6038 *.la) linkmode=lib ;;
4955 *) linkmode=prog ;; # Anything else should be a program. 6039 *) linkmode=prog ;; # Anything else should be a program.
4956 esac 6040 esac
4957 6041
4958 specialdeplibs= 6042 specialdeplibs=
4959 6043
4960 libs= 6044 libs=
4961 # Find all interdependent deplibs by searching for libraries 6045 # Find all interdependent deplibs by searching for libraries
4962 # that are linked more than once (e.g. -la -lb -la) 6046 # that are linked more than once (e.g. -la -lb -la)
4963 for deplib in $deplibs; do 6047 for deplib in $deplibs; do
4964 if $opt_duplicate_deps ; then 6048 if $opt_preserve_dup_deps ; then
4965 case "$libs " in 6049 case "$libs " in
4966 » *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; 6050 » *" $deplib "*) func_append specialdeplibs " $deplib" ;;
4967 esac 6051 esac
4968 fi 6052 fi
4969 libs="$libs $deplib" 6053 func_append libs " $deplib"
4970 done 6054 done
4971 6055
4972 if test "$linkmode" = lib; then 6056 if test "$linkmode" = lib; then
4973 libs="$predeps $libs $compiler_lib_search_path $postdeps" 6057 libs="$predeps $libs $compiler_lib_search_path $postdeps"
4974 6058
4975 # Compute libraries that are listed more than once in $predeps 6059 # Compute libraries that are listed more than once in $predeps
4976 # $postdeps and mark them as special (i.e., whose duplicates are 6060 # $postdeps and mark them as special (i.e., whose duplicates are
4977 # not to be eliminated). 6061 # not to be eliminated).
4978 pre_post_deps= 6062 pre_post_deps=
4979 if $opt_duplicate_compiler_generated_deps; then 6063 if $opt_duplicate_compiler_generated_deps; then
4980 for pre_post_dep in $predeps $postdeps; do 6064 for pre_post_dep in $predeps $postdeps; do
4981 case "$pre_post_deps " in 6065 case "$pre_post_deps " in
4982 » *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ; ; 6066 » *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
4983 esac 6067 esac
4984 » pre_post_deps="$pre_post_deps $pre_post_dep" 6068 » func_append pre_post_deps " $pre_post_dep"
4985 done 6069 done
4986 fi 6070 fi
4987 pre_post_deps= 6071 pre_post_deps=
4988 fi 6072 fi
4989 6073
4990 deplibs= 6074 deplibs=
4991 newdependency_libs= 6075 newdependency_libs=
4992 newlib_search_path= 6076 newlib_search_path=
4993 need_relink=no # whether we're linking any uninstalled libtool libraries 6077 need_relink=no # whether we're linking any uninstalled libtool libraries
4994 notinst_deplibs= # not-installed libtool libraries 6078 notinst_deplibs= # not-installed libtool libraries
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
5041 dlopen) libs="$dlfiles" ;; 6125 dlopen) libs="$dlfiles" ;;
5042 dlpreopen) libs="$dlprefiles" ;; 6126 dlpreopen) libs="$dlprefiles" ;;
5043 link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; 6127 link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
5044 esac 6128 esac
5045 fi 6129 fi
5046 if test "$linkmode,$pass" = "lib,dlpreopen"; then 6130 if test "$linkmode,$pass" = "lib,dlpreopen"; then
5047 # Collect and forward deplibs of preopened libtool libs 6131 # Collect and forward deplibs of preopened libtool libs
5048 for lib in $dlprefiles; do 6132 for lib in $dlprefiles; do
5049 # Ignore non-libtool-libs 6133 # Ignore non-libtool-libs
5050 dependency_libs= 6134 dependency_libs=
6135 func_resolve_sysroot "$lib"
5051 case $lib in 6136 case $lib in
5052 » *.la)»func_source "$lib" ;; 6137 » *.la)»func_source "$func_resolve_sysroot_result" ;;
5053 esac 6138 esac
5054 6139
5055 # Collect preopened libtool deplibs, except any this library 6140 # Collect preopened libtool deplibs, except any this library
5056 # has declared as weak libs 6141 # has declared as weak libs
5057 for deplib in $dependency_libs; do 6142 for deplib in $dependency_libs; do
5058 deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` 6143 » func_basename "$deplib"
6144 deplib_base=$func_basename_result
5059 case " $weak_libs " in 6145 case " $weak_libs " in
5060 *" $deplib_base "*) ;; 6146 *" $deplib_base "*) ;;
5061 » *) deplibs="$deplibs $deplib" ;; 6147 » *) func_append deplibs " $deplib" ;;
5062 esac 6148 esac
5063 done 6149 done
5064 done 6150 done
5065 libs="$dlprefiles" 6151 libs="$dlprefiles"
5066 fi 6152 fi
5067 if test "$pass" = dlopen; then 6153 if test "$pass" = dlopen; then
5068 # Collect dlpreopened libraries 6154 # Collect dlpreopened libraries
5069 save_deplibs="$deplibs" 6155 save_deplibs="$deplibs"
5070 deplibs= 6156 deplibs=
5071 fi 6157 fi
5072 6158
5073 for deplib in $libs; do 6159 for deplib in $libs; do
5074 lib= 6160 lib=
5075 found=no 6161 found=no
5076 case $deplib in 6162 case $deplib in
5077 » -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-thread s) 6163 » -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
6164 |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
5078 if test "$linkmode,$pass" = "prog,link"; then 6165 if test "$linkmode,$pass" = "prog,link"; then
5079 compile_deplibs="$deplib $compile_deplibs" 6166 compile_deplibs="$deplib $compile_deplibs"
5080 finalize_deplibs="$deplib $finalize_deplibs" 6167 finalize_deplibs="$deplib $finalize_deplibs"
5081 else 6168 else
5082 » compiler_flags="$compiler_flags $deplib" 6169 » func_append compiler_flags " $deplib"
5083 if test "$linkmode" = lib ; then 6170 if test "$linkmode" = lib ; then
5084 case "$new_inherited_linker_flags " in 6171 case "$new_inherited_linker_flags " in
5085 *" $deplib "*) ;; 6172 *" $deplib "*) ;;
5086 » » * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; 6173 » » * ) func_append new_inherited_linker_flags " $deplib" ;;
5087 esac 6174 esac
5088 fi 6175 fi
5089 fi 6176 fi
5090 continue 6177 continue
5091 ;; 6178 ;;
5092 -l*) 6179 -l*)
5093 if test "$linkmode" != lib && test "$linkmode" != prog; then 6180 if test "$linkmode" != lib && test "$linkmode" != prog; then
5094 func_warning "\`-l' is ignored for archives/objects" 6181 func_warning "\`-l' is ignored for archives/objects"
5095 continue 6182 continue
5096 fi 6183 fi
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
5161 ;; # -l 6248 ;; # -l
5162 *.ltframework) 6249 *.ltframework)
5163 if test "$linkmode,$pass" = "prog,link"; then 6250 if test "$linkmode,$pass" = "prog,link"; then
5164 compile_deplibs="$deplib $compile_deplibs" 6251 compile_deplibs="$deplib $compile_deplibs"
5165 finalize_deplibs="$deplib $finalize_deplibs" 6252 finalize_deplibs="$deplib $finalize_deplibs"
5166 else 6253 else
5167 deplibs="$deplib $deplibs" 6254 deplibs="$deplib $deplibs"
5168 if test "$linkmode" = lib ; then 6255 if test "$linkmode" = lib ; then
5169 case "$new_inherited_linker_flags " in 6256 case "$new_inherited_linker_flags " in
5170 *" $deplib "*) ;; 6257 *" $deplib "*) ;;
5171 » » * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; 6258 » » * ) func_append new_inherited_linker_flags " $deplib" ;;
5172 esac 6259 esac
5173 fi 6260 fi
5174 fi 6261 fi
5175 continue 6262 continue
5176 ;; 6263 ;;
5177 -L*) 6264 -L*)
5178 case $linkmode in 6265 case $linkmode in
5179 lib) 6266 lib)
5180 deplibs="$deplib $deplibs" 6267 deplibs="$deplib $deplibs"
5181 test "$pass" = conv && continue 6268 test "$pass" = conv && continue
5182 newdependency_libs="$deplib $newdependency_libs" 6269 newdependency_libs="$deplib $newdependency_libs"
5183 func_stripname '-L' '' "$deplib" 6270 func_stripname '-L' '' "$deplib"
5184 » newlib_search_path="$newlib_search_path $func_stripname_result" 6271 » func_resolve_sysroot "$func_stripname_result"
6272 » func_append newlib_search_path " $func_resolve_sysroot_result"
5185 ;; 6273 ;;
5186 prog) 6274 prog)
5187 if test "$pass" = conv; then 6275 if test "$pass" = conv; then
5188 deplibs="$deplib $deplibs" 6276 deplibs="$deplib $deplibs"
5189 continue 6277 continue
5190 fi 6278 fi
5191 if test "$pass" = scan; then 6279 if test "$pass" = scan; then
5192 deplibs="$deplib $deplibs" 6280 deplibs="$deplib $deplibs"
5193 else 6281 else
5194 compile_deplibs="$deplib $compile_deplibs" 6282 compile_deplibs="$deplib $compile_deplibs"
5195 finalize_deplibs="$deplib $finalize_deplibs" 6283 finalize_deplibs="$deplib $finalize_deplibs"
5196 fi 6284 fi
5197 func_stripname '-L' '' "$deplib" 6285 func_stripname '-L' '' "$deplib"
5198 » newlib_search_path="$newlib_search_path $func_stripname_result" 6286 » func_resolve_sysroot "$func_stripname_result"
6287 » func_append newlib_search_path " $func_resolve_sysroot_result"
5199 ;; 6288 ;;
5200 *) 6289 *)
5201 func_warning "\`-L' is ignored for archives/objects" 6290 func_warning "\`-L' is ignored for archives/objects"
5202 ;; 6291 ;;
5203 esac # linkmode 6292 esac # linkmode
5204 continue 6293 continue
5205 ;; # -L 6294 ;; # -L
5206 -R*) 6295 -R*)
5207 if test "$pass" = link; then 6296 if test "$pass" = link; then
5208 func_stripname '-R' '' "$deplib" 6297 func_stripname '-R' '' "$deplib"
5209 » dir=$func_stripname_result 6298 » func_resolve_sysroot "$func_stripname_result"
6299 » dir=$func_resolve_sysroot_result
5210 # Make sure the xrpath contains only unique directories. 6300 # Make sure the xrpath contains only unique directories.
5211 case "$xrpath " in 6301 case "$xrpath " in
5212 *" $dir "*) ;; 6302 *" $dir "*) ;;
5213 » *) xrpath="$xrpath $dir" ;; 6303 » *) func_append xrpath " $dir" ;;
5214 esac 6304 esac
5215 fi 6305 fi
5216 deplibs="$deplib $deplibs" 6306 deplibs="$deplib $deplibs"
5217 continue 6307 continue
5218 ;; 6308 ;;
5219 » *.la) lib="$deplib" ;; 6309 » *.la)
6310 » func_resolve_sysroot "$deplib"
6311 » lib=$func_resolve_sysroot_result
6312 » ;;
5220 *.$libext) 6313 *.$libext)
5221 if test "$pass" = conv; then 6314 if test "$pass" = conv; then
5222 deplibs="$deplib $deplibs" 6315 deplibs="$deplib $deplibs"
5223 continue 6316 continue
5224 fi 6317 fi
5225 case $linkmode in 6318 case $linkmode in
5226 lib) 6319 lib)
5227 # Linking convenience modules into shared libraries is allowed, 6320 # Linking convenience modules into shared libraries is allowed,
5228 # but linking other static libraries is non-portable. 6321 # but linking other static libraries is non-portable.
5229 case " $dlpreconveniencelibs " in 6322 case " $dlpreconveniencelibs " in
5230 *" $deplib "*) ;; 6323 *" $deplib "*) ;;
5231 *) 6324 *)
5232 valid_a_lib=no 6325 valid_a_lib=no
5233 case $deplibs_check_method in 6326 case $deplibs_check_method in
5234 match_pattern*) 6327 match_pattern*)
5235 set dummy $deplibs_check_method; shift 6328 set dummy $deplibs_check_method; shift
5236 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\) "` 6329 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\) "`
5237 » » if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ 6330 » » if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
5238 | $EGREP "$match_pattern_regex" > /dev/null; then 6331 | $EGREP "$match_pattern_regex" > /dev/null; then
5239 valid_a_lib=yes 6332 valid_a_lib=yes
5240 fi 6333 fi
5241 ;; 6334 ;;
5242 pass_all) 6335 pass_all)
5243 valid_a_lib=yes 6336 valid_a_lib=yes
5244 ;; 6337 ;;
5245 esac 6338 esac
5246 if test "$valid_a_lib" != yes; then 6339 if test "$valid_a_lib" != yes; then
5247 » » $ECHO 6340 » » echo
5248 $ECHO "*** Warning: Trying to link with static lib archive $depl ib." 6341 $ECHO "*** Warning: Trying to link with static lib archive $depl ib."
5249 » » $ECHO "*** I have the capability to make that library automatica lly link in when" 6342 » » echo "*** I have the capability to make that library automatical ly link in when"
5250 » » $ECHO "*** you link to this library. But I can only do this if you have a" 6343 » » echo "*** you link to this library. But I can only do this if y ou have a"
5251 » » $ECHO "*** shared version of the library, which you do not appea r to have" 6344 » » echo "*** shared version of the library, which you do not appear to have"
5252 » » $ECHO "*** because the file extensions .$libext of this argument makes me believe" 6345 » » echo "*** because the file extensions .$libext of this argument makes me believe"
5253 » » $ECHO "*** that it is just a static archive that I should not us e here." 6346 » » echo "*** that it is just a static archive that I should not use here."
5254 else 6347 else
5255 » » $ECHO 6348 » » echo
5256 $ECHO "*** Warning: Linking the shared library $output against t he" 6349 $ECHO "*** Warning: Linking the shared library $output against t he"
5257 $ECHO "*** static library $deplib is not portable!" 6350 $ECHO "*** static library $deplib is not portable!"
5258 deplibs="$deplib $deplibs" 6351 deplibs="$deplib $deplibs"
5259 fi 6352 fi
5260 ;; 6353 ;;
5261 esac 6354 esac
5262 continue 6355 continue
5263 ;; 6356 ;;
5264 prog) 6357 prog)
5265 if test "$pass" != link; then 6358 if test "$pass" != link; then
5266 deplibs="$deplib $deplibs" 6359 deplibs="$deplib $deplibs"
5267 else 6360 else
5268 compile_deplibs="$deplib $compile_deplibs" 6361 compile_deplibs="$deplib $compile_deplibs"
5269 finalize_deplibs="$deplib $finalize_deplibs" 6362 finalize_deplibs="$deplib $finalize_deplibs"
5270 fi 6363 fi
5271 continue 6364 continue
5272 ;; 6365 ;;
5273 esac # linkmode 6366 esac # linkmode
5274 ;; # *.$libext 6367 ;; # *.$libext
5275 *.lo | *.$objext) 6368 *.lo | *.$objext)
5276 if test "$pass" = conv; then 6369 if test "$pass" = conv; then
5277 deplibs="$deplib $deplibs" 6370 deplibs="$deplib $deplibs"
5278 elif test "$linkmode" = prog; then 6371 elif test "$linkmode" = prog; then
5279 if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then 6372 if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
5280 # If there is no dlopen support or we're linking statically, 6373 # If there is no dlopen support or we're linking statically,
5281 # we need to preload. 6374 # we need to preload.
5282 » newdlprefiles="$newdlprefiles $deplib" 6375 » func_append newdlprefiles " $deplib"
5283 compile_deplibs="$deplib $compile_deplibs" 6376 compile_deplibs="$deplib $compile_deplibs"
5284 finalize_deplibs="$deplib $finalize_deplibs" 6377 finalize_deplibs="$deplib $finalize_deplibs"
5285 else 6378 else
5286 » newdlfiles="$newdlfiles $deplib" 6379 » func_append newdlfiles " $deplib"
5287 fi 6380 fi
5288 fi 6381 fi
5289 continue 6382 continue
5290 ;; 6383 ;;
5291 %DEPLIBS%) 6384 %DEPLIBS%)
5292 alldeplibs=yes 6385 alldeplibs=yes
5293 continue 6386 continue
5294 ;; 6387 ;;
5295 esac # case $deplib 6388 esac # case $deplib
5296 6389
(...skipping 21 matching lines...) Expand all
5318 installed=yes 6411 installed=yes
5319 shouldnotlink=no 6412 shouldnotlink=no
5320 avoidtemprpath= 6413 avoidtemprpath=
5321 6414
5322 6415
5323 # Read the .la file 6416 # Read the .la file
5324 func_source "$lib" 6417 func_source "$lib"
5325 6418
5326 # Convert "-framework foo" to "foo.ltframework" 6419 # Convert "-framework foo" to "foo.ltframework"
5327 if test -n "$inherited_linker_flags"; then 6420 if test -n "$inherited_linker_flags"; then
5328 » tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed - e 's/-framework \([^ $]*\)/\1.ltframework/g'` 6421 » tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/ -framework \([^ $]*\)/\1.ltframework/g'`
5329 for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do 6422 for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
5330 case " $new_inherited_linker_flags " in 6423 case " $new_inherited_linker_flags " in
5331 *" $tmp_inherited_linker_flag "*) ;; 6424 *" $tmp_inherited_linker_flag "*) ;;
5332 » *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_in herited_linker_flag";; 6425 » *) func_append new_inherited_linker_flags " $tmp_inherited_linker_ flag";;
5333 esac 6426 esac
5334 done 6427 done
5335 fi 6428 fi
5336 » dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).lt framework% -framework \1%g'` 6429 » dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframe work% -framework \1%g'`
5337 if test "$linkmode,$pass" = "lib,link" || 6430 if test "$linkmode,$pass" = "lib,link" ||
5338 test "$linkmode,$pass" = "prog,scan" || 6431 test "$linkmode,$pass" = "prog,scan" ||
5339 { test "$linkmode" != prog && test "$linkmode" != lib; }; then 6432 { test "$linkmode" != prog && test "$linkmode" != lib; }; then
5340 » test -n "$dlopen" && dlfiles="$dlfiles $dlopen" 6433 » test -n "$dlopen" && func_append dlfiles " $dlopen"
5341 » test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" 6434 » test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
5342 fi 6435 fi
5343 6436
5344 if test "$pass" = conv; then 6437 if test "$pass" = conv; then
5345 # Only check for convenience libraries 6438 # Only check for convenience libraries
5346 deplibs="$lib $deplibs" 6439 deplibs="$lib $deplibs"
5347 if test -z "$libdir"; then 6440 if test -z "$libdir"; then
5348 if test -z "$old_library"; then 6441 if test -z "$old_library"; then
5349 func_fatal_error "cannot find name of link library for \`$lib'" 6442 func_fatal_error "cannot find name of link library for \`$lib'"
5350 fi 6443 fi
5351 # It is a libtool convenience library, so add in its objects. 6444 # It is a libtool convenience library, so add in its objects.
5352 » convenience="$convenience $ladir/$objdir/$old_library" 6445 » func_append convenience " $ladir/$objdir/$old_library"
5353 » old_convenience="$old_convenience $ladir/$objdir/$old_library" 6446 » func_append old_convenience " $ladir/$objdir/$old_library"
5354 elif test "$linkmode" != prog && test "$linkmode" != lib; then 6447 elif test "$linkmode" != prog && test "$linkmode" != lib; then
5355 func_fatal_error "\`$lib' is not a convenience library" 6448 func_fatal_error "\`$lib' is not a convenience library"
5356 fi 6449 fi
5357 tmp_libs= 6450 tmp_libs=
5358 for deplib in $dependency_libs; do 6451 for deplib in $dependency_libs; do
5359 deplibs="$deplib $deplibs" 6452 deplibs="$deplib $deplibs"
5360 » if $opt_duplicate_deps ; then 6453 » if $opt_preserve_dup_deps ; then
5361 case "$tmp_libs " in 6454 case "$tmp_libs " in
5362 » *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; 6455 » *" $deplib "*) func_append specialdeplibs " $deplib" ;;
5363 esac 6456 esac
5364 fi 6457 fi
5365 » tmp_libs="$tmp_libs $deplib" 6458 » func_append tmp_libs " $deplib"
5366 done 6459 done
5367 continue 6460 continue
5368 fi # $pass = conv 6461 fi # $pass = conv
5369 6462
5370 6463
5371 # Get the name of the library we link against. 6464 # Get the name of the library we link against.
5372 linklib= 6465 linklib=
5373 » for l in $old_library $library_names; do 6466 » if test -n "$old_library" &&
5374 » linklib="$l" 6467 » { test "$prefer_static_libs" = yes ||
5375 » done 6468 » test "$prefer_static_libs,$installed" = "built,no"; }; then
6469 » linklib=$old_library
6470 » else
6471 » for l in $old_library $library_names; do
6472 » linklib="$l"
6473 » done
6474 » fi
5376 if test -z "$linklib"; then 6475 if test -z "$linklib"; then
5377 func_fatal_error "cannot find name of link library for \`$lib'" 6476 func_fatal_error "cannot find name of link library for \`$lib'"
5378 fi 6477 fi
5379 6478
5380 # This library was specified with -dlopen. 6479 # This library was specified with -dlopen.
5381 if test "$pass" = dlopen; then 6480 if test "$pass" = dlopen; then
5382 if test -z "$libdir"; then 6481 if test -z "$libdir"; then
5383 func_fatal_error "cannot -dlopen a convenience library: \`$lib'" 6482 func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
5384 fi 6483 fi
5385 if test -z "$dlname" || 6484 if test -z "$dlname" ||
5386 test "$dlopen_support" != yes || 6485 test "$dlopen_support" != yes ||
5387 test "$build_libtool_libs" = no; then 6486 test "$build_libtool_libs" = no; then
5388 # If there is no dlname, no dlopen support or we're linking 6487 # If there is no dlname, no dlopen support or we're linking
5389 # statically, we need to preload. We also need to preload any 6488 # statically, we need to preload. We also need to preload any
5390 # dependent libraries so libltdl's deplib preloader doesn't 6489 # dependent libraries so libltdl's deplib preloader doesn't
5391 # bomb out in the load deplibs phase. 6490 # bomb out in the load deplibs phase.
5392 » dlprefiles="$dlprefiles $lib $dependency_libs" 6491 » func_append dlprefiles " $lib $dependency_libs"
5393 else 6492 else
5394 » newdlfiles="$newdlfiles $lib" 6493 » func_append newdlfiles " $lib"
5395 fi 6494 fi
5396 continue 6495 continue
5397 fi # $pass = dlopen 6496 fi # $pass = dlopen
5398 6497
5399 # We need an absolute path. 6498 # We need an absolute path.
5400 case $ladir in 6499 case $ladir in
5401 [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; 6500 [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
5402 *) 6501 *)
5403 abs_ladir=`cd "$ladir" && pwd` 6502 abs_ladir=`cd "$ladir" && pwd`
5404 if test -z "$abs_ladir"; then 6503 if test -z "$abs_ladir"; then
5405 func_warning "cannot determine absolute directory name of \`$ladir'" 6504 func_warning "cannot determine absolute directory name of \`$ladir'"
5406 func_warning "passing it literally to the linker, although it might fail" 6505 func_warning "passing it literally to the linker, although it might fail"
5407 abs_ladir="$ladir" 6506 abs_ladir="$ladir"
5408 fi 6507 fi
5409 ;; 6508 ;;
5410 esac 6509 esac
5411 func_basename "$lib" 6510 func_basename "$lib"
5412 laname="$func_basename_result" 6511 laname="$func_basename_result"
5413 6512
5414 # Find the relevant object directory and library name. 6513 # Find the relevant object directory and library name.
5415 if test "X$installed" = Xyes; then 6514 if test "X$installed" = Xyes; then
5416 » if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then 6515 » if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$lin klib"; then
5417 » func_warning "library \`$lib' was moved." 6516 » #func_warning "library \`$lib' was moved."
5418 dir="$ladir" 6517 dir="$ladir"
5419 absdir="$abs_ladir" 6518 absdir="$abs_ladir"
5420 libdir="$abs_ladir" 6519 libdir="$abs_ladir"
5421 else 6520 else
5422 » dir="$libdir" 6521 » dir="$lt_sysroot$libdir"
5423 » absdir="$libdir" 6522 » absdir="$lt_sysroot$libdir"
5424 fi 6523 fi
5425 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes 6524 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
5426 else 6525 else
5427 if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib "; then 6526 if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib "; then
5428 dir="$ladir" 6527 dir="$ladir"
5429 absdir="$abs_ladir" 6528 absdir="$abs_ladir"
5430 # Remove this search path later 6529 # Remove this search path later
5431 » notinst_path="$notinst_path $abs_ladir" 6530 » func_append notinst_path " $abs_ladir"
5432 else 6531 else
5433 dir="$ladir/$objdir" 6532 dir="$ladir/$objdir"
5434 absdir="$abs_ladir/$objdir" 6533 absdir="$abs_ladir/$objdir"
5435 # Remove this search path later 6534 # Remove this search path later
5436 » notinst_path="$notinst_path $abs_ladir" 6535 » func_append notinst_path " $abs_ladir"
5437 fi 6536 fi
5438 fi # $installed = yes 6537 fi # $installed = yes
5439 func_stripname 'lib' '.la' "$laname" 6538 func_stripname 'lib' '.la' "$laname"
5440 name=$func_stripname_result 6539 name=$func_stripname_result
5441 6540
5442 # This library was specified with -dlpreopen. 6541 # This library was specified with -dlpreopen.
5443 if test "$pass" = dlpreopen; then 6542 if test "$pass" = dlpreopen; then
5444 if test -z "$libdir" && test "$linkmode" = prog; then 6543 if test -z "$libdir" && test "$linkmode" = prog; then
5445 func_fatal_error "only libraries may -dlpreopen a convenience librar y: \`$lib'" 6544 func_fatal_error "only libraries may -dlpreopen a convenience librar y: \`$lib'"
5446 fi 6545 fi
5447 » # Prefer using a static library (so that no silly _DYNAMIC symbols 6546 » case "$host" in
5448 » # are required to link). 6547 » # special handling for platforms with PE-DLLs.
5449 » if test -n "$old_library"; then 6548 » *cygwin* | *mingw* | *cegcc* )
5450 » newdlprefiles="$newdlprefiles $dir/$old_library" 6549 » # Linker will automatically link against shared library if both
5451 » # Keep a list of preopened convenience libraries to check 6550 » # static and shared are present. Therefore, ensure we extract
5452 » # that they are being used correctly in the link pass. 6551 » # symbols from the import library if a shared library is present
5453 » test -z "$libdir" && \ 6552 » # (otherwise, the dlopen module name will be incorrect). We do
5454 » » dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" 6553 » # this by putting the import library name into $newdlprefiles.
5455 » # Otherwise, use the dlname, so that lt_dlopen finds it. 6554 » # We recover the dlopen module name by 'saving' the la file
5456 » elif test -n "$dlname"; then 6555 » # name in a special purpose variable, and (later) extracting the
5457 » newdlprefiles="$newdlprefiles $dir/$dlname" 6556 » # dlname from the la file.
5458 » else 6557 » if test -n "$dlname"; then
5459 » newdlprefiles="$newdlprefiles $dir/$linklib" 6558 » func_tr_sh "$dir/$linklib"
5460 » fi 6559 » eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
6560 » func_append newdlprefiles " $dir/$linklib"
6561 » else
6562 » func_append newdlprefiles " $dir/$old_library"
6563 » # Keep a list of preopened convenience libraries to check
6564 » # that they are being used correctly in the link pass.
6565 » test -z "$libdir" && \
6566 » func_append dlpreconveniencelibs " $dir/$old_library"
6567 » fi
6568 » ;;
6569 » * )
6570 » # Prefer using a static library (so that no silly _DYNAMIC symbols
6571 » # are required to link).
6572 » if test -n "$old_library"; then
6573 » func_append newdlprefiles " $dir/$old_library"
6574 » # Keep a list of preopened convenience libraries to check
6575 » # that they are being used correctly in the link pass.
6576 » test -z "$libdir" && \
6577 » func_append dlpreconveniencelibs " $dir/$old_library"
6578 » # Otherwise, use the dlname, so that lt_dlopen finds it.
6579 » elif test -n "$dlname"; then
6580 » func_append newdlprefiles " $dir/$dlname"
6581 » else
6582 » func_append newdlprefiles " $dir/$linklib"
6583 » fi
6584 » ;;
6585 » esac
5461 fi # $pass = dlpreopen 6586 fi # $pass = dlpreopen
5462 6587
5463 if test -z "$libdir"; then 6588 if test -z "$libdir"; then
5464 # Link the convenience library 6589 # Link the convenience library
5465 if test "$linkmode" = lib; then 6590 if test "$linkmode" = lib; then
5466 deplibs="$dir/$old_library $deplibs" 6591 deplibs="$dir/$old_library $deplibs"
5467 elif test "$linkmode,$pass" = "prog,link"; then 6592 elif test "$linkmode,$pass" = "prog,link"; then
5468 compile_deplibs="$dir/$old_library $compile_deplibs" 6593 compile_deplibs="$dir/$old_library $compile_deplibs"
5469 finalize_deplibs="$dir/$old_library $finalize_deplibs" 6594 finalize_deplibs="$dir/$old_library $finalize_deplibs"
5470 else 6595 else
5471 deplibs="$lib $deplibs" # used for prog,scan pass 6596 deplibs="$lib $deplibs" # used for prog,scan pass
5472 fi 6597 fi
5473 continue 6598 continue
5474 fi 6599 fi
5475 6600
5476 6601
5477 if test "$linkmode" = prog && test "$pass" != link; then 6602 if test "$linkmode" = prog && test "$pass" != link; then
5478 » newlib_search_path="$newlib_search_path $ladir" 6603 » func_append newlib_search_path " $ladir"
5479 deplibs="$lib $deplibs" 6604 deplibs="$lib $deplibs"
5480 6605
5481 linkalldeplibs=no 6606 linkalldeplibs=no
5482 if test "$link_all_deplibs" != no || test -z "$library_names" || 6607 if test "$link_all_deplibs" != no || test -z "$library_names" ||
5483 test "$build_libtool_libs" = no; then 6608 test "$build_libtool_libs" = no; then
5484 linkalldeplibs=yes 6609 linkalldeplibs=yes
5485 fi 6610 fi
5486 6611
5487 tmp_libs= 6612 tmp_libs=
5488 for deplib in $dependency_libs; do 6613 for deplib in $dependency_libs; do
5489 case $deplib in 6614 case $deplib in
5490 -L*) func_stripname '-L' '' "$deplib" 6615 -L*) func_stripname '-L' '' "$deplib"
5491 » newlib_search_path="$newlib_search_path $func_stripname_result" 6616 » func_resolve_sysroot "$func_stripname_result"
6617 » func_append newlib_search_path " $func_resolve_sysroot_result"
5492 ;; 6618 ;;
5493 esac 6619 esac
5494 # Need to link against all dependency_libs? 6620 # Need to link against all dependency_libs?
5495 if test "$linkalldeplibs" = yes; then 6621 if test "$linkalldeplibs" = yes; then
5496 deplibs="$deplib $deplibs" 6622 deplibs="$deplib $deplibs"
5497 else 6623 else
5498 # Need to hardcode shared library paths 6624 # Need to hardcode shared library paths
5499 # or/and link against static libraries 6625 # or/and link against static libraries
5500 newdependency_libs="$deplib $newdependency_libs" 6626 newdependency_libs="$deplib $newdependency_libs"
5501 fi 6627 fi
5502 » if $opt_duplicate_deps ; then 6628 » if $opt_preserve_dup_deps ; then
5503 case "$tmp_libs " in 6629 case "$tmp_libs " in
5504 » *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; 6630 » *" $deplib "*) func_append specialdeplibs " $deplib" ;;
5505 esac 6631 esac
5506 fi 6632 fi
5507 » tmp_libs="$tmp_libs $deplib" 6633 » func_append tmp_libs " $deplib"
5508 done # for deplib 6634 done # for deplib
5509 continue 6635 continue
5510 fi # $linkmode = prog... 6636 fi # $linkmode = prog...
5511 6637
5512 if test "$linkmode,$pass" = "prog,link"; then 6638 if test "$linkmode,$pass" = "prog,link"; then
5513 if test -n "$library_names" && 6639 if test -n "$library_names" &&
5514 { { test "$prefer_static_libs" = no || 6640 { { test "$prefer_static_libs" = no ||
5515 test "$prefer_static_libs,$installed" = "built,yes"; } || 6641 test "$prefer_static_libs,$installed" = "built,yes"; } ||
5516 test -z "$old_library"; }; then 6642 test -z "$old_library"; }; then
5517 # We need to hardcode the library path 6643 # We need to hardcode the library path
5518 if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then 6644 if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
5519 # Make sure the rpath contains only unique directories. 6645 # Make sure the rpath contains only unique directories.
5520 case "$temp_rpath:" in 6646 case "$temp_rpath:" in
5521 *"$absdir:"*) ;; 6647 *"$absdir:"*) ;;
5522 » *) temp_rpath="$temp_rpath$absdir:" ;; 6648 » *) func_append temp_rpath "$absdir:" ;;
5523 esac 6649 esac
5524 fi 6650 fi
5525 6651
5526 # Hardcode the library path. 6652 # Hardcode the library path.
5527 # Skip directories that are in the system default run-time 6653 # Skip directories that are in the system default run-time
5528 # search path. 6654 # search path.
5529 case " $sys_lib_dlsearch_path " in 6655 case " $sys_lib_dlsearch_path " in
5530 *" $absdir "*) ;; 6656 *" $absdir "*) ;;
5531 *) 6657 *)
5532 case "$compile_rpath " in 6658 case "$compile_rpath " in
5533 *" $absdir "*) ;; 6659 *" $absdir "*) ;;
5534 » *) compile_rpath="$compile_rpath $absdir" 6660 » *) func_append compile_rpath " $absdir" ;;
5535 esac 6661 esac
5536 ;; 6662 ;;
5537 esac 6663 esac
5538 case " $sys_lib_dlsearch_path " in 6664 case " $sys_lib_dlsearch_path " in
5539 *" $libdir "*) ;; 6665 *" $libdir "*) ;;
5540 *) 6666 *)
5541 case "$finalize_rpath " in 6667 case "$finalize_rpath " in
5542 *" $libdir "*) ;; 6668 *" $libdir "*) ;;
5543 » *) finalize_rpath="$finalize_rpath $libdir" 6669 » *) func_append finalize_rpath " $libdir" ;;
5544 esac 6670 esac
5545 ;; 6671 ;;
5546 esac 6672 esac
5547 fi # $linkmode,$pass = prog,link... 6673 fi # $linkmode,$pass = prog,link...
5548 6674
5549 if test "$alldeplibs" = yes && 6675 if test "$alldeplibs" = yes &&
5550 { test "$deplibs_check_method" = pass_all || 6676 { test "$deplibs_check_method" = pass_all ||
5551 { test "$build_libtool_libs" = yes && 6677 { test "$build_libtool_libs" = yes &&
5552 test -n "$library_names"; }; }; then 6678 test -n "$library_names"; }; }; then
5553 # We only need to search for static libraries 6679 # We only need to search for static libraries
5554 continue 6680 continue
5555 fi 6681 fi
5556 fi 6682 fi
5557 6683
5558 link_static=no # Whether the deplib will be linked statically 6684 link_static=no # Whether the deplib will be linked statically
5559 use_static_libs=$prefer_static_libs 6685 use_static_libs=$prefer_static_libs
5560 if test "$use_static_libs" = built && test "$installed" = yes; then 6686 if test "$use_static_libs" = built && test "$installed" = yes; then
5561 use_static_libs=no 6687 use_static_libs=no
5562 fi 6688 fi
5563 if test -n "$library_names" && 6689 if test -n "$library_names" &&
5564 { test "$use_static_libs" = no || test -z "$old_library"; }; then 6690 { test "$use_static_libs" = no || test -z "$old_library"; }; then
5565 case $host in 6691 case $host in
5566 *cygwin* | *mingw* | *cegcc*) 6692 *cygwin* | *mingw* | *cegcc*)
5567 # No point in relinking DLLs because paths are not encoded 6693 # No point in relinking DLLs because paths are not encoded
5568 » notinst_deplibs="$notinst_deplibs $lib" 6694 » func_append notinst_deplibs " $lib"
5569 need_relink=no 6695 need_relink=no
5570 ;; 6696 ;;
5571 *) 6697 *)
5572 if test "$installed" = no; then 6698 if test "$installed" = no; then
5573 » notinst_deplibs="$notinst_deplibs $lib" 6699 » func_append notinst_deplibs " $lib"
5574 need_relink=yes 6700 need_relink=yes
5575 fi 6701 fi
5576 ;; 6702 ;;
5577 esac 6703 esac
5578 # This is a shared library 6704 # This is a shared library
5579 6705
5580 # Warn about portability, can't link against -module's on some 6706 # Warn about portability, can't link against -module's on some
5581 # systems (darwin). Don't bleat about dlopened modules though! 6707 # systems (darwin). Don't bleat about dlopened modules though!
5582 dlopenmodule="" 6708 dlopenmodule=""
5583 for dlpremoduletest in $dlprefiles; do 6709 for dlpremoduletest in $dlprefiles; do
5584 if test "X$dlpremoduletest" = "X$lib"; then 6710 if test "X$dlpremoduletest" = "X$lib"; then
5585 dlopenmodule="$dlpremoduletest" 6711 dlopenmodule="$dlpremoduletest"
5586 break 6712 break
5587 fi 6713 fi
5588 done 6714 done
5589 if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pa ss" = link; then 6715 if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pa ss" = link; then
5590 » $ECHO 6716 » echo
5591 if test "$linkmode" = prog; then 6717 if test "$linkmode" = prog; then
5592 $ECHO "*** Warning: Linking the executable $output against the loa dable module" 6718 $ECHO "*** Warning: Linking the executable $output against the loa dable module"
5593 else 6719 else
5594 $ECHO "*** Warning: Linking the shared library $output against the loadable module" 6720 $ECHO "*** Warning: Linking the shared library $output against the loadable module"
5595 fi 6721 fi
5596 $ECHO "*** $linklib is not portable!" 6722 $ECHO "*** $linklib is not portable!"
5597 fi 6723 fi
5598 if test "$linkmode" = lib && 6724 if test "$linkmode" = lib &&
5599 test "$hardcode_into_libs" = yes; then 6725 test "$hardcode_into_libs" = yes; then
5600 # Hardcode the library path. 6726 # Hardcode the library path.
5601 # Skip directories that are in the system default run-time 6727 # Skip directories that are in the system default run-time
5602 # search path. 6728 # search path.
5603 case " $sys_lib_dlsearch_path " in 6729 case " $sys_lib_dlsearch_path " in
5604 *" $absdir "*) ;; 6730 *" $absdir "*) ;;
5605 *) 6731 *)
5606 case "$compile_rpath " in 6732 case "$compile_rpath " in
5607 *" $absdir "*) ;; 6733 *" $absdir "*) ;;
5608 » *) compile_rpath="$compile_rpath $absdir" 6734 » *) func_append compile_rpath " $absdir" ;;
5609 esac 6735 esac
5610 ;; 6736 ;;
5611 esac 6737 esac
5612 case " $sys_lib_dlsearch_path " in 6738 case " $sys_lib_dlsearch_path " in
5613 *" $libdir "*) ;; 6739 *" $libdir "*) ;;
5614 *) 6740 *)
5615 case "$finalize_rpath " in 6741 case "$finalize_rpath " in
5616 *" $libdir "*) ;; 6742 *" $libdir "*) ;;
5617 » *) finalize_rpath="$finalize_rpath $libdir" 6743 » *) func_append finalize_rpath " $libdir" ;;
5618 esac 6744 esac
5619 ;; 6745 ;;
5620 esac 6746 esac
5621 fi 6747 fi
5622 6748
5623 if test -n "$old_archive_from_expsyms_cmds"; then 6749 if test -n "$old_archive_from_expsyms_cmds"; then
5624 # figure out the soname 6750 # figure out the soname
5625 set dummy $library_names 6751 set dummy $library_names
5626 shift 6752 shift
5627 realname="$1" 6753 realname="$1"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
5661 # Create $newlib 6787 # Create $newlib
5662 if test -f "$output_objdir/$newlib"; then :; else 6788 if test -f "$output_objdir/$newlib"; then :; else
5663 func_verbose "generating import library for \`$soname'" 6789 func_verbose "generating import library for \`$soname'"
5664 func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' 6790 func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
5665 fi 6791 fi
5666 # make sure the library variables are pointing to the new library 6792 # make sure the library variables are pointing to the new library
5667 dir=$output_objdir 6793 dir=$output_objdir
5668 linklib=$newlib 6794 linklib=$newlib
5669 fi # test -n "$old_archive_from_expsyms_cmds" 6795 fi # test -n "$old_archive_from_expsyms_cmds"
5670 6796
5671 » if test "$linkmode" = prog || test "$mode" != relink; then 6797 » if test "$linkmode" = prog || test "$opt_mode" != relink; then
5672 add_shlibpath= 6798 add_shlibpath=
5673 add_dir= 6799 add_dir=
5674 add= 6800 add=
5675 lib_linked=yes 6801 lib_linked=yes
5676 case $hardcode_action in 6802 case $hardcode_action in
5677 immediate | unsupported) 6803 immediate | unsupported)
5678 if test "$hardcode_direct" = no; then 6804 if test "$hardcode_direct" = no; then
5679 add="$dir/$linklib" 6805 add="$dir/$linklib"
5680 case $host in 6806 case $host in
5681 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; 6807 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
5682 *-*-sysv4*uw2*) add_dir="-L$dir" ;; 6808 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
5683 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ 6809 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
5684 *-*-unixware7*) add_dir="-L$dir" ;; 6810 *-*-unixware7*) add_dir="-L$dir" ;;
5685 *-*-darwin* ) 6811 *-*-darwin* )
5686 # if the lib is a (non-dlopened) module then we can not 6812 # if the lib is a (non-dlopened) module then we can not
5687 # link against it, someone is ignoring the earlier warnings 6813 # link against it, someone is ignoring the earlier warnings
5688 if /usr/bin/file -L $add 2> /dev/null | 6814 if /usr/bin/file -L $add 2> /dev/null |
5689 $GREP ": [^:]* bundle" >/dev/null ; then 6815 $GREP ": [^:]* bundle" >/dev/null ; then
5690 if test "X$dlopenmodule" != "X$lib"; then 6816 if test "X$dlopenmodule" != "X$lib"; then
5691 $ECHO "*** Warning: lib $linklib is a module, not a shar ed library" 6817 $ECHO "*** Warning: lib $linklib is a module, not a shar ed library"
5692 if test -z "$old_library" ; then 6818 if test -z "$old_library" ; then
5693 » » » $ECHO 6819 » » » echo
5694 » » » $ECHO "*** And there doesn't seem to be a static archi ve available" 6820 » » » echo "*** And there doesn't seem to be a static archiv e available"
5695 » » » $ECHO "*** The link will probably fail, sorry" 6821 » » » echo "*** The link will probably fail, sorry"
5696 else 6822 else
5697 add="$dir/$old_library" 6823 add="$dir/$old_library"
5698 fi 6824 fi
5699 elif test -n "$old_library"; then 6825 elif test -n "$old_library"; then
5700 add="$dir/$old_library" 6826 add="$dir/$old_library"
5701 fi 6827 fi
5702 fi 6828 fi
5703 esac 6829 esac
5704 elif test "$hardcode_minus_L" = no; then 6830 elif test "$hardcode_minus_L" = no; then
5705 case $host in 6831 case $host in
5706 *-*-sunos*) add_shlibpath="$dir" ;; 6832 *-*-sunos*) add_shlibpath="$dir" ;;
5707 esac 6833 esac
5708 add_dir="-L$dir" 6834 add_dir="-L$dir"
5709 add="-l$name" 6835 add="-l$name"
5710 elif test "$hardcode_shlibpath_var" = no; then 6836 elif test "$hardcode_shlibpath_var" = no; then
5711 add_shlibpath="$dir" 6837 add_shlibpath="$dir"
5712 add="-l$name" 6838 add="-l$name"
5713 else 6839 else
5714 lib_linked=no 6840 lib_linked=no
5715 fi 6841 fi
5716 ;; 6842 ;;
5717 relink) 6843 relink)
5718 if test "$hardcode_direct" = yes && 6844 if test "$hardcode_direct" = yes &&
5719 test "$hardcode_direct_absolute" = no; then 6845 test "$hardcode_direct_absolute" = no; then
5720 add="$dir/$linklib" 6846 add="$dir/$linklib"
5721 elif test "$hardcode_minus_L" = yes; then 6847 elif test "$hardcode_minus_L" = yes; then
5722 » » add_dir="-L$dir" 6848 » » add_dir="-L$absdir"
5723 # Try looking first in the location we're being installed to. 6849 # Try looking first in the location we're being installed to.
5724 if test -n "$inst_prefix_dir"; then 6850 if test -n "$inst_prefix_dir"; then
5725 case $libdir in 6851 case $libdir in
5726 [\\/]*) 6852 [\\/]*)
5727 » » add_dir="$add_dir -L$inst_prefix_dir$libdir" 6853 » » func_append add_dir " -L$inst_prefix_dir$libdir"
5728 ;; 6854 ;;
5729 esac 6855 esac
5730 fi 6856 fi
5731 add="-l$name" 6857 add="-l$name"
5732 elif test "$hardcode_shlibpath_var" = yes; then 6858 elif test "$hardcode_shlibpath_var" = yes; then
5733 add_shlibpath="$dir" 6859 add_shlibpath="$dir"
5734 add="-l$name" 6860 add="-l$name"
5735 else 6861 else
5736 lib_linked=no 6862 lib_linked=no
5737 fi 6863 fi
5738 ;; 6864 ;;
5739 *) lib_linked=no ;; 6865 *) lib_linked=no ;;
5740 esac 6866 esac
5741 6867
5742 if test "$lib_linked" != yes; then 6868 if test "$lib_linked" != yes; then
5743 func_fatal_configuration "unsupported hardcode properties" 6869 func_fatal_configuration "unsupported hardcode properties"
5744 fi 6870 fi
5745 6871
5746 if test -n "$add_shlibpath"; then 6872 if test -n "$add_shlibpath"; then
5747 case :$compile_shlibpath: in 6873 case :$compile_shlibpath: in
5748 *":$add_shlibpath:"*) ;; 6874 *":$add_shlibpath:"*) ;;
5749 » *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; 6875 » *) func_append compile_shlibpath "$add_shlibpath:" ;;
5750 esac 6876 esac
5751 fi 6877 fi
5752 if test "$linkmode" = prog; then 6878 if test "$linkmode" = prog; then
5753 test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" 6879 test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
5754 test -n "$add" && compile_deplibs="$add $compile_deplibs" 6880 test -n "$add" && compile_deplibs="$add $compile_deplibs"
5755 else 6881 else
5756 test -n "$add_dir" && deplibs="$add_dir $deplibs" 6882 test -n "$add_dir" && deplibs="$add_dir $deplibs"
5757 test -n "$add" && deplibs="$add $deplibs" 6883 test -n "$add" && deplibs="$add $deplibs"
5758 if test "$hardcode_direct" != yes && 6884 if test "$hardcode_direct" != yes &&
5759 test "$hardcode_minus_L" != yes && 6885 test "$hardcode_minus_L" != yes &&
5760 test "$hardcode_shlibpath_var" = yes; then 6886 test "$hardcode_shlibpath_var" = yes; then
5761 case :$finalize_shlibpath: in 6887 case :$finalize_shlibpath: in
5762 *":$libdir:"*) ;; 6888 *":$libdir:"*) ;;
5763 » » *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; 6889 » » *) func_append finalize_shlibpath "$libdir:" ;;
5764 esac 6890 esac
5765 fi 6891 fi
5766 fi 6892 fi
5767 fi 6893 fi
5768 6894
5769 » if test "$linkmode" = prog || test "$mode" = relink; then 6895 » if test "$linkmode" = prog || test "$opt_mode" = relink; then
5770 add_shlibpath= 6896 add_shlibpath=
5771 add_dir= 6897 add_dir=
5772 add= 6898 add=
5773 # Finalize command for both is simple: just hardcode it. 6899 # Finalize command for both is simple: just hardcode it.
5774 if test "$hardcode_direct" = yes && 6900 if test "$hardcode_direct" = yes &&
5775 test "$hardcode_direct_absolute" = no; then 6901 test "$hardcode_direct_absolute" = no; then
5776 add="$libdir/$linklib" 6902 add="$libdir/$linklib"
5777 elif test "$hardcode_minus_L" = yes; then 6903 elif test "$hardcode_minus_L" = yes; then
5778 add_dir="-L$libdir" 6904 add_dir="-L$libdir"
5779 add="-l$name" 6905 add="-l$name"
5780 elif test "$hardcode_shlibpath_var" = yes; then 6906 elif test "$hardcode_shlibpath_var" = yes; then
5781 case :$finalize_shlibpath: in 6907 case :$finalize_shlibpath: in
5782 *":$libdir:"*) ;; 6908 *":$libdir:"*) ;;
5783 » *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; 6909 » *) func_append finalize_shlibpath "$libdir:" ;;
5784 esac 6910 esac
5785 add="-l$name" 6911 add="-l$name"
5786 elif test "$hardcode_automatic" = yes; then 6912 elif test "$hardcode_automatic" = yes; then
5787 if test -n "$inst_prefix_dir" && 6913 if test -n "$inst_prefix_dir" &&
5788 test -f "$inst_prefix_dir$libdir/$linklib" ; then 6914 test -f "$inst_prefix_dir$libdir/$linklib" ; then
5789 add="$inst_prefix_dir$libdir/$linklib" 6915 add="$inst_prefix_dir$libdir/$linklib"
5790 else 6916 else
5791 add="$libdir/$linklib" 6917 add="$libdir/$linklib"
5792 fi 6918 fi
5793 else 6919 else
5794 # We cannot seem to hardcode it, guess we'll fake it. 6920 # We cannot seem to hardcode it, guess we'll fake it.
5795 add_dir="-L$libdir" 6921 add_dir="-L$libdir"
5796 # Try looking first in the location we're being installed to. 6922 # Try looking first in the location we're being installed to.
5797 if test -n "$inst_prefix_dir"; then 6923 if test -n "$inst_prefix_dir"; then
5798 case $libdir in 6924 case $libdir in
5799 [\\/]*) 6925 [\\/]*)
5800 » » add_dir="$add_dir -L$inst_prefix_dir$libdir" 6926 » » func_append add_dir " -L$inst_prefix_dir$libdir"
5801 ;; 6927 ;;
5802 esac 6928 esac
5803 fi 6929 fi
5804 add="-l$name" 6930 add="-l$name"
5805 fi 6931 fi
5806 6932
5807 if test "$linkmode" = prog; then 6933 if test "$linkmode" = prog; then
5808 test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs " 6934 test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs "
5809 test -n "$add" && finalize_deplibs="$add $finalize_deplibs" 6935 test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
5810 else 6936 else
(...skipping 14 matching lines...) Expand all
5825 finalize_deplibs="-l$name -L$dir $finalize_deplibs" 6951 finalize_deplibs="-l$name -L$dir $finalize_deplibs"
5826 fi 6952 fi
5827 elif test "$build_libtool_libs" = yes; then 6953 elif test "$build_libtool_libs" = yes; then
5828 # Not a shared library 6954 # Not a shared library
5829 if test "$deplibs_check_method" != pass_all; then 6955 if test "$deplibs_check_method" != pass_all; then
5830 # We're trying link a shared library against a static one 6956 # We're trying link a shared library against a static one
5831 # but the system doesn't support it. 6957 # but the system doesn't support it.
5832 6958
5833 # Just print a warning and add the library to dependency_libs so 6959 # Just print a warning and add the library to dependency_libs so
5834 # that the program can be linked against the static library. 6960 # that the program can be linked against the static library.
5835 » $ECHO 6961 » echo
5836 $ECHO "*** Warning: This system can not link to static lib archive $ lib." 6962 $ECHO "*** Warning: This system can not link to static lib archive $ lib."
5837 » $ECHO "*** I have the capability to make that library automatically link in when" 6963 » echo "*** I have the capability to make that library automatically l ink in when"
5838 » $ECHO "*** you link to this library. But I can only do this if you have a" 6964 » echo "*** you link to this library. But I can only do this if you h ave a"
5839 » $ECHO "*** shared version of the library, which you do not appear to have." 6965 » echo "*** shared version of the library, which you do not appear to have."
5840 if test "$module" = yes; then 6966 if test "$module" = yes; then
5841 » $ECHO "*** But as you try to build a module library, libtool will still create " 6967 » echo "*** But as you try to build a module library, libtool will s till create "
5842 » $ECHO "*** a static module, that should work as long as the dlopen ing application" 6968 » echo "*** a static module, that should work as long as the dlopeni ng application"
5843 » $ECHO "*** is linked with the -dlopen flag to resolve symbols at r untime." 6969 » echo "*** is linked with the -dlopen flag to resolve symbols at ru ntime."
5844 if test -z "$global_symbol_pipe"; then 6970 if test -z "$global_symbol_pipe"; then
5845 » » $ECHO 6971 » » echo
5846 » » $ECHO "*** However, this would only work if libtool was able to extract symbol" 6972 » » echo "*** However, this would only work if libtool was able to e xtract symbol"
5847 » » $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" 6973 » » echo "*** lists from a program, using \`nm' or equivalent, but l ibtool could"
5848 » » $ECHO "*** not find such a program. So, this module is probably useless." 6974 » » echo "*** not find such a program. So, this module is probably useless."
5849 » » $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." 6975 » » echo "*** \`nm' from GNU binutils and a full rebuild may help."
5850 fi 6976 fi
5851 if test "$build_old_libs" = no; then 6977 if test "$build_old_libs" = no; then
5852 build_libtool_libs=module 6978 build_libtool_libs=module
5853 build_old_libs=yes 6979 build_old_libs=yes
5854 else 6980 else
5855 build_libtool_libs=no 6981 build_libtool_libs=no
5856 fi 6982 fi
5857 fi 6983 fi
5858 else 6984 else
5859 deplibs="$dir/$old_library $deplibs" 6985 deplibs="$dir/$old_library $deplibs"
5860 link_static=yes 6986 link_static=yes
5861 fi 6987 fi
5862 fi # link shared/static library? 6988 fi # link shared/static library?
5863 6989
5864 if test "$linkmode" = lib; then 6990 if test "$linkmode" = lib; then
5865 if test -n "$dependency_libs" && 6991 if test -n "$dependency_libs" &&
5866 { test "$hardcode_into_libs" != yes || 6992 { test "$hardcode_into_libs" != yes ||
5867 test "$build_old_libs" = yes || 6993 test "$build_old_libs" = yes ||
5868 test "$link_static" = yes; }; then 6994 test "$link_static" = yes; }; then
5869 # Extract -R from dependency_libs 6995 # Extract -R from dependency_libs
5870 temp_deplibs= 6996 temp_deplibs=
5871 for libdir in $dependency_libs; do 6997 for libdir in $dependency_libs; do
5872 case $libdir in 6998 case $libdir in
5873 -R*) func_stripname '-R' '' "$libdir" 6999 -R*) func_stripname '-R' '' "$libdir"
5874 temp_xrpath=$func_stripname_result 7000 temp_xrpath=$func_stripname_result
5875 case " $xrpath " in 7001 case " $xrpath " in
5876 *" $temp_xrpath "*) ;; 7002 *" $temp_xrpath "*) ;;
5877 » » *) xrpath="$xrpath $temp_xrpath";; 7003 » » *) func_append xrpath " $temp_xrpath";;
5878 esac;; 7004 esac;;
5879 » *) temp_deplibs="$temp_deplibs $libdir";; 7005 » *) func_append temp_deplibs " $libdir";;
5880 esac 7006 esac
5881 done 7007 done
5882 dependency_libs="$temp_deplibs" 7008 dependency_libs="$temp_deplibs"
5883 fi 7009 fi
5884 7010
5885 » newlib_search_path="$newlib_search_path $absdir" 7011 » func_append newlib_search_path " $absdir"
5886 # Link against this library 7012 # Link against this library
5887 test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $ne wdependency_libs" 7013 test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $ne wdependency_libs"
5888 # ... and its dependency_libs 7014 # ... and its dependency_libs
5889 tmp_libs= 7015 tmp_libs=
5890 for deplib in $dependency_libs; do 7016 for deplib in $dependency_libs; do
5891 newdependency_libs="$deplib $newdependency_libs" 7017 newdependency_libs="$deplib $newdependency_libs"
5892 » if $opt_duplicate_deps ; then 7018 » case $deplib in
7019 -L*) func_stripname '-L' '' "$deplib"
7020 func_resolve_sysroot "$func_stripname_result";;
7021 *) func_resolve_sysroot "$deplib" ;;
7022 esac
7023 » if $opt_preserve_dup_deps ; then
5893 case "$tmp_libs " in 7024 case "$tmp_libs " in
5894 » *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; 7025 » *" $func_resolve_sysroot_result "*)
7026 func_append specialdeplibs " $func_resolve_sysroot_result" ;;
5895 esac 7027 esac
5896 fi 7028 fi
5897 » tmp_libs="$tmp_libs $deplib" 7029 » func_append tmp_libs " $func_resolve_sysroot_result"
5898 done 7030 done
5899 7031
5900 if test "$link_all_deplibs" != no; then 7032 if test "$link_all_deplibs" != no; then
5901 # Add the search paths of all dependency libraries 7033 # Add the search paths of all dependency libraries
5902 for deplib in $dependency_libs; do 7034 for deplib in $dependency_libs; do
7035 path=
5903 case $deplib in 7036 case $deplib in
5904 -L*) path="$deplib" ;; 7037 -L*) path="$deplib" ;;
5905 *.la) 7038 *.la)
7039 func_resolve_sysroot "$deplib"
7040 deplib=$func_resolve_sysroot_result
5906 func_dirname "$deplib" "" "." 7041 func_dirname "$deplib" "" "."
5907 » » dir="$func_dirname_result" 7042 » » dir=$func_dirname_result
5908 # We need an absolute path. 7043 # We need an absolute path.
5909 case $dir in 7044 case $dir in
5910 [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; 7045 [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
5911 *) 7046 *)
5912 absdir=`cd "$dir" && pwd` 7047 absdir=`cd "$dir" && pwd`
5913 if test -z "$absdir"; then 7048 if test -z "$absdir"; then
5914 func_warning "cannot determine absolute directory name of \` $dir'" 7049 func_warning "cannot determine absolute directory name of \` $dir'"
5915 absdir="$dir" 7050 absdir="$dir"
5916 fi 7051 fi
5917 ;; 7052 ;;
5918 esac 7053 esac
5919 if $GREP "^installed=no" $deplib > /dev/null; then 7054 if $GREP "^installed=no" $deplib > /dev/null; then
5920 case $host in 7055 case $host in
5921 *-*-darwin*) 7056 *-*-darwin*)
5922 depdepl= 7057 depdepl=
5923 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/ \1/p' $deplib` 7058 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/ \1/p' $deplib`
5924 if test -n "$deplibrary_names" ; then 7059 if test -n "$deplibrary_names" ; then
5925 for tmp in $deplibrary_names ; do 7060 for tmp in $deplibrary_names ; do
5926 depdepl=$tmp 7061 depdepl=$tmp
5927 done 7062 done
5928 if test -f "$absdir/$objdir/$depdepl" ; then 7063 if test -f "$absdir/$objdir/$depdepl" ; then
5929 depdepl="$absdir/$objdir/$depdepl" 7064 depdepl="$absdir/$objdir/$depdepl"
5930 darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR = = 2) {print $1;exit}}'` 7065 darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR = = 2) {print $1;exit}}'`
5931 if test -z "$darwin_install_name"; then 7066 if test -z "$darwin_install_name"; then
5932 darwin_install_name=`${OTOOL64} -L $depdepl | awk '{i f (NR == 2) {print $1;exit}}'` 7067 darwin_install_name=`${OTOOL64} -L $depdepl | awk '{i f (NR == 2) {print $1;exit}}'`
5933 fi 7068 fi
5934 » » compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${da rwin_install_name}:${depdepl}" 7069 » » func_append compiler_flags " ${wl}-dylib_file ${wl}${darwi n_install_name}:${depdepl}"
5935 » » linker_flags="$linker_flags -dylib_file ${darwin_install_n ame}:${depdepl}" 7070 » » func_append linker_flags " -dylib_file ${darwin_install_na me}:${depdepl}"
5936 path= 7071 path=
5937 fi 7072 fi
5938 fi 7073 fi
5939 ;; 7074 ;;
5940 *) 7075 *)
5941 path="-L$absdir/$objdir" 7076 path="-L$absdir/$objdir"
5942 ;; 7077 ;;
5943 esac 7078 esac
5944 else 7079 else
5945 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` 7080 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
5946 test -z "$libdir" && \ 7081 test -z "$libdir" && \
5947 func_fatal_error "\`$deplib' is not a valid libtool archive" 7082 func_fatal_error "\`$deplib' is not a valid libtool archive"
5948 » » test "$absdir" != "$libdir" && \ 7083 » » #test "$absdir" != "$libdir" && \
5949 » » func_warning "\`$deplib' seems to be moved" 7084 » » # func_warning "\`$deplib' seems to be moved"
5950 7085
5951 path="-L$absdir" 7086 path="-L$absdir"
5952 fi 7087 fi
5953 ;; 7088 ;;
5954 esac 7089 esac
5955 case " $deplibs " in 7090 case " $deplibs " in
5956 *" $path "*) ;; 7091 *" $path "*) ;;
5957 *) deplibs="$path $deplibs" ;; 7092 *) deplibs="$path $deplibs" ;;
5958 esac 7093 esac
5959 done 7094 done
5960 fi # link_all_deplibs != no 7095 fi # link_all_deplibs != no
5961 fi # linkmode = lib 7096 fi # linkmode = lib
5962 done # for deplib in $libs 7097 done # for deplib in $libs
5963 if test "$pass" = link; then 7098 if test "$pass" = link; then
5964 if test "$linkmode" = "prog"; then 7099 if test "$linkmode" = "prog"; then
5965 compile_deplibs="$new_inherited_linker_flags $compile_deplibs" 7100 compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
5966 finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" 7101 finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
5967 else 7102 else
5968 » compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags " | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` 7103 » compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
5969 fi 7104 fi
5970 fi 7105 fi
5971 dependency_libs="$newdependency_libs" 7106 dependency_libs="$newdependency_libs"
5972 if test "$pass" = dlpreopen; then 7107 if test "$pass" = dlpreopen; then
5973 # Link the dlpreopened libraries before other libraries 7108 # Link the dlpreopened libraries before other libraries
5974 for deplib in $save_deplibs; do 7109 for deplib in $save_deplibs; do
5975 deplibs="$deplib $deplibs" 7110 deplibs="$deplib $deplibs"
5976 done 7111 done
5977 fi 7112 fi
5978 if test "$pass" != dlopen; then 7113 if test "$pass" != dlopen; then
5979 if test "$pass" != conv; then 7114 if test "$pass" != conv; then
5980 # Make sure lib_search_path contains only unique directories. 7115 # Make sure lib_search_path contains only unique directories.
5981 lib_search_path= 7116 lib_search_path=
5982 for dir in $newlib_search_path; do 7117 for dir in $newlib_search_path; do
5983 case "$lib_search_path " in 7118 case "$lib_search_path " in
5984 *" $dir "*) ;; 7119 *" $dir "*) ;;
5985 » *) lib_search_path="$lib_search_path $dir" ;; 7120 » *) func_append lib_search_path " $dir" ;;
5986 esac 7121 esac
5987 done 7122 done
5988 newlib_search_path= 7123 newlib_search_path=
5989 fi 7124 fi
5990 7125
5991 if test "$linkmode,$pass" != "prog,link"; then 7126 if test "$linkmode,$pass" != "prog,link"; then
5992 vars="deplibs" 7127 vars="deplibs"
5993 else 7128 else
5994 vars="compile_deplibs finalize_deplibs" 7129 vars="compile_deplibs finalize_deplibs"
5995 fi 7130 fi
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
6033 esac 7168 esac
6034 ;; 7169 ;;
6035 esac 7170 esac
6036 done 7171 done
6037 tmp_libs= 7172 tmp_libs=
6038 for deplib in $new_libs; do 7173 for deplib in $new_libs; do
6039 case $deplib in 7174 case $deplib in
6040 -L*) 7175 -L*)
6041 case " $tmp_libs " in 7176 case " $tmp_libs " in
6042 *" $deplib "*) ;; 7177 *" $deplib "*) ;;
6043 » *) tmp_libs="$tmp_libs $deplib" ;; 7178 » *) func_append tmp_libs " $deplib" ;;
6044 esac 7179 esac
6045 ;; 7180 ;;
6046 » *) tmp_libs="$tmp_libs $deplib" ;; 7181 » *) func_append tmp_libs " $deplib" ;;
6047 esac 7182 esac
6048 done 7183 done
6049 eval $var=\"$tmp_libs\" 7184 eval $var=\"$tmp_libs\"
6050 done # for var 7185 done # for var
6051 fi 7186 fi
6052 # Last step: remove runtime libs from dependency_libs 7187 # Last step: remove runtime libs from dependency_libs
6053 # (they stay in deplibs) 7188 # (they stay in deplibs)
6054 tmp_libs= 7189 tmp_libs=
6055 for i in $dependency_libs ; do 7190 for i in $dependency_libs ; do
6056 case " $predeps $postdeps $compiler_lib_search_path " in 7191 case " $predeps $postdeps $compiler_lib_search_path " in
6057 *" $i "*) 7192 *" $i "*)
6058 i="" 7193 i=""
6059 ;; 7194 ;;
6060 esac 7195 esac
6061 if test -n "$i" ; then 7196 if test -n "$i" ; then
6062 » tmp_libs="$tmp_libs $i" 7197 » func_append tmp_libs " $i"
6063 fi 7198 fi
6064 done 7199 done
6065 dependency_libs=$tmp_libs 7200 dependency_libs=$tmp_libs
6066 done # for pass 7201 done # for pass
6067 if test "$linkmode" = prog; then 7202 if test "$linkmode" = prog; then
6068 dlfiles="$newdlfiles" 7203 dlfiles="$newdlfiles"
6069 fi 7204 fi
6070 if test "$linkmode" = prog || test "$linkmode" = lib; then 7205 if test "$linkmode" = prog || test "$linkmode" = lib; then
6071 dlprefiles="$newdlprefiles" 7206 dlprefiles="$newdlprefiles"
6072 fi 7207 fi
(...skipping 20 matching lines...) Expand all
6093 7228
6094 test -n "$release" && \ 7229 test -n "$release" && \
6095 func_warning "\`-release' is ignored for archives" 7230 func_warning "\`-release' is ignored for archives"
6096 7231
6097 test -n "$export_symbols$export_symbols_regex" && \ 7232 test -n "$export_symbols$export_symbols_regex" && \
6098 func_warning "\`-export-symbols' is ignored for archives" 7233 func_warning "\`-export-symbols' is ignored for archives"
6099 7234
6100 # Now set the variables for building old libraries. 7235 # Now set the variables for building old libraries.
6101 build_libtool_libs=no 7236 build_libtool_libs=no
6102 oldlibs="$output" 7237 oldlibs="$output"
6103 objs="$objs$old_deplibs" 7238 func_append objs "$old_deplibs"
6104 ;; 7239 ;;
6105 7240
6106 lib) 7241 lib)
6107 # Make sure we only generate libraries of the form `libNAME.la'. 7242 # Make sure we only generate libraries of the form `libNAME.la'.
6108 case $outputname in 7243 case $outputname in
6109 lib*) 7244 lib*)
6110 func_stripname 'lib' '.la' "$outputname" 7245 func_stripname 'lib' '.la' "$outputname"
6111 name=$func_stripname_result 7246 name=$func_stripname_result
6112 eval shared_ext=\"$shrext_cmds\" 7247 eval shared_ext=\"$shrext_cmds\"
6113 eval libname=\"$libname_spec\" 7248 eval libname=\"$libname_spec\"
(...skipping 12 matching lines...) Expand all
6126 func_stripname '' '.la' "$outputname" 7261 func_stripname '' '.la' "$outputname"
6127 libname=$func_stripname_result 7262 libname=$func_stripname_result
6128 fi 7263 fi
6129 ;; 7264 ;;
6130 esac 7265 esac
6131 7266
6132 if test -n "$objs"; then 7267 if test -n "$objs"; then
6133 if test "$deplibs_check_method" != pass_all; then 7268 if test "$deplibs_check_method" != pass_all; then
6134 func_fatal_error "cannot build libtool library \`$output' from non-lib tool objects on this host:$objs" 7269 func_fatal_error "cannot build libtool library \`$output' from non-lib tool objects on this host:$objs"
6135 else 7270 else
6136 » $ECHO 7271 » echo
6137 $ECHO "*** Warning: Linking the shared library $output against the non -libtool" 7272 $ECHO "*** Warning: Linking the shared library $output against the non -libtool"
6138 $ECHO "*** objects $objs is not portable!" 7273 $ECHO "*** objects $objs is not portable!"
6139 » libobjs="$libobjs $objs" 7274 » func_append libobjs " $objs"
6140 fi 7275 fi
6141 fi 7276 fi
6142 7277
6143 test "$dlself" != no && \ 7278 test "$dlself" != no && \
6144 func_warning "\`-dlopen self' is ignored for libtool libraries" 7279 func_warning "\`-dlopen self' is ignored for libtool libraries"
6145 7280
6146 set dummy $rpath 7281 set dummy $rpath
6147 shift 7282 shift
6148 test "$#" -gt 1 && \ 7283 test "$#" -gt 1 && \
6149 func_warning "ignoring multiple \`-rpath's for a libtool library" 7284 func_warning "ignoring multiple \`-rpath's for a libtool library"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
6188 number_minor="$2" 7323 number_minor="$2"
6189 number_revision="$3" 7324 number_revision="$3"
6190 # 7325 #
6191 # There are really only two kinds -- those that 7326 # There are really only two kinds -- those that
6192 # use the current revision as the major version 7327 # use the current revision as the major version
6193 # and those that subtract age and use age as 7328 # and those that subtract age and use age as
6194 # a minor version. But, then there is irix 7329 # a minor version. But, then there is irix
6195 # which has an extra 1 added just for fun 7330 # which has an extra 1 added just for fun
6196 # 7331 #
6197 case $version_type in 7332 case $version_type in
7333 # correct linux to gnu/linux during the next big refactor
6198 darwin|linux|osf|windows|none) 7334 darwin|linux|osf|windows|none)
6199 func_arith $number_major + $number_minor 7335 func_arith $number_major + $number_minor
6200 current=$func_arith_result 7336 current=$func_arith_result
6201 age="$number_minor" 7337 age="$number_minor"
6202 revision="$number_revision" 7338 revision="$number_revision"
6203 ;; 7339 ;;
6204 » freebsd-aout|freebsd-elf|sunos) 7340 » freebsd-aout|freebsd-elf|qnx|sunos)
6205 current="$number_major" 7341 current="$number_major"
6206 revision="$number_minor" 7342 revision="$number_minor"
6207 age="0" 7343 age="0"
6208 ;; 7344 ;;
6209 irix|nonstopux) 7345 irix|nonstopux)
6210 func_arith $number_major + $number_minor 7346 func_arith $number_major + $number_minor
6211 current=$func_arith_result 7347 current=$func_arith_result
6212 age="$number_minor" 7348 age="$number_minor"
6213 revision="$number_minor" 7349 revision="$number_minor"
6214 lt_irix_increment=no 7350 lt_irix_increment=no
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
6304 func_arith $loop - 1 7440 func_arith $loop - 1
6305 loop=$func_arith_result 7441 loop=$func_arith_result
6306 verstring="$verstring_prefix$major.$iface:$verstring" 7442 verstring="$verstring_prefix$major.$iface:$verstring"
6307 done 7443 done
6308 7444
6309 # Before this point, $major must not contain `.'. 7445 # Before this point, $major must not contain `.'.
6310 major=.$major 7446 major=.$major
6311 versuffix="$major.$revision" 7447 versuffix="$major.$revision"
6312 ;; 7448 ;;
6313 7449
6314 » linux) 7450 » linux) # correct to gnu/linux during the next big refactor
6315 func_arith $current - $age 7451 func_arith $current - $age
6316 major=.$func_arith_result 7452 major=.$func_arith_result
6317 versuffix="$major.$age.$revision" 7453 versuffix="$major.$age.$revision"
6318 ;; 7454 ;;
6319 7455
6320 osf) 7456 osf)
6321 func_arith $current - $age 7457 func_arith $current - $age
6322 major=.$func_arith_result 7458 major=.$func_arith_result
6323 versuffix=".$current.$age.$revision" 7459 versuffix=".$current.$age.$revision"
6324 verstring="$current.$age.$revision" 7460 verstring="$current.$age.$revision"
6325 7461
6326 # Add in all the interfaces that we are compatible with. 7462 # Add in all the interfaces that we are compatible with.
6327 loop=$age 7463 loop=$age
6328 while test "$loop" -ne 0; do 7464 while test "$loop" -ne 0; do
6329 func_arith $current - $loop 7465 func_arith $current - $loop
6330 iface=$func_arith_result 7466 iface=$func_arith_result
6331 func_arith $loop - 1 7467 func_arith $loop - 1
6332 loop=$func_arith_result 7468 loop=$func_arith_result
6333 verstring="$verstring:${iface}.0" 7469 verstring="$verstring:${iface}.0"
6334 done 7470 done
6335 7471
6336 # Make executables depend on our current version. 7472 # Make executables depend on our current version.
6337 » verstring="$verstring:${current}.0" 7473 » func_append verstring ":${current}.0"
6338 ;; 7474 ;;
6339 7475
6340 qnx) 7476 qnx)
6341 major=".$current" 7477 major=".$current"
6342 versuffix=".$current" 7478 versuffix=".$current"
6343 ;; 7479 ;;
6344 7480
6345 sunos) 7481 sunos)
6346 major=".$current" 7482 major=".$current"
6347 versuffix=".$current.$revision" 7483 versuffix=".$current.$revision"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
6395 build_old_libs=yes 7531 build_old_libs=yes
6396 fi 7532 fi
6397 else 7533 else
6398 # Don't allow undefined symbols. 7534 # Don't allow undefined symbols.
6399 allow_undefined_flag="$no_undefined_flag" 7535 allow_undefined_flag="$no_undefined_flag"
6400 fi 7536 fi
6401 7537
6402 fi 7538 fi
6403 7539
6404 func_generate_dlsyms "$libname" "$libname" "yes" 7540 func_generate_dlsyms "$libname" "$libname" "yes"
6405 libobjs="$libobjs $symfileobj" 7541 func_append libobjs " $symfileobj"
6406 test "X$libobjs" = "X " && libobjs= 7542 test "X$libobjs" = "X " && libobjs=
6407 7543
6408 if test "$mode" != relink; then 7544 if test "$opt_mode" != relink; then
6409 # Remove our outputs, but don't remove object files since they 7545 # Remove our outputs, but don't remove object files since they
6410 # may have been created when compiling PIC objects. 7546 # may have been created when compiling PIC objects.
6411 removelist= 7547 removelist=
6412 tempremovelist=`$ECHO "$output_objdir/*"` 7548 tempremovelist=`$ECHO "$output_objdir/*"`
6413 for p in $tempremovelist; do 7549 for p in $tempremovelist; do
6414 case $p in 7550 case $p in
6415 *.$objext | *.gcno) 7551 *.$objext | *.gcno)
6416 ;; 7552 ;;
6417 $output_objdir/$outputname | $output_objdir/$libname.* | $output_obj dir/${libname}${release}.*) 7553 $output_objdir/$outputname | $output_objdir/$libname.* | $output_obj dir/${libname}${release}.*)
6418 if test "X$precious_files_regex" != "X"; then 7554 if test "X$precious_files_regex" != "X"; then
6419 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2> &1 7555 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2> &1
6420 then 7556 then
6421 continue 7557 continue
6422 fi 7558 fi
6423 fi 7559 fi
6424 » removelist="$removelist $p" 7560 » func_append removelist " $p"
6425 ;; 7561 ;;
6426 *) ;; 7562 *) ;;
6427 esac 7563 esac
6428 done 7564 done
6429 test -n "$removelist" && \ 7565 test -n "$removelist" && \
6430 func_show_eval "${RM}r \$removelist" 7566 func_show_eval "${RM}r \$removelist"
6431 fi 7567 fi
6432 7568
6433 # Now set the variables for building old libraries. 7569 # Now set the variables for building old libraries.
6434 if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenien ce ; then 7570 if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenien ce ; then
6435 » oldlibs="$oldlibs $output_objdir/$libname.$libext" 7571 » func_append oldlibs " $output_objdir/$libname.$libext"
6436 7572
6437 # Transform .lo files to .o files. 7573 # Transform .lo files to .o files.
6438 » oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/ d' -e "$lo2o" | $NL2SP` 7574 » oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2 o" | $NL2SP`
6439 fi 7575 fi
6440 7576
6441 # Eliminate all temporary directories. 7577 # Eliminate all temporary directories.
6442 #for path in $notinst_path; do 7578 #for path in $notinst_path; do
6443 #»lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` 7579 #»lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
6444 #»deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` 7580 #»deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
6445 #»dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g" ` 7581 #»dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
6446 #done 7582 #done
6447 7583
6448 if test -n "$xrpath"; then 7584 if test -n "$xrpath"; then
6449 # If the user specified any rpath flags, then add them. 7585 # If the user specified any rpath flags, then add them.
6450 temp_xrpath= 7586 temp_xrpath=
6451 for libdir in $xrpath; do 7587 for libdir in $xrpath; do
6452 » temp_xrpath="$temp_xrpath -R$libdir" 7588 » func_replace_sysroot "$libdir"
7589 » func_append temp_xrpath " -R$func_replace_sysroot_result"
6453 case "$finalize_rpath " in 7590 case "$finalize_rpath " in
6454 *" $libdir "*) ;; 7591 *" $libdir "*) ;;
6455 » *) finalize_rpath="$finalize_rpath $libdir" ;; 7592 » *) func_append finalize_rpath " $libdir" ;;
6456 esac 7593 esac
6457 done 7594 done
6458 if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; th en 7595 if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; th en
6459 dependency_libs="$temp_xrpath $dependency_libs" 7596 dependency_libs="$temp_xrpath $dependency_libs"
6460 fi 7597 fi
6461 fi 7598 fi
6462 7599
6463 # Make sure dlfiles contains only unique files that won't be dlpreopened 7600 # Make sure dlfiles contains only unique files that won't be dlpreopened
6464 old_dlfiles="$dlfiles" 7601 old_dlfiles="$dlfiles"
6465 dlfiles= 7602 dlfiles=
6466 for lib in $old_dlfiles; do 7603 for lib in $old_dlfiles; do
6467 case " $dlprefiles $dlfiles " in 7604 case " $dlprefiles $dlfiles " in
6468 *" $lib "*) ;; 7605 *" $lib "*) ;;
6469 » *) dlfiles="$dlfiles $lib" ;; 7606 » *) func_append dlfiles " $lib" ;;
6470 esac 7607 esac
6471 done 7608 done
6472 7609
6473 # Make sure dlprefiles contains only unique files 7610 # Make sure dlprefiles contains only unique files
6474 old_dlprefiles="$dlprefiles" 7611 old_dlprefiles="$dlprefiles"
6475 dlprefiles= 7612 dlprefiles=
6476 for lib in $old_dlprefiles; do 7613 for lib in $old_dlprefiles; do
6477 case "$dlprefiles " in 7614 case "$dlprefiles " in
6478 *" $lib "*) ;; 7615 *" $lib "*) ;;
6479 » *) dlprefiles="$dlprefiles $lib" ;; 7616 » *) func_append dlprefiles " $lib" ;;
6480 esac 7617 esac
6481 done 7618 done
6482 7619
6483 if test "$build_libtool_libs" = yes; then 7620 if test "$build_libtool_libs" = yes; then
6484 if test -n "$rpath"; then 7621 if test -n "$rpath"; then
6485 case $host in 7622 case $host in
6486 » *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* ) 7623 » *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
6487 # these systems don't actually have a c library (as such)! 7624 # these systems don't actually have a c library (as such)!
6488 ;; 7625 ;;
6489 *-*-rhapsody* | *-*-darwin1.[012]) 7626 *-*-rhapsody* | *-*-darwin1.[012])
6490 # Rhapsody C library is in the System framework 7627 # Rhapsody C library is in the System framework
6491 » deplibs="$deplibs System.ltframework" 7628 » func_append deplibs " System.ltframework"
6492 ;; 7629 ;;
6493 *-*-netbsd*) 7630 *-*-netbsd*)
6494 # Don't link with libc until the a.out ld.so is fixed. 7631 # Don't link with libc until the a.out ld.so is fixed.
6495 ;; 7632 ;;
6496 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) 7633 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
6497 # Do not include libc due to us having libc/libc_r. 7634 # Do not include libc due to us having libc/libc_r.
6498 ;; 7635 ;;
6499 *-*-sco3.2v5* | *-*-sco5v6*) 7636 *-*-sco3.2v5* | *-*-sco5v6*)
6500 # Causes problems with __ctype 7637 # Causes problems with __ctype
6501 ;; 7638 ;;
6502 *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) 7639 *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
6503 # Compiler inserts libc in the correct place for threads to work 7640 # Compiler inserts libc in the correct place for threads to work
6504 ;; 7641 ;;
6505 *) 7642 *)
6506 # Add libc to deplibs on all other systems if necessary. 7643 # Add libc to deplibs on all other systems if necessary.
6507 if test "$build_libtool_need_lc" = "yes"; then 7644 if test "$build_libtool_need_lc" = "yes"; then
6508 » deplibs="$deplibs -lc" 7645 » func_append deplibs " -lc"
6509 fi 7646 fi
6510 ;; 7647 ;;
6511 esac 7648 esac
6512 fi 7649 fi
6513 7650
6514 # Transform deplibs into only deplibs that can be linked in shared. 7651 # Transform deplibs into only deplibs that can be linked in shared.
6515 name_save=$name 7652 name_save=$name
6516 libname_save=$libname 7653 libname_save=$libname
6517 release_save=$release 7654 release_save=$release
6518 versuffix_save=$versuffix 7655 versuffix_save=$versuffix
(...skipping 28 matching lines...) Expand all
6547 if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then 7684 if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
6548 ldd_output=`ldd conftest` 7685 ldd_output=`ldd conftest`
6549 for i in $deplibs; do 7686 for i in $deplibs; do
6550 case $i in 7687 case $i in
6551 -l*) 7688 -l*)
6552 func_stripname -l '' "$i" 7689 func_stripname -l '' "$i"
6553 name=$func_stripname_result 7690 name=$func_stripname_result
6554 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; t hen 7691 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; t hen
6555 case " $predeps $postdeps " in 7692 case " $predeps $postdeps " in
6556 *" $i "*) 7693 *" $i "*)
6557 » » newdeplibs="$newdeplibs $i" 7694 » » func_append newdeplibs " $i"
6558 i="" 7695 i=""
6559 ;; 7696 ;;
6560 esac 7697 esac
6561 fi 7698 fi
6562 if test -n "$i" ; then 7699 if test -n "$i" ; then
6563 libname=`eval "\\$ECHO \"$libname_spec\""` 7700 libname=`eval "\\$ECHO \"$libname_spec\""`
6564 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` 7701 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
6565 set dummy $deplib_matches; shift 7702 set dummy $deplib_matches; shift
6566 deplib_match=$1 7703 deplib_match=$1
6567 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then 7704 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
6568 » » newdeplibs="$newdeplibs $i" 7705 » » func_append newdeplibs " $i"
6569 else 7706 else
6570 droppeddeps=yes 7707 droppeddeps=yes
6571 » » $ECHO 7708 » » echo
6572 $ECHO "*** Warning: dynamic linker does not accept needed li brary $i." 7709 $ECHO "*** Warning: dynamic linker does not accept needed li brary $i."
6573 » » $ECHO "*** I have the capability to make that library automa tically link in when" 7710 » » echo "*** I have the capability to make that library automat ically link in when"
6574 » » $ECHO "*** you link to this library. But I can only do this if you have a" 7711 » » echo "*** you link to this library. But I can only do this if you have a"
6575 » » $ECHO "*** shared version of the library, which I believe yo u do not have" 7712 » » echo "*** shared version of the library, which I believe you do not have"
6576 » » $ECHO "*** because a test_compile did reveal that the linker did not use it for" 7713 » » echo "*** because a test_compile did reveal that the linker did not use it for"
6577 » » $ECHO "*** its dynamic dependency list that programs get res olved with at runtime." 7714 » » echo "*** its dynamic dependency list that programs get reso lved with at runtime."
6578 fi 7715 fi
6579 fi 7716 fi
6580 ;; 7717 ;;
6581 *) 7718 *)
6582 » » newdeplibs="$newdeplibs $i" 7719 » » func_append newdeplibs " $i"
6583 ;; 7720 ;;
6584 esac 7721 esac
6585 done 7722 done
6586 else 7723 else
6587 # Error occurred in the first compile. Let's try to salvage 7724 # Error occurred in the first compile. Let's try to salvage
6588 # the situation: Compile a separate program for each library. 7725 # the situation: Compile a separate program for each library.
6589 for i in $deplibs; do 7726 for i in $deplibs; do
6590 case $i in 7727 case $i in
6591 -l*) 7728 -l*)
6592 func_stripname -l '' "$i" 7729 func_stripname -l '' "$i"
6593 name=$func_stripname_result 7730 name=$func_stripname_result
6594 $opt_dry_run || $RM conftest 7731 $opt_dry_run || $RM conftest
6595 if $LTCC $LTCFLAGS -o conftest conftest.c $i; then 7732 if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
6596 ldd_output=`ldd conftest` 7733 ldd_output=`ldd conftest`
6597 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 7734 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6598 case " $predeps $postdeps " in 7735 case " $predeps $postdeps " in
6599 *" $i "*) 7736 *" $i "*)
6600 » » newdeplibs="$newdeplibs $i" 7737 » » func_append newdeplibs " $i"
6601 i="" 7738 i=""
6602 ;; 7739 ;;
6603 esac 7740 esac
6604 fi 7741 fi
6605 if test -n "$i" ; then 7742 if test -n "$i" ; then
6606 libname=`eval "\\$ECHO \"$libname_spec\""` 7743 libname=`eval "\\$ECHO \"$libname_spec\""`
6607 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` 7744 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
6608 set dummy $deplib_matches; shift 7745 set dummy $deplib_matches; shift
6609 deplib_match=$1 7746 deplib_match=$1
6610 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; the n 7747 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; the n
6611 » » newdeplibs="$newdeplibs $i" 7748 » » func_append newdeplibs " $i"
6612 else 7749 else
6613 droppeddeps=yes 7750 droppeddeps=yes
6614 » » $ECHO 7751 » » echo
6615 $ECHO "*** Warning: dynamic linker does not accept needed library $i." 7752 $ECHO "*** Warning: dynamic linker does not accept needed library $i."
6616 » » $ECHO "*** I have the capability to make that library auto matically link in when" 7753 » » echo "*** I have the capability to make that library autom atically link in when"
6617 » » $ECHO "*** you link to this library. But I can only do th is if you have a" 7754 » » echo "*** you link to this library. But I can only do thi s if you have a"
6618 » » $ECHO "*** shared version of the library, which you do not appear to have" 7755 » » echo "*** shared version of the library, which you do not appear to have"
6619 » » $ECHO "*** because a test_compile did reveal that the link er did not use this one" 7756 » » echo "*** because a test_compile did reveal that the linke r did not use this one"
6620 » » $ECHO "*** as a dynamic dependency that programs can get r esolved with at runtime." 7757 » » echo "*** as a dynamic dependency that programs can get re solved with at runtime."
6621 fi 7758 fi
6622 fi 7759 fi
6623 else 7760 else
6624 droppeddeps=yes 7761 droppeddeps=yes
6625 » » $ECHO 7762 » » echo
6626 $ECHO "*** Warning! Library $i is needed by this library but I was not able to" 7763 $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
6627 » » $ECHO "*** make it link in! You will probably need to install it or some" 7764 » » echo "*** make it link in! You will probably need to install it or some"
6628 » » $ECHO "*** library that it depends on before this library will be fully" 7765 » » echo "*** library that it depends on before this library will be fully"
6629 » » $ECHO "*** functional. Installing it before continuing would be even better." 7766 » » echo "*** functional. Installing it before continuing would b e even better."
6630 fi 7767 fi
6631 ;; 7768 ;;
6632 *) 7769 *)
6633 » » newdeplibs="$newdeplibs $i" 7770 » » func_append newdeplibs " $i"
6634 ;; 7771 ;;
6635 esac 7772 esac
6636 done 7773 done
6637 fi 7774 fi
6638 ;; 7775 ;;
6639 file_magic*) 7776 file_magic*)
6640 set dummy $deplibs_check_method; shift 7777 set dummy $deplibs_check_method; shift
6641 file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` 7778 file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
6642 for a_deplib in $deplibs; do 7779 for a_deplib in $deplibs; do
6643 case $a_deplib in 7780 case $a_deplib in
6644 -l*) 7781 -l*)
6645 func_stripname -l '' "$a_deplib" 7782 func_stripname -l '' "$a_deplib"
6646 name=$func_stripname_result 7783 name=$func_stripname_result
6647 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; the n 7784 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; the n
6648 case " $predeps $postdeps " in 7785 case " $predeps $postdeps " in
6649 *" $a_deplib "*) 7786 *" $a_deplib "*)
6650 » » newdeplibs="$newdeplibs $a_deplib" 7787 » » func_append newdeplibs " $a_deplib"
6651 a_deplib="" 7788 a_deplib=""
6652 ;; 7789 ;;
6653 esac 7790 esac
6654 fi 7791 fi
6655 if test -n "$a_deplib" ; then 7792 if test -n "$a_deplib" ; then
6656 libname=`eval "\\$ECHO \"$libname_spec\""` 7793 libname=`eval "\\$ECHO \"$libname_spec\""`
7794 if test -n "$file_magic_glob"; then
7795 libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_gl ob`
7796 else
7797 libnameglob=$libname
7798 fi
7799 test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob `
6657 for i in $lib_search_path $sys_lib_search_path $shlib_search_pat h; do 7800 for i in $lib_search_path $sys_lib_search_path $shlib_search_pat h; do
6658 » » potential_libs=`ls $i/$libname[.-]* 2>/dev/null` 7801 » » if test "$want_nocaseglob" = yes; then
7802 » » shopt -s nocaseglob
7803 » » potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
7804 » » $nocaseglob
7805 » » else
7806 » » potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
7807 » » fi
6659 for potent_lib in $potential_libs; do 7808 for potent_lib in $potential_libs; do
6660 # Follow soft links. 7809 # Follow soft links.
6661 if ls -lLd "$potent_lib" 2>/dev/null | 7810 if ls -lLd "$potent_lib" 2>/dev/null |
6662 $GREP " -> " >/dev/null; then 7811 $GREP " -> " >/dev/null; then
6663 continue 7812 continue
6664 fi 7813 fi
6665 # The statement above tries to avoid entering an 7814 # The statement above tries to avoid entering an
6666 # endless loop below, in case of cyclic links. 7815 # endless loop below, in case of cyclic links.
6667 # We might still enter an endless loop, since a link 7816 # We might still enter an endless loop, since a link
6668 # loop can be closed while we follow links, 7817 # loop can be closed while we follow links,
6669 # but so what? 7818 # but so what?
6670 potlib="$potent_lib" 7819 potlib="$potent_lib"
6671 while test -h "$potlib" 2>/dev/null; do 7820 while test -h "$potlib" 2>/dev/null; do
6672 potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` 7821 potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
6673 case $potliblink in 7822 case $potliblink in
6674 [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; 7823 [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
6675 » » » *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$po tliblink";; 7824 » » » *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potlibl ink";;
6676 esac 7825 esac
6677 done 7826 done
6678 if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | 7827 if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
6679 $SED -e 10q | 7828 $SED -e 10q |
6680 $EGREP "$file_magic_regex" > /dev/null; then 7829 $EGREP "$file_magic_regex" > /dev/null; then
6681 » » » newdeplibs="$newdeplibs $a_deplib" 7830 » » » func_append newdeplibs " $a_deplib"
6682 a_deplib="" 7831 a_deplib=""
6683 break 2 7832 break 2
6684 fi 7833 fi
6685 done 7834 done
6686 done 7835 done
6687 fi 7836 fi
6688 if test -n "$a_deplib" ; then 7837 if test -n "$a_deplib" ; then
6689 droppeddeps=yes 7838 droppeddeps=yes
6690 » » $ECHO 7839 » » echo
6691 $ECHO "*** Warning: linker path does not have real file for libr ary $a_deplib." 7840 $ECHO "*** Warning: linker path does not have real file for libr ary $a_deplib."
6692 » » $ECHO "*** I have the capability to make that library automatica lly link in when" 7841 » » echo "*** I have the capability to make that library automatical ly link in when"
6693 » » $ECHO "*** you link to this library. But I can only do this if you have a" 7842 » » echo "*** you link to this library. But I can only do this if y ou have a"
6694 » » $ECHO "*** shared version of the library, which you do not appea r to have" 7843 » » echo "*** shared version of the library, which you do not appear to have"
6695 » » $ECHO "*** because I did check the linker path looking for a fil e starting" 7844 » » echo "*** because I did check the linker path looking for a file starting"
6696 if test -z "$potlib" ; then 7845 if test -z "$potlib" ; then
6697 $ECHO "*** with $libname but no candidates were found. (...for file magic test)" 7846 $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
6698 else 7847 else
6699 $ECHO "*** with $libname and none of the candidates passed a f ile format test" 7848 $ECHO "*** with $libname and none of the candidates passed a f ile format test"
6700 $ECHO "*** using a file magic. Last file checked: $potlib" 7849 $ECHO "*** using a file magic. Last file checked: $potlib"
6701 fi 7850 fi
6702 fi 7851 fi
6703 ;; 7852 ;;
6704 *) 7853 *)
6705 # Add a -L argument. 7854 # Add a -L argument.
6706 » newdeplibs="$newdeplibs $a_deplib" 7855 » func_append newdeplibs " $a_deplib"
6707 ;; 7856 ;;
6708 esac 7857 esac
6709 done # Gone through all deplibs. 7858 done # Gone through all deplibs.
6710 ;; 7859 ;;
6711 match_pattern*) 7860 match_pattern*)
6712 set dummy $deplibs_check_method; shift 7861 set dummy $deplibs_check_method; shift
6713 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` 7862 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
6714 for a_deplib in $deplibs; do 7863 for a_deplib in $deplibs; do
6715 case $a_deplib in 7864 case $a_deplib in
6716 -l*) 7865 -l*)
6717 func_stripname -l '' "$a_deplib" 7866 func_stripname -l '' "$a_deplib"
6718 name=$func_stripname_result 7867 name=$func_stripname_result
6719 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; the n 7868 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; the n
6720 case " $predeps $postdeps " in 7869 case " $predeps $postdeps " in
6721 *" $a_deplib "*) 7870 *" $a_deplib "*)
6722 » » newdeplibs="$newdeplibs $a_deplib" 7871 » » func_append newdeplibs " $a_deplib"
6723 a_deplib="" 7872 a_deplib=""
6724 ;; 7873 ;;
6725 esac 7874 esac
6726 fi 7875 fi
6727 if test -n "$a_deplib" ; then 7876 if test -n "$a_deplib" ; then
6728 libname=`eval "\\$ECHO \"$libname_spec\""` 7877 libname=`eval "\\$ECHO \"$libname_spec\""`
6729 for i in $lib_search_path $sys_lib_search_path $shlib_search_pat h; do 7878 for i in $lib_search_path $sys_lib_search_path $shlib_search_pat h; do
6730 potential_libs=`ls $i/$libname[.-]* 2>/dev/null` 7879 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
6731 for potent_lib in $potential_libs; do 7880 for potent_lib in $potential_libs; do
6732 potlib="$potent_lib" # see symlink-check above in file_magic test 7881 potlib="$potent_lib" # see symlink-check above in file_magic test
6733 » » if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ 7882 » » if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
6734 $EGREP "$match_pattern_regex" > /dev/null; then 7883 $EGREP "$match_pattern_regex" > /dev/null; then
6735 » » newdeplibs="$newdeplibs $a_deplib" 7884 » » func_append newdeplibs " $a_deplib"
6736 a_deplib="" 7885 a_deplib=""
6737 break 2 7886 break 2
6738 fi 7887 fi
6739 done 7888 done
6740 done 7889 done
6741 fi 7890 fi
6742 if test -n "$a_deplib" ; then 7891 if test -n "$a_deplib" ; then
6743 droppeddeps=yes 7892 droppeddeps=yes
6744 » » $ECHO 7893 » » echo
6745 $ECHO "*** Warning: linker path does not have real file for libr ary $a_deplib." 7894 $ECHO "*** Warning: linker path does not have real file for libr ary $a_deplib."
6746 » » $ECHO "*** I have the capability to make that library automatica lly link in when" 7895 » » echo "*** I have the capability to make that library automatical ly link in when"
6747 » » $ECHO "*** you link to this library. But I can only do this if you have a" 7896 » » echo "*** you link to this library. But I can only do this if y ou have a"
6748 » » $ECHO "*** shared version of the library, which you do not appea r to have" 7897 » » echo "*** shared version of the library, which you do not appear to have"
6749 » » $ECHO "*** because I did check the linker path looking for a fil e starting" 7898 » » echo "*** because I did check the linker path looking for a file starting"
6750 if test -z "$potlib" ; then 7899 if test -z "$potlib" ; then
6751 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" 7900 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
6752 else 7901 else
6753 $ECHO "*** with $libname and none of the candidates passed a f ile format test" 7902 $ECHO "*** with $libname and none of the candidates passed a f ile format test"
6754 $ECHO "*** using a regex pattern. Last file checked: $potlib" 7903 $ECHO "*** using a regex pattern. Last file checked: $potlib"
6755 fi 7904 fi
6756 fi 7905 fi
6757 ;; 7906 ;;
6758 *) 7907 *)
6759 # Add a -L argument. 7908 # Add a -L argument.
6760 » newdeplibs="$newdeplibs $a_deplib" 7909 » func_append newdeplibs " $a_deplib"
6761 ;; 7910 ;;
6762 esac 7911 esac
6763 done # Gone through all deplibs. 7912 done # Gone through all deplibs.
6764 ;; 7913 ;;
6765 none | unknown | *) 7914 none | unknown | *)
6766 newdeplibs="" 7915 newdeplibs=""
6767 » tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ 7916 » tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
6768 » -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
6769 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then 7917 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6770 for i in $predeps $postdeps ; do 7918 for i in $predeps $postdeps ; do
6771 # can't use Xsed below, because $i might contain '/' 7919 # can't use Xsed below, because $i might contain '/'
6772 » tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"` 7920 » tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
6773 done 7921 done
6774 fi 7922 fi
6775 » if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[» ]//g' | 7923 » case $tmp_deplibs in
6776 » $GREP . >/dev/null; then 7924 » *[!\» \ ]*)
6777 » $ECHO 7925 » echo
6778 if test "X$deplibs_check_method" = "Xnone"; then 7926 if test "X$deplibs_check_method" = "Xnone"; then
6779 » $ECHO "*** Warning: inter-library dependencies are not supported i n this platform." 7927 » echo "*** Warning: inter-library dependencies are not supported in this platform."
6780 else 7928 else
6781 » $ECHO "*** Warning: inter-library dependencies are not known to be supported." 7929 » echo "*** Warning: inter-library dependencies are not known to be supported."
6782 fi 7930 fi
6783 » $ECHO "*** All declared inter-library dependencies are being dropped ." 7931 » echo "*** All declared inter-library dependencies are being dropped. "
6784 droppeddeps=yes 7932 droppeddeps=yes
6785 » fi 7933 » ;;
7934 » esac
6786 ;; 7935 ;;
6787 esac 7936 esac
6788 versuffix=$versuffix_save 7937 versuffix=$versuffix_save
6789 major=$major_save 7938 major=$major_save
6790 release=$release_save 7939 release=$release_save
6791 libname=$libname_save 7940 libname=$libname_save
6792 name=$name_save 7941 name=$name_save
6793 7942
6794 case $host in 7943 case $host in
6795 *-*-rhapsody* | *-*-darwin1.[012]) 7944 *-*-rhapsody* | *-*-darwin1.[012])
6796 # On Rhapsody replace the C library with the System framework 7945 # On Rhapsody replace the C library with the System framework
6797 » newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframew ork /'` 7946 » newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework / '`
6798 ;; 7947 ;;
6799 esac 7948 esac
6800 7949
6801 if test "$droppeddeps" = yes; then 7950 if test "$droppeddeps" = yes; then
6802 if test "$module" = yes; then 7951 if test "$module" = yes; then
6803 » $ECHO 7952 » echo
6804 » $ECHO "*** Warning: libtool could not satisfy all declared inter-lib rary" 7953 » echo "*** Warning: libtool could not satisfy all declared inter-libr ary"
6805 $ECHO "*** dependencies of module $libname. Therefore, libtool will create" 7954 $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
6806 » $ECHO "*** a static module, that should work as long as the dlopenin g" 7955 » echo "*** a static module, that should work as long as the dlopening "
6807 » $ECHO "*** application is linked with the -dlopen flag." 7956 » echo "*** application is linked with the -dlopen flag."
6808 if test -z "$global_symbol_pipe"; then 7957 if test -z "$global_symbol_pipe"; then
6809 » $ECHO 7958 » echo
6810 » $ECHO "*** However, this would only work if libtool was able to ex tract symbol" 7959 » echo "*** However, this would only work if libtool was able to ext ract symbol"
6811 » $ECHO "*** lists from a program, using \`nm' or equivalent, but li btool could" 7960 » echo "*** lists from a program, using \`nm' or equivalent, but lib tool could"
6812 » $ECHO "*** not find such a program. So, this module is probably u seless." 7961 » echo "*** not find such a program. So, this module is probably us eless."
6813 » $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." 7962 » echo "*** \`nm' from GNU binutils and a full rebuild may help."
6814 fi 7963 fi
6815 if test "$build_old_libs" = no; then 7964 if test "$build_old_libs" = no; then
6816 oldlibs="$output_objdir/$libname.$libext" 7965 oldlibs="$output_objdir/$libname.$libext"
6817 build_libtool_libs=module 7966 build_libtool_libs=module
6818 build_old_libs=yes 7967 build_old_libs=yes
6819 else 7968 else
6820 build_libtool_libs=no 7969 build_libtool_libs=no
6821 fi 7970 fi
6822 else 7971 else
6823 » $ECHO "*** The inter-library dependencies that have been dropped her e will be" 7972 » echo "*** The inter-library dependencies that have been dropped here will be"
6824 » $ECHO "*** automatically added whenever a program is linked with thi s library" 7973 » echo "*** automatically added whenever a program is linked with this library"
6825 » $ECHO "*** or is declared to -dlopen it." 7974 » echo "*** or is declared to -dlopen it."
6826 7975
6827 if test "$allow_undefined" = no; then 7976 if test "$allow_undefined" = no; then
6828 » $ECHO 7977 » echo
6829 » $ECHO "*** Since this library must not contain undefined symbols," 7978 » echo "*** Since this library must not contain undefined symbols,"
6830 » $ECHO "*** because either the platform does not support them or" 7979 » echo "*** because either the platform does not support them or"
6831 » $ECHO "*** it was explicitly requested with -no-undefined," 7980 » echo "*** it was explicitly requested with -no-undefined,"
6832 » $ECHO "*** libtool will only create a static version of it." 7981 » echo "*** libtool will only create a static version of it."
6833 if test "$build_old_libs" = no; then 7982 if test "$build_old_libs" = no; then
6834 oldlibs="$output_objdir/$libname.$libext" 7983 oldlibs="$output_objdir/$libname.$libext"
6835 build_libtool_libs=module 7984 build_libtool_libs=module
6836 build_old_libs=yes 7985 build_old_libs=yes
6837 else 7986 else
6838 build_libtool_libs=no 7987 build_libtool_libs=no
6839 fi 7988 fi
6840 fi 7989 fi
6841 fi 7990 fi
6842 fi 7991 fi
6843 # Done checking deplibs! 7992 # Done checking deplibs!
6844 deplibs=$newdeplibs 7993 deplibs=$newdeplibs
6845 fi 7994 fi
6846 # Time to change all our "foo.ltframework" stuff back to "-framework foo" 7995 # Time to change all our "foo.ltframework" stuff back to "-framework foo"
6847 case $host in 7996 case $host in
6848 *-*-darwin*) 7997 *-*-darwin*)
6849 » newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframewor k% -framework \1%g'` 7998 » newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -f ramework \1%g'`
6850 » new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $X sed -e 's% \([^ $]*\).ltframework% -framework \1%g'` 7999 » new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SE D 's% \([^ $]*\).ltframework% -framework \1%g'`
6851 » deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -fr amework \1%g'` 8000 » deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framewo rk \1%g'`
6852 ;; 8001 ;;
6853 esac 8002 esac
6854 8003
6855 # move library search paths that coincide with paths to not yet 8004 # move library search paths that coincide with paths to not yet
6856 # installed libraries to the beginning of the library search list 8005 # installed libraries to the beginning of the library search list
6857 new_libs= 8006 new_libs=
6858 for path in $notinst_path; do 8007 for path in $notinst_path; do
6859 case " $new_libs " in 8008 case " $new_libs " in
6860 *" -L$path/$objdir "*) ;; 8009 *" -L$path/$objdir "*) ;;
6861 *) 8010 *)
6862 case " $deplibs " in 8011 case " $deplibs " in
6863 *" -L$path/$objdir "*) 8012 *" -L$path/$objdir "*)
6864 » new_libs="$new_libs -L$path/$objdir" ;; 8013 » func_append new_libs " -L$path/$objdir" ;;
6865 esac 8014 esac
6866 ;; 8015 ;;
6867 esac 8016 esac
6868 done 8017 done
6869 for deplib in $deplibs; do 8018 for deplib in $deplibs; do
6870 case $deplib in 8019 case $deplib in
6871 -L*) 8020 -L*)
6872 case " $new_libs " in 8021 case " $new_libs " in
6873 *" $deplib "*) ;; 8022 *" $deplib "*) ;;
6874 » *) new_libs="$new_libs $deplib" ;; 8023 » *) func_append new_libs " $deplib" ;;
6875 esac 8024 esac
6876 ;; 8025 ;;
6877 » *) new_libs="$new_libs $deplib" ;; 8026 » *) func_append new_libs " $deplib" ;;
6878 esac 8027 esac
6879 done 8028 done
6880 deplibs="$new_libs" 8029 deplibs="$new_libs"
6881 8030
6882 # All the library-specific variables (install_libdir is set above). 8031 # All the library-specific variables (install_libdir is set above).
6883 library_names= 8032 library_names=
6884 old_library= 8033 old_library=
6885 dlname= 8034 dlname=
6886 8035
6887 # Test again, we may have decided not to build it any more 8036 # Test again, we may have decided not to build it any more
6888 if test "$build_libtool_libs" = yes; then 8037 if test "$build_libtool_libs" = yes; then
8038 # Remove ${wl} instances when linking with ld.
8039 # FIXME: should test the right _cmds variable.
8040 case $archive_cmds in
8041 *\$LD\ *) wl= ;;
8042 esac
6889 if test "$hardcode_into_libs" = yes; then 8043 if test "$hardcode_into_libs" = yes; then
6890 # Hardcode the library paths 8044 # Hardcode the library paths
6891 hardcode_libdirs= 8045 hardcode_libdirs=
6892 dep_rpath= 8046 dep_rpath=
6893 rpath="$finalize_rpath" 8047 rpath="$finalize_rpath"
6894 » test "$mode" != relink && rpath="$compile_rpath$rpath" 8048 » test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
6895 for libdir in $rpath; do 8049 for libdir in $rpath; do
6896 if test -n "$hardcode_libdir_flag_spec"; then 8050 if test -n "$hardcode_libdir_flag_spec"; then
6897 if test -n "$hardcode_libdir_separator"; then 8051 if test -n "$hardcode_libdir_separator"; then
8052 func_replace_sysroot "$libdir"
8053 libdir=$func_replace_sysroot_result
6898 if test -z "$hardcode_libdirs"; then 8054 if test -z "$hardcode_libdirs"; then
6899 hardcode_libdirs="$libdir" 8055 hardcode_libdirs="$libdir"
6900 else 8056 else
6901 # Just accumulate the unique libdirs. 8057 # Just accumulate the unique libdirs.
6902 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libd ir_separator in 8058 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libd ir_separator in
6903 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator" *) 8059 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator" *)
6904 ;; 8060 ;;
6905 *) 8061 *)
6906 » » hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separato r$libdir" 8062 » » func_append hardcode_libdirs "$hardcode_libdir_separator$lib dir"
6907 ;; 8063 ;;
6908 esac 8064 esac
6909 fi 8065 fi
6910 else 8066 else
6911 eval flag=\"$hardcode_libdir_flag_spec\" 8067 eval flag=\"$hardcode_libdir_flag_spec\"
6912 » » dep_rpath="$dep_rpath $flag" 8068 » » func_append dep_rpath " $flag"
6913 fi 8069 fi
6914 elif test -n "$runpath_var"; then 8070 elif test -n "$runpath_var"; then
6915 case "$perm_rpath " in 8071 case "$perm_rpath " in
6916 *" $libdir "*) ;; 8072 *" $libdir "*) ;;
6917 » *) perm_rpath="$perm_rpath $libdir" ;; 8073 » *) func_append perm_rpath " $libdir" ;;
6918 esac 8074 esac
6919 fi 8075 fi
6920 done 8076 done
6921 # Substitute the hardcoded libdirs into the rpath. 8077 # Substitute the hardcoded libdirs into the rpath.
6922 if test -n "$hardcode_libdir_separator" && 8078 if test -n "$hardcode_libdir_separator" &&
6923 test -n "$hardcode_libdirs"; then 8079 test -n "$hardcode_libdirs"; then
6924 libdir="$hardcode_libdirs" 8080 libdir="$hardcode_libdirs"
6925 » if test -n "$hardcode_libdir_flag_spec_ld"; then 8081 » eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
6926 » eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
6927 » else
6928 » eval dep_rpath=\"$hardcode_libdir_flag_spec\"
6929 » fi
6930 fi 8082 fi
6931 if test -n "$runpath_var" && test -n "$perm_rpath"; then 8083 if test -n "$runpath_var" && test -n "$perm_rpath"; then
6932 # We should set the runpath_var. 8084 # We should set the runpath_var.
6933 rpath= 8085 rpath=
6934 for dir in $perm_rpath; do 8086 for dir in $perm_rpath; do
6935 » rpath="$rpath$dir:" 8087 » func_append rpath "$dir:"
6936 done 8088 done
6937 eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" 8089 eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
6938 fi 8090 fi
6939 test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" 8091 test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
6940 fi 8092 fi
6941 8093
6942 shlibpath="$finalize_shlibpath" 8094 shlibpath="$finalize_shlibpath"
6943 » test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" 8095 » test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
6944 if test -n "$shlibpath"; then 8096 if test -n "$shlibpath"; then
6945 eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_v ar" 8097 eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_v ar"
6946 fi 8098 fi
6947 8099
6948 # Get the real and link names of the library. 8100 # Get the real and link names of the library.
6949 eval shared_ext=\"$shrext_cmds\" 8101 eval shared_ext=\"$shrext_cmds\"
6950 eval library_names=\"$library_names_spec\" 8102 eval library_names=\"$library_names_spec\"
6951 set dummy $library_names 8103 set dummy $library_names
6952 shift 8104 shift
6953 realname="$1" 8105 realname="$1"
6954 shift 8106 shift
6955 8107
6956 if test -n "$soname_spec"; then 8108 if test -n "$soname_spec"; then
6957 eval soname=\"$soname_spec\" 8109 eval soname=\"$soname_spec\"
6958 else 8110 else
6959 soname="$realname" 8111 soname="$realname"
6960 fi 8112 fi
6961 if test -z "$dlname"; then 8113 if test -z "$dlname"; then
6962 dlname=$soname 8114 dlname=$soname
6963 fi 8115 fi
6964 8116
6965 lib="$output_objdir/$realname" 8117 lib="$output_objdir/$realname"
6966 linknames= 8118 linknames=
6967 for link 8119 for link
6968 do 8120 do
6969 » linknames="$linknames $link" 8121 » func_append linknames " $link"
6970 done 8122 done
6971 8123
6972 # Use standard objects if they are pic 8124 # Use standard objects if they are pic
6973 » test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$ lo2o" | $NL2SP` 8125 » test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
6974 test "X$libobjs" = "X " && libobjs= 8126 test "X$libobjs" = "X " && libobjs=
6975 8127
6976 delfiles= 8128 delfiles=
6977 if test -n "$export_symbols" && test -n "$include_expsyms"; then 8129 if test -n "$export_symbols" && test -n "$include_expsyms"; then
6978 $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" 8130 $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
6979 export_symbols="$output_objdir/$libname.uexp" 8131 export_symbols="$output_objdir/$libname.uexp"
6980 » delfiles="$delfiles $export_symbols" 8132 » func_append delfiles " $export_symbols"
6981 fi 8133 fi
6982 8134
6983 orig_export_symbols= 8135 orig_export_symbols=
6984 case $host_os in 8136 case $host_os in
6985 cygwin* | mingw* | cegcc*) 8137 cygwin* | mingw* | cegcc*)
6986 if test -n "$export_symbols" && test -z "$export_symbols_regex"; then 8138 if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
6987 # exporting using user supplied symfile 8139 # exporting using user supplied symfile
6988 if test "x`$SED 1q $export_symbols`" != xEXPORTS; then 8140 if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
6989 # and it's NOT already a .def file. Must figure out 8141 # and it's NOT already a .def file. Must figure out
6990 # which of the given symbols are data symbols and tag 8142 # which of the given symbols are data symbols and tag
(...skipping 10 matching lines...) Expand all
7001 esac 8153 esac
7002 8154
7003 # Prepare the list of exported symbols 8155 # Prepare the list of exported symbols
7004 if test -z "$export_symbols"; then 8156 if test -z "$export_symbols"; then
7005 if test "$always_export_symbols" = yes || test -n "$export_symbols_reg ex"; then 8157 if test "$always_export_symbols" = yes || test -n "$export_symbols_reg ex"; then
7006 func_verbose "generating symbol list for \`$libname.la'" 8158 func_verbose "generating symbol list for \`$libname.la'"
7007 export_symbols="$output_objdir/$libname.exp" 8159 export_symbols="$output_objdir/$libname.exp"
7008 $opt_dry_run || $RM $export_symbols 8160 $opt_dry_run || $RM $export_symbols
7009 cmds=$export_symbols_cmds 8161 cmds=$export_symbols_cmds
7010 save_ifs="$IFS"; IFS='~' 8162 save_ifs="$IFS"; IFS='~'
7011 » for cmd in $cmds; do 8163 » for cmd1 in $cmds; do
7012 IFS="$save_ifs" 8164 IFS="$save_ifs"
7013 » eval cmd=\"$cmd\" 8165 » # Take the normal branch if the nm_file_list_spec branch
7014 » func_len " $cmd" 8166 » # doesn't work or if tool conversion is not needed.
7015 » len=$func_len_result 8167 » case $nm_file_list_spec~$to_tool_file_cmd in
7016 » if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; t hen 8168 » » *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
8169 » » try_normal_branch=yes
8170 » » eval cmd=\"$cmd1\"
8171 » » func_len " $cmd"
8172 » » len=$func_len_result
8173 » » ;;
8174 » » *)
8175 » » try_normal_branch=no
8176 » » ;;
8177 » esac
8178 » if test "$try_normal_branch" = yes \
8179 » » && { test "$len" -lt "$max_cmd_len" \
8180 » » || test "$max_cmd_len" -le -1; }
8181 » then
7017 func_show_eval "$cmd" 'exit $?' 8182 func_show_eval "$cmd" 'exit $?'
7018 skipped_export=false 8183 skipped_export=false
8184 elif test -n "$nm_file_list_spec"; then
8185 func_basename "$output"
8186 output_la=$func_basename_result
8187 save_libobjs=$libobjs
8188 save_output=$output
8189 output=${output_objdir}/${output_la}.nm
8190 func_to_tool_file "$output"
8191 libobjs=$nm_file_list_spec$func_to_tool_file_result
8192 func_append delfiles " $output"
8193 func_verbose "creating $NM input file list: $output"
8194 for obj in $save_libobjs; do
8195 func_to_tool_file "$obj"
8196 $ECHO "$func_to_tool_file_result"
8197 done > "$output"
8198 eval cmd=\"$cmd1\"
8199 func_show_eval "$cmd" 'exit $?'
8200 output=$save_output
8201 libobjs=$save_libobjs
8202 skipped_export=false
7019 else 8203 else
7020 # The command line is too long to execute in one step. 8204 # The command line is too long to execute in one step.
7021 func_verbose "using reloadable object file for export list..." 8205 func_verbose "using reloadable object file for export list..."
7022 skipped_export=: 8206 skipped_export=:
7023 # Break out early, otherwise skipped_export may be 8207 # Break out early, otherwise skipped_export may be
7024 # set to false by a later but shorter cmd. 8208 # set to false by a later but shorter cmd.
7025 break 8209 break
7026 fi 8210 fi
7027 done 8211 done
7028 IFS="$save_ifs" 8212 IFS="$save_ifs"
7029 if test -n "$export_symbols_regex" && test "X$skipped_export" != "X: "; then 8213 if test -n "$export_symbols_regex" && test "X$skipped_export" != "X: "; then
7030 func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols " > "${export_symbols}T"' 8214 func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols " > "${export_symbols}T"'
7031 func_show_eval '$MV "${export_symbols}T" "$export_symbols"' 8215 func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
7032 fi 8216 fi
7033 fi 8217 fi
7034 fi 8218 fi
7035 8219
7036 if test -n "$export_symbols" && test -n "$include_expsyms"; then 8220 if test -n "$export_symbols" && test -n "$include_expsyms"; then
7037 tmp_export_symbols="$export_symbols" 8221 tmp_export_symbols="$export_symbols"
7038 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_sym bols" 8222 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_sym bols"
7039 » $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$ tmp_export_symbols"' 8223 » $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_expor t_symbols"'
7040 fi 8224 fi
7041 8225
7042 if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; th en 8226 if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; th en
7043 # The given exports_symbols file has to be filtered, so filter it. 8227 # The given exports_symbols file has to be filtered, so filter it.
7044 func_verbose "filter symbol list for \`$libname.la' to tag DATA export s" 8228 func_verbose "filter symbol list for \`$libname.la' to tag DATA export s"
7045 # FIXME: $output_objdir/$libname.filter potentially contains lots of 8229 # FIXME: $output_objdir/$libname.filter potentially contains lots of
7046 # 's' commands which not all seds can handle. GNU sed should be fine 8230 # 's' commands which not all seds can handle. GNU sed should be fine
7047 # though. Also, the filter scales superlinearly with the number of 8231 # though. Also, the filter scales superlinearly with the number of
7048 # global variables. join(1) would be nice here, but unfortunately 8232 # global variables. join(1) would be nice here, but unfortunately
7049 # isn't a blessed tool. 8233 # isn't a blessed tool.
7050 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2| ,' < $export_symbols > $output_objdir/$libname.filter 8234 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2| ,' < $export_symbols > $output_objdir/$libname.filter
7051 » delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" 8235 » func_append delfiles " $export_symbols $output_objdir/$libname.filter"
7052 export_symbols=$output_objdir/$libname.def 8236 export_symbols=$output_objdir/$libname.def
7053 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_ symbols > $export_symbols 8237 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_ symbols > $export_symbols
7054 fi 8238 fi
7055 8239
7056 tmp_deplibs= 8240 tmp_deplibs=
7057 for test_deplib in $deplibs; do 8241 for test_deplib in $deplibs; do
7058 case " $convenience " in 8242 case " $convenience " in
7059 *" $test_deplib "*) ;; 8243 *" $test_deplib "*) ;;
7060 *) 8244 *)
7061 » tmp_deplibs="$tmp_deplibs $test_deplib" 8245 » func_append tmp_deplibs " $test_deplib"
7062 ;; 8246 ;;
7063 esac 8247 esac
7064 done 8248 done
7065 deplibs="$tmp_deplibs" 8249 deplibs="$tmp_deplibs"
7066 8250
7067 if test -n "$convenience"; then 8251 if test -n "$convenience"; then
7068 if test -n "$whole_archive_flag_spec" && 8252 if test -n "$whole_archive_flag_spec" &&
7069 test "$compiler_needs_object" = yes && 8253 test "$compiler_needs_object" = yes &&
7070 test -z "$libobjs"; then 8254 test -z "$libobjs"; then
7071 # extract the archives, so we have objects to list. 8255 # extract the archives, so we have objects to list.
7072 # TODO: could optimize this to just extract one archive. 8256 # TODO: could optimize this to just extract one archive.
7073 whole_archive_flag_spec= 8257 whole_archive_flag_spec=
7074 fi 8258 fi
7075 if test -n "$whole_archive_flag_spec"; then 8259 if test -n "$whole_archive_flag_spec"; then
7076 save_libobjs=$libobjs 8260 save_libobjs=$libobjs
7077 eval libobjs=\"\$libobjs $whole_archive_flag_spec\" 8261 eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
7078 test "X$libobjs" = "X " && libobjs= 8262 test "X$libobjs" = "X " && libobjs=
7079 else 8263 else
7080 gentop="$output_objdir/${outputname}x" 8264 gentop="$output_objdir/${outputname}x"
7081 » generated="$generated $gentop" 8265 » func_append generated " $gentop"
7082 8266
7083 func_extract_archives $gentop $convenience 8267 func_extract_archives $gentop $convenience
7084 » libobjs="$libobjs $func_extract_archives_result" 8268 » func_append libobjs " $func_extract_archives_result"
7085 test "X$libobjs" = "X " && libobjs= 8269 test "X$libobjs" = "X " && libobjs=
7086 fi 8270 fi
7087 fi 8271 fi
7088 8272
7089 if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then 8273 if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
7090 eval flag=\"$thread_safe_flag_spec\" 8274 eval flag=\"$thread_safe_flag_spec\"
7091 » linker_flags="$linker_flags $flag" 8275 » func_append linker_flags " $flag"
7092 fi 8276 fi
7093 8277
7094 # Make a backup of the uninstalled library when relinking 8278 # Make a backup of the uninstalled library when relinking
7095 » if test "$mode" = relink; then 8279 » if test "$opt_mode" = relink; then
7096 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $r ealname ${realname}U)' || exit $? 8280 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $r ealname ${realname}U)' || exit $?
7097 fi 8281 fi
7098 8282
7099 # Do each of the archive commands. 8283 # Do each of the archive commands.
7100 if test "$module" = yes && test -n "$module_cmds" ; then 8284 if test "$module" = yes && test -n "$module_cmds" ; then
7101 if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then 8285 if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
7102 eval test_cmds=\"$module_expsym_cmds\" 8286 eval test_cmds=\"$module_expsym_cmds\"
7103 cmds=$module_expsym_cmds 8287 cmds=$module_expsym_cmds
7104 else 8288 else
7105 eval test_cmds=\"$module_cmds\" 8289 eval test_cmds=\"$module_cmds\"
(...skipping 24 matching lines...) Expand all
7130 # want to use save_libobjs as it was before 8314 # want to use save_libobjs as it was before
7131 # whole_archive_flag_spec was expanded, because we can't 8315 # whole_archive_flag_spec was expanded, because we can't
7132 # assume the linker understands whole_archive_flag_spec. 8316 # assume the linker understands whole_archive_flag_spec.
7133 # This may have to be revisited, in case too many 8317 # This may have to be revisited, in case too many
7134 # convenience libraries get linked in and end up exceeding 8318 # convenience libraries get linked in and end up exceeding
7135 # the spec. 8319 # the spec.
7136 if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then 8320 if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
7137 save_libobjs=$libobjs 8321 save_libobjs=$libobjs
7138 fi 8322 fi
7139 save_output=$output 8323 save_output=$output
7140 » output_la=`$ECHO "X$output" | $Xsed -e "$basename"` 8324 » func_basename "$output"
8325 » output_la=$func_basename_result
7141 8326
7142 # Clear the reloadable object creation command queue and 8327 # Clear the reloadable object creation command queue and
7143 # initialize k to one. 8328 # initialize k to one.
7144 test_cmds= 8329 test_cmds=
7145 concat_cmds= 8330 concat_cmds=
7146 objlist= 8331 objlist=
7147 last_robj= 8332 last_robj=
7148 k=1 8333 k=1
7149 8334
7150 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then 8335 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
7151 output=${output_objdir}/${output_la}.lnkscript 8336 output=${output_objdir}/${output_la}.lnkscript
7152 func_verbose "creating GNU ld script: $output" 8337 func_verbose "creating GNU ld script: $output"
7153 » $ECHO 'INPUT (' > $output 8338 » echo 'INPUT (' > $output
7154 for obj in $save_libobjs 8339 for obj in $save_libobjs
7155 do 8340 do
7156 » $ECHO "$obj" >> $output 8341 » func_to_tool_file "$obj"
8342 » $ECHO "$func_to_tool_file_result" >> $output
7157 done 8343 done
7158 » $ECHO ')' >> $output 8344 » echo ')' >> $output
7159 » delfiles="$delfiles $output" 8345 » func_append delfiles " $output"
8346 » func_to_tool_file "$output"
8347 » output=$func_to_tool_file_result
7160 elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && tes t "X$file_list_spec" != X; then 8348 elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && tes t "X$file_list_spec" != X; then
7161 output=${output_objdir}/${output_la}.lnk 8349 output=${output_objdir}/${output_la}.lnk
7162 func_verbose "creating linker input file list: $output" 8350 func_verbose "creating linker input file list: $output"
7163 : > $output 8351 : > $output
7164 set x $save_libobjs 8352 set x $save_libobjs
7165 shift 8353 shift
7166 firstobj= 8354 firstobj=
7167 if test "$compiler_needs_object" = yes; then 8355 if test "$compiler_needs_object" = yes; then
7168 firstobj="$1 " 8356 firstobj="$1 "
7169 shift 8357 shift
7170 fi 8358 fi
7171 for obj 8359 for obj
7172 do 8360 do
7173 » $ECHO "$obj" >> $output 8361 » func_to_tool_file "$obj"
8362 » $ECHO "$func_to_tool_file_result" >> $output
7174 done 8363 done
7175 » delfiles="$delfiles $output" 8364 » func_append delfiles " $output"
7176 » output=$firstobj\"$file_list_spec$output\" 8365 » func_to_tool_file "$output"
8366 » output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
7177 else 8367 else
7178 if test -n "$save_libobjs"; then 8368 if test -n "$save_libobjs"; then
7179 func_verbose "creating reloadable object files..." 8369 func_verbose "creating reloadable object files..."
7180 output=$output_objdir/$output_la-${k}.$objext 8370 output=$output_objdir/$output_la-${k}.$objext
7181 eval test_cmds=\"$reload_cmds\" 8371 eval test_cmds=\"$reload_cmds\"
7182 func_len " $test_cmds" 8372 func_len " $test_cmds"
7183 len0=$func_len_result 8373 len0=$func_len_result
7184 len=$len0 8374 len=$len0
7185 8375
7186 # Loop over the list of objects to be linked. 8376 # Loop over the list of objects to be linked.
7187 for obj in $save_libobjs 8377 for obj in $save_libobjs
7188 do 8378 do
7189 func_len " $obj" 8379 func_len " $obj"
7190 func_arith $len + $func_len_result 8380 func_arith $len + $func_len_result
7191 len=$func_arith_result 8381 len=$func_arith_result
7192 if test "X$objlist" = X || 8382 if test "X$objlist" = X ||
7193 test "$len" -lt "$max_cmd_len"; then 8383 test "$len" -lt "$max_cmd_len"; then
7194 func_append objlist " $obj" 8384 func_append objlist " $obj"
7195 else 8385 else
7196 # The command $test_cmds is almost too long, add a 8386 # The command $test_cmds is almost too long, add a
7197 # command to the queue. 8387 # command to the queue.
7198 if test "$k" -eq 1 ; then 8388 if test "$k" -eq 1 ; then
7199 # The first file doesn't have a previous command to add. 8389 # The first file doesn't have a previous command to add.
7200 » » eval concat_cmds=\"$reload_cmds $objlist $last_robj\" 8390 » » reload_objs=$objlist
8391 » » eval concat_cmds=\"$reload_cmds\"
7201 else 8392 else
7202 # All subsequent reloadable object files will link in 8393 # All subsequent reloadable object files will link in
7203 # the last one created. 8394 # the last one created.
7204 » » eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last _robj~\$RM $last_robj\" 8395 » » reload_objs="$objlist $last_robj"
8396 » » eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_rob j\"
7205 fi 8397 fi
7206 last_robj=$output_objdir/$output_la-${k}.$objext 8398 last_robj=$output_objdir/$output_la-${k}.$objext
7207 func_arith $k + 1 8399 func_arith $k + 1
7208 k=$func_arith_result 8400 k=$func_arith_result
7209 output=$output_objdir/$output_la-${k}.$objext 8401 output=$output_objdir/$output_la-${k}.$objext
7210 » » objlist=$obj 8402 » » objlist=" $obj"
7211 func_len " $last_robj" 8403 func_len " $last_robj"
7212 func_arith $len0 + $func_len_result 8404 func_arith $len0 + $func_len_result
7213 len=$func_arith_result 8405 len=$func_arith_result
7214 fi 8406 fi
7215 done 8407 done
7216 # Handle the remaining objects by creating one last 8408 # Handle the remaining objects by creating one last
7217 # reloadable object file. All subsequent reloadable object 8409 # reloadable object file. All subsequent reloadable object
7218 # files will link in the last one created. 8410 # files will link in the last one created.
7219 test -z "$concat_cmds" || concat_cmds=$concat_cmds~ 8411 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
7220 » eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj \" 8412 » reload_objs="$objlist $last_robj"
8413 » eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
7221 if test -n "$last_robj"; then 8414 if test -n "$last_robj"; then
7222 eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" 8415 eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
7223 fi 8416 fi
7224 » delfiles="$delfiles $output" 8417 » func_append delfiles " $output"
7225 8418
7226 else 8419 else
7227 output= 8420 output=
7228 fi 8421 fi
7229 8422
7230 if ${skipped_export-false}; then 8423 if ${skipped_export-false}; then
7231 func_verbose "generating symbol list for \`$libname.la'" 8424 func_verbose "generating symbol list for \`$libname.la'"
7232 export_symbols="$output_objdir/$libname.exp" 8425 export_symbols="$output_objdir/$libname.exp"
7233 $opt_dry_run || $RM $export_symbols 8426 $opt_dry_run || $RM $export_symbols
7234 libobjs=$output 8427 libobjs=$output
(...skipping 13 matching lines...) Expand all
7248 for cmd in $concat_cmds; do 8441 for cmd in $concat_cmds; do
7249 IFS="$save_ifs" 8442 IFS="$save_ifs"
7250 $opt_silent || { 8443 $opt_silent || {
7251 func_quote_for_expand "$cmd" 8444 func_quote_for_expand "$cmd"
7252 eval "func_echo $func_quote_for_expand_result" 8445 eval "func_echo $func_quote_for_expand_result"
7253 } 8446 }
7254 $opt_dry_run || eval "$cmd" || { 8447 $opt_dry_run || eval "$cmd" || {
7255 lt_exit=$? 8448 lt_exit=$?
7256 8449
7257 # Restore the uninstalled library and exit 8450 # Restore the uninstalled library and exit
7258 » » if test "$mode" = relink; then 8451 » » if test "$opt_mode" = relink; then
7259 ( cd "$output_objdir" && \ 8452 ( cd "$output_objdir" && \
7260 $RM "${realname}T" && \ 8453 $RM "${realname}T" && \
7261 $MV "${realname}U" "$realname" ) 8454 $MV "${realname}U" "$realname" )
7262 fi 8455 fi
7263 8456
7264 exit $lt_exit 8457 exit $lt_exit
7265 } 8458 }
7266 done 8459 done
7267 IFS="$save_ifs" 8460 IFS="$save_ifs"
7268 8461
7269 if test -n "$export_symbols_regex" && ${skipped_export-false}; then 8462 if test -n "$export_symbols_regex" && ${skipped_export-false}; then
7270 func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols " > "${export_symbols}T"' 8463 func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols " > "${export_symbols}T"'
7271 func_show_eval '$MV "${export_symbols}T" "$export_symbols"' 8464 func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
7272 fi 8465 fi
7273 fi 8466 fi
7274 8467
7275 if ${skipped_export-false}; then 8468 if ${skipped_export-false}; then
7276 if test -n "$export_symbols" && test -n "$include_expsyms"; then 8469 if test -n "$export_symbols" && test -n "$include_expsyms"; then
7277 tmp_export_symbols="$export_symbols" 8470 tmp_export_symbols="$export_symbols"
7278 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export _symbols" 8471 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export _symbols"
7279 » $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL > > "$tmp_export_symbols"' 8472 » $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_e xport_symbols"'
7280 fi 8473 fi
7281 8474
7282 if test -n "$orig_export_symbols"; then 8475 if test -n "$orig_export_symbols"; then
7283 # The given exports_symbols file has to be filtered, so filter it. 8476 # The given exports_symbols file has to be filtered, so filter it.
7284 func_verbose "filter symbol list for \`$libname.la' to tag DATA ex ports" 8477 func_verbose "filter symbol list for \`$libname.la' to tag DATA ex ports"
7285 # FIXME: $output_objdir/$libname.filter potentially contains lots of 8478 # FIXME: $output_objdir/$libname.filter potentially contains lots of
7286 # 's' commands which not all seds can handle. GNU sed should be fi ne 8479 # 's' commands which not all seds can handle. GNU sed should be fi ne
7287 # though. Also, the filter scales superlinearly with the number of 8480 # though. Also, the filter scales superlinearly with the number of
7288 # global variables. join(1) would be nice here, but unfortunately 8481 # global variables. join(1) would be nice here, but unfortunately
7289 # isn't a blessed tool. 8482 # isn't a blessed tool.
7290 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\ 1\2|,' < $export_symbols > $output_objdir/$libname.filter 8483 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\ 1\2|,' < $export_symbols > $output_objdir/$libname.filter
7291 » delfiles="$delfiles $export_symbols $output_objdir/$libname.filter " 8484 » func_append delfiles " $export_symbols $output_objdir/$libname.fil ter"
7292 export_symbols=$output_objdir/$libname.def 8485 export_symbols=$output_objdir/$libname.def
7293 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_exp ort_symbols > $export_symbols 8486 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_exp ort_symbols > $export_symbols
7294 fi 8487 fi
7295 fi 8488 fi
7296 8489
7297 libobjs=$output 8490 libobjs=$output
7298 # Restore the value of output. 8491 # Restore the value of output.
7299 output=$save_output 8492 output=$save_output
7300 8493
7301 if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then 8494 if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
(...skipping 20 matching lines...) Expand all
7322 fi 8515 fi
7323 8516
7324 if test -n "$delfiles"; then 8517 if test -n "$delfiles"; then
7325 # Append the command to remove temporary files to $cmds. 8518 # Append the command to remove temporary files to $cmds.
7326 eval cmds=\"\$cmds~\$RM $delfiles\" 8519 eval cmds=\"\$cmds~\$RM $delfiles\"
7327 fi 8520 fi
7328 8521
7329 # Add any objects from preloaded convenience libraries 8522 # Add any objects from preloaded convenience libraries
7330 if test -n "$dlprefiles"; then 8523 if test -n "$dlprefiles"; then
7331 gentop="$output_objdir/${outputname}x" 8524 gentop="$output_objdir/${outputname}x"
7332 » generated="$generated $gentop" 8525 » func_append generated " $gentop"
7333 8526
7334 func_extract_archives $gentop $dlprefiles 8527 func_extract_archives $gentop $dlprefiles
7335 » libobjs="$libobjs $func_extract_archives_result" 8528 » func_append libobjs " $func_extract_archives_result"
7336 test "X$libobjs" = "X " && libobjs= 8529 test "X$libobjs" = "X " && libobjs=
7337 fi 8530 fi
7338 8531
7339 save_ifs="$IFS"; IFS='~' 8532 save_ifs="$IFS"; IFS='~'
7340 for cmd in $cmds; do 8533 for cmd in $cmds; do
7341 IFS="$save_ifs" 8534 IFS="$save_ifs"
7342 eval cmd=\"$cmd\" 8535 eval cmd=\"$cmd\"
7343 $opt_silent || { 8536 $opt_silent || {
7344 func_quote_for_expand "$cmd" 8537 func_quote_for_expand "$cmd"
7345 eval "func_echo $func_quote_for_expand_result" 8538 eval "func_echo $func_quote_for_expand_result"
7346 } 8539 }
7347 $opt_dry_run || eval "$cmd" || { 8540 $opt_dry_run || eval "$cmd" || {
7348 lt_exit=$? 8541 lt_exit=$?
7349 8542
7350 # Restore the uninstalled library and exit 8543 # Restore the uninstalled library and exit
7351 » if test "$mode" = relink; then 8544 » if test "$opt_mode" = relink; then
7352 ( cd "$output_objdir" && \ 8545 ( cd "$output_objdir" && \
7353 $RM "${realname}T" && \ 8546 $RM "${realname}T" && \
7354 $MV "${realname}U" "$realname" ) 8547 $MV "${realname}U" "$realname" )
7355 fi 8548 fi
7356 8549
7357 exit $lt_exit 8550 exit $lt_exit
7358 } 8551 }
7359 done 8552 done
7360 IFS="$save_ifs" 8553 IFS="$save_ifs"
7361 8554
7362 # Restore the uninstalled library and exit 8555 # Restore the uninstalled library and exit
7363 » if test "$mode" = relink; then 8556 » if test "$opt_mode" = relink; then
7364 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $r ealname ${realname}T && $MV ${realname}U $realname)' || exit $? 8557 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $r ealname ${realname}T && $MV ${realname}U $realname)' || exit $?
7365 8558
7366 if test -n "$convenience"; then 8559 if test -n "$convenience"; then
7367 if test -z "$whole_archive_flag_spec"; then 8560 if test -z "$whole_archive_flag_spec"; then
7368 func_show_eval '${RM}r "$gentop"' 8561 func_show_eval '${RM}r "$gentop"'
7369 fi 8562 fi
7370 fi 8563 fi
7371 8564
7372 exit $EXIT_SUCCESS 8565 exit $EXIT_SUCCESS
7373 fi 8566 fi
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
7434 reload_conv_objs= 8627 reload_conv_objs=
7435 gentop= 8628 gentop=
7436 # reload_cmds runs $LD directly, so let us get rid of 8629 # reload_cmds runs $LD directly, so let us get rid of
7437 # -Wl from whole_archive_flag_spec and hope we can get by with 8630 # -Wl from whole_archive_flag_spec and hope we can get by with
7438 # turning comma into space.. 8631 # turning comma into space..
7439 wl= 8632 wl=
7440 8633
7441 if test -n "$convenience"; then 8634 if test -n "$convenience"; then
7442 if test -n "$whole_archive_flag_spec"; then 8635 if test -n "$whole_archive_flag_spec"; then
7443 eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" 8636 eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
7444 » reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $X sed -e 's|,| |g'` 8637 » reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SE D 's|,| |g'`
7445 else 8638 else
7446 gentop="$output_objdir/${obj}x" 8639 gentop="$output_objdir/${obj}x"
7447 » generated="$generated $gentop" 8640 » func_append generated " $gentop"
7448 8641
7449 func_extract_archives $gentop $convenience 8642 func_extract_archives $gentop $convenience
7450 reload_conv_objs="$reload_objs $func_extract_archives_result" 8643 reload_conv_objs="$reload_objs $func_extract_archives_result"
7451 fi 8644 fi
7452 fi 8645 fi
7453 8646
8647 # If we're not building shared, we need to use non_pic_objs
8648 test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
8649
7454 # Create the old-style object. 8650 # Create the old-style object.
7455 reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\ .'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### tes tsuite: skip nested quoting test 8651 reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${li bext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip ne sted quoting test
7456 8652
7457 output="$obj" 8653 output="$obj"
7458 func_execute_cmds "$reload_cmds" 'exit $?' 8654 func_execute_cmds "$reload_cmds" 'exit $?'
7459 8655
7460 # Exit if we aren't doing a library object file. 8656 # Exit if we aren't doing a library object file.
7461 if test -z "$libobj"; then 8657 if test -z "$libobj"; then
7462 if test -n "$gentop"; then 8658 if test -n "$gentop"; then
7463 func_show_eval '${RM}r "$gentop"' 8659 func_show_eval '${RM}r "$gentop"'
7464 fi 8660 fi
7465 8661
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
7505 8701
7506 test "$preload" = yes \ 8702 test "$preload" = yes \
7507 && test "$dlopen_support" = unknown \ 8703 && test "$dlopen_support" = unknown \
7508 && test "$dlopen_self" = unknown \ 8704 && test "$dlopen_self" = unknown \
7509 && test "$dlopen_self_static" = unknown && \ 8705 && test "$dlopen_self_static" = unknown && \
7510 func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen suppor t." 8706 func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen suppor t."
7511 8707
7512 case $host in 8708 case $host in
7513 *-*-rhapsody* | *-*-darwin1.[012]) 8709 *-*-rhapsody* | *-*-darwin1.[012])
7514 # On Rhapsody replace the C library is the System framework 8710 # On Rhapsody replace the C library is the System framework
7515 » compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System. ltframework /'` 8711 » compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltfra mework /'`
7516 » finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / Syste m.ltframework /'` 8712 » finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltf ramework /'`
7517 ;; 8713 ;;
7518 esac 8714 esac
7519 8715
7520 case $host in 8716 case $host in
7521 *-*-darwin*) 8717 *-*-darwin*)
7522 # Don't allow lazy linking, it breaks C++ global constructors 8718 # Don't allow lazy linking, it breaks C++ global constructors
7523 # But is supposedly fixed on 10.4 or later (yay!). 8719 # But is supposedly fixed on 10.4 or later (yay!).
7524 if test "$tagname" = CXX ; then 8720 if test "$tagname" = CXX ; then
7525 case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 8721 case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
7526 10.[0123]) 8722 10.[0123])
7527 » compile_command="$compile_command ${wl}-bind_at_load" 8723 » func_append compile_command " ${wl}-bind_at_load"
7528 » finalize_command="$finalize_command ${wl}-bind_at_load" 8724 » func_append finalize_command " ${wl}-bind_at_load"
7529 ;; 8725 ;;
7530 esac 8726 esac
7531 fi 8727 fi
7532 # Time to change all our "foo.ltframework" stuff back to "-framework foo " 8728 # Time to change all our "foo.ltframework" stuff back to "-framework foo "
7533 » compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).lt framework% -framework \1%g'` 8729 » compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframe work% -framework \1%g'`
7534 » finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\). ltframework% -framework \1%g'` 8730 » finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltfra mework% -framework \1%g'`
7535 ;; 8731 ;;
7536 esac 8732 esac
7537 8733
7538 8734
7539 # move library search paths that coincide with paths to not yet 8735 # move library search paths that coincide with paths to not yet
7540 # installed libraries to the beginning of the library search list 8736 # installed libraries to the beginning of the library search list
7541 new_libs= 8737 new_libs=
7542 for path in $notinst_path; do 8738 for path in $notinst_path; do
7543 case " $new_libs " in 8739 case " $new_libs " in
7544 *" -L$path/$objdir "*) ;; 8740 *" -L$path/$objdir "*) ;;
7545 *) 8741 *)
7546 case " $compile_deplibs " in 8742 case " $compile_deplibs " in
7547 *" -L$path/$objdir "*) 8743 *" -L$path/$objdir "*)
7548 » new_libs="$new_libs -L$path/$objdir" ;; 8744 » func_append new_libs " -L$path/$objdir" ;;
7549 esac 8745 esac
7550 ;; 8746 ;;
7551 esac 8747 esac
7552 done 8748 done
7553 for deplib in $compile_deplibs; do 8749 for deplib in $compile_deplibs; do
7554 case $deplib in 8750 case $deplib in
7555 -L*) 8751 -L*)
7556 case " $new_libs " in 8752 case " $new_libs " in
7557 *" $deplib "*) ;; 8753 *" $deplib "*) ;;
7558 » *) new_libs="$new_libs $deplib" ;; 8754 » *) func_append new_libs " $deplib" ;;
7559 esac 8755 esac
7560 ;; 8756 ;;
7561 » *) new_libs="$new_libs $deplib" ;; 8757 » *) func_append new_libs " $deplib" ;;
7562 esac 8758 esac
7563 done 8759 done
7564 compile_deplibs="$new_libs" 8760 compile_deplibs="$new_libs"
7565 8761
7566 8762
7567 compile_command="$compile_command $compile_deplibs" 8763 func_append compile_command " $compile_deplibs"
7568 finalize_command="$finalize_command $finalize_deplibs" 8764 func_append finalize_command " $finalize_deplibs"
7569 8765
7570 if test -n "$rpath$xrpath"; then 8766 if test -n "$rpath$xrpath"; then
7571 # If the user specified any rpath flags, then add them. 8767 # If the user specified any rpath flags, then add them.
7572 for libdir in $rpath $xrpath; do 8768 for libdir in $rpath $xrpath; do
7573 # This is the magic to use -rpath. 8769 # This is the magic to use -rpath.
7574 case "$finalize_rpath " in 8770 case "$finalize_rpath " in
7575 *" $libdir "*) ;; 8771 *" $libdir "*) ;;
7576 » *) finalize_rpath="$finalize_rpath $libdir" ;; 8772 » *) func_append finalize_rpath " $libdir" ;;
7577 esac 8773 esac
7578 done 8774 done
7579 fi 8775 fi
7580 8776
7581 # Now hardcode the library paths 8777 # Now hardcode the library paths
7582 rpath= 8778 rpath=
7583 hardcode_libdirs= 8779 hardcode_libdirs=
7584 for libdir in $compile_rpath $finalize_rpath; do 8780 for libdir in $compile_rpath $finalize_rpath; do
7585 if test -n "$hardcode_libdir_flag_spec"; then 8781 if test -n "$hardcode_libdir_flag_spec"; then
7586 if test -n "$hardcode_libdir_separator"; then 8782 if test -n "$hardcode_libdir_separator"; then
7587 if test -z "$hardcode_libdirs"; then 8783 if test -z "$hardcode_libdirs"; then
7588 hardcode_libdirs="$libdir" 8784 hardcode_libdirs="$libdir"
7589 else 8785 else
7590 # Just accumulate the unique libdirs. 8786 # Just accumulate the unique libdirs.
7591 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_s eparator in 8787 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_s eparator in
7592 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) 8788 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
7593 ;; 8789 ;;
7594 *) 8790 *)
7595 » » hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$li bdir" 8791 » » func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
7596 ;; 8792 ;;
7597 esac 8793 esac
7598 fi 8794 fi
7599 else 8795 else
7600 eval flag=\"$hardcode_libdir_flag_spec\" 8796 eval flag=\"$hardcode_libdir_flag_spec\"
7601 » rpath="$rpath $flag" 8797 » func_append rpath " $flag"
7602 fi 8798 fi
7603 elif test -n "$runpath_var"; then 8799 elif test -n "$runpath_var"; then
7604 case "$perm_rpath " in 8800 case "$perm_rpath " in
7605 *" $libdir "*) ;; 8801 *" $libdir "*) ;;
7606 » *) perm_rpath="$perm_rpath $libdir" ;; 8802 » *) func_append perm_rpath " $libdir" ;;
7607 esac 8803 esac
7608 fi 8804 fi
7609 case $host in 8805 case $host in
7610 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) 8806 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
7611 testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` 8807 testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
7612 case :$dllsearchpath: in 8808 case :$dllsearchpath: in
7613 *":$libdir:"*) ;; 8809 *":$libdir:"*) ;;
7614 ::) dllsearchpath=$libdir;; 8810 ::) dllsearchpath=$libdir;;
7615 » *) dllsearchpath="$dllsearchpath:$libdir";; 8811 » *) func_append dllsearchpath ":$libdir";;
7616 esac 8812 esac
7617 case :$dllsearchpath: in 8813 case :$dllsearchpath: in
7618 *":$testbindir:"*) ;; 8814 *":$testbindir:"*) ;;
7619 ::) dllsearchpath=$testbindir;; 8815 ::) dllsearchpath=$testbindir;;
7620 » *) dllsearchpath="$dllsearchpath:$testbindir";; 8816 » *) func_append dllsearchpath ":$testbindir";;
7621 esac 8817 esac
7622 ;; 8818 ;;
7623 esac 8819 esac
7624 done 8820 done
7625 # Substitute the hardcoded libdirs into the rpath. 8821 # Substitute the hardcoded libdirs into the rpath.
7626 if test -n "$hardcode_libdir_separator" && 8822 if test -n "$hardcode_libdir_separator" &&
7627 test -n "$hardcode_libdirs"; then 8823 test -n "$hardcode_libdirs"; then
7628 libdir="$hardcode_libdirs" 8824 libdir="$hardcode_libdirs"
7629 eval rpath=\" $hardcode_libdir_flag_spec\" 8825 eval rpath=\" $hardcode_libdir_flag_spec\"
7630 fi 8826 fi
7631 compile_rpath="$rpath" 8827 compile_rpath="$rpath"
7632 8828
7633 rpath= 8829 rpath=
7634 hardcode_libdirs= 8830 hardcode_libdirs=
7635 for libdir in $finalize_rpath; do 8831 for libdir in $finalize_rpath; do
7636 if test -n "$hardcode_libdir_flag_spec"; then 8832 if test -n "$hardcode_libdir_flag_spec"; then
7637 if test -n "$hardcode_libdir_separator"; then 8833 if test -n "$hardcode_libdir_separator"; then
7638 if test -z "$hardcode_libdirs"; then 8834 if test -z "$hardcode_libdirs"; then
7639 hardcode_libdirs="$libdir" 8835 hardcode_libdirs="$libdir"
7640 else 8836 else
7641 # Just accumulate the unique libdirs. 8837 # Just accumulate the unique libdirs.
7642 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_s eparator in 8838 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_s eparator in
7643 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) 8839 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
7644 ;; 8840 ;;
7645 *) 8841 *)
7646 » » hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$li bdir" 8842 » » func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
7647 ;; 8843 ;;
7648 esac 8844 esac
7649 fi 8845 fi
7650 else 8846 else
7651 eval flag=\"$hardcode_libdir_flag_spec\" 8847 eval flag=\"$hardcode_libdir_flag_spec\"
7652 » rpath="$rpath $flag" 8848 » func_append rpath " $flag"
7653 fi 8849 fi
7654 elif test -n "$runpath_var"; then 8850 elif test -n "$runpath_var"; then
7655 case "$finalize_perm_rpath " in 8851 case "$finalize_perm_rpath " in
7656 *" $libdir "*) ;; 8852 *" $libdir "*) ;;
7657 » *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; 8853 » *) func_append finalize_perm_rpath " $libdir" ;;
7658 esac 8854 esac
7659 fi 8855 fi
7660 done 8856 done
7661 # Substitute the hardcoded libdirs into the rpath. 8857 # Substitute the hardcoded libdirs into the rpath.
7662 if test -n "$hardcode_libdir_separator" && 8858 if test -n "$hardcode_libdir_separator" &&
7663 test -n "$hardcode_libdirs"; then 8859 test -n "$hardcode_libdirs"; then
7664 libdir="$hardcode_libdirs" 8860 libdir="$hardcode_libdirs"
7665 eval rpath=\" $hardcode_libdir_flag_spec\" 8861 eval rpath=\" $hardcode_libdir_flag_spec\"
7666 fi 8862 fi
7667 finalize_rpath="$rpath" 8863 finalize_rpath="$rpath"
7668 8864
7669 if test -n "$libobjs" && test "$build_old_libs" = yes; then 8865 if test -n "$libobjs" && test "$build_old_libs" = yes; then
7670 # Transform all the library objects into standard objects. 8866 # Transform all the library objects into standard objects.
7671 » compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` 8867 » compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2 SP`
7672 » finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` 8868 » finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $N L2SP`
7673 fi 8869 fi
7674 8870
7675 func_generate_dlsyms "$outputname" "@PROGRAM@" "no" 8871 func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
7676 8872
7677 # template prelinking step 8873 # template prelinking step
7678 if test -n "$prelink_cmds"; then 8874 if test -n "$prelink_cmds"; then
7679 func_execute_cmds "$prelink_cmds" 'exit $?' 8875 func_execute_cmds "$prelink_cmds" 'exit $?'
7680 fi 8876 fi
7681 8877
7682 wrappers_required=yes 8878 wrappers_required=yes
7683 case $host in 8879 case $host in
8880 *cegcc* | *mingw32ce*)
8881 # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
8882 wrappers_required=no
8883 ;;
7684 *cygwin* | *mingw* ) 8884 *cygwin* | *mingw* )
7685 if test "$build_libtool_libs" != yes; then 8885 if test "$build_libtool_libs" != yes; then
7686 wrappers_required=no 8886 wrappers_required=no
7687 fi 8887 fi
7688 ;; 8888 ;;
7689 *cegcc)
7690 # Disable wrappers for cegcc, we are cross compiling anyway.
7691 wrappers_required=no
7692 ;;
7693 *) 8889 *)
7694 if test "$need_relink" = no || test "$build_libtool_libs" != yes; then 8890 if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
7695 wrappers_required=no 8891 wrappers_required=no
7696 fi 8892 fi
7697 ;; 8893 ;;
7698 esac 8894 esac
7699 if test "$wrappers_required" = no; then 8895 if test "$wrappers_required" = no; then
7700 # Replace the output file specification. 8896 # Replace the output file specification.
7701 » compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$out put"'%g'` 8897 » compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"' %g'`
7702 link_command="$compile_command$compile_rpath" 8898 link_command="$compile_command$compile_rpath"
7703 8899
7704 # We have no uninstalled library dependencies, so finalize right now. 8900 # We have no uninstalled library dependencies, so finalize right now.
7705 exit_status=0 8901 exit_status=0
7706 func_show_eval "$link_command" 'exit_status=$?' 8902 func_show_eval "$link_command" 'exit_status=$?'
7707 8903
8904 if test -n "$postlink_cmds"; then
8905 func_to_tool_file "$output"
8906 postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'" $output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
8907 func_execute_cmds "$postlink_cmds" 'exit $?'
8908 fi
8909
7708 # Delete the generated files. 8910 # Delete the generated files.
7709 if test -f "$output_objdir/${outputname}S.${objext}"; then 8911 if test -f "$output_objdir/${outputname}S.${objext}"; then
7710 func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' 8912 func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
7711 fi 8913 fi
7712 8914
7713 exit $exit_status 8915 exit $exit_status
7714 fi 8916 fi
7715 8917
7716 if test -n "$compile_shlibpath$finalize_shlibpath"; then 8918 if test -n "$compile_shlibpath$finalize_shlibpath"; then
7717 compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\ $$shlibpath_var\" $compile_command" 8919 compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\ $$shlibpath_var\" $compile_command"
7718 fi 8920 fi
7719 if test -n "$finalize_shlibpath"; then 8921 if test -n "$finalize_shlibpath"; then
7720 finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" 8922 finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
7721 fi 8923 fi
7722 8924
7723 compile_var= 8925 compile_var=
7724 finalize_var= 8926 finalize_var=
7725 if test -n "$runpath_var"; then 8927 if test -n "$runpath_var"; then
7726 if test -n "$perm_rpath"; then 8928 if test -n "$perm_rpath"; then
7727 # We should set the runpath_var. 8929 # We should set the runpath_var.
7728 rpath= 8930 rpath=
7729 for dir in $perm_rpath; do 8931 for dir in $perm_rpath; do
7730 » rpath="$rpath$dir:" 8932 » func_append rpath "$dir:"
7731 done 8933 done
7732 compile_var="$runpath_var=\"$rpath\$$runpath_var\" " 8934 compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
7733 fi 8935 fi
7734 if test -n "$finalize_perm_rpath"; then 8936 if test -n "$finalize_perm_rpath"; then
7735 # We should set the runpath_var. 8937 # We should set the runpath_var.
7736 rpath= 8938 rpath=
7737 for dir in $finalize_perm_rpath; do 8939 for dir in $finalize_perm_rpath; do
7738 » rpath="$rpath$dir:" 8940 » func_append rpath "$dir:"
7739 done 8941 done
7740 finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " 8942 finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
7741 fi 8943 fi
7742 fi 8944 fi
7743 8945
7744 if test "$no_install" = yes; then 8946 if test "$no_install" = yes; then
7745 # We don't need to create a wrapper script. 8947 # We don't need to create a wrapper script.
7746 link_command="$compile_var$compile_command$compile_rpath" 8948 link_command="$compile_var$compile_command$compile_rpath"
7747 # Replace the output file specification. 8949 # Replace the output file specification.
7748 » link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'% g'` 8950 » link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
7749 # Delete the old output file. 8951 # Delete the old output file.
7750 $opt_dry_run || $RM $output 8952 $opt_dry_run || $RM $output
7751 # Link the executable and exit 8953 # Link the executable and exit
7752 func_show_eval "$link_command" 'exit $?' 8954 func_show_eval "$link_command" 'exit $?'
8955
8956 if test -n "$postlink_cmds"; then
8957 func_to_tool_file "$output"
8958 postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'" $output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
8959 func_execute_cmds "$postlink_cmds" 'exit $?'
8960 fi
8961
7753 exit $EXIT_SUCCESS 8962 exit $EXIT_SUCCESS
7754 fi 8963 fi
7755 8964
7756 if test "$hardcode_action" = relink; then 8965 if test "$hardcode_action" = relink; then
7757 # Fast installation is not supported 8966 # Fast installation is not supported
7758 link_command="$compile_var$compile_command$compile_rpath" 8967 link_command="$compile_var$compile_command$compile_rpath"
7759 relink_command="$finalize_var$finalize_command$finalize_rpath" 8968 relink_command="$finalize_var$finalize_command$finalize_rpath"
7760 8969
7761 func_warning "this platform does not like uninstalled shared libraries" 8970 func_warning "this platform does not like uninstalled shared libraries"
7762 func_warning "\`$output' will be relinked during installation" 8971 func_warning "\`$output' will be relinked during installation"
7763 else 8972 else
7764 if test "$fast_install" != no; then 8973 if test "$fast_install" != no; then
7765 link_command="$finalize_var$compile_command$finalize_rpath" 8974 link_command="$finalize_var$compile_command$finalize_rpath"
7766 if test "$fast_install" = yes; then 8975 if test "$fast_install" = yes; then
7767 » relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` 8976 » relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
7768 else 8977 else
7769 # fast_install is set to needless 8978 # fast_install is set to needless
7770 relink_command= 8979 relink_command=
7771 fi 8980 fi
7772 else 8981 else
7773 link_command="$compile_var$compile_command$compile_rpath" 8982 link_command="$compile_var$compile_command$compile_rpath"
7774 relink_command="$finalize_var$finalize_command$finalize_rpath" 8983 relink_command="$finalize_var$finalize_command$finalize_rpath"
7775 fi 8984 fi
7776 fi 8985 fi
7777 8986
7778 # Replace the output file specification. 8987 # Replace the output file specification.
7779 link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objd ir/$outputname"'%g'` 8988 link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$o utputname"'%g'`
7780 8989
7781 # Delete the old output files. 8990 # Delete the old output files.
7782 $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$ outputname 8991 $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$ outputname
7783 8992
7784 func_show_eval "$link_command" 'exit $?' 8993 func_show_eval "$link_command" 'exit $?'
7785 8994
8995 if test -n "$postlink_cmds"; then
8996 func_to_tool_file "$output_objdir/$outputname"
8997 postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$o utput_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'% g'`
8998 func_execute_cmds "$postlink_cmds" 'exit $?'
8999 fi
9000
7786 # Now create the wrapper script. 9001 # Now create the wrapper script.
7787 func_verbose "creating $output" 9002 func_verbose "creating $output"
7788 9003
7789 # Quote the relink command for shipping. 9004 # Quote the relink command for shipping.
7790 if test -n "$relink_command"; then 9005 if test -n "$relink_command"; then
7791 # Preserve any variables that may affect compiler behavior 9006 # Preserve any variables that may affect compiler behavior
7792 for var in $variables_saved_for_relink; do 9007 for var in $variables_saved_for_relink; do
7793 if eval test -z \"\${$var+set}\"; then 9008 if eval test -z \"\${$var+set}\"; then
7794 relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $v ar=; export $var; }; }; $relink_command" 9009 relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $v ar=; export $var; }; }; $relink_command"
7795 elif eval var_value=\$$var; test -z "$var_value"; then 9010 elif eval var_value=\$$var; test -z "$var_value"; then
7796 relink_command="$var=; export $var; $relink_command" 9011 relink_command="$var=; export $var; $relink_command"
7797 else 9012 else
7798 func_quote_for_eval "$var_value" 9013 func_quote_for_eval "$var_value"
7799 relink_command="$var=$func_quote_for_eval_result; export $var; $reli nk_command" 9014 relink_command="$var=$func_quote_for_eval_result; export $var; $reli nk_command"
7800 fi 9015 fi
7801 done 9016 done
7802 relink_command="(cd `pwd`; $relink_command)" 9017 relink_command="(cd `pwd`; $relink_command)"
7803 » relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` 9018 » relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
7804 fi
7805
7806 # Quote $ECHO for shipping.
7807 if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
7808 » case $progpath in
7809 » [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
7810 » *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
7811 » esac
7812 » qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
7813 else
7814 » qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
7815 fi 9019 fi
7816 9020
7817 # Only actually do things if not in dry run mode. 9021 # Only actually do things if not in dry run mode.
7818 $opt_dry_run || { 9022 $opt_dry_run || {
7819 # win32 will think the script is a binary if it has 9023 # win32 will think the script is a binary if it has
7820 # a .exe suffix, so we strip it off here. 9024 # a .exe suffix, so we strip it off here.
7821 case $output in 9025 case $output in
7822 *.exe) func_stripname '' '.exe' "$output" 9026 *.exe) func_stripname '' '.exe' "$output"
7823 output=$func_stripname_result ;; 9027 output=$func_stripname_result ;;
7824 esac 9028 esac
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
7884 oldobjs="$libobjs_save $symfileobj" 9088 oldobjs="$libobjs_save $symfileobj"
7885 addlibs="$convenience" 9089 addlibs="$convenience"
7886 build_libtool_libs=no 9090 build_libtool_libs=no
7887 else 9091 else
7888 if test "$build_libtool_libs" = module; then 9092 if test "$build_libtool_libs" = module; then
7889 oldobjs="$libobjs_save" 9093 oldobjs="$libobjs_save"
7890 build_libtool_libs=no 9094 build_libtool_libs=no
7891 else 9095 else
7892 oldobjs="$old_deplibs $non_pic_objects" 9096 oldobjs="$old_deplibs $non_pic_objects"
7893 if test "$preload" = yes && test -f "$symfileobj"; then 9097 if test "$preload" = yes && test -f "$symfileobj"; then
7894 » oldobjs="$oldobjs $symfileobj" 9098 » func_append oldobjs " $symfileobj"
7895 fi 9099 fi
7896 fi 9100 fi
7897 addlibs="$old_convenience" 9101 addlibs="$old_convenience"
7898 fi 9102 fi
7899 9103
7900 if test -n "$addlibs"; then 9104 if test -n "$addlibs"; then
7901 gentop="$output_objdir/${outputname}x" 9105 gentop="$output_objdir/${outputname}x"
7902 » generated="$generated $gentop" 9106 » func_append generated " $gentop"
7903 9107
7904 func_extract_archives $gentop $addlibs 9108 func_extract_archives $gentop $addlibs
7905 » oldobjs="$oldobjs $func_extract_archives_result" 9109 » func_append oldobjs " $func_extract_archives_result"
7906 fi 9110 fi
7907 9111
7908 # Do each command in the archive commands. 9112 # Do each command in the archive commands.
7909 if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = ye s; then 9113 if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = ye s; then
7910 cmds=$old_archive_from_new_cmds 9114 cmds=$old_archive_from_new_cmds
7911 else 9115 else
7912 9116
7913 # Add any objects from preloaded convenience libraries 9117 # Add any objects from preloaded convenience libraries
7914 if test -n "$dlprefiles"; then 9118 if test -n "$dlprefiles"; then
7915 gentop="$output_objdir/${outputname}x" 9119 gentop="$output_objdir/${outputname}x"
7916 » generated="$generated $gentop" 9120 » func_append generated " $gentop"
7917 9121
7918 func_extract_archives $gentop $dlprefiles 9122 func_extract_archives $gentop $dlprefiles
7919 » oldobjs="$oldobjs $func_extract_archives_result" 9123 » func_append oldobjs " $func_extract_archives_result"
7920 fi 9124 fi
7921 9125
7922 # POSIX demands no paths to be encoded in archives. We have 9126 # POSIX demands no paths to be encoded in archives. We have
7923 # to avoid creating archives with duplicate basenames if we 9127 # to avoid creating archives with duplicate basenames if we
7924 # might have to extract them afterwards, e.g., when creating a 9128 # might have to extract them afterwards, e.g., when creating a
7925 # static archive out of a convenience library, or when linking 9129 # static archive out of a convenience library, or when linking
7926 # the entirety of a libtool archive into another (currently 9130 # the entirety of a libtool archive into another (currently
7927 # not supported by libtool). 9131 # not supported by libtool).
7928 if (for obj in $oldobjs 9132 if (for obj in $oldobjs
7929 do 9133 do
7930 func_basename "$obj" 9134 func_basename "$obj"
7931 $ECHO "$func_basename_result" 9135 $ECHO "$func_basename_result"
7932 done | sort | sort -uc >/dev/null 2>&1); then 9136 done | sort | sort -uc >/dev/null 2>&1); then
7933 : 9137 :
7934 else 9138 else
7935 » $ECHO "copying selected object files to avoid basename conflicts..." 9139 » echo "copying selected object files to avoid basename conflicts..."
7936 gentop="$output_objdir/${outputname}x" 9140 gentop="$output_objdir/${outputname}x"
7937 » generated="$generated $gentop" 9141 » func_append generated " $gentop"
7938 func_mkdir_p "$gentop" 9142 func_mkdir_p "$gentop"
7939 save_oldobjs=$oldobjs 9143 save_oldobjs=$oldobjs
7940 oldobjs= 9144 oldobjs=
7941 counter=1 9145 counter=1
7942 for obj in $save_oldobjs 9146 for obj in $save_oldobjs
7943 do 9147 do
7944 func_basename "$obj" 9148 func_basename "$obj"
7945 objbase="$func_basename_result" 9149 objbase="$func_basename_result"
7946 case " $oldobjs " in 9150 case " $oldobjs " in
7947 " ") oldobjs=$obj ;; 9151 " ") oldobjs=$obj ;;
7948 *[\ /]"$objbase "*) 9152 *[\ /]"$objbase "*)
7949 while :; do 9153 while :; do
7950 # Make sure we don't pick an alternate name that also 9154 # Make sure we don't pick an alternate name that also
7951 # overlaps. 9155 # overlaps.
7952 newobj=lt$counter-$objbase 9156 newobj=lt$counter-$objbase
7953 func_arith $counter + 1 9157 func_arith $counter + 1
7954 counter=$func_arith_result 9158 counter=$func_arith_result
7955 case " $oldobjs " in 9159 case " $oldobjs " in
7956 *[\ /]"$newobj "*) ;; 9160 *[\ /]"$newobj "*) ;;
7957 *) if test ! -f "$gentop/$newobj"; then break; fi ;; 9161 *) if test ! -f "$gentop/$newobj"; then break; fi ;;
7958 esac 9162 esac
7959 done 9163 done
7960 func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj " 9164 func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj "
7961 » oldobjs="$oldobjs $gentop/$newobj" 9165 » func_append oldobjs " $gentop/$newobj"
7962 ;; 9166 ;;
7963 » *) oldobjs="$oldobjs $obj" ;; 9167 » *) func_append oldobjs " $obj" ;;
7964 esac 9168 esac
7965 done 9169 done
7966 fi 9170 fi
9171 func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
9172 tool_oldlib=$func_to_tool_file_result
7967 eval cmds=\"$old_archive_cmds\" 9173 eval cmds=\"$old_archive_cmds\"
7968 9174
7969 func_len " $cmds" 9175 func_len " $cmds"
7970 len=$func_len_result 9176 len=$func_len_result
7971 if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then 9177 if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
7972 cmds=$old_archive_cmds 9178 cmds=$old_archive_cmds
9179 elif test -n "$archiver_list_spec"; then
9180 func_verbose "using command file archive linking..."
9181 for obj in $oldobjs
9182 do
9183 func_to_tool_file "$obj"
9184 $ECHO "$func_to_tool_file_result"
9185 done > $output_objdir/$libname.libcmd
9186 func_to_tool_file "$output_objdir/$libname.libcmd"
9187 oldobjs=" $archiver_list_spec$func_to_tool_file_result"
9188 cmds=$old_archive_cmds
7973 else 9189 else
7974 # the command line is too long to link in one step, link in parts 9190 # the command line is too long to link in one step, link in parts
7975 func_verbose "using piecewise archive linking..." 9191 func_verbose "using piecewise archive linking..."
7976 save_RANLIB=$RANLIB 9192 save_RANLIB=$RANLIB
7977 RANLIB=: 9193 RANLIB=:
7978 objlist= 9194 objlist=
7979 concat_cmds= 9195 concat_cmds=
7980 save_oldobjs=$oldobjs 9196 save_oldobjs=$oldobjs
7981 oldobjs= 9197 oldobjs=
7982 # Is there a better way of finding the last object in the list? 9198 # Is there a better way of finding the last object in the list?
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
8036 relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var =; export $var; }; }; $relink_command" 9252 relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var =; export $var; }; }; $relink_command"
8037 elif eval var_value=\$$var; test -z "$var_value"; then 9253 elif eval var_value=\$$var; test -z "$var_value"; then
8038 relink_command="$var=; export $var; $relink_command" 9254 relink_command="$var=; export $var; $relink_command"
8039 else 9255 else
8040 func_quote_for_eval "$var_value" 9256 func_quote_for_eval "$var_value"
8041 relink_command="$var=$func_quote_for_eval_result; export $var; $relink _command" 9257 relink_command="$var=$func_quote_for_eval_result; export $var; $relink _command"
8042 fi 9258 fi
8043 done 9259 done
8044 # Quote the link command for shipping. 9260 # Quote the link command for shipping.
8045 relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $ libtool_args @inst_prefix_dir@)" 9261 relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $ libtool_args @inst_prefix_dir@)"
8046 relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` 9262 relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
8047 if test "$hardcode_automatic" = yes ; then 9263 if test "$hardcode_automatic" = yes ; then
8048 relink_command= 9264 relink_command=
8049 fi 9265 fi
8050 9266
8051 # Only create the output if not a dry run. 9267 # Only create the output if not a dry run.
8052 $opt_dry_run || { 9268 $opt_dry_run || {
8053 for installed in no yes; do 9269 for installed in no yes; do
8054 if test "$installed" = yes; then 9270 if test "$installed" = yes; then
8055 if test -z "$install_libdir"; then 9271 if test -z "$install_libdir"; then
8056 break 9272 break
8057 fi 9273 fi
8058 output="$output_objdir/$outputname"i 9274 output="$output_objdir/$outputname"i
8059 # Replace all uninstalled libtool libraries with the installed ones 9275 # Replace all uninstalled libtool libraries with the installed ones
8060 newdependency_libs= 9276 newdependency_libs=
8061 for deplib in $dependency_libs; do 9277 for deplib in $dependency_libs; do
8062 case $deplib in 9278 case $deplib in
8063 *.la) 9279 *.la)
8064 func_basename "$deplib" 9280 func_basename "$deplib"
8065 name="$func_basename_result" 9281 name="$func_basename_result"
8066 » » eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` 9282 » » func_resolve_sysroot "$deplib"
9283 » » eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve _sysroot_result`
8067 test -z "$libdir" && \ 9284 test -z "$libdir" && \
8068 func_fatal_error "\`$deplib' is not a valid libtool archive" 9285 func_fatal_error "\`$deplib' is not a valid libtool archive"
8069 » » if test "x$EGREP" = x ; then 9286 » » func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
8070 » » » EGREP=egrep
8071 » » fi
8072 » » # We do not want portage's install root ($D) present. Check onl y for
8073 » » # this if the .la is being installed.
8074 » » if test "$installed" = yes && test "$D"; then
8075 » » eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/ :g" -e 's:/\+:/:g'`
8076 » » else
8077 » » mynewdependency_lib="$libdir/$name"
8078 » » fi
8079 » » # Do not add duplicates
8080 » » if test "$mynewdependency_lib"; then
8081 » » my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$m ynewdependency_lib"`
8082 » » if test -z "$my_little_ninja_foo_1"; then
8083 » » newdependency_libs="$newdependency_libs $mynewdependency_lib "
8084 » » fi
8085 » » fi
8086 ;; 9287 ;;
8087 » » *) 9288 » -L*)
8088 » » if test "$installed" = yes; then 9289 » » func_stripname -L '' "$deplib"
8089 » » # Rather use S=WORKDIR if our version of portage supports it. 9290 » » func_replace_sysroot "$func_stripname_result"
8090 » » # This is because some ebuild (gcc) do not use $S as buildroot . 9291 » » func_append newdependency_libs " -L$func_replace_sysroot_result"
8091 » » if test "$PWORKDIR"; then
8092 » » S="$PWORKDIR"
8093 » » fi
8094 » » # We do not want portage's build root ($S) present.
8095 » » my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"`
8096 » » # We do not want portage's install root ($D) present.
8097 » » my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"`
8098 » » if test -n "$my_little_ninja_foo_2" && test "$S"; then
8099 » » mynewdependency_lib=""
8100 » » elif test -n "$my_little_ninja_foo_3" && test "$D"; then
8101 » » eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'`
8102 » » else
8103 » » mynewdependency_lib="$deplib"
8104 » » fi
8105 » » else
8106 » » mynewdependency_lib="$deplib"
8107 » » fi
8108 » » # Do not add duplicates
8109 » » if test "$mynewdependency_lib"; then
8110 » » my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$m ynewdependency_lib"`
8111 » » if test -z "$my_little_ninja_foo_4"; then
8112 » » » newdependency_libs="$newdependency_libs $mynewdependency _lib"
8113 » » fi
8114 » » fi
8115 ;; 9292 ;;
9293 -R*)
9294 func_stripname -R '' "$deplib"
9295 func_replace_sysroot "$func_stripname_result"
9296 func_append newdependency_libs " -R$func_replace_sysroot_result"
9297 ;;
9298 *) func_append newdependency_libs " $deplib" ;;
8116 esac 9299 esac
8117 done 9300 done
8118 dependency_libs="$newdependency_libs" 9301 dependency_libs="$newdependency_libs"
8119 newdlfiles= 9302 newdlfiles=
8120 9303
8121 for lib in $dlfiles; do 9304 for lib in $dlfiles; do
8122 case $lib in 9305 case $lib in
8123 *.la) 9306 *.la)
8124 func_basename "$lib" 9307 func_basename "$lib"
8125 name="$func_basename_result" 9308 name="$func_basename_result"
8126 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` 9309 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
8127 test -z "$libdir" && \ 9310 test -z "$libdir" && \
8128 func_fatal_error "\`$lib' is not a valid libtool archive" 9311 func_fatal_error "\`$lib' is not a valid libtool archive"
8129 » » newdlfiles="$newdlfiles $libdir/$name" 9312 » » func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
8130 ;; 9313 ;;
8131 » *) newdlfiles="$newdlfiles $lib" ;; 9314 » *) func_append newdlfiles " $lib" ;;
8132 esac 9315 esac
8133 done 9316 done
8134 dlfiles="$newdlfiles" 9317 dlfiles="$newdlfiles"
8135 newdlprefiles= 9318 newdlprefiles=
8136 for lib in $dlprefiles; do 9319 for lib in $dlprefiles; do
8137 case $lib in 9320 case $lib in
8138 *.la) 9321 *.la)
8139 # Only pass preopened files to the pseudo-archive (for 9322 # Only pass preopened files to the pseudo-archive (for
8140 # eventual linking with the app. that links it) if we 9323 # eventual linking with the app. that links it) if we
8141 # didn't already link the preopened objects directly into 9324 # didn't already link the preopened objects directly into
8142 # the library: 9325 # the library:
8143 func_basename "$lib" 9326 func_basename "$lib"
8144 name="$func_basename_result" 9327 name="$func_basename_result"
8145 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` 9328 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
8146 test -z "$libdir" && \ 9329 test -z "$libdir" && \
8147 func_fatal_error "\`$lib' is not a valid libtool archive" 9330 func_fatal_error "\`$lib' is not a valid libtool archive"
8148 » » newdlprefiles="$newdlprefiles $libdir/$name" 9331 » » func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
8149 ;; 9332 ;;
8150 esac 9333 esac
8151 done 9334 done
8152 dlprefiles="$newdlprefiles" 9335 dlprefiles="$newdlprefiles"
8153 else 9336 else
8154 newdlfiles= 9337 newdlfiles=
8155 for lib in $dlfiles; do 9338 for lib in $dlfiles; do
8156 case $lib in 9339 case $lib in
8157 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; 9340 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
8158 *) abs=`pwd`"/$lib" ;; 9341 *) abs=`pwd`"/$lib" ;;
8159 esac 9342 esac
8160 » newdlfiles="$newdlfiles $abs" 9343 » func_append newdlfiles " $abs"
8161 done 9344 done
8162 dlfiles="$newdlfiles" 9345 dlfiles="$newdlfiles"
8163 newdlprefiles= 9346 newdlprefiles=
8164 for lib in $dlprefiles; do 9347 for lib in $dlprefiles; do
8165 case $lib in 9348 case $lib in
8166 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; 9349 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
8167 *) abs=`pwd`"/$lib" ;; 9350 *) abs=`pwd`"/$lib" ;;
8168 esac 9351 esac
8169 » newdlprefiles="$newdlprefiles $abs" 9352 » func_append newdlprefiles " $abs"
8170 done 9353 done
8171 dlprefiles="$newdlprefiles" 9354 dlprefiles="$newdlprefiles"
8172 fi 9355 fi
8173 $RM $output 9356 $RM $output
8174 # place dlname in correct position for cygwin 9357 # place dlname in correct position for cygwin
9358 # In fact, it would be nice if we could use this code for all target
9359 # systems that can't hard-code library paths into their executables
9360 # and that have no shared library path variable independent of PATH,
9361 # but it turns out we can't easily determine that from inspecting
9362 # libtool variables, so we have to hard-code the OSs to which it
9363 # applies here; at the moment, that means platforms that use the PE
9364 # object format with DLL files. See the long comment at the top of
9365 # tests/bindir.at for full details.
8175 tdlname=$dlname 9366 tdlname=$dlname
8176 case $host,$output,$installed,$module,$dlname in 9367 case $host,$output,$installed,$module,$dlname in
8177 » *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*la i,yes,no,*.dll) tdlname=../bin/$dlname ;; 9368 » *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*la i,yes,no,*.dll)
9369 » # If a -bindir argument was supplied, place the dll there.
9370 » if test "x$bindir" != x ;
9371 » then
9372 » » func_relative_path "$install_libdir" "$bindir"
9373 » » tdlname=$func_relative_path_result$dlname
9374 » else
9375 » » # Otherwise fall back on heuristic.
9376 » » tdlname=../bin/$dlname
9377 » fi
9378 » ;;
8178 esac 9379 esac
8179 # Do not add duplicates
8180 if test "$installed" = yes && test "$D"; then
8181 install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+: /:g'`
8182 fi
8183 $ECHO > $output "\ 9380 $ECHO > $output "\
8184 # $outputname - a libtool library file 9381 # $outputname - a libtool library file
8185 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION 9382 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
8186 # 9383 #
8187 # Please DO NOT delete this file! 9384 # Please DO NOT delete this file!
8188 # It is necessary for linking the library. 9385 # It is necessary for linking the library.
8189 9386
8190 # The name that we can dlopen(3). 9387 # The name that we can dlopen(3).
8191 dlname='$tdlname' 9388 dlname='$tdlname'
8192 9389
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
8230 } 9427 }
8231 9428
8232 # Do a symbolic link so that the libtool archive can be found in 9429 # Do a symbolic link so that the libtool archive can be found in
8233 # LD_LIBRARY_PATH before the program is installed. 9430 # LD_LIBRARY_PATH before the program is installed.
8234 func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$o utputname" "$outputname" )' 'exit $?' 9431 func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$o utputname" "$outputname" )' 'exit $?'
8235 ;; 9432 ;;
8236 esac 9433 esac
8237 exit $EXIT_SUCCESS 9434 exit $EXIT_SUCCESS
8238 } 9435 }
8239 9436
8240 { test "$mode" = link || test "$mode" = relink; } && 9437 { test "$opt_mode" = link || test "$opt_mode" = relink; } &&
8241 func_mode_link ${1+"$@"} 9438 func_mode_link ${1+"$@"}
8242 9439
8243 9440
8244 # func_mode_uninstall arg... 9441 # func_mode_uninstall arg...
8245 func_mode_uninstall () 9442 func_mode_uninstall ()
8246 { 9443 {
8247 $opt_debug 9444 $opt_debug
8248 RM="$nonopt" 9445 RM="$nonopt"
8249 files= 9446 files=
8250 rmforce= 9447 rmforce=
8251 exit_status=0 9448 exit_status=0
8252 9449
8253 # This variable tells wrapper scripts just to set variables rather 9450 # This variable tells wrapper scripts just to set variables rather
8254 # than running their programs. 9451 # than running their programs.
8255 libtool_install_magic="$magic" 9452 libtool_install_magic="$magic"
8256 9453
8257 for arg 9454 for arg
8258 do 9455 do
8259 case $arg in 9456 case $arg in
8260 -f) RM="$RM $arg"; rmforce=yes ;; 9457 -f) func_append RM " $arg"; rmforce=yes ;;
8261 -*) RM="$RM $arg" ;; 9458 -*) func_append RM " $arg" ;;
8262 *) files="$files $arg" ;; 9459 *) func_append files " $arg" ;;
8263 esac 9460 esac
8264 done 9461 done
8265 9462
8266 test -z "$RM" && \ 9463 test -z "$RM" && \
8267 func_fatal_help "you must specify an RM program" 9464 func_fatal_help "you must specify an RM program"
8268 9465
8269 rmdirs= 9466 rmdirs=
8270 9467
8271 origobjdir="$objdir"
8272 for file in $files; do 9468 for file in $files; do
8273 func_dirname "$file" "" "." 9469 func_dirname "$file" "" "."
8274 dir="$func_dirname_result" 9470 dir="$func_dirname_result"
8275 if test "X$dir" = X.; then 9471 if test "X$dir" = X.; then
8276 » objdir="$origobjdir" 9472 » odir="$objdir"
8277 else 9473 else
8278 » objdir="$dir/$origobjdir" 9474 » odir="$dir/$objdir"
8279 fi 9475 fi
8280 func_basename "$file" 9476 func_basename "$file"
8281 name="$func_basename_result" 9477 name="$func_basename_result"
8282 test "$mode" = uninstall && objdir="$dir" 9478 test "$opt_mode" = uninstall && odir="$dir"
8283 9479
8284 # Remember objdir for removal later, being careful to avoid duplicates 9480 # Remember odir for removal later, being careful to avoid duplicates
8285 if test "$mode" = clean; then 9481 if test "$opt_mode" = clean; then
8286 case " $rmdirs " in 9482 case " $rmdirs " in
8287 » *" $objdir "*) ;; 9483 » *" $odir "*) ;;
8288 » *) rmdirs="$rmdirs $objdir" ;; 9484 » *) func_append rmdirs " $odir" ;;
8289 esac 9485 esac
8290 fi 9486 fi
8291 9487
8292 # Don't error if the file doesn't exist and rm -f was used. 9488 # Don't error if the file doesn't exist and rm -f was used.
8293 if { test -L "$file"; } >/dev/null 2>&1 || 9489 if { test -L "$file"; } >/dev/null 2>&1 ||
8294 { test -h "$file"; } >/dev/null 2>&1 || 9490 { test -h "$file"; } >/dev/null 2>&1 ||
8295 test -f "$file"; then 9491 test -f "$file"; then
8296 : 9492 :
8297 elif test -d "$file"; then 9493 elif test -d "$file"; then
8298 exit_status=1 9494 exit_status=1
8299 continue 9495 continue
8300 elif test "$rmforce" = yes; then 9496 elif test "$rmforce" = yes; then
8301 continue 9497 continue
8302 fi 9498 fi
8303 9499
8304 rmfiles="$file" 9500 rmfiles="$file"
8305 9501
8306 case $name in 9502 case $name in
8307 *.la) 9503 *.la)
8308 # Possibly a libtool archive, so verify it. 9504 # Possibly a libtool archive, so verify it.
8309 if func_lalib_p "$file"; then 9505 if func_lalib_p "$file"; then
8310 func_source $dir/$name 9506 func_source $dir/$name
8311 9507
8312 # Delete the libtool libraries and symlinks. 9508 # Delete the libtool libraries and symlinks.
8313 for n in $library_names; do 9509 for n in $library_names; do
8314 » rmfiles="$rmfiles $objdir/$n" 9510 » func_append rmfiles " $odir/$n"
8315 done 9511 done
8316 » test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" 9512 » test -n "$old_library" && func_append rmfiles " $odir/$old_library"
8317 9513
8318 » case "$mode" in 9514 » case "$opt_mode" in
8319 clean) 9515 clean)
8320 » case " $library_names " in 9516 » case " $library_names " in
8321 » # " " in the beginning catches empty $dlname
8322 *" $dlname "*) ;; 9517 *" $dlname "*) ;;
8323 » *) rmfiles="$rmfiles $objdir/$dlname" ;; 9518 » *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
8324 esac 9519 esac
8325 » test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name} i" 9520 » test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name} i"
8326 ;; 9521 ;;
8327 uninstall) 9522 uninstall)
8328 if test -n "$library_names"; then 9523 if test -n "$library_names"; then
8329 # Do each command in the postuninstall commands. 9524 # Do each command in the postuninstall commands.
8330 func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' 9525 func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
8331 fi 9526 fi
8332 9527
8333 if test -n "$old_library"; then 9528 if test -n "$old_library"; then
8334 # Do each command in the old_postuninstall commands. 9529 # Do each command in the old_postuninstall commands.
8335 func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' 9530 func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
8336 fi 9531 fi
8337 # FIXME: should reinstall the best remaining shared library. 9532 # FIXME: should reinstall the best remaining shared library.
8338 ;; 9533 ;;
8339 esac 9534 esac
8340 fi 9535 fi
8341 ;; 9536 ;;
8342 9537
8343 *.lo) 9538 *.lo)
8344 # Possibly a libtool object, so verify it. 9539 # Possibly a libtool object, so verify it.
8345 if func_lalib_p "$file"; then 9540 if func_lalib_p "$file"; then
8346 9541
8347 # Read the .lo file 9542 # Read the .lo file
8348 func_source $dir/$name 9543 func_source $dir/$name
8349 9544
8350 # Add PIC object to the list of files to remove. 9545 # Add PIC object to the list of files to remove.
8351 if test -n "$pic_object" && 9546 if test -n "$pic_object" &&
8352 test "$pic_object" != none; then 9547 test "$pic_object" != none; then
8353 » rmfiles="$rmfiles $dir/$pic_object" 9548 » func_append rmfiles " $dir/$pic_object"
8354 fi 9549 fi
8355 9550
8356 # Add non-PIC object to the list of files to remove. 9551 # Add non-PIC object to the list of files to remove.
8357 if test -n "$non_pic_object" && 9552 if test -n "$non_pic_object" &&
8358 test "$non_pic_object" != none; then 9553 test "$non_pic_object" != none; then
8359 » rmfiles="$rmfiles $dir/$non_pic_object" 9554 » func_append rmfiles " $dir/$non_pic_object"
8360 fi 9555 fi
8361 fi 9556 fi
8362 ;; 9557 ;;
8363 9558
8364 *) 9559 *)
8365 » if test "$mode" = clean ; then 9560 » if test "$opt_mode" = clean ; then
8366 noexename=$name 9561 noexename=$name
8367 case $file in 9562 case $file in
8368 *.exe) 9563 *.exe)
8369 func_stripname '' '.exe' "$file" 9564 func_stripname '' '.exe' "$file"
8370 file=$func_stripname_result 9565 file=$func_stripname_result
8371 func_stripname '' '.exe' "$name" 9566 func_stripname '' '.exe' "$name"
8372 noexename=$func_stripname_result 9567 noexename=$func_stripname_result
8373 # $file with .exe has already been added to rmfiles, 9568 # $file with .exe has already been added to rmfiles,
8374 # add $file without .exe 9569 # add $file without .exe
8375 » rmfiles="$rmfiles $file" 9570 » func_append rmfiles " $file"
8376 ;; 9571 ;;
8377 esac 9572 esac
8378 # Do a test to see if this is a libtool program. 9573 # Do a test to see if this is a libtool program.
8379 if func_ltwrapper_p "$file"; then 9574 if func_ltwrapper_p "$file"; then
8380 if func_ltwrapper_executable_p "$file"; then 9575 if func_ltwrapper_executable_p "$file"; then
8381 func_ltwrapper_scriptname "$file" 9576 func_ltwrapper_scriptname "$file"
8382 relink_command= 9577 relink_command=
8383 func_source $func_ltwrapper_scriptname_result 9578 func_source $func_ltwrapper_scriptname_result
8384 » rmfiles="$rmfiles $func_ltwrapper_scriptname_result" 9579 » func_append rmfiles " $func_ltwrapper_scriptname_result"
8385 else 9580 else
8386 relink_command= 9581 relink_command=
8387 func_source $dir/$noexename 9582 func_source $dir/$noexename
8388 fi 9583 fi
8389 9584
8390 # note $name still contains .exe if it was in $file originally 9585 # note $name still contains .exe if it was in $file originally
8391 # as does the version of $file that was added into $rmfiles 9586 # as does the version of $file that was added into $rmfiles
8392 » rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" 9587 » func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
8393 if test "$fast_install" = yes && test -n "$relink_command"; then 9588 if test "$fast_install" = yes && test -n "$relink_command"; then
8394 » rmfiles="$rmfiles $objdir/lt-$name" 9589 » func_append rmfiles " $odir/lt-$name"
8395 fi 9590 fi
8396 if test "X$noexename" != "X$name" ; then 9591 if test "X$noexename" != "X$name" ; then
8397 » rmfiles="$rmfiles $objdir/lt-${noexename}.c" 9592 » func_append rmfiles " $odir/lt-${noexename}.c"
8398 fi 9593 fi
8399 fi 9594 fi
8400 fi 9595 fi
8401 ;; 9596 ;;
8402 esac 9597 esac
8403 func_show_eval "$RM $rmfiles" 'exit_status=1' 9598 func_show_eval "$RM $rmfiles" 'exit_status=1'
8404 done 9599 done
8405 objdir="$origobjdir"
8406 9600
8407 # Try to remove the ${objdir}s in the directories where we deleted files 9601 # Try to remove the ${objdir}s in the directories where we deleted files
8408 for dir in $rmdirs; do 9602 for dir in $rmdirs; do
8409 if test -d "$dir"; then 9603 if test -d "$dir"; then
8410 func_show_eval "rmdir $dir >/dev/null 2>&1" 9604 func_show_eval "rmdir $dir >/dev/null 2>&1"
8411 fi 9605 fi
8412 done 9606 done
8413 9607
8414 exit $exit_status 9608 exit $exit_status
8415 } 9609 }
8416 9610
8417 { test "$mode" = uninstall || test "$mode" = clean; } && 9611 { test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
8418 func_mode_uninstall ${1+"$@"} 9612 func_mode_uninstall ${1+"$@"}
8419 9613
8420 test -z "$mode" && { 9614 test -z "$opt_mode" && {
8421 help="$generic_help" 9615 help="$generic_help"
8422 func_fatal_help "you must specify a MODE" 9616 func_fatal_help "you must specify a MODE"
8423 } 9617 }
8424 9618
8425 test -z "$exec_cmd" && \ 9619 test -z "$exec_cmd" && \
8426 func_fatal_help "invalid operation mode \`$mode'" 9620 func_fatal_help "invalid operation mode \`$opt_mode'"
8427 9621
8428 if test -n "$exec_cmd"; then 9622 if test -n "$exec_cmd"; then
8429 eval exec "$exec_cmd" 9623 eval exec "$exec_cmd"
8430 exit $EXIT_FAILURE 9624 exit $EXIT_FAILURE
8431 fi 9625 fi
8432 9626
8433 exit $exit_status 9627 exit $exit_status
8434 9628
8435 9629
8436 # The TAGs below are defined such that we never get into a situation 9630 # The TAGs below are defined such that we never get into a situation
(...skipping 15 matching lines...) Expand all
8452 # ### BEGIN LIBTOOL TAG CONFIG: disable-static 9646 # ### BEGIN LIBTOOL TAG CONFIG: disable-static
8453 build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` 9647 build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
8454 # ### END LIBTOOL TAG CONFIG: disable-static 9648 # ### END LIBTOOL TAG CONFIG: disable-static
8455 9649
8456 # Local Variables: 9650 # Local Variables:
8457 # mode:shell-script 9651 # mode:shell-script
8458 # sh-indentation:2 9652 # sh-indentation:2
8459 # End: 9653 # End:
8460 # vi:sw=2 9654 # vi:sw=2
8461 9655
OLDNEW
« no previous file with comments | « third_party/sqlite/sqlite-src-3080704/autoconf/install-sh ('k') | third_party/sqlite/sqlite-src-3080704/autoconf/missing » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698