summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/eglibc/eglibc_2.16.bb
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-07-03 23:58:29 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-17 10:54:03 +0100
commit83dda47b2e8ed8eafa9efb97d12a6ea201522c2f (patch)
treea72c3e995418f0f0c6806dc46ef21373bf37e437 /meta/recipes-core/eglibc/eglibc_2.16.bb
parent85e5f2d8ac4e4096b5f4dbf4c5cb66680777d54d (diff)
downloadpoky-83dda47b2e8ed8eafa9efb97d12a6ea201522c2f.tar.gz
eglibc: Add recipes for 2.16 release
Drop the patches that were either applied or fixed differenly in 2.16 Add patches to fix ppc spe patches to match eglibc 2.16 Fix CPPFLAGS to contain correct includepaths so autoconf cache is generated correctly (From OE-Core rev: 705fe4dab44e623350fc32efece87a977d53bfc4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/eglibc/eglibc_2.16.bb')
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.16.bb146
1 files changed, 146 insertions, 0 deletions
diff --git a/meta/recipes-core/eglibc/eglibc_2.16.bb b/meta/recipes-core/eglibc/eglibc_2.16.bb
new file mode 100644
index 0000000000..09f5dbbe05
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc_2.16.bb
@@ -0,0 +1,146 @@
1require eglibc.inc
2
3SRCREV = "19383"
4
5DEPENDS += "gperf-native"
6PR = "r0"
7PR_append = "+svnr${SRCPV}"
8
9EGLIBC_BRANCH="eglibc-2_16"
10SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};protocol=http \
11 file://eglibc-svn-arm-lowlevellock-include-tls.patch \
12 file://IO-acquire-lock-fix.patch \
13 file://mips-rld-map-check.patch \
14 file://etc/ld.so.conf \
15 file://generate-supported.mk \
16 file://ppc-sqrt.patch \
17 file://multilib_readlib.patch \
18 file://use-sysroot-cxx-headers.patch \
19 file://ppc-sqrt_finite.patch \
20 file://GLRO_dl_debug_mask.patch \
21 file://initgroups_keys.patch \
22 file://eglibc_fix_findidx_parameters.patch \
23 file://ppc_slow_ieee754_sqrt.patch \
24 file://rpc-bootstrap.patch \
25 "
26LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \
27 file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
28 file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
29 file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff "
30
31SRC_URI_append_virtclass-nativesdk = " file://ld-search-order.patch"
32S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
33B = "${WORKDIR}/build-${TARGET_SYS}"
34
35PACKAGES_DYNAMIC = "libc6*"
36RPROVIDES_${PN}-dev = "libc6-dev virtual-libc-dev"
37PROVIDES_${PN}-dbg = "glibc-dbg"
38
39# the -isystem in bitbake.conf screws up glibc do_stage
40BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
41TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
42
43GLIBC_BROKEN_LOCALES = " _ER _ET so_ET yn_ER sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN es_CR.ISO-8859-1"
44
45FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/eglibc-${PV}', '${FILE_DIRNAME}/eglibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
46
47#
48# For now, we will skip building of a gcc package if it is a uclibc one
49# and our build is not a uclibc one, and we skip a glibc one if our build
50# is a uclibc build.
51#
52# See the note in gcc/gcc_3.4.0.oe
53#
54
55python __anonymous () {
56 import bb, re
57 uc_os = (re.match('.*uclibc$', d.getVar('TARGET_OS', True)) != None)
58 if uc_os:
59 raise bb.parse.SkipPackage("incompatible with target %s" %
60 d.getVar('TARGET_OS', True))
61}
62
63export libc_cv_slibdir = "${base_libdir}"
64
65EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
66 --without-cvs --disable-profile \
67 --disable-debug --without-gd \
68 --enable-clocale=gnu \
69 --enable-add-ons \
70 --with-headers=${STAGING_INCDIR} \
71 --without-selinux \
72 --enable-obsolete-rpc \
73 ${GLIBC_EXTRA_OECONF}"
74
75EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
76
77do_unpack_append() {
78 bb.build.exec_func('do_move_ports', d)
79}
80
81do_move_ports() {
82 if test -d ${WORKDIR}/${EGLIBC_BRANCH}/ports ; then
83 rm -rf ${S}/ports
84 mv ${WORKDIR}/${EGLIBC_BRANCH}/ports ${S}/
85 fi
86}
87
88do_patch_append() {
89 bb.build.exec_func('do_fix_readlib_c', d)
90}
91
92# for mips eglibc now builds syscall tables for all abi's
93# so we make sure that we choose right march option which is
94# compatible with o32,n32 and n64 abi's
95# e.g. -march=mips32 is not compatible with n32 and n64 therefore
96# we filter it out in such case -march=from-abi which will be
97# mips1 when using o32 and mips3 when using n32/n64
98
99TUNE_CCARGS_mips := "${@oe_filter_out('-march=mips32', '${TUNE_CCARGS}', d)}"
100TUNE_CCARGS_mipsel := "${@oe_filter_out('-march=mips32', '${TUNE_CCARGS}', d)}"
101
102do_fix_readlib_c () {
103 sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c
104}
105
106do_configure () {
107# override this function to avoid the autoconf/automake/aclocal/autoheader
108# calls for now
109# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
110# version check and doesn't really help with anything
111 if [ -z "`which rpcgen`" ]; then
112 echo "rpcgen not found. Install glibc-devel."
113 exit 1
114 fi
115 (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
116 find ${S} -name "configure" | xargs touch
117 CPPFLAGS="" oe_runconf
118}
119
120rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
121 yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
122 rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
123
124do_compile () {
125 # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
126 unset LDFLAGS
127 base_do_compile
128 (
129 cd ${S}/sunrpc/rpcsvc
130 for r in ${rpcsvc}; do
131 h=`echo $r|sed -e's,\.x$,.h,'`
132 rpcgen -h $r -o $h || bbwarn "unable to generate header for $r"
133 done
134 )
135 echo "Adjust ldd script"
136 if [ -n "${RTLDLIST}" ]
137 then
138 sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)"\(.*\)"$#\1\2#'
139 sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)\(.*\)$#\1"${RTLDLIST} \2"#'
140 fi
141
142}
143
144require eglibc-package.inc
145
146BBCLASSEXTEND = "nativesdk"