summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/eglibc/eglibc_2.19.bb
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2014-02-08 03:44:32 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-18 08:38:51 +0000
commit2e7dd298b17446708fa77a80e6ed2460ed98b059 (patch)
tree022b213dfe1d34bd8418d884155307922ff10feb /meta/recipes-core/eglibc/eglibc_2.19.bb
parent07f49c397864d34725d7ac3708b345934d5f0d49 (diff)
downloadpoky-2e7dd298b17446708fa77a80e6ed2460ed98b059.tar.gz
eglibc: Upgrade from 2.18 -> 2.19
License formatting and address for FSF in the COPYING and COPYING.LIB has changed. Dropped patched already upstream and patches that were workarounds for older glibc and busybox for e500 we have should pass --without-fp to eglibc/glibc 2.19 onwards the code is merged from eglibc into glibc upstream under nofpu/ pretext (From OE-Core rev: 875df27e56b82fcf970410b6d78e3672471c336a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/eglibc/eglibc_2.19.bb')
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.19.bb145
1 files changed, 145 insertions, 0 deletions
diff --git a/meta/recipes-core/eglibc/eglibc_2.19.bb b/meta/recipes-core/eglibc/eglibc_2.19.bb
new file mode 100644
index 0000000000..7e582b6308
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc_2.19.bb
@@ -0,0 +1,145 @@
1require eglibc.inc
2
3DEPENDS += "gperf-native kconfig-frontends-native"
4
5SRC_URI = "http://sakrah.homelinux.org/files/eglibc-${PV}-svnr25243.tar.bz2 \
6 file://eglibc-svn-arm-lowlevellock-include-tls.patch \
7 file://IO-acquire-lock-fix.patch \
8 file://mips-rld-map-check.patch \
9 file://etc/ld.so.conf \
10 file://generate-supported.mk \
11 file://glibc.fix_sqrt2.patch \
12 file://multilib_readlib.patch \
13 file://ppc-sqrt_finite.patch \
14 file://GLRO_dl_debug_mask.patch \
15 file://initgroups_keys.patch \
16 file://eglibc_fix_findidx_parameters.patch \
17 file://ppc_slow_ieee754_sqrt.patch \
18 file://fileops-without-wchar-io.patch \
19 file://add_resource_h_to_wait_h.patch \
20 file://0001-eglibc-menuconfig-support.patch \
21 file://0002-eglibc-menuconfig-hex-string-options.patch \
22 file://0003-eglibc-menuconfig-build-instructions.patch \
23 file://fsl-ppc-no-fsqrt.patch \
24 file://0001-R_ARM_TLS_DTPOFF32.patch \
25 file://0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \
26 file://fix-tibetian-locales.patch \
27 "
28SRC_URI[md5sum] = "197836c2ba42fb146e971222647198dd"
29SRC_URI[sha256sum] = "baaa030531fc308f7820c46acdf8e1b2f8e3c1f40bcd28b6e440d1c95d170d4c"
30
31LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \
32 file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
33 file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
34 file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
35
36SRC_URI_append_class-nativesdk = " file://ld-search-order.patch \
37 file://relocatable_sdk.patch \
38 file://relocatable_sdk_fix_openpath.patch \
39 "
40S = "${WORKDIR}/eglibc-${PV}/libc"
41B = "${WORKDIR}/build-${TARGET_SYS}"
42
43PACKAGES_DYNAMIC = ""
44
45# the -isystem in bitbake.conf screws up glibc do_stage
46BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
47TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
48
49GLIBC_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"
50
51FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/eglibc-${PV}', '${FILE_DIRNAME}/eglibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
52
53#
54# For now, we will skip building of a gcc package if it is a uclibc one
55# and our build is not a uclibc one, and we skip a glibc one if our build
56# is a uclibc build.
57#
58# See the note in gcc/gcc_3.4.0.oe
59#
60
61python __anonymous () {
62 import re
63 uc_os = (re.match('.*uclibc$', d.getVar('TARGET_OS', True)) != None)
64 if uc_os:
65 raise bb.parse.SkipPackage("incompatible with target %s" %
66 d.getVar('TARGET_OS', True))
67}
68
69export libc_cv_slibdir = "${base_libdir}"
70
71EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
72 --without-cvs --disable-profile \
73 --disable-debug --without-gd \
74 --enable-clocale=gnu \
75 --enable-add-ons \
76 --with-headers=${STAGING_INCDIR} \
77 --without-selinux \
78 --enable-obsolete-rpc \
79 --with-kconfig=${STAGING_BINDIR_NATIVE} \
80 ${GLIBC_EXTRA_OECONF}"
81
82EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
83
84do_patch_append() {
85 bb.build.exec_func('do_fix_readlib_c', d)
86}
87
88# for mips eglibc now builds syscall tables for all abi's
89# so we make sure that we choose right march option which is
90# compatible with o32,n32 and n64 abi's
91# e.g. -march=mips32 is not compatible with n32 and n64 therefore
92# we filter it out in such case -march=from-abi which will be
93# mips1 when using o32 and mips3 when using n32/n64
94
95TUNE_CCARGS_mips := "${@oe_filter_out('-march=mips32', '${TUNE_CCARGS}', d)}"
96TUNE_CCARGS_mipsel := "${@oe_filter_out('-march=mips32', '${TUNE_CCARGS}', d)}"
97
98do_fix_readlib_c () {
99 sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c
100}
101
102do_configure () {
103# override this function to avoid the autoconf/automake/aclocal/autoheader
104# calls for now
105# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
106# version check and doesn't really help with anything
107 if [ -z "`which rpcgen`" ]; then
108 echo "rpcgen not found. Install glibc-devel."
109 exit 1
110 fi
111 (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
112 find ${S} -name "configure" | xargs touch
113 CPPFLAGS="" oe_runconf
114}
115
116rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
117 yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
118 rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
119
120do_compile () {
121 # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
122 unset LDFLAGS
123 base_do_compile
124 (
125 cd ${S}/sunrpc/rpcsvc
126 for r in ${rpcsvc}; do
127 h=`echo $r|sed -e's,\.x$,.h,'`
128 rpcgen -h $r -o $h || bbwarn "unable to generate header for $r"
129 done
130 )
131 echo "Adjust ldd script"
132 if [ -n "${RTLDLIST}" ]
133 then
134 prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'`
135 if [ "${prevrtld}" != "${RTLDLIST}" ]
136 then
137 sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${prevrtld} ${RTLDLIST}\"#"
138 fi
139 fi
140
141}
142
143require eglibc-package.inc
144
145BBCLASSEXTEND = "nativesdk"