blob: e662f4b282744361a99f55be73829ece94879e89 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# $NetBSD: libtool-fix-la,v 1.2 2002/08/22 08:21:29 jlam Exp $
#
# For *.la files, in the "relink_command" line, we make the following
# replacements:
#
# "libfoo.la" -> "-L./.libs libfoo.la"
# "dirpath/libfoo.la" -> "-Ldirpath/.libs libfoo.la"
#
# This allows the libraries to be found within ${WRKSRC} during relinking.
# We rely on the proper rpath settings to be set by libtool.
#
# For the *.lai files, in the "dependency_libs" line, we remove redundant
# -Ldir and -llib options.
labase=`@BASENAME@ $lafile .la`
ladir=`@DIRNAME@ $lafile`
latimestamp=${ladir}/.${labase}.la.timestamp
laifile=${ladir}/.libs/${labase}.lai
if [ ! -f $latimestamp ]; then
. ${ladir}/${labase}.la
relink=
for i in ${relink_command}; do
case "$i" in
-I*|-D*)
;;
-L*)
case "$relink" in
*"$i "*) ;;
*"$i") ;;
*) relink="${relink} $i" ;;
esac
;;
$lafile)
relink="${relink} $i"
;;
*.la)
ltlibsdir=`@DIRNAME@ $i`/.libs
case "$relink" in
*"-L$ltlibsdir "*) ;;
*"-L$ltlibsdir") ;;
*) relink="$relink -L$ltlibsdir" ;;
esac
relink="${relink} $i"
;;
*)
relink="${relink} $i"
;;
esac
done
if [ -n "$relink" ]; then
@MV@ -f $lafile ${lafile}.blsav
(
@CAT@ ${lafile}.blsav | @SED@ -e '/^relink_command=/,$d'
@ECHO@ "relink_command='$relink'"
@CAT@ ${lafile}.blsav | @SED@ -e '1,/^relink_command=/d'
) > $lafile
@ECHO@ "==> Fixed $lafile" >> $wrapperlog
fi
if [ -n "$laifile" ] && [ -f "$laifile" ]; then
@SED@ @_BLNK_WRAP_LT_UNTRANSFORM_SED@ \
$laifile > ${laifile}.tmp
. ${laifile}.tmp
L=; l=; lexist=; prev=
for i in ${dependency_libs}; do
case "$i" in
$prev)
;;
-L*)
case "$L" in
*"$i "*) ;;
*"$i") ;;
*) L="$L $i" ;;
esac
;;
-l*)
lexist=1
l="$l $i"
;;
*)
l="$l $i"
;;
esac
prev="$i"
done
if [ -z "$lexist" ]; then
L=
fi
deps="$L$l"
@MV@ -f $laifile ${laifile}.blsav
(
@CAT@ ${laifile}.tmp | @SED@ -e '/^dependency_libs=/,$d'
@ECHO@ "dependency_libs='$deps'"
@CAT@ ${laifile}.tmp | @SED@ -e '1,/^dependency_libs=/d'
) > ${laifile}
@RM@ -f ${laifile}.tmp
@ECHO@ "==> Fixed $laifile" >> $wrapperlog
fi
@TOUCH@ $latimestamp
fi
|