Line
Link Here
|
0 |
-- libtool.eclass |
0 |
++ libtool.eclass |
Lines 122-127
Link Here
|
122 |
local do_reversedeps="no" |
122 |
local do_reversedeps="no" |
123 |
local do_only_patches="no" |
123 |
local do_only_patches="no" |
124 |
local do_uclibc="yes" |
124 |
local do_uclibc="yes" |
|
|
125 |
local do_force="no" |
125 |
local deptoremove= |
126 |
local deptoremove= |
126 |
local my_dirlist= |
127 |
local my_dirlist= |
127 |
local elt_patches="install-sh ltmain portage relink max_cmd_len sed test tmp cross as-needed" |
128 |
local elt_patches="install-sh ltmain portage relink max_cmd_len sed test tmp cross as-needed" |
Lines 165-170
Link Here
|
165 |
"--no-uclibc") |
166 |
"--no-uclibc") |
166 |
do_uclibc="no" |
167 |
do_uclibc="no" |
167 |
;; |
168 |
;; |
|
|
169 |
"--force") |
170 |
do_force="yes" |
171 |
;; |
168 |
*) |
172 |
*) |
169 |
eerror "Invalid elibtoolize option: ${x}" |
173 |
eerror "Invalid elibtoolize option: ${x}" |
170 |
die "elibtoolize called with ${x} ??" |
174 |
die "elibtoolize called with ${x} ??" |
Lines 177-191
Link Here
|
177 |
[[ ${CHOST} == *"-freebsd"* ]] && \ |
181 |
[[ ${CHOST} == *"-freebsd"* ]] && \ |
178 |
elt_patches="${elt_patches} fbsd-conf fbsd-ltconf" |
182 |
elt_patches="${elt_patches} fbsd-conf fbsd-ltconf" |
179 |
|
183 |
|
|
|
184 |
# Hardcoding library path does not work with DESTDIR installs. |
185 |
# |
186 |
# Affects any platform with 'hardcode_direct=yes' or 'hardcode_minus_L=yes'. |
187 |
# According to libtool.m4 (as of libtool-1.5.26), these are: |
188 |
# *-aix* |
189 |
# *-hpux9 |
190 |
# hppa-hpux* (not hppa64 or ia64) |
191 |
# *-netbsd |
192 |
# *-openbsd |
193 |
# *-freebsd |
194 |
# *-dragonfly |
195 |
# *-newsos6 |
196 |
# *-os2 |
197 |
# *-amigaos |
198 |
# *-sunos4 |
199 |
# *-sysv4 |
200 |
# It definitely is required for aix (to support DESTDIR), |
201 |
# although it should help for others too... |
202 |
[[ ${CHOST} == *"-aix"* ]] && |
203 |
elt_patches="${elt_patches} hardcode aixrtl" |
204 |
|
180 |
[[ ${CHOST} == *"-darwin"* ]] && \ |
205 |
[[ ${CHOST} == *"-darwin"* ]] && \ |
181 |
elt_patches="${elt_patches} darwin-ltconf darwin-ltmain" |
206 |
elt_patches="${elt_patches} darwin-ltconf darwin-ltmain darwin-conf" |
|
|
207 |
|
208 |
[[ ${CHOST} == *"-mint"* ]] && \ |
209 |
elt_patches="${elt_patches} mint-conf" |
210 |
|
211 |
# Need help from binutils-config (>=toolchain-prefix-wrapper-0.3.1655) |
212 |
# to create correct shared libraries and executables on hppa-hpux via |
213 |
# libtool in combination with DESTDIR to avoid $D getting encoded. |
214 |
[[ ${CHOST} == *"-hpux"* ]] && \ |
215 |
elt_patches="${elt_patches} hpux-conf deplibs hc-flag-ld hardcode hardcode-relink relink-prog no-lc" |
182 |
|
216 |
|
183 |
for x in ${my_dirlist} ; do |
217 |
for x in ${my_dirlist} ; do |
184 |
local tmp=$(echo "${x}" | sed -e "s|${WORKDIR}||") |
218 |
local tmp=$(echo "${x}" | sed -e "s|${WORKDIR}||") |
185 |
export ELT_APPLIED_PATCHES= |
219 |
export ELT_APPLIED_PATCHES= |
186 |
export ELT_LTMAIN_SH="${x}/ltmain.sh" |
220 |
export ELT_LTMAIN_SH="${x}/ltmain.sh" |
187 |
|
221 |
|
188 |
[[ -f ${x}/.elibtoolized ]] && continue |
222 |
[[ ${do_force} == no && -f ${x}/.elibtoolized ]] && continue |
189 |
|
223 |
|
190 |
cd ${x} |
224 |
cd ${x} |
191 |
einfo "Running elibtoolize in: $(echo "/${tmp}" | sed -e 's|//|/|g; s|^/||')" |
225 |
einfo "Running elibtoolize in: $(echo "/${tmp}" | sed -e 's|//|/|g; s|^/||')" |
Lines 260-265
Link Here
|
260 |
ret=$? |
294 |
ret=$? |
261 |
fi |
295 |
fi |
262 |
;; |
296 |
;; |
|
|
297 |
"darwin-conf") |
298 |
if [[ -e ${x}/configure && \ |
299 |
-n $(grep '&& echo \.so ||' "${x}/configure") ]] ; then |
300 |
ELT_walk_patches "${x}/configure" "${y}" |
301 |
ret=$? |
302 |
# ltmain.sh and co might be in a subdirectory ... |
303 |
elif [[ ! -e ${x}/configure && -e ${x}/../configure && \ |
304 |
-n $(grep '&& echo \.so ||' "${x}/../configure") ]] ; then |
305 |
ELT_walk_patches "${x}/../configure" "${y}" |
306 |
ret=$? |
307 |
fi |
308 |
;; |
263 |
"darwin-ltconf") |
309 |
"darwin-ltconf") |
264 |
# Newer libtoolize clears ltconfig, as not used anymore |
310 |
# Newer libtoolize clears ltconfig, as not used anymore |
265 |
if [[ -s ${x}/ltconfig ]] ; then |
311 |
if [[ -s ${x}/ltconfig ]] ; then |
Lines 267-272
Link Here
|
267 |
ret=$? |
313 |
ret=$? |
268 |
fi |
314 |
fi |
269 |
;; |
315 |
;; |
|
|
316 |
"darwin-ltmain") |
317 |
# special case to avoid false positives (failing to apply |
318 |
# ltmain.sh path message), newer libtools have this patch |
319 |
# built in, so not much to patch around then |
320 |
if [[ -e ${x}/ltmain.sh && \ |
321 |
-z $(grep 'verstring="-compatibility_version' "${x}/ltmain.sh") ]] ; then |
322 |
ELT_walk_patches "${x}/ltmain.sh" "${y}" |
323 |
ret=$? |
324 |
fi |
325 |
;; |
326 |
"aixrtl" | "hpux-conf" | "mint-conf" ) |
327 |
ret=1 |
328 |
local subret=1 |
329 |
if [[ -e ${x}/configure ]]; then |
330 |
ELT_walk_patches "${x}/configure" "${y}" |
331 |
subret=$? |
332 |
# ltmain.sh and co might be in a subdirectory ... |
333 |
elif [[ ! -e ${x}/configure && -e ${x}/../configure ]] ; then |
334 |
ELT_walk_patches "${x}/../configure" "${y}" |
335 |
subret=$? |
336 |
fi |
337 |
if [[ $subret -eq 0 ]]; then |
338 |
# have at least one patch succeeded. |
339 |
ret=0 |
340 |
fi |
341 |
;; |
270 |
"install-sh") |
342 |
"install-sh") |
271 |
ELT_walk_patches "${x}/install-sh" "${y}" |
343 |
ELT_walk_patches "${x}/install-sh" "${y}" |
272 |
ret=$? |
344 |
ret=$? |