summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc_2.10.1.bb
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-core/glibc/glibc_2.10.1.bb
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadpoky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-core/glibc/glibc_2.10.1.bb')
-rw-r--r--meta/recipes-core/glibc/glibc_2.10.1.bb161
1 files changed, 161 insertions, 0 deletions
diff --git a/meta/recipes-core/glibc/glibc_2.10.1.bb b/meta/recipes-core/glibc/glibc_2.10.1.bb
new file mode 100644
index 0000000000..2a118a4af6
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc_2.10.1.bb
@@ -0,0 +1,161 @@
1require glibc.inc
2
3ARM_INSTRUCTION_SET = "arm"
4
5PACKAGES_DYNAMIC = "libc6*"
6RPROVIDES_${PN}-dev = "libc6-dev virtual-libc-dev"
7
8PR = "r0"
9
10# the -isystem in bitbake.conf screws up glibc do_stage
11BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
12TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
13
14GLIBC_ADDONS ?= "ports,nptl,libidn"
15
16GLIBC_BROKEN_LOCALES = " _ER _ET so_ET yn_ER sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN"
17
18FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-${PV}', '${FILE_DIRNAME}/glibc-2.4', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
19
20#
21# For now, we will skip building of a gcc package if it is a uclibc one
22# and our build is not a uclibc one, and we skip a glibc one if our build
23# is a uclibc build.
24#
25# See the note in gcc/gcc_3.4.0.oe
26#
27
28python __anonymous () {
29 import bb, re
30 uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None)
31 if uc_os:
32 raise bb.parse.SkipPackage("incompatible with target %s" %
33 bb.data.getVar('TARGET_OS', d, 1))
34}
35
36RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
37
38# file://noinfo.patch;patch=1
39# file://ldconfig.patch;patch=1;pnum=0
40# file://arm-machine-gmon.patch;patch=1;pnum=0 \
41# \
42# file://arm-ioperm.patch;patch=1;pnum=0 \
43# file://ldd.patch;patch=1;pnum=0 \
44SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.bz2 \
45 ftp://ftp.gnu.org/pub/gnu/glibc/glibc-ports-${PV}.tar.bz2 \
46 ftp://ftp.gnu.org/pub/gnu/glibc/glibc-libidn-${PV}.tar.bz2 \
47 file://nscd-init.patch;striplevel=0 \
48 file://arm-memcpy.patch \
49 file://arm-longlong.patch \
50 file://fhs-linux-paths.patch \
51 file://dl-cache-libcmp.patch \
52 file://ldsocache-varrun.patch \
53 file://nptl-crosscompile.patch \
54 file://glibc-check_pf.patch;striplevel=0 \
55 file://ldd-unbash.patch \
56 file://glibc-arm-IO-acquire-lock-fix.diff \
57 file://generic-bits_select.h \
58 file://generic-bits_types.h \
59 file://generic-bits_typesizes.h \
60 file://generic-bits_time.h \
61 file://etc/ld.so.conf \
62 file://generate-supported.mk \
63 file://march-i686.patch;striplevel=0 \
64 file://rulesfix.patch \
65 file://glibc-2.9-enable-binutils-2.2.patch"
66
67# Build fails on sh3 and sh4 without additional patches
68SRC_URI_append_sh3 = " file://no-z-defs.patch"
69SRC_URI_append_sh4 = " file://no-z-defs.patch"
70
71#powerpc patches to add support for soft-float
72SRC_URI_append_powerpc= " file://powerpc-sqrt-hack.diff"
73
74S = "${WORKDIR}/glibc-${PV}"
75B = "${WORKDIR}/build-${TARGET_SYS}"
76
77# We need this for nativesdk
78export libc_cv_slibdir = "${base_libdir}"
79
80EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
81 --without-cvs --disable-profile --disable-debug --without-gd \
82 --enable-clocale=gnu \
83 --enable-add-ons=${GLIBC_ADDONS} \
84 --with-headers=${STAGING_INCDIR} \
85 --without-selinux \
86 ${GLIBC_EXTRA_OECONF}"
87
88EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
89
90do_munge() {
91 # Integrate ports and libidn into tree
92 mv ${WORKDIR}/glibc-ports-${PV} ${S}/ports
93 mv ${WORKDIR}/glibc-libidn-${PV} ${S}/libidn
94
95 # Ports isn't really working... Fix it
96 # Some of this is rather dirty, but it seems to be the only
97 # quick way to get this cruft to compile
98 rm -rf ${S}/ports/sysdeps/unix/sysv/linux/arm/linuxthreads
99 ln -s nptl ${S}/ports/sysdeps/unix/sysv/linux/arm/linuxthreads
100 cp ${S}/nptl/sysdeps/pthread/bits/sigthread.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
101 cp ${S}/sysdeps/unix/sysv/linux/i386/bits/wchar.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
102 cp ${S}/sysdeps/wordsize-32/bits/wordsize.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
103 cp ${WORKDIR}/generic-bits_select.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/select.h
104 cp ${WORKDIR}/generic-bits_types.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/types.h
105 cp ${WORKDIR}/generic-bits_typesizes.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/typesizes.h
106 cp ${WORKDIR}/generic-bits_time.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/time.h
107 # Copy in generic stuff for not yet implemented headers
108 for i in ${S}/bits/*.h; do
109 F=`basename $i`
110 [ "$F" = "local_lim.h" ] && continue
111 [ "$F" = "errno.h" ] && continue
112 test -e ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/$F || test -e ${S}/ports/sysdeps/arm/bits/$F || test -e ${S}/sysdeps/unix/sysv/linux/bits/$F || test -e ${S}/sysdeps/ieee754/bits/$F || cp $i ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
113 done
114 # This is harmful; we need to get the one from nptl/sysdeps/pthreads
115 rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/libc-lock.h
116 # Obsoleted by sysdeps/arm/{fpu,eabi}/bits/fenv.h
117 rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/fenv.h
118 # Obsoleted by sysdeps/gnu/bits/utmp.h
119 rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/utmp.h
120}
121
122addtask munge before do_patch after do_unpack
123
124
125do_configure () {
126# /var/db was not included to FHS
127 sed -i s:/var/db/nscd:/var/run/nscd: ${S}/nscd/nscd.h
128# override this function to avoid the autoconf/automake/aclocal/autoheader
129# calls for now
130# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
131# version check and doesn't really help with anything
132 if [ -z "`which rpcgen`" ]; then
133 echo "rpcgen not found. Install glibc-devel."
134 exit 1
135 fi
136 (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
137 CPPFLAGS="" oe_runconf
138}
139
140rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
141 yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
142 rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
143
144do_compile () {
145 # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
146 unset LDFLAGS
147 base_do_compile
148 (
149 cd ${S}/sunrpc/rpcsvc
150 for r in ${rpcsvc}; do
151 h=`echo $r|sed -e's,\.x$,.h,'`
152 rpcgen -h $r -o $h || oewarn "unable to generate header for $r"
153 done
154 )
155}
156
157require glibc-stage.inc
158
159require glibc-package.inc
160
161BBCLASSEXTEND = "nativesdk"