/[gentoo-x86]/eclass/libtool.eclass
Gentoo

Diff of /eclass/libtool.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.9 Revision 1.38
1#!/bin/bash 1# Copyright 1999-2004 Gentoo Foundation
2# Copyright 1999-2002 Gentoo Technologies, Inc.
3# Distributed under the terms of the GNU General Public License, v2 or later 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/libtool.eclass,v 1.38 2004/10/20 14:25:02 vapier Exp $
4#
4# Author: Martin Schlemmer <azarah@gentoo.org> 5# Author: Martin Schlemmer <azarah@gentoo.org>
5# $Header: /var/cvsroot/gentoo-x86/eclass/libtool.eclass,v 1.9 2002/06/26 22:38:07 azarah Exp $ 6#
6# This eclass patches ltmain.sh distributed with libtoolized packages with the 7# This eclass patches ltmain.sh distributed with libtoolized packages with the
7# relink and portage patch 8# relink and portage patch among others
9
8ECLASS=libtool 10ECLASS="libtool"
9newdepend sys-devel/libtool 11INHERITED="${INHERITED} ${ECLASS}"
12
13# 2004.09.25 rac
14# i have verified that at least one package can use this eclass and
15# build properly even without libtool installed yet, probably using
16# the files in the distribution. eliminating this dependency fixes
17# bug 65209, which is a showstopper for people doing installs using
18# stageballs <3. if anybody decides to revert this, please attempt
19# to find an alternate way of resolving that bug at the same time.
20
21#DEPEND="!bootstrap? ( sys-devel/libtool )"
10 22
11DESCRIPTION="Based on the ${ECLASS} eclass" 23DESCRIPTION="Based on the ${ECLASS} eclass"
12 24
13ELIBTOOL_VERSION=1.8.1 25ELIBTOOL_VERSION="2.0.1"
26
27
28ELT_PATCH_DIR="${PORTDIR}/eclass/ELT-patches"
29ELT_APPLIED_PATCHES=
30
31#
32# Returns all the directories containing ltmain.sh
33#
34ELT_find_ltmain_sh() {
35 local x=
36 local dirlist=
37
38 for x in $(find "${S}" -name 'ltmain.sh')
39 do
40 dirlist="${dirlist} ${x%/*}"
41 done
42
43 echo "${dirlist}"
44}
45
46#
47# See if we can apply $2 on $1, and if so, do it
48#
49ELT_try_and_apply_patch() {
50 local ret=0
51 local patch="$2"
52
53 # We only support patchlevel of 0 - why worry if its static patches?
54 if patch -p0 --dry-run $1 < ${patch} &>${T}/elibtool.log
55 then
56 einfo " Applying $(basename "$(dirname "${patch}")")-${patch##*/}.patch ..."
57 patch -p0 $1 < ${patch} &>${T}/elibtool.log
58 ret=$?
59 export ELT_APPLIED_PATCHES="${ELT_APPLIED_PATCHES} ${patch##*/}"
60 else
61 ret=1
62 fi
63
64 return ${ret}
65}
66
67#
68# Run through the patches in $2 and see if any
69# apply to $1 ...
70#
71ELT_walk_patches() {
72 local x=
73 local y=
74 local ret=1
75 local patch_dir=
76
77 if [ -n "$2" ]
78 then
79 if [ -d "${ELT_PATCH_DIR}/$2" ]
80 then
81 patch_dir="${ELT_PATCH_DIR}/$2"
82 else
83 return ${ret}
84 fi
85
86 for x in $(ls -d "${patch_dir}"/* 2>/dev/null)
87 do
88 if [ -n "${x}" -a -f "${x}" ]
89 then
90 # For --remove-internal-dep ...
91 if [ -n "$3" ]
92 then
93 # For replace @REM_INT_DEP@ with what was passed
94 # to --remove-internal-dep
95 sed -e "s|@REM_INT_DEP@|$3|g" ${x} > \
96 ${T}/$$.rem_int_deps.patch
97
98 x="${T}/$$.rem_int_deps.patch"
99 fi
100
101 if ELT_try_and_apply_patch "$1" "${x}"
102 then
103 ret=0
104 break
105 fi
106 fi
107 done
108 fi
109
110 return ${ret}
111}
14 112
15elibtoolize() { 113elibtoolize() {
16
17 local x="" 114 local x=
18 local y="" 115 local y=
19 local dopatch="no"
20 local dotest="yes"
21 local dorelink="yes"
22 local dotmp="yes"
23 local doportage="yes"
24 local portage="no" 116 local do_portage="no"
117 local do_reversedeps="no"
118 local do_only_patches="no"
119 local deptoremove=
25 local mylist="" 120 local my_dirlist=
121 local elt_patches="portage relink max_cmd_len sed test tmp"
122 local start_dir="${PWD}"
26 123
27 mylist="$(find_ltmain)" 124 my_dirlist="$(ELT_find_ltmain_sh)"
28 # Only apply portage patch, and dont "libtoolize --copy --force" 125
29 # if all patches fail.
30 for x in ${*} 126 for x in "$@"
31 do 127 do
32 if [ "${x}" = "--portage" ] 128 case "${x}" in
33 then 129 "--portage")
130 # Only apply portage patch, and don't
131 # 'libtoolize --copy --force' if all patches fail.
34 portage="yes" 132 do_portage="yes"
35 fi 133 ;;
134 "--reverse-deps")
135 # Apply the reverse-deps patch
136 # http://bugzilla.gnome.org/show_bug.cgi?id=75635
137 do_reversedeps="yes"
138 elt_patches="${elt_patches} fix-relink"
139 ;;
140 "--patch-only")
141 # Do not run libtoolize if none of the patches apply ..
142 do_only_patches="yes"
143 ;;
144 "^--remove-internal-dep="*)
145 # We will replace @REM_INT_DEP@ with what is needed
146 # in ELT_walk_patches() ...
147 deptoremove="$(echo "${x}" | sed -e 's|--remove-internal-dep=||')"
148
149 # Add the patch for this ...
150 [ -n "${deptoremove}" ] && elt_patches="${elt_patches} rem-int-dep"
151 ;;
152 "--shallow")
36 # Only patch the ltmain.sh in ${S} 153 # Only patch the ltmain.sh in ${S}
37 if [ "${x}" = "--shallow" ]
38 then
39 if [ -f ${S}/ltmain.sh ] 154 if [ -f "${S}/ltmain.sh" ]
40 then 155 then
41 mylist="${S}" 156 my_dirlist="${S}"
42 else 157 else
43 mylist="" 158 my_dirlist=
44 fi 159 fi
45 else 160 ;;
46 mylist="$(find_ltmain)" 161 esac
162 done
163
164 if use ppc-macos ; then
165 glibtoolize --copy --force
166 darwintoolize
47 fi 167 fi
48 done
49 168
50 for x in ${mylist} 169 for x in ${my_dirlist}
51 do 170 do
171 local tmp="$(echo "${x}" | sed -e "s|${S}||")"
172 export ELT_APPLIED_PATCHES=
173
52 cd ${x} 174 cd ${x}
53 einfo "Working directory: ${x}..." 175 einfo "Patching \${S}$(echo "/${tmp}/ltmain.sh" | sed -e 's|//|/|g') ..."
54 dopatch="yes"
55 dotest="yes"
56 dorelink="yes"
57 dotmp="yes"
58 doportage="yes"
59 176
60 for y in test_patch relink_patch tmp_patch portage_patch 177 for y in ${elt_patches}
61 do 178 do
62 if ! eval ${y} --test $>${T}/libtool.foo 179 local ret=0
180
181 case "${y}" in
182 "rem-int-dep")
183 ELT_walk_patches "${x}/ltmain.sh" "${y}" "${deptoremove}"
184 ret=$?
185 ;;
186 "fix-relink")
187 # Do not apply if we do not have the relink patch applied ...
188 if [ -n "$(grep 'inst_prefix_dir' "${x}/ltmain.sh")" ]
189 then
190 ELT_walk_patches "${x}/ltmain.sh" "${y}"
191 ret=$?
192 fi
193 ;;
194 "max_cmd_len")
195 # Do not apply if $max_cmd_len is not used ...
196 if [ -n "$(grep 'max_cmd_len' "${x}/ltmain.sh")" ]
197 then
198 ELT_walk_patches "${x}/ltmain.sh" "${y}"
199 ret=$?
200 fi
201 ;;
202 *)
203 ELT_walk_patches "${x}/ltmain.sh" "${y}"
204 ret=$?
205 ;;
206 esac
207
208 if [ "${ret}" -ne 0 ]
63 then 209 then
64 case ${y} in 210 case ${y} in
65 test_patch)
66 # non critical patch
67 dotest="no"
68 ;;
69 relink_patch) 211 "relink")
70 # critical patch, but could be applied 212 # Critical patch, but could be applied ...
71 if [ -z "$(grep -e "inst_prefix_dir" ltmain.sh)" ] && \ 213 if [ -z "$(grep 'inst_prefix_dir' "${x}/ltmain.sh")" ]
72 [ "${portage}" = "no" ]
73 then 214 then
74 dopatch="no" 215 ewarn " Could not apply relink.patch!"
75 fi
76 dorelink="no"
77 ;;
78 tmp_patch)
79 # non critical patch
80 dotmp="no"
81 ;;
82 portage_patch)
83 # critical patch
84 if [ "${portage}" = "yes" ]
85 then
86 echo
87 eerror "Portage patch requested, but failed to apply!"
88 die
89 fi
90 dopatch="no"
91 doportage="no"
92 ;;
93 esac
94 fi
95 done
96
97 for y in test_patch relink_patch tmp_patch portage_patch
98 do
99 if [ "${dopatch}" = "yes" ]
100 then
101 case ${y} in
102 test_patch)
103 if [ "${dotest}" = "no" ]
104 then
105 continue
106 fi 216 fi
107 ;; 217 ;;
108 relink_patch) 218 "portage")
219 # Critical patch - for this one we abort, as it can really
220 # cause breakage without it applied!
109 if [ "${dorelink}" = "no" ] 221 if [ "${do_portage}" = "yes" ]
110 then 222 then
111 continue 223 # Stupid test to see if its already applied ...
112 fi 224 if [ -z "$(grep 'We do not want portage' "${x}/ltmain.sh")" ]
113 ;;
114 tmp_patch)
115 if [ "${dotmp}" = "no" ]
116 then 225 then
117 continue 226 echo
227 eerror "Portage patch requested, but failed to apply!"
228 die "Portage patch requested, but failed to apply!"
118 fi 229 fi
119 ;; 230 else
120 portage_patch) 231 ewarn " Could not apply portage.patch!"
121 if [ "${doportage}" = "no" ] 232 ewarn " Please verify that it is not needed."
122 then
123 continue
124 fi 233 fi
125 ;; 234 ;;
126 esac 235 esac
127 236 fi
128 einfo "Applying libtool-${y/_patch/}.patch..." 237
129 eval ${y} $>${T}/libtool.foo 238 if [ -z "${ELT_APPLIED_PATCHES}" ]
130 elif [ "${portage}" = "no" ]
131 then 239 then
240 if [ "${do_portage}" = "no" -a \
241 "${do_reversedeps}" = "no" -a \
242 "${do_only_patches}" = "no" -a \
243 "${deptoremove}" = "" ]
244 then
245 # Sometimes ltmain.sh is in a subdirectory ...
246 if [ ! -f ${x}/configure.in -a ! -f ${x}/configure.ac ]
247 then
248 if [ -f ${x}/../configure.in -o -f ${x}/../configure.ac ]
249 then
250 cd ${x}/../
251 fi
252 fi
253
254 if which libtoolize &>/dev/null
255 then
256 ewarn "Cannot apply any patch, running libtoolize..."
132 libtoolize --copy --force 257 libtoolize --copy --force
258 fi
259 cd ${x}
133 break 260 break
261 fi
134 fi 262 fi
135 done 263 done
136 done 264 done
137 265
138 if [ -f libtool ] 266 if [ -f libtool ]
139 then 267 then
140 rm -f libtool 268 rm -f libtool
141 fi 269 fi
142 270
143 # We need to change the pwd back to $S, as we may be called in 271 cd "${start_dir}"
144 # src_compile()
145 cd ${S}
146}
147 272
148# 273 uclibctoolize
149# Returns all the directories containing ltmain.sh 274}
150# 275
151find_ltmain() { 276uclibctoolize() {
152 277 [ -e "${WORKDIR}/.uclibcpatched" ] && return 0
278
279 local targets=""
153 local x="" 280 local x
154 local dirlist=""
155 281
156 for x in $(find ${S} -name 'ltmain.sh') 282 if [ -z "$@" ] ; then
157 do 283 targets="$(find ${S} -name configure -o -name ltconfig)"
158 dirlist="${dirlist} ${x%/*}"
159 done
160
161 echo "${dirlist}"
162}
163
164#
165# Various patches we want to apply.
166#
167# Contains: portage_patch
168# relink_patch
169# test_patch
170#
171portage_patch() {
172
173 local opts=""
174
175 if [ "${1}" = "--test" ]
176 then
177 opts="--force --dry-run"
178 fi 284 fi
179 285
180 patch ${opts} -p0 <<-"ENDPATCH" 286 einfo "Applying uClibc/libtool patches ..."
181 --- ltmain.sh.orig Wed Apr 3 01:19:37 2002 287 for x in ${targets} ; do
182 +++ ltmain.sh Sun May 26 19:50:52 2002 288 [ ! -s "${x}" ] && continue
183 @@ -3940,9 +3940,41 @@ 289 case $(basename "${x}") in
184 $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 290 configure)
185 exit 1 291 if grep 'Transform linux' "${x}" >/dev/null ; then
186 fi 292 ebegin " Fixing \${S}${x/${S}}"
187 - newdependency_libs="$newdependency_libs $libdir/$name" 293 patch -p0 "${x}" "${ELT_PATCH_DIR}/uclibc/configure.patch" > /dev/null
188 + # We do not want portage's install root ($D) present. Check only for 294 eend $? "PLEASE CHECK ${x}"
189 + # this if the .la is being installed.
190 + if test "$installed" = yes && test "$D"; then
191 + mynewdependency_lib="`echo "$libdir/$name" |sed -e "s:$D::g" -e 's://:/:g'`"
192 + else
193 + mynewdependency_lib="$libdir/$name"
194 + fi
195 + # Do not add duplicates
196 + if test "$mynewdependency_lib"; then
197 + if test -z "`echo $newdependency_libs |grep -e "$mynewdependency_lib"`"; then
198 + newdependency_libs="$newdependency_libs $mynewdependency_lib"
199 + fi
200 + fi
201 + ;;
202 + *)
203 + if test "$installed" = yes; then
204 + # We do not want portage's build root ($S) present.
205 + if test -n "`echo $deplib |grep -e "$S"`" && test "$S"; then
206 + newdependency_libs=""
207 + # We do not want portage's install root ($D) present.
208 + elif test -n "`echo $deplib |grep -e "$D"`" && test "$D"; then
209 + mynewdependency_lib="`echo "$deplib" |sed -e "s:$D::g" -e 's://:/:g'`"
210 + else
211 + mynewdependency_lib="$deplib"
212 + fi
213 + else
214 + mynewdependency_lib="$deplib"
215 + fi
216 + # Do not add duplicates
217 + if test "$mynewdependency_lib"; then
218 + if test -z "`echo $newdependency_libs |grep -e "$mynewdependency_lib"`"; then
219 + newdependency_libs="$newdependency_libs $mynewdependency_lib"
220 + fi
221 + fi
222 ;;
223 - *) newdependency_libs="$newdependency_libs $deplib" ;;
224 esac
225 done
226 dependency_libs="$newdependency_libs"
227 @@ -3975,6 +4005,10 @@
228 case $host,$output,$installed,$module,$dlname in
229 *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
230 esac
231 + # Do not add duplicates
232 + if test "$installed" = yes && test "$D"; then
233 + install_libdir="`echo "$install_libdir" |sed -e "s:$D::g" -e 's://:/:g'`"
234 + fi
235 $echo > $output "\
236 # $outputname - a libtool library file
237 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
238 ENDPATCH
239}
240
241relink_patch() {
242
243 local opts=""
244 local retval=0
245
246 if [ "${1}" = "--test" ]
247 then
248 opts="--force --dry-run"
249 fi
250
251 patch ${opts} -p0 <<-"ENDPATCH"
252 --- ltmain.sh Sun Aug 12 18:08:05 2001
253 +++ ltmain-relinkable.sh Tue Aug 28 18:55:13 2001
254 @@ -827,6 +827,7 @@
255 linker_flags=
256 dllsearchpath=
257 lib_search_path=`pwd`
258 + inst_prefix_dir=
259
260 avoid_version=no
261 dlfiles=
262 @@ -959,6 +960,11 @@
263 prev=
264 continue
265 ;;
266 + inst_prefix)
267 + inst_prefix_dir="$arg"
268 + prev=
269 + continue
270 + ;;
271 release)
272 release="-$arg"
273 prev=
274 @@ -1167,6 +1173,11 @@
275 continue
276 ;;
277
278 + -inst-prefix-dir)
279 + prev=inst_prefix
280 + continue
281 + ;;
282 +
283 # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
284 # so, if we see these flags be careful not to treat them like -L
285 -L[A-Z][A-Z]*:*)
286 @@ -2231,7 +2242,16 @@
287 if test "$hardcode_direct" = yes; then
288 add="$libdir/$linklib"
289 elif test "$hardcode_minus_L" = yes; then
290 - add_dir="-L$libdir"
291 + # Try looking first in the location we're being installed to.
292 + add_dir=
293 + if test -n "$inst_prefix_dir"; then
294 + case "$libdir" in
295 + [\\/]*)
296 + add_dir="-L$inst_prefix_dir$libdir"
297 + ;;
298 + esac
299 + fi
300 + add_dir="$add_dir -L$libdir"
301 add="-l$name"
302 elif test "$hardcode_shlibpath_var" = yes; then
303 case :$finalize_shlibpath: in
304 @@ -2241,7 +2261,16 @@
305 add="-l$name"
306 else
307 # We cannot seem to hardcode it, guess we'll fake it.
308 - add_dir="-L$libdir"
309 + # Try looking first in the location we're being installed to.
310 + add_dir=
311 + if test -n "$inst_prefix_dir"; then
312 + case "$libdir" in
313 + [\\/]*)
314 + add_dir="-L$inst_prefix_dir$libdir"
315 + ;;
316 + esac
317 + fi
318 + add_dir="$add_dir -L$libdir"
319 add="-l$name"
320 fi
321
322 @@ -4622,12 +4651,30 @@
323 dir="$dir$objdir"
324
325 if test -n "$relink_command"; then
326 + # Determine the prefix the user has applied to our future dir.
327 + inst_prefix_dir=`$echo "$destdir" | sed "s%$libdir\$%%"`
328 +
329 + # Don't allow the user to place us outside of our expected
330 + # location b/c this prevents finding dependent libraries that
331 + # are installed to the same prefix.
332 + if test "$inst_prefix_dir" = "$destdir"; then
333 + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
334 + exit 1
335 + fi
336 +
337 + if test -n "$inst_prefix_dir"; then
338 + # Stick the inst_prefix_dir data into the link command.
339 + relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
340 + else
341 + relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%%"`
342 + fi
343 +
344 $echo "$modename: warning: relinking \`$file'" 1>&2
345 $show "$relink_command"
346 if $run eval "$relink_command"; then :
347 else
348 $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
349 - continue
350 + exit 1
351 fi
352 fi 295 fi
353
354 ENDPATCH
355
356 retval=$?
357
358 # This one dont apply clean to libtool-1.4.2a, so do it manually.
359 if [ "${1}" != "--test" ] && [ "${retval}" -eq 0 ]
360 then
361 cp ltmain.sh ltmain.sh.orig
362 sed -e 's:cd `pwd`; $SHELL $0 --mode=relink $libtool_args:cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@:' \
363 ltmain.sh.orig > ltmain.sh
364 rm -f ltmain.sh.orig
365 fi
366
367 return ${retval}
368}
369
370tmp_patch() {
371
372 local opts=""
373
374 if [ "${1}" = "--test" ]
375 then
376 opts="--force --dry-run"
377 fi
378
379 patch ${opts} -p0 <<-"ENDPATCH"
380 --- ltmain.sh Sun Aug 12 18:08:05 2001
381 +++ ltmain-relinkable.sh Tue Aug 28 18:55:13 2001
382 @@ -4782,7 +4829,11 @@
383 if test "$finalize" = yes && test -z "$run"; then
384 tmpdir="/tmp"
385 test -n "$TMPDIR" && tmpdir="$TMPDIR"
386 - tmpdir="$tmpdir/libtool-$$"
387 + tmpdir=`mktemp -d $tmpdir/libtool-XXXXXX 2> /dev/null`
388 + if test $? = 0 ; then :
389 + else
390 + tmpdir="$tmpdir/libtool-$$"
391 + fi
392 if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
393 else
394 $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
395 ENDPATCH
396}
397
398test_patch() {
399
400 local opts=""
401
402 if [ "${1}" = "--test" ]
403 then
404 opts="--force --dry-run"
405 fi
406
407 patch ${opts} -p0 <<-"ENDPATCH"
408 --- ./ltmain.sh Tue May 29 19:16:03 2001
409 +++ ./ltmain.sh Tue May 29 21:26:50 2001
410 @@ -459,7 +459,7 @@
411 pic_mode=default
412 ;;
413 esac
414 - if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then
415 + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
416 # non-PIC code in shared libraries is not supported
417 pic_mode=default
418 fi
419 @@ -1343,7 +1343,7 @@
420 ;; 296 ;;
421 esac 297
422 for pass in $passes; do 298 ltconfig)
423 - if test $linkmode = prog; then 299 local ver="$(grep '^VERSION=' ${x})"
424 + if test "$linkmode" = prog; then 300 ver="${ver/VERSION=}"
425 # Determine which files to process 301 [ "${ver:0:3}" == "1.4" ] && ver="1.3" # 1.4 and 1.3 are compat
426 case $pass in 302 ebegin " Fixing \${S}${x/${S}}"
427 dlopen) 303 patch -p0 "${x}" "${ELT_PATCH_DIR}/uclibc/ltconfig-${ver:0:3}.patch" > /dev/null
428 @@ -1360,11 +1360,11 @@ 304 eend $? "PLEASE CHECK ${x}"
429 found=no 305 ;;
430 case $deplib in 306 esac
431 -l*) 307 done
432 - if test $linkmode = oldlib && test $linkmode = obj; then 308}
433 + if test "$linkmode" = oldlib && test "$linkmode" = obj; then 309
434 $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2 310darwintoolize() {
435 continue 311 local targets=""
436 fi 312 local x
437 - if test $pass = conv; then 313
438 + if test "$pass" = conv; then 314 if [ -z "$@" ] ; then
439 deplibs="$deplib $deplibs" 315 targets="$(find ${S} -name ltmain.sh -o -name ltconfig)"
440 continue 316 fi
441 fi 317
442 @@ -1384,7 +1384,7 @@ 318 einfo "Applying Darwin/libtool patches ..."
443 finalize_deplibs="$deplib $finalize_deplibs" 319 for x in ${targets} ; do
444 else 320 [ ! -s "${x}" ] && continue
445 deplibs="$deplib $deplibs" 321 case $(basename "${x}") in
446 - test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs" 322 ltmain.sh|ltconfig)
447 + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" 323 local ver="$(grep '^VERSION=' ${x})"
448 fi 324 ver="${ver/VERSION=}"
449 continue 325 if [ "${ver:0:3}" == "1.4" -o "${ver:0:3}" == "1.5" ];
450 fi 326 then
451 @@ -1393,16 +1393,16 @@ 327 ver="1.3" # 1.4, 1.5 and 1.3 are compat
452 case $linkmode in
453 lib)
454 deplibs="$deplib $deplibs"
455 - test $pass = conv && continue
456 + test "$pass" = conv && continue
457 newdependency_libs="$deplib $newdependency_libs"
458 newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
459 ;;
460 prog)
461 - if test $pass = conv; then
462 + if test "$pass" = conv; then
463 deplibs="$deplib $deplibs"
464 continue
465 fi
466 - if test $pass = scan; then
467 + if test "$pass" = scan; then
468 deplibs="$deplib $deplibs"
469 newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
470 else
471 @@ -1417,7 +1417,7 @@
472 continue
473 ;; # -L
474 -R*)
475 - if test $pass = link; then
476 + if test "$pass" = link; then
477 dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
478 # Make sure the xrpath contains only unique directories.
479 case "$xrpath " in
480 @@ -1430,7 +1430,7 @@
481 ;;
482 *.la) lib="$deplib" ;;
483 *.$libext)
484 - if test $pass = conv; then
485 + if test "$pass" = conv; then
486 deplibs="$deplib $deplibs"
487 continue
488 fi
489 @@ -1451,7 +1451,7 @@
490 continue
491 ;;
492 prog)
493 - if test $pass != link; then
494 + if test "$pass" != link; then
495 deplibs="$deplib $deplibs"
496 else
497 compile_deplibs="$deplib $compile_deplibs"
498 @@ -1462,7 +1462,7 @@
499 esac # linkmode
500 ;; # *.$libext
501 *.lo | *.$objext)
502 - if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
503 + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
504 # If there is no dlopen support or we're linking statically,
505 # we need to preload.
506 newdlprefiles="$newdlprefiles $deplib"
507 @@ -1512,13 +1512,13 @@
508
509 if test "$linkmode,$pass" = "lib,link" ||
510 test "$linkmode,$pass" = "prog,scan" ||
511 - { test $linkmode = oldlib && test $linkmode = obj; }; then
512 + { test "$linkmode" = oldlib && test "$linkmode" = obj; }; then
513 # Add dl[pre]opened files of deplib
514 test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
515 test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
516 fi 328 fi
517 329
518 - if test $pass = conv; then 330 ebegin " Fixing \${S}${x/${S}}"
519 + if test "$pass" = conv; then 331 patch -p0 "${x}" "${ELT_PATCH_DIR}/darwin/$(basename "${x}")-${ver:0:3}.patch" > /dev/null
520 # Only check for convenience libraries 332 eend $? "PLEASE CHECK ${x}"
521 deplibs="$lib $deplibs" 333 ;;
522 if test -z "$libdir"; then 334 esac
523 @@ -1537,7 +1537,7 @@
524 esac
525 tmp_libs="$tmp_libs $deplib"
526 done
527 - elif test $linkmode != prog && test $linkmode != lib; then
528 + elif test "$linkmode" != prog && test "$linkmode" != lib; then
529 $echo "$modename: \`$lib' is not a convenience library" 1>&2
530 exit 1
531 fi
532 @@ -1555,7 +1555,7 @@
533 fi
534
535 # This library was specified with -dlopen.
536 - if test $pass = dlopen; then
537 + if test "$pass" = dlopen; then
538 if test -z "$libdir"; then
539 $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
540 exit 1
541 @@ -1604,7 +1604,7 @@
542 name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
543
544 # This library was specified with -dlpreopen.
545 - if test $pass = dlpreopen; then
546 + if test "$pass" = dlpreopen; then
547 if test -z "$libdir"; then
548 $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
549 exit 1
550 @@ -1623,7 +1623,7 @@
551
552 if test -z "$libdir"; then
553 # Link the convenience library
554 - if test $linkmode = lib; then
555 + if test "$linkmode" = lib; then
556 deplibs="$dir/$old_library $deplibs"
557 elif test "$linkmode,$pass" = "prog,link"; then
558 compile_deplibs="$dir/$old_library $compile_deplibs"
559 @@ -1634,7 +1634,7 @@
560 continue
561 fi
562
563 - if test $linkmode = prog && test $pass != link; then
564 + if test "$linkmode" = prog && test "$pass" != link; then
565 newlib_search_path="$newlib_search_path $ladir"
566 deplibs="$lib $deplibs"
567
568 @@ -1671,7 +1671,7 @@
569 # Link against this shared library
570
571 if test "$linkmode,$pass" = "prog,link" ||
572 - { test $linkmode = lib && test $hardcode_into_libs = yes; }; then
573 + { test "$linkmode" = lib && test "$hardcode_into_libs" = yes; }; then
574 # Hardcode the library path.
575 # Skip directories that are in the system default run-time
576 # search path.
577 @@ -1693,7 +1693,7 @@
578 esac
579 ;;
580 esac
581 - if test $linkmode = prog; then
582 + if test "$linkmode" = prog; then
583 # We need to hardcode the library path
584 if test -n "$shlibpath_var"; then
585 # Make sure the rpath contains only unique directories.
586 @@ -1777,7 +1777,7 @@
587 linklib=$newlib
588 fi # test -n $old_archive_from_expsyms_cmds
589
590 - if test $linkmode = prog || test "$mode" != relink; then
591 + if test "$linkmode" = prog || test "$mode" != relink; then
592 add_shlibpath=
593 add_dir=
594 add=
595 @@ -1826,7 +1826,7 @@
596 *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
597 esac
598 fi
599 - if test $linkmode = prog; then
600 + if test "$linkmode" = prog; then
601 test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
602 test -n "$add" && compile_deplibs="$add $compile_deplibs"
603 else
604 @@ -1843,7 +1843,7 @@
605 fi
606 fi
607
608 - if test $linkmode = prog || test "$mode" = relink; then
609 + if test "$linkmode" = prog || test "$mode" = relink; then
610 add_shlibpath=
611 add_dir=
612 add=
613 @@ -1865,7 +1865,7 @@
614 add="-l$name"
615 fi
616
617 - if test $linkmode = prog; then
618 + if test "$linkmode" = prog; then
619 test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
620 test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
621 else
622 @@ -1873,7 +1873,7 @@
623 test -n "$add" && deplibs="$add $deplibs"
624 fi
625 fi
626 - elif test $linkmode = prog; then
627 + elif test "$linkmode" = prog; then
628 if test "$alldeplibs" = yes &&
629 { test "$deplibs_check_method" = pass_all ||
630 { test "$build_libtool_libs" = yes &&
631 @@ -1932,9 +1932,9 @@
632 fi
633 fi # link shared/static library?
634
635 - if test $linkmode = lib; then
636 + if test "$linkmode" = lib; then
637 if test -n "$dependency_libs" &&
638 - { test $hardcode_into_libs != yes || test $build_old_libs = yes ||
639 + { test "$hardcode_into_libs" != yes || test $build_old_libs = yes ||
640 test $link_static = yes; }; then
641 # Extract -R from dependency_libs
642 temp_deplibs=
643 @@ -1964,7 +1964,7 @@
644 tmp_libs="$tmp_libs $deplib"
645 done
646
647 - if test $link_all_deplibs != no; then
648 + if test "$link_all_deplibs" != no; then
649 # Add the search paths of all dependency libraries
650 for deplib in $dependency_libs; do
651 case $deplib in
652 @@ -2007,15 +2007,15 @@
653 fi # link_all_deplibs != no
654 fi # linkmode = lib
655 done # for deplib in $libs
656 - if test $pass = dlpreopen; then
657 + if test "$pass" = dlpreopen; then
658 # Link the dlpreopened libraries before other libraries
659 for deplib in $save_deplibs; do
660 deplibs="$deplib $deplibs"
661 done 335 done
662 fi
663 - if test $pass != dlopen; then
664 - test $pass != scan && dependency_libs="$newdependency_libs"
665 - if test $pass != conv; then
666 + if test "$pass" != dlopen; then
667 + test "$pass" != scan && dependency_libs="$newdependency_libs"
668 + if test "$pass" != conv; then
669 # Make sure lib_search_path contains only unique directories.
670 lib_search_path=
671 for dir in $newlib_search_path; do
672 @@ -2073,7 +2073,7 @@
673 deplibs=
674 fi
675 done # for pass
676 - if test $linkmode = prog; then
677 + if test "$linkmode" = prog; then
678 dlfiles="$newdlfiles"
679 dlprefiles="$newdlprefiles"
680 fi
681 @@ -2410,7 +2410,7 @@
682 ;;
683 *)
684 # Add libc to deplibs on all other systems if necessary.
685 - if test $build_libtool_need_lc = "yes"; then
686 + if test "$build_libtool_need_lc" = "yes"; then
687 deplibs="$deplibs -lc"
688 fi
689 ;;
690 @@ -2683,7 +2683,7 @@
691
692 # Test again, we may have decided not to build it any more
693 if test "$build_libtool_libs" = yes; then
694 - if test $hardcode_into_libs = yes; then
695 + if test "$hardcode_into_libs" = yes; then
696 # Hardcode the library paths
697 hardcode_libdirs=
698 dep_rpath=
699 ENDPATCH
700} 336}
701

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.38

  ViewVC Help
Powered by ViewVC 1.1.20