summaryrefslogtreecommitdiffstats
path: root/toolchain-layer
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-03-27 18:27:32 -0700
committerKhem Raj <raj.khem@gmail.com>2012-03-29 23:12:24 -0700
commit6460fe3a04e1c4ddb1fae09ef4d32dcfbf42a211 (patch)
tree093c1fab24994b23f1f73f98dced8008c0c29c4c /toolchain-layer
parent4b7b80bfb3e3cc290cf92c9c029d1325a75817d1 (diff)
downloadmeta-openembedded-6460fe3a04e1c4ddb1fae09ef4d32dcfbf42a211.tar.gz
eglibc-2.12: Move to toolchain-layer
Its relevant in toolchain layer Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'toolchain-layer')
-rw-r--r--toolchain-layer/recipes-core/eglibc/cross-localedef-native_2.12.bb43
-rw-r--r--toolchain-layer/recipes-core/eglibc/eglibc-2.12/IO-acquire-lock-fix.patch17
-rw-r--r--toolchain-layer/recipes-core/eglibc/eglibc-2.12/armv4-eabi-compile-fix.patch25
-rw-r--r--toolchain-layer/recipes-core/eglibc/eglibc-2.12/eglibc-svn-arm-lowlevellock-include-tls.patch21
-rw-r--r--toolchain-layer/recipes-core/eglibc/eglibc-2.12/etc/ld.so.conf0
-rw-r--r--toolchain-layer/recipes-core/eglibc/eglibc-2.12/generate-supported.mk11
-rw-r--r--toolchain-layer/recipes-core/eglibc/eglibc-2.12/ld-search-order.patch56
-rw-r--r--toolchain-layer/recipes-core/eglibc/eglibc-2.12/mips-rld-map-check.patch23
-rw-r--r--toolchain-layer/recipes-core/eglibc/eglibc-2.12/ppc-enable-603e-cpu.patch26
-rw-r--r--toolchain-layer/recipes-core/eglibc/eglibc-2.12/shorten-build-commands.patch81
-rw-r--r--toolchain-layer/recipes-core/eglibc/eglibc-initial_2.12.bb6
-rw-r--r--toolchain-layer/recipes-core/eglibc/eglibc-locale_2.12.bb1
-rw-r--r--toolchain-layer/recipes-core/eglibc/eglibc_2.12.bb109
13 files changed, 419 insertions, 0 deletions
diff --git a/toolchain-layer/recipes-core/eglibc/cross-localedef-native_2.12.bb b/toolchain-layer/recipes-core/eglibc/cross-localedef-native_2.12.bb
new file mode 100644
index 000000000..52759afe6
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/cross-localedef-native_2.12.bb
@@ -0,0 +1,43 @@
1DESCRIPTION = "Cross locale generation tool for eglibc"
2HOMEPAGE = "http://www.eglibc.org/home"
3SECTION = "libs"
4LICENSE = "LGPL"
5
6LIC_DIR = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
7LIC_FILES_CHKSUM = "file://${LIC_DIR}/LICENSES;md5=07a394b26e0902b9ffdec03765209770 \
8 file://${LIC_DIR}/COPYING;md5=393a5ca445f6965873eca0259a17f833 \
9 file://${LIC_DIR}/posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
10 file://${LIC_DIR}/COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff "
11
12
13inherit native
14inherit autotools
15
16PR = "r1"
17SRCREV="11982"
18EGLIBC_BRANCH="eglibc-2_12"
19SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http "
20S = "${WORKDIR}/${EGLIBC_BRANCH}/localedef"
21
22do_unpack_append() {
23 bb.build.exec_func('do_move_ports', d)
24}
25
26do_move_ports() {
27 if test -d ${WORKDIR}/${EGLIBC_BRANCH}/ports ; then
28 rm -rf ${WORKDIR}/libc/ports
29 mv ${WORKDIR}/${EGLIBC_BRANCH}/ports ${WORKDIR}/libc/
30 fi
31}
32
33EXTRA_OECONF = "--with-glibc=${WORKDIR}/${EGLIBC_BRANCH}/libc"
34
35do_configure () {
36 ./configure ${EXTRA_OECONF}
37}
38
39
40do_install() {
41 install -d ${D}${bindir}
42 install -m 0755 ${S}/localedef ${D}${bindir}/cross-localedef
43}
diff --git a/toolchain-layer/recipes-core/eglibc/eglibc-2.12/IO-acquire-lock-fix.patch b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/IO-acquire-lock-fix.patch
new file mode 100644
index 000000000..46b1584fa
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/IO-acquire-lock-fix.patch
@@ -0,0 +1,17 @@
1Upstream-Status: Pending
2
3import http://sourceware.org/ml/libc-ports/2007-12/msg00000.html
4
5Index: libc/bits/stdio-lock.h
6===================================================================
7--- libc.orig/bits/stdio-lock.h 2009-10-28 14:34:19.000000000 -0700
8+++ libc/bits/stdio-lock.h 2009-10-28 14:34:54.000000000 -0700
9@@ -50,6 +50,8 @@ __libc_lock_define_recursive (typedef, _
10 _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp)); \
11 _IO_flockfile (_fp)
12
13+# define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp)
14+
15 # define _IO_release_lock(_fp) \
16 _IO_funlockfile (_fp); \
17 _IO_cleanup_region_end (0)
diff --git a/toolchain-layer/recipes-core/eglibc/eglibc-2.12/armv4-eabi-compile-fix.patch b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/armv4-eabi-compile-fix.patch
new file mode 100644
index 000000000..c2407eea0
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/armv4-eabi-compile-fix.patch
@@ -0,0 +1,25 @@
1Source: http://sourceware.org/bugzilla/show_bug.cgi?id=12097
2Upstream-Status: Submitted
3
4The patch should be merged into glibc-ports
5
6-Khem
7Index: libc/ports/sysdeps/unix/sysv/linux/arm/eabi/libc-do-syscall.S
8===================================================================
9--- libc.orig/ports/sysdeps/unix/sysv/linux/arm/eabi/libc-do-syscall.S
10+++ libc/ports/sysdeps/unix/sysv/linux/arm/eabi/libc-do-syscall.S
11@@ -16,6 +16,8 @@
12 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
13 02111-1307 USA. */
14
15+#if defined(__thumb__)
16+
17 #include <sysdep.h>
18
19 /* Out-of-line syscall stub. We expect the system call number in ip
20@@ -41,3 +43,5 @@ ENTRY (__libc_do_syscall)
21 pop {r7, pc}
22 .fnend
23 END (__libc_do_syscall)
24+
25+#endif /* __thumb__ */
diff --git a/toolchain-layer/recipes-core/eglibc/eglibc-2.12/eglibc-svn-arm-lowlevellock-include-tls.patch b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/eglibc-svn-arm-lowlevellock-include-tls.patch
new file mode 100644
index 000000000..1e7dfa784
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/eglibc-svn-arm-lowlevellock-include-tls.patch
@@ -0,0 +1,21 @@
1Upstream-Status: Pending
2
3In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21:
4../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private':
5../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: warning: implicit declaration of function 'THREAD_GETMEM'
6../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'THREAD_SELF' undeclared (first use in this function)
7../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: (Each undeclared identifier is reported only once
8../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: for each function it appears in.)
9../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'header' undeclared (first use in this function)
10make[4]: *** [/var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os] Error 1
11
12--- libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h.orig
13+++ libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
14@@ -25,6 +25,7 @@
15 #include <atomic.h>
16 #include <sysdep.h>
17 #include <kernel-features.h>
18+#include <tls.h>
19
20 #define FUTEX_WAIT 0
21 #define FUTEX_WAKE 1
diff --git a/toolchain-layer/recipes-core/eglibc/eglibc-2.12/etc/ld.so.conf b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/etc/ld.so.conf
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/etc/ld.so.conf
diff --git a/toolchain-layer/recipes-core/eglibc/eglibc-2.12/generate-supported.mk b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/generate-supported.mk
new file mode 100644
index 000000000..d2a28c2dc
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/generate-supported.mk
@@ -0,0 +1,11 @@
1#!/usr/bin/make
2
3include $(IN)
4
5all:
6 rm -f $(OUT)
7 touch $(OUT)
8 for locale in $(SUPPORTED-LOCALES); do \
9 [ $$locale = true ] && continue; \
10 echo $$locale | sed 's,/, ,' >> $(OUT); \
11 done
diff --git a/toolchain-layer/recipes-core/eglibc/eglibc-2.12/ld-search-order.patch b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/ld-search-order.patch
new file mode 100644
index 000000000..40ae6d37f
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/ld-search-order.patch
@@ -0,0 +1,56 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3The default lib search path order is:
4
5 1) LD_LIBRARY_PATH
6 2) RPATH from the binary
7 3) ld.so.cache
8 4) default search paths embedded in the linker
9
10For nativesdk binaries which are being used alongside binaries on a host system, we
11need the search paths to firstly search the shipped nativesdk libs but then also
12cover the host system. For example we want the host system's libGL and this may be
13in a non-standard location like /usr/lib/mesa. The only place the location is know
14about is in the ld.so.cache of the host system.
15
16Since nativesdk has a simple structure and doesn't need to use a cache itself, we
17repurpose the cache for use as a last resort in finding host system binaries. This
18means we need to switch the order of 3 and 4 above to make this work effectively.
19
20RP 14/10/2010
21
22Index: libc/elf/dl-load.c
23===================================================================
24--- libc.orig/elf/dl-load.c
25+++ libc/elf/dl-load.c
26@@ -2107,6 +2107,15 @@ _dl_map_object (struct link_map *loader,
27 &loader->l_runpath_dirs, &realname, &fb, loader,
28 LA_SER_RUNPATH, &found_other_class);
29
30+ /* try the default path. */
31+ if (fd == -1
32+ && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL
33+ || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1))
34+ && rtld_search_dirs.dirs != (void *) -1)
35+ fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs,
36+ &realname, &fb, l, LA_SER_DEFAULT, &found_other_class);
37+
38+ /* Finally try ld.so.cache */
39 if (fd == -1
40 && (__builtin_expect (! (mode & __RTLD_SECURE), 1)
41 || ! INTUSE(__libc_enable_secure)))
42@@ -2169,14 +2178,6 @@ _dl_map_object (struct link_map *loader,
43 }
44 }
45
46- /* Finally, try the default path. */
47- if (fd == -1
48- && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL
49- || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1))
50- && rtld_search_dirs.dirs != (void *) -1)
51- fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs,
52- &realname, &fb, l, LA_SER_DEFAULT, &found_other_class);
53-
54 /* Add another newline when we are tracing the library loading. */
55 if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_LIBS, 0))
56 _dl_debug_printf ("\n");
diff --git a/toolchain-layer/recipes-core/eglibc/eglibc-2.12/mips-rld-map-check.patch b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/mips-rld-map-check.patch
new file mode 100644
index 000000000..186c705e5
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/mips-rld-map-check.patch
@@ -0,0 +1,23 @@
1Upstream-Status: Pending
2
3On mips target, binutils currently sets DT_MIPS_RLD_MAP to 0 in dynamic
4section if a --version-script sets _RLD_MAP to local. This is apparently
5a binutils bug, but libc shouldn't segfault in this case.
6
7see also: http://sourceware.org/bugilla/show_bug.cgi?id=11615
8
99/19/2010 - added by Qing He <qing.he@intel.com>
10---
11diff -ru glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h glibc-2.10.1/ports/sysdeps/mips/dl-machine.h
12--- glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h 2009-05-16 16:36:20.000000000 +0800
13+++ glibc-2.10.1/ports/sysdeps/mips/dl-machine.h 2010-09-19 09:11:53.000000000 +0800
14@@ -70,7 +70,8 @@
15 /* If there is a DT_MIPS_RLD_MAP entry in the dynamic section, fill it in
16 with the run-time address of the r_debug structure */
17 #define ELF_MACHINE_DEBUG_SETUP(l,r) \
18-do { if ((l)->l_info[DT_MIPS (RLD_MAP)]) \
19+do { if ((l)->l_info[DT_MIPS (RLD_MAP)] && \
20+ (l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) \
21 *(ElfW(Addr) *)((l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) = \
22 (ElfW(Addr)) (r); \
23 } while (0)
diff --git a/toolchain-layer/recipes-core/eglibc/eglibc-2.12/ppc-enable-603e-cpu.patch b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/ppc-enable-603e-cpu.patch
new file mode 100644
index 000000000..70d3aed70
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/ppc-enable-603e-cpu.patch
@@ -0,0 +1,26 @@
1We now pass --with-cpu option to eglibc this ends up with configure errors if we do
2not pass a cpu which eglibc has support for in sysdeps
3
4| checking sysdep dirs... configure: error: The 603e subspecies of powerpc is not supported.
5| + bbfatal 'oe_runconf failed'
6| + echo 'ERROR: oe_runconf failed'
7
8We fix this by adding the 603e sub directories with Implies to generic
9powerpc to overcome this error
10
11Upstream-Status: Inappropriate [OE config related]
12
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14
15Index: libc/ports/sysdeps/powerpc/powerpc32/603e/fpu/Implies
16===================================================================
17--- /dev/null 1970-01-01 00:00:00.000000000 +0000
18+++ libc/ports/sysdeps/powerpc/powerpc32/603e/fpu/Implies 2011-12-05 22:18:14.151326027 -0800
19@@ -0,0 +1 @@
20+powerpc/powerpc32/fpu
21Index: libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies
22===================================================================
23--- /dev/null 1970-01-01 00:00:00.000000000 +0000
24+++ libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies 2011-12-05 22:16:11.751326040 -0800
25@@ -0,0 +1 @@
26+powerpc/powerpc32/603e/fpu
diff --git a/toolchain-layer/recipes-core/eglibc/eglibc-2.12/shorten-build-commands.patch b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/shorten-build-commands.patch
new file mode 100644
index 000000000..90e644ec3
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/eglibc-2.12/shorten-build-commands.patch
@@ -0,0 +1,81 @@
1Upstream-Status: Pending
2
3Source: http://sourceware.org/ml/libc-alpha/2010-03/msg00064.html
4
5This patch scratches an itch. Each individual gcc command in the
6glibc build is over 1K, which means it takes up a good chunk of my
7terminal. Most of that is include paths. Any version of GCC new
8enough to build glibc supports response files, which were added in
92005. So use a response file for the static list of include paths.
10Now the build commands are a lot shorter, and easier to use when
11developing glibc.
12
13Tested on x86_64-linux-gnu. Please apply if acceptable.
14
15--
16Daniel Jacobowitz
17CodeSourcery
18
192010-03-30 Daniel Jacobowitz <dan@codesourcery.com>
20
21 * Makeconfig (+common-includes): Define.
22 (+includes): Use @$(common-objpfx)includes.
23 * Makefile (postclean): Remove includes and includes.mk.
24 * Makerules ($(common-objpfx)includes.mk): Include and create
25 includes.mk. Create includes.
26
27Index: libc/Makeconfig
28===================================================================
29--- libc.orig/Makeconfig 2009-10-13 22:55:12.000000000 -0700
30+++ libc/Makeconfig 2010-03-31 16:02:37.120489733 -0700
31@@ -678,9 +678,10 @@ endif # $(+cflags) == ""
32 # library source directory, in the include directory, and in the
33 # current directory.
34 +sysdep-includes = $(addprefix -I,$(+sysdep_dirs))
35++common-includes = $(+sysdep-includes) $(includes) $(sysincludes)
36 +includes = -I$(..)include $(if $(subdir),$(objpfx:%/=-I%)) \
37- $(+sysdep-includes) $(includes) \
38- $(patsubst %/,-I%,$(..)) $(libio-include) -I. $(sysincludes)
39+ @$(common-objpfx)includes \
40+ $(patsubst %/,-I%,$(..)) $(libio-include) -I.
41
42 # Since libio has several internal header files, we use a -I instead
43 # of many little headers in the include directory.
44Index: libc/Makefile
45===================================================================
46--- libc.orig/Makefile 2009-12-09 12:06:28.000000000 -0800
47+++ libc/Makefile 2010-03-31 16:02:37.132481508 -0700
48@@ -247,7 +247,7 @@ parent-mostlyclean: common-mostlyclean #
49 parent-clean: parent-mostlyclean common-clean
50
51 postclean = $(addprefix $(common-objpfx),$(postclean-generated)) \
52- $(addprefix $(objpfx),sysd-dirs sysd-rules) \
53+ $(addprefix $(objpfx),sysd-dirs sysd-rules includes includes.mk) \
54 $(addprefix $(objpfx),sysd-sorted soversions.mk soversions.i)
55
56 clean: parent-clean
57Index: libc/Makerules
58===================================================================
59--- libc.orig/Makerules 2009-12-09 12:06:28.000000000 -0800
60+++ libc/Makerules 2010-03-31 16:02:37.140481645 -0700
61@@ -254,6 +254,20 @@ ifndef sysd-rules-done
62 no_deps=t
63 endif
64
65+-include $(common-objpfx)includes.mk
66+ifneq ($(+common-includes),$(saved-includes))
67+# Recreate includes.mk (and includes).
68+includes-force = FORCE
69+FORCE:
70+endif
71+$(common-objpfx)includes.mk: $(includes-force)
72+ -@rm -f $@T $(common-objpfx)includesT
73+ for inc in $(+common-includes); do echo "$$inc"; done \
74+ > $(common-objpfx)includesT
75+ mv -f $(common-objpfx)includesT $(common-objpfx)includes
76+ echo 'saved-includes := $(+common-includes)' > $@T
77+ mv -f $@T $@
78+
79 define o-iterator-doit
80 $(objpfx)%$o: %.S $(before-compile); $$(compile-command.S)
81 endef
diff --git a/toolchain-layer/recipes-core/eglibc/eglibc-initial_2.12.bb b/toolchain-layer/recipes-core/eglibc/eglibc-initial_2.12.bb
new file mode 100644
index 000000000..6951e526e
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/eglibc-initial_2.12.bb
@@ -0,0 +1,6 @@
1require eglibc_${PV}.bb
2require recipes-core/eglibc/eglibc-initial.inc
3
4do_configure_prepend () {
5 unset CFLAGS
6}
diff --git a/toolchain-layer/recipes-core/eglibc/eglibc-locale_2.12.bb b/toolchain-layer/recipes-core/eglibc/eglibc-locale_2.12.bb
new file mode 100644
index 000000000..bf682e793
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/eglibc-locale_2.12.bb
@@ -0,0 +1 @@
require recipes-core/eglibc/eglibc-locale.inc
diff --git a/toolchain-layer/recipes-core/eglibc/eglibc_2.12.bb b/toolchain-layer/recipes-core/eglibc/eglibc_2.12.bb
new file mode 100644
index 000000000..3509e8daa
--- /dev/null
+++ b/toolchain-layer/recipes-core/eglibc/eglibc_2.12.bb
@@ -0,0 +1,109 @@
1require recipes-core/eglibc/eglibc.inc
2
3DEPENDS += "gperf-native"
4PR = "r28"
5
6SRCREV = "15872"
7
8EGLIBC_BRANCH="eglibc-2_12"
9SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http \
10 file://eglibc-svn-arm-lowlevellock-include-tls.patch \
11 file://IO-acquire-lock-fix.patch \
12 file://shorten-build-commands.patch \
13 file://mips-rld-map-check.patch \
14 file://armv4-eabi-compile-fix.patch \
15 file://ppc-enable-603e-cpu.patch \
16 file://etc/ld.so.conf \
17 file://generate-supported.mk \
18 "
19SRC_URI_append_virtclass-nativesdk = " file://ld-search-order.patch"
20S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
21B = "${WORKDIR}/build-${TARGET_SYS}"
22
23PACKAGES_DYNAMIC = "libc6*"
24RPROVIDES_${PN}-dev = "libc6-dev virtual-libc-dev"
25PROVIDES_${PN}-dbg = "glibc-dbg"
26
27# the -isystem in bitbake.conf screws up glibc do_stage
28BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
29TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${layout_includedir}"
30
31GLIBC_ADDONS ?= "ports,nptl,libidn"
32
33GLIBC_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"
34
35FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/eglibc-${PV}', '${FILE_DIRNAME}/eglibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
36
37#
38# For now, we will skip building of a gcc package if it is a uclibc one
39# and our build is not a uclibc one, and we skip a glibc one if our build
40# is a uclibc build.
41#
42# See the note in gcc/gcc_3.4.0.oe
43#
44
45python __anonymous () {
46 import bb, re
47 uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None)
48 if uc_os:
49 raise bb.parse.SkipPackage("incompatible with target %s" %
50 bb.data.getVar('TARGET_OS', d, 1))
51}
52
53export libc_cv_slibdir = "${base_libdir}"
54
55EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
56 --without-cvs --disable-profile --disable-debug --without-gd \
57 --enable-clocale=gnu \
58 --enable-add-ons=${GLIBC_ADDONS},ports \
59 --with-headers=${STAGING_INCDIR} \
60 --without-selinux \
61 ${GLIBC_EXTRA_OECONF}"
62
63EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
64
65do_unpack_append() {
66 bb.build.exec_func('do_move_ports', d)
67}
68
69do_move_ports() {
70 if test -d ${WORKDIR}/${EGLIBC_BRANCH}/ports ; then
71 rm -rf ${S}/ports
72 mv ${WORKDIR}/${EGLIBC_BRANCH}/ports ${S}/
73 fi
74}
75
76do_configure () {
77# override this function to avoid the autoconf/automake/aclocal/autoheader
78# calls for now
79# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
80# version check and doesn't really help with anything
81 if [ -z "`which rpcgen`" ]; then
82 echo "rpcgen not found. Install glibc-devel."
83 exit 1
84 fi
85 (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
86 find ${S} -name "configure" | xargs touch
87 CPPFLAGS="" oe_runconf
88}
89
90rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
91 yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
92 rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
93
94do_compile () {
95 # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
96 unset LDFLAGS
97 base_do_compile
98 (
99 cd ${S}/sunrpc/rpcsvc
100 for r in ${rpcsvc}; do
101 h=`echo $r|sed -e's,\.x$,.h,'`
102 rpcgen -h $r -o $h || bbwarn "unable to generate header for $r"
103 done
104 )
105}
106
107require recipes-core/eglibc/eglibc-package.inc
108
109BBCLASSEXTEND = "nativesdk"