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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# use autotools_stage_all for native packages
AUTOTOOLS_NATIVE_STAGE_INSTALL = "1"
DEPENDS_prepend = "${@['gnu-config-native ', ''][bool(d.getVar('INHIBIT_AUTOTOOLS_DEPS', 1))]}"
EXTRA_OEMAKE = ""
inherit siteinfo
def _autotools_get_sitefiles(d):
def inherits(d, *classes):
if any(bb.data.inherits_class(cls, d) for cls in classes):
return True
if inherits(d, "native", "nativesdk"):
return
sitedata = siteinfo_data(d)
for path in d.getVar("BBPATH", True).split(":"):
for element in sitedata:
filename = os.path.join(path, "site", element)
if os.path.exists(filename):
yield filename
# Space separated list of shell scripts with variables defined to supply test
# results for autoconf tests we cannot run at build time.
export CONFIG_SITE = "${@' '.join(_autotools_get_sitefiles(d))}"
def append_libtool_sysroot(d):
if bb.data.getVar('LIBTOOL_HAS_SYSROOT', d, 1) == "yes":
if bb.data.getVar('BUILD_SYS', d, 1) == bb.data.getVar('HOST_SYS', d, 1):
return '--with-libtool-sysroot'
else:
return '--with-libtool-sysroot=${STAGING_DIR_HOST}'
return ''
CONFIGUREOPTS = " --build=${BUILD_SYS} \
--host=${HOST_SYS} \
--target=${TARGET_SYS} \
--prefix=${prefix} \
--exec_prefix=${exec_prefix} \
--bindir=${bindir} \
--sbindir=${sbindir} \
--libexecdir=${libexecdir} \
--datadir=${datadir} \
--sysconfdir=${sysconfdir} \
--sharedstatedir=${sharedstatedir} \
--localstatedir=${localstatedir} \
--libdir=${libdir} \
--includedir=${includedir} \
--oldincludedir=${oldincludedir} \
--infodir=${infodir} \
--mandir=${mandir} \
${@append_libtool_sysroot(d)} \
"
oe_runconf () {
if [ -x ${S}/configure ] ; then
${S}/configure \
${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"
else
oefatal "no configure script found"
fi
}
autotools_base_do_configure () {
if [ -e ${S}/configure ]; then
find ${S} -name config.guess -exec \
ln -sf ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess "{}" \;
find ${S} -name config.sub -exec \
ln -sf ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub "{}" \;
oe_runconf $@
else
oenote "nothing to configure"
fi
}
autotools_base_do_install() {
oe_runmake 'DESTDIR=${D}' install
}
EXPORT_FUNCTIONS do_configure do_install
PACKAGE_PREPROCESS_FUNCS += "${@['autotools_prepackage_lamangler',''][bb.data.getVar('LIBTOOL_HAS_SYSROOT', d, 1) == "yes"]}"
autotools_prepackage_lamangler () {
for i in `find ${PKGD} -name "*.la"` ; do \
sed -i -e 's:${STAGING_LIBDIR}:${libdir}:g;' \
-e 's:${D}::g;' \
-e 's:-I${WORKDIR}\S*: :g;' \
-e 's:-L${WORKDIR}\S*: :g;' \
$i
done
}
# STAGE_TEMP_PREFIX is used for a speedup by packaged-staging
STAGE_TEMP="${WORKDIR}/temp-staging"
STAGE_TEMP_PREFIX = ""
autotools_stage_includes() {
if [ "${INHIBIT_AUTO_STAGE_INCLUDES}" != "1" ]
then
rm -rf ${STAGE_TEMP}
mkdir -p ${STAGE_TEMP}
make DESTDIR="${STAGE_TEMP}" install
cp -pPR ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}
rm -rf ${STAGE_TEMP}
fi
}
autotools_stage_dir() {
sysroot_stage_dir $1 ${STAGE_TEMP_PREFIX}$2
}
autotools_stage_libdir() {
sysroot_stage_libdir $1 ${STAGE_TEMP_PREFIX}$2
}
autotools_stage_all() {
if [ "${INHIBIT_AUTO_STAGE}" = "1" ]
then
return
fi
rm -rf ${STAGE_TEMP}
mkdir -p ${STAGE_TEMP}
oe_runmake DESTDIR="${STAGE_TEMP}" install
rm -rf ${STAGE_TEMP}/${mandir} || true
rm -rf ${STAGE_TEMP}/${infodir} || true
sysroot_stage_dirs ${STAGE_TEMP} ${STAGE_TEMP_PREFIX}
rm -rf ${STAGE_TEMP}
}
|