diff options
author | Dongxiao Xu <dongxiao.xu@intel.com> | 2011-06-28 14:58:15 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-06-28 13:44:41 +0100 |
commit | 8fa9d64f1d5128f304a0d36dbf55f49ccaf784b1 (patch) | |
tree | ad031554642f4b160ec5b9bd044577c03ef0c5a6 | |
parent | 671e580111c3f37f3c7835956db17e0425f9f937 (diff) | |
download | poky-8fa9d64f1d5128f304a0d36dbf55f49ccaf784b1.tar.gz |
libc-locale: split locale handling from libc recipe.
*libc's do_package will cost a lot of time due to the locale handing,
which may delay the other recipe's do_package task and affect the build
performance.
This commit moves locale handling into a separate recipe *libc-locale.
[RP: Add fixup with recent eglibc commit conflict for FILES_pn-dbg and PACKAGES]
(From OE-Core rev: c6d3242f7642f537b02870bb4eb650f0e2094b85)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/libc-common.bbclass | 23 | ||||
-rw-r--r-- | meta/classes/libc-package.bbclass | 24 | ||||
-rw-r--r-- | meta/conf/distro/include/tclibc-eglibc.inc | 1 | ||||
-rw-r--r-- | meta/conf/distro/include/tclibc-glibc.inc | 1 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-initial_2.13.bb | 4 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-locale_2.13.bb | 58 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc-package.inc | 32 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc.inc | 2 | ||||
-rw-r--r-- | meta/recipes-core/eglibc/eglibc_2.13.bb | 12 | ||||
-rw-r--r-- | meta/recipes-core/glibc/glibc-initial_2.10.1.bb | 4 | ||||
-rw-r--r-- | meta/recipes-core/glibc/glibc-locale_2.10.1.bb | 52 | ||||
-rw-r--r-- | meta/recipes-core/glibc/glibc-package.inc | 29 | ||||
-rw-r--r-- | meta/recipes-core/glibc/glibc_2.10.1.bb | 12 | ||||
-rw-r--r-- | meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb | 1 |
14 files changed, 176 insertions, 79 deletions
diff --git a/meta/classes/libc-common.bbclass b/meta/classes/libc-common.bbclass new file mode 100644 index 0000000000..bae0ace890 --- /dev/null +++ b/meta/classes/libc-common.bbclass | |||
@@ -0,0 +1,23 @@ | |||
1 | do_install() { | ||
2 | oe_runmake install_root=${D} install | ||
3 | for r in ${rpcsvc}; do | ||
4 | h=`echo $r|sed -e's,\.x$,.h,'` | ||
5 | install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/ | ||
6 | done | ||
7 | install -m 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ | ||
8 | install -d ${D}${libdir}/locale | ||
9 | make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED" | ||
10 | # get rid of some broken files... | ||
11 | for i in ${GLIBC_BROKEN_LOCALES}; do | ||
12 | grep -v $i ${WORKDIR}/SUPPORTED > ${WORKDIR}/SUPPORTED.tmp | ||
13 | mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED | ||
14 | done | ||
15 | rm -f ${D}{sysconfdir}/rpc | ||
16 | rm -rf ${D}${datadir}/zoneinfo | ||
17 | rm -rf ${D}${libexecdir}/getconf | ||
18 | } | ||
19 | |||
20 | def get_libc_fpu_setting(bb, d): | ||
21 | if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: | ||
22 | return "--without-fp" | ||
23 | return "" | ||
diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass index 55e3d48532..5737af4dfc 100644 --- a/meta/classes/libc-package.bbclass +++ b/meta/classes/libc-package.bbclass | |||
@@ -37,11 +37,6 @@ python __anonymous () { | |||
37 | break | 37 | break |
38 | } | 38 | } |
39 | 39 | ||
40 | def get_libc_fpu_setting(bb, d): | ||
41 | if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: | ||
42 | return "--without-fp" | ||
43 | return "" | ||
44 | |||
45 | OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}" | 40 | OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}" |
46 | 41 | ||
47 | do_configure_prepend() { | 42 | do_configure_prepend() { |
@@ -84,25 +79,6 @@ rm -rf ${TMP_LOCALE} | |||
84 | } | 79 | } |
85 | 80 | ||
86 | 81 | ||
87 | do_install() { | ||
88 | oe_runmake install_root=${D} install | ||
89 | for r in ${rpcsvc}; do | ||
90 | h=`echo $r|sed -e's,\.x$,.h,'` | ||
91 | install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/ | ||
92 | done | ||
93 | install -m 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ | ||
94 | install -d ${D}${libdir}/locale | ||
95 | make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED" | ||
96 | # get rid of some broken files... | ||
97 | for i in ${GLIBC_BROKEN_LOCALES}; do | ||
98 | grep -v $i ${WORKDIR}/SUPPORTED > ${WORKDIR}/SUPPORTED.tmp | ||
99 | mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED | ||
100 | done | ||
101 | rm -f ${D}${sysconfdir}/rpc | ||
102 | rm -rf ${D}${datadir}/zoneinfo | ||
103 | rm -rf ${D}${libexecdir}/getconf | ||
104 | } | ||
105 | |||
106 | TMP_LOCALE="/tmp/locale${libdir}/locale" | 82 | TMP_LOCALE="/tmp/locale${libdir}/locale" |
107 | 83 | ||
108 | do_prep_locale_tree() { | 84 | do_prep_locale_tree() { |
diff --git a/meta/conf/distro/include/tclibc-eglibc.inc b/meta/conf/distro/include/tclibc-eglibc.inc index a4c648e28e..e070aad716 100644 --- a/meta/conf/distro/include/tclibc-eglibc.inc +++ b/meta/conf/distro/include/tclibc-eglibc.inc | |||
@@ -15,6 +15,7 @@ PREFERRED_PROVIDER_virtual/libiconv-nativesdk ?= "eglibc-nativesdk" | |||
15 | PREFERRED_PROVIDER_virtual/libintl ?= "eglibc" | 15 | PREFERRED_PROVIDER_virtual/libintl ?= "eglibc" |
16 | PREFERRED_PROVIDER_virtual/libc ?= "eglibc" | 16 | PREFERRED_PROVIDER_virtual/libc ?= "eglibc" |
17 | PREFERRED_PROVIDER_virtual/libc-nativesdk ?= "eglibc-nativesdk" | 17 | PREFERRED_PROVIDER_virtual/libc-nativesdk ?= "eglibc-nativesdk" |
18 | PREFERRED_PROVIDER_virtual/libc-locale ?= "eglibc-locale" | ||
18 | 19 | ||
19 | CXXFLAGS += "-fvisibility-inlines-hidden" | 20 | CXXFLAGS += "-fvisibility-inlines-hidden" |
20 | 21 | ||
diff --git a/meta/conf/distro/include/tclibc-glibc.inc b/meta/conf/distro/include/tclibc-glibc.inc index e5843b0692..5e7afc1c00 100644 --- a/meta/conf/distro/include/tclibc-glibc.inc +++ b/meta/conf/distro/include/tclibc-glibc.inc | |||
@@ -15,6 +15,7 @@ PREFERRED_PROVIDER_virtual/libiconv-nativesdk ?= "glibc-nativesdk" | |||
15 | PREFERRED_PROVIDER_virtual/libintl ?= "glibc" | 15 | PREFERRED_PROVIDER_virtual/libintl ?= "glibc" |
16 | PREFERRED_PROVIDER_virtual/libc ?= "glibc" | 16 | PREFERRED_PROVIDER_virtual/libc ?= "glibc" |
17 | PREFERRED_PROVIDER_virtual/libc-nativesdk ?= "glibc-nativesdk" | 17 | PREFERRED_PROVIDER_virtual/libc-nativesdk ?= "glibc-nativesdk" |
18 | PREFERRED_PROVIDER_virtual/libc-locale ?= "glibc-locale" | ||
18 | 19 | ||
19 | CXXFLAGS += "-fvisibility-inlines-hidden" | 20 | CXXFLAGS += "-fvisibility-inlines-hidden" |
20 | 21 | ||
diff --git a/meta/recipes-core/eglibc/eglibc-initial_2.13.bb b/meta/recipes-core/eglibc/eglibc-initial_2.13.bb index 787c762609..b934f5b1bb 100644 --- a/meta/recipes-core/eglibc/eglibc-initial_2.13.bb +++ b/meta/recipes-core/eglibc/eglibc-initial_2.13.bb | |||
@@ -1,6 +1,10 @@ | |||
1 | require eglibc_${PV}.bb | 1 | require eglibc_${PV}.bb |
2 | require eglibc-initial.inc | 2 | require eglibc-initial.inc |
3 | 3 | ||
4 | do_install_locale() { | ||
5 | : | ||
6 | } | ||
7 | |||
4 | do_configure_prepend () { | 8 | do_configure_prepend () { |
5 | unset CFLAGS | 9 | unset CFLAGS |
6 | } | 10 | } |
diff --git a/meta/recipes-core/eglibc/eglibc-locale_2.13.bb b/meta/recipes-core/eglibc/eglibc-locale_2.13.bb new file mode 100644 index 0000000000..ed6c099c6c --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-locale_2.13.bb | |||
@@ -0,0 +1,58 @@ | |||
1 | INHIBIT_DEFAULT_DEPS = "1" | ||
2 | LICENSE = "LGPL" | ||
3 | |||
4 | BPN = "eglibc" | ||
5 | |||
6 | do_fetch[noexec] = "1" | ||
7 | do_unpack[noexec] = "1" | ||
8 | do_patch[noexec] = "1" | ||
9 | do_configure[noexec] = "1" | ||
10 | do_compile[noexec] = "1" | ||
11 | |||
12 | # Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION | ||
13 | # is set. The idea is to avoid running localedef on the target (at first boot) | ||
14 | # to decrease initial boot time and avoid localedef being killed by the OOM | ||
15 | # killer which used to effectively break i18n on machines with < 128MB RAM. | ||
16 | |||
17 | # default to disabled | ||
18 | ENABLE_BINARY_LOCALE_GENERATION ?= "0" | ||
19 | ENABLE_BINARY_LOCALE_GENERATION_pn-eglibc-locale-nativesdk = "0" | ||
20 | |||
21 | #enable locale generation on these arches | ||
22 | # BINARY_LOCALE_ARCHES is a space separated list of regular expressions | ||
23 | BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc mips" | ||
24 | |||
25 | # set "1" to use cross-localedef for locale generation | ||
26 | # set "0" for qemu emulation of native localedef for locale generation | ||
27 | LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1" | ||
28 | |||
29 | PR = "r0" | ||
30 | |||
31 | PKGSUFFIX = "" | ||
32 | PKGSUFFIX_virtclass-nativesdk = "-nativesdk" | ||
33 | |||
34 | PACKAGES = "eglibc-locale localedef${PKGSUFFIX}" | ||
35 | |||
36 | PACKAGES_DYNAMIC = "locale-base-* \ | ||
37 | eglibc-gconv-* eglibc-charmap-* eglibc-localedata-* eglibc-binary-localedata-* \ | ||
38 | glibc-gconv-*${PKGSUFFIX} glibc-charmap-* glibc-localedata-* glibc-binary-localedata-*" | ||
39 | |||
40 | PROVIDES = "virtual/libc-locale${PKGSUFFIX}" | ||
41 | |||
42 | RPROVIDES_eglibc-locale = "glibc-locale" | ||
43 | |||
44 | FILES_eglibc-gconv = "${libdir}/gconv/*" | ||
45 | FILES_localedef${PKGSUFFIX} = "${bindir}/localedef" | ||
46 | |||
47 | do_install () { | ||
48 | cp -fpPR ${STAGING_INCDIR}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS}/* ${D} | ||
49 | cp -fpPR ${D}/SUPPORTED ${WORKDIR} | ||
50 | } | ||
51 | |||
52 | DESCRIPTION_localedef = "eglibc: compile locale definition files" | ||
53 | |||
54 | inherit libc-package | ||
55 | |||
56 | do_install[depends] += "virtual/libc${PKGSUFFIX}:do_populate_sysroot" | ||
57 | |||
58 | BBCLASSEXTEND = "nativesdk" | ||
diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc index b5531ab01d..fd8fee8031 100644 --- a/meta/recipes-core/eglibc/eglibc-package.inc +++ b/meta/recipes-core/eglibc/eglibc-package.inc | |||
@@ -14,35 +14,13 @@ python __anonymous () { | |||
14 | bb.data.getVar('TARGET_OS', d, 1)) | 14 | bb.data.getVar('TARGET_OS', d, 1)) |
15 | } | 15 | } |
16 | 16 | ||
17 | # Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION | ||
18 | # is set. The idea is to avoid running localedef on the target (at first boot) | ||
19 | # to decrease initial boot time and avoid localedef being killed by the OOM | ||
20 | # killer which used to effectively break i18n on machines with < 128MB RAM. | ||
21 | |||
22 | # default to disabled | ||
23 | ENABLE_BINARY_LOCALE_GENERATION ?= "0" | ||
24 | ENABLE_BINARY_LOCALE_GENERATION_pn-eglibc-nativesdk = "0" | ||
25 | |||
26 | #enable locale generation on these arches | ||
27 | # BINARY_LOCALE_ARCHES is a space separated list of regular expressions | ||
28 | BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc mips" | ||
29 | |||
30 | # set "1" to use cross-localedef for locale generation | ||
31 | # set "0" for qemu emulation of native localedef for locale generation | ||
32 | LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1" | ||
33 | |||
34 | # Set this to zero if you don't want ldconfig in the output package | 17 | # Set this to zero if you don't want ldconfig in the output package |
35 | USE_LDCONFIG ?= "1" | 18 | USE_LDCONFIG ?= "1" |
36 | 19 | ||
37 | PKGSUFFIX = "" | 20 | PKGSUFFIX = "" |
38 | PKGSUFFIX_virtclass-nativesdk = "-nativesdk" | 21 | PKGSUFFIX_virtclass-nativesdk = "-nativesdk" |
39 | 22 | ||
40 | PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} localedef${PKGSUFFIX} libcidn ${PN}-utils ${PN}-pic ${PN}-dev eglibc-doc eglibc-locale libmemusage libsegfault${PKGSUFFIX} eglibc-extra-nss eglibc-thread-db${PKGSUFFIX} eglibc-pcprofile libsotruss${PKGSUFFIX}" | 23 | PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils ${PN}-pic ${PN}-dev eglibc-doc libcidn libmemusage libsegfault${PKGSUFFIX} eglibc-extra-nss eglibc-thread-db${PKGSUFFIX} eglibc-pcprofile libsotruss${PKGSUFFIX}" |
41 | |||
42 | PACKAGES_DYNAMIC = " \ | ||
43 | glibc-gconv-*${PKGSUFFIX} glibc-charmap-* glibc-localedata-* glibc-binary-localedata-* \ | ||
44 | eglibc-gconv-* eglibc-charmap-* eglibc-localedata-* eglibc-binary-localedata-* \ | ||
45 | locale-base-*${PKGSUFFIX}" | ||
46 | 24 | ||
47 | # Create a eglibc-binaries | 25 | # Create a eglibc-binaries |
48 | ALLOW_EMPTY_${PN}-binaries = "1" | 26 | ALLOW_EMPTY_${PN}-binaries = "1" |
@@ -69,7 +47,6 @@ RPROVIDES_eglibc-utils = "glibc-utils" | |||
69 | RPROVIDES_eglibc-pic = "glibc-pic" | 47 | RPROVIDES_eglibc-pic = "glibc-pic" |
70 | RPROVIDES_eglibc-dev = "glibc-dev" | 48 | RPROVIDES_eglibc-dev = "glibc-dev" |
71 | RPROVIDES_eglibc-doc = "glibc-doc" | 49 | RPROVIDES_eglibc-doc = "glibc-doc" |
72 | RPROVIDES_eglibc-locale = "glibc-locale" | ||
73 | RPROVIDES_eglibc-extra-nss = "glibc-extra-nss" | 50 | RPROVIDES_eglibc-extra-nss = "glibc-extra-nss" |
74 | RPROVIDES_eglibc-thread-db = "glibc-thread-db" | 51 | RPROVIDES_eglibc-thread-db = "glibc-thread-db" |
75 | RPROVIDES_eglibc-pcprofile = "glibc-pcprofile" | 52 | RPROVIDES_eglibc-pcprofile = "glibc-pcprofile" |
@@ -89,14 +66,12 @@ FILES_eglibc-dev_append += "${bindir}/rpcgen ${libdir}/*.a \ | |||
89 | ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal" | 66 | ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal" |
90 | FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd*" | 67 | FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd*" |
91 | FILES_eglibc-utils = "${bindir}/* ${sbindir}/*" | 68 | FILES_eglibc-utils = "${bindir}/* ${sbindir}/*" |
92 | FILES_eglibc-gconv = "${libdir}/gconv/*" | 69 | FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug" |
93 | FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/gconv/.debug ${libdir}/audit/.debug" | ||
94 | FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv" | 70 | FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv" |
95 | RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault" | 71 | RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault" |
96 | EDEPENDS_eglibc-utils = "libsotruss" | 72 | EDEPENDS_eglibc-utils = "libsotruss" |
97 | FILES_eglibc-pcprofile = "${base_libdir}/libpcprofile.so" | 73 | FILES_eglibc-pcprofile = "${base_libdir}/libpcprofile.so" |
98 | FILES_eglibc-thread-db${PKGSUFFIX} = "${base_libdir}/libthread_db*" | 74 | FILES_eglibc-thread-db${PKGSUFFIX} = "${base_libdir}/libthread_db*" |
99 | FILES_localedef${PKGSUFFIX} = "${bindir}/localedef" | ||
100 | RPROVIDES_eglibc-dev += "libc-dev" | 75 | RPROVIDES_eglibc-dev += "libc-dev" |
101 | 76 | ||
102 | SUMMARY_sln = "The static ln." | 77 | SUMMARY_sln = "The static ln." |
@@ -107,10 +82,9 @@ SUMMARY_eglibc-extra-nss = "hesiod, NIS and NIS+ nss libraries" | |||
107 | DESCRIPTION_eglibc-extra-nss = "eglibc: nis, nisplus and hesiod search services." | 82 | DESCRIPTION_eglibc-extra-nss = "eglibc: nis, nisplus and hesiod search services." |
108 | SUMMARY_ldd = "print shared library dependencies" | 83 | SUMMARY_ldd = "print shared library dependencies" |
109 | DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line." | 84 | DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line." |
110 | DESCRIPTION_localedef = "eglibc: compile locale definition files" | ||
111 | SUMMARY_eglibc-utils = "Miscellaneous utilities provided by eglibc" | 85 | SUMMARY_eglibc-utils = "Miscellaneous utilities provided by eglibc" |
112 | DESCRIPTION_eglibc-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..." | 86 | DESCRIPTION_eglibc-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..." |
113 | DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs" | 87 | DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs" |
114 | 88 | ||
115 | inherit libc-package | 89 | inherit libc-common |
116 | 90 | ||
diff --git a/meta/recipes-core/eglibc/eglibc.inc b/meta/recipes-core/eglibc/eglibc.inc index 616f1aff6d..74afb9d2b0 100644 --- a/meta/recipes-core/eglibc/eglibc.inc +++ b/meta/recipes-core/eglibc/eglibc.inc | |||
@@ -43,7 +43,7 @@ EGLIBCPARALLELISM := "PARALLELMFLAGS="${PARALLEL_MAKE}"" | |||
43 | EXTRA_OEMAKE += ${EGLIBCPARALLELISM} | 43 | EXTRA_OEMAKE += ${EGLIBCPARALLELISM} |
44 | PARALLEL_MAKE = "" | 44 | PARALLEL_MAKE = "" |
45 | 45 | ||
46 | PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile" | 46 | PACKAGES = "glibc catchsegv sln nscd ldd glibc-utils glibc-dev glibc-doc libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile" |
47 | 47 | ||
48 | OE_FEATURES = "${@features_to_eglibc_settings(d)}" | 48 | OE_FEATURES = "${@features_to_eglibc_settings(d)}" |
49 | do_configure_prepend() { | 49 | do_configure_prepend() { |
diff --git a/meta/recipes-core/eglibc/eglibc_2.13.bb b/meta/recipes-core/eglibc/eglibc_2.13.bb index 3490d2db9f..603d9cdc62 100644 --- a/meta/recipes-core/eglibc/eglibc_2.13.bb +++ b/meta/recipes-core/eglibc/eglibc_2.13.bb | |||
@@ -110,6 +110,18 @@ do_compile () { | |||
110 | ) | 110 | ) |
111 | } | 111 | } |
112 | 112 | ||
113 | do_install_locale () { | ||
114 | dest=${D}/${includedir}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS} | ||
115 | install -d ${dest} ${dest}${bindir} | ||
116 | cp -fpPR ${D}${base_libdir} ${dest}${base_prefix} | ||
117 | cp -fpPR ${D}${libdir} ${dest}${exec_prefix} | ||
118 | cp -fpPR ${D}${datadir} ${dest}${exec_prefix} | ||
119 | cp -fpPR ${D}${bindir}/localedef ${dest}${bindir} | ||
120 | cp -fpPR ${WORKDIR}/SUPPORTED ${dest} | ||
121 | } | ||
122 | |||
123 | addtask do_install_locale after do_install before do_populate_sysroot | ||
124 | |||
113 | require eglibc-package.inc | 125 | require eglibc-package.inc |
114 | 126 | ||
115 | BBCLASSEXTEND = "nativesdk" | 127 | BBCLASSEXTEND = "nativesdk" |
diff --git a/meta/recipes-core/glibc/glibc-initial_2.10.1.bb b/meta/recipes-core/glibc/glibc-initial_2.10.1.bb index d66297090f..bc3d7e4192 100644 --- a/meta/recipes-core/glibc/glibc-initial_2.10.1.bb +++ b/meta/recipes-core/glibc/glibc-initial_2.10.1.bb | |||
@@ -1,6 +1,10 @@ | |||
1 | require glibc_${PV}.bb | 1 | require glibc_${PV}.bb |
2 | require glibc-initial.inc | 2 | require glibc-initial.inc |
3 | 3 | ||
4 | do_install_locale() { | ||
5 | : | ||
6 | } | ||
7 | |||
4 | do_configure_prepend () { | 8 | do_configure_prepend () { |
5 | unset CFLAGS | 9 | unset CFLAGS |
6 | } | 10 | } |
diff --git a/meta/recipes-core/glibc/glibc-locale_2.10.1.bb b/meta/recipes-core/glibc/glibc-locale_2.10.1.bb new file mode 100644 index 0000000000..d8ff12d274 --- /dev/null +++ b/meta/recipes-core/glibc/glibc-locale_2.10.1.bb | |||
@@ -0,0 +1,52 @@ | |||
1 | #INHIBIT_DEFAULT_DEPS = "1" | ||
2 | LICENSE = "LGPL" | ||
3 | |||
4 | BPN = "glibc" | ||
5 | |||
6 | do_fetch[noexec] = "1" | ||
7 | do_unpack[noexec] = "1" | ||
8 | do_patch[noexec] = "1" | ||
9 | do_configure[noexec] = "1" | ||
10 | do_compile[noexec] = "1" | ||
11 | |||
12 | # Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION | ||
13 | # is set. The idea is to avoid running localedef on the target (at first boot) | ||
14 | # to decrease initial boot time and avoid localedef being killed by the OOM | ||
15 | # killer which used to effectively break i18n on machines with < 128MB RAM. | ||
16 | |||
17 | # default to disabled | ||
18 | ENABLE_BINARY_LOCALE_GENERATION ?= "0" | ||
19 | ENABLE_BINARY_LOCALE_GENERATION_pn-glibc-locale-nativesdk = "0" | ||
20 | |||
21 | #enable locale generation on these arches | ||
22 | # BINARY_LOCALE_ARCHES is a space separated list of regular expressions | ||
23 | BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc mips" | ||
24 | |||
25 | # set "1" to use cross-localedef for locale generation | ||
26 | # set "0" for qemu emulation of native localedef for locale generation | ||
27 | LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1" | ||
28 | |||
29 | PR = "r0" | ||
30 | |||
31 | PKGSUFFIX = "" | ||
32 | PKGSUFFIX_virtclass-nativesdk = "-nativesdk" | ||
33 | |||
34 | PROVIDES = "virtual/libc-locale" | ||
35 | |||
36 | PACKAGES = "glibc-locale localedef${PKGSUFFIX}" | ||
37 | |||
38 | PACKAGES_DYNAMIC = "locale-base-* \ | ||
39 | glibc-gconv-*${PKGSUFFIX} glibc-charmap-* glibc-localedata-* glibc-binary-localedata-*" | ||
40 | |||
41 | FILES_localedef${PKGSUFFIX} = "${bindir}/localedef" | ||
42 | |||
43 | DESCRIPTION_localedef = "glibc: compile locale definition files" | ||
44 | |||
45 | do_install () { | ||
46 | cp -fpPR ${STAGING_INCDIR}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}/* ${D} | ||
47 | cp -fpPR ${D}/SUPPORTED ${WORKDIR} | ||
48 | } | ||
49 | |||
50 | do_install[depends] += "virtual/libc${PKGSUFFIX}:do_populate_sysroot" | ||
51 | |||
52 | BBCLASSEXTEND = "nativesdk" | ||
diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index 27dc4271c3..5373d56d57 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc | |||
@@ -14,34 +14,14 @@ python __anonymous () { | |||
14 | bb.data.getVar('TARGET_OS', d, 1)) | 14 | bb.data.getVar('TARGET_OS', d, 1)) |
15 | } | 15 | } |
16 | 16 | ||
17 | |||
18 | # Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION | ||
19 | # is set. The idea is to avoid running localedef on the target (at first boot) | ||
20 | # to decrease initial boot time and avoid localedef being killed by the OOM | ||
21 | # killer which used to effectively break i18n on machines with < 128MB RAM. | ||
22 | |||
23 | # default to disabled until qemu works for everyone | ||
24 | ENABLE_BINARY_LOCALE_GENERATION ?= "0" | ||
25 | ENABLE_BINARY_LOCALE_GENERATION_pn-glibc-nativesdk = "0" | ||
26 | |||
27 | # BINARY_LOCALE_ARCHES is a space separated list of regular expressions | ||
28 | BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc mips" | ||
29 | |||
30 | # set "1" to use cross-localedef for locale generation | ||
31 | # set "0" for qemu emulation of native localedef for locale generation | ||
32 | LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1" | ||
33 | |||
34 | PKGSUFFIX = "" | 17 | PKGSUFFIX = "" |
35 | PKGSUFFIX_virtclass-nativesdk = "-nativesdk" | 18 | PKGSUFFIX_virtclass-nativesdk = "-nativesdk" |
36 | 19 | ||
37 | PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} \ | 20 | PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} \ |
38 | ldd${PKGSUFFIX} localedef${PKGSUFFIX} ${PN}-utils ${PN}-dev ${PN}-doc \ | 21 | ldd${PKGSUFFIX} ${PN}-utils ${PN}-dev ${PN}-doc \ |
39 | ${PN}-locale libsegfault${PKGSUFFIX} ${PN}-extra-nss ${PN}-thread-db \ | 22 | libsegfault${PKGSUFFIX} ${PN}-extra-nss ${PN}-thread-db \ |
40 | ${PN}-pcprofile" | 23 | ${PN}-pcprofile" |
41 | 24 | ||
42 | PACKAGES_DYNAMIC = "glibc-gconv-*${PKGSUFFIX} glibc-charmap-* glibc-localedata-* locale-base-* \ | ||
43 | glibc-binary-localedata-*" | ||
44 | |||
45 | libc_baselibs = "${base_libdir}/libc* ${base_libdir}/libm* ${base_libdir}/ld* \ | 25 | libc_baselibs = "${base_libdir}/libc* ${base_libdir}/libm* ${base_libdir}/ld* \ |
46 | ${base_libdir}/libpthread* ${base_libdir}/libresolv* ${base_libdir}/librt* \ | 26 | ${base_libdir}/libpthread* ${base_libdir}/libresolv* ${base_libdir}/librt* \ |
47 | ${base_libdir}/libutil* ${base_libdir}/libnsl* ${base_libdir}/libnss_files* \ | 27 | ${base_libdir}/libutil* ${base_libdir}/libnsl* ${base_libdir}/libnss_files* \ |
@@ -77,7 +57,6 @@ FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv" | |||
77 | RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault" | 57 | RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault" |
78 | FILES_glibc-pcprofile = "${base_libdir}/libpcprofile.so" | 58 | FILES_glibc-pcprofile = "${base_libdir}/libpcprofile.so" |
79 | FILES_glibc-thread-db = "${base_libdir}/libthread_db*" | 59 | FILES_glibc-thread-db = "${base_libdir}/libthread_db*" |
80 | FILES_localedef${PKGSUFFIX} = "${bindir}/localedef" | ||
81 | RPROVIDES_glibc-dev += "libc-dev" | 60 | RPROVIDES_glibc-dev += "libc-dev" |
82 | 61 | ||
83 | SUMMARY_sln = "The static ln." | 62 | SUMMARY_sln = "The static ln." |
@@ -88,10 +67,10 @@ SUMMARY_glibc-extra-nss = "hesiod, NIS and NIS+ nss libraries" | |||
88 | DESCRIPTION_glibc-extra-nss = "glibc: nis, nisplus and hesiod search services. | 67 | DESCRIPTION_glibc-extra-nss = "glibc: nis, nisplus and hesiod search services. |
89 | SUMMARY_ldd = "print shared library dependencies" | 68 | SUMMARY_ldd = "print shared library dependencies" |
90 | DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line." | 69 | DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line." |
91 | DESCRIPTION_localedef = "glibc: compile locale definition files" | ||
92 | SUMMARY_glibc-utils = "Miscellaneous utilities provided by glibc" | 70 | SUMMARY_glibc-utils = "Miscellaneous utilities provided by glibc" |
93 | DESCRIPTION_glibc-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..." | 71 | DESCRIPTION_glibc-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..." |
94 | 72 | ||
95 | EXTRA_OEMAKE += "rootsbindir=${base_sbindir}" | 73 | EXTRA_OEMAKE += "rootsbindir=${base_sbindir}" |
96 | 74 | ||
97 | inherit libc-package | 75 | inherit libc-common |
76 | |||
diff --git a/meta/recipes-core/glibc/glibc_2.10.1.bb b/meta/recipes-core/glibc/glibc_2.10.1.bb index 33ebe24b03..a2e7b834f5 100644 --- a/meta/recipes-core/glibc/glibc_2.10.1.bb +++ b/meta/recipes-core/glibc/glibc_2.10.1.bb | |||
@@ -154,6 +154,18 @@ do_compile () { | |||
154 | ) | 154 | ) |
155 | } | 155 | } |
156 | 156 | ||
157 | do_install_locale () { | ||
158 | dest=${D}/${includedir}/glibc-locale-internal-${MULTIMACH_TARGET_SYS} | ||
159 | install -d ${dest} ${dest}${bindir} | ||
160 | cp -fpPR ${D}${base_libdir} ${dest}${base_prefix} | ||
161 | cp -fpPR ${D}${libdir} ${dest}${exec_prefix} | ||
162 | cp -fpPR ${D}${datadir} ${dest}${exec_prefix} | ||
163 | cp -fpPR ${D}${bindir}/localedef ${dest}${bindir} | ||
164 | cp -fpPR ${WORKDIR}/SUPPORTED ${dest} | ||
165 | } | ||
166 | |||
167 | addtask do_install_locale after do_install before do_populate_sysroot | ||
168 | |||
157 | require glibc-stage.inc | 169 | require glibc-stage.inc |
158 | 170 | ||
159 | require glibc-package.inc | 171 | require glibc-package.inc |
diff --git a/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb b/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb index f7149289d7..a874c8b15a 100644 --- a/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb +++ b/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb | |||
@@ -40,6 +40,7 @@ do_install() { | |||
40 | 40 | ||
41 | GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "compile" | 41 | GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "compile" |
42 | 42 | ||
43 | inherit libc-common | ||
43 | inherit libc-package | 44 | inherit libc-package |
44 | 45 | ||
45 | PACKAGES += "libgcc libgcc-dev libstdc++ libstdc++-dev linux-libc-headers" | 46 | PACKAGES += "libgcc libgcc-dev libstdc++ libstdc++-dev linux-libc-headers" |