summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/eglibc/eglibc-locale.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/eglibc/eglibc-locale.inc')
-rw-r--r--meta/recipes-core/eglibc/eglibc-locale.inc92
1 files changed, 92 insertions, 0 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-locale.inc b/meta/recipes-core/eglibc/eglibc-locale.inc
new file mode 100644
index 0000000000..c3fcc6d749
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-locale.inc
@@ -0,0 +1,92 @@
1include eglibc-collateral.inc
2
3SUMMARY = "Locale data from eglibc"
4
5BPN = "eglibc"
6LOCALEBASEPN = "${MLPREFIX}eglibc"
7
8# eglibc-collateral.inc inhibits all default deps, but do_package needs objcopy
9# ERROR: objcopy failed with exit code 127 (cmd was 'i586-webos-linux-objcopy' --only-keep-debug 'eglibc-locale/2.17-r0/package/usr/lib/gconv/IBM1166.so' 'eglibc-locale/2.17-r0/package/usr/lib/gconv/.debug/IBM1166.so')
10# ERROR: Function failed: split_and_strip_files
11DEPENDS_class-target = "virtual/${TARGET_PREFIX}binutils"
12
13# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
14# is set. The idea is to avoid running localedef on the target (at first boot)
15# to decrease initial boot time and avoid localedef being killed by the OOM
16# killer which used to effectively break i18n on machines with < 128MB RAM.
17
18# default to disabled
19ENABLE_BINARY_LOCALE_GENERATION ?= "0"
20ENABLE_BINARY_LOCALE_GENERATION_pn-nativesdk-eglibc-locale = "0"
21
22#enable locale generation on these arches
23# BINARY_LOCALE_ARCHES is a space separated list of regular expressions
24BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc mips mips64"
25
26# set "1" to use cross-localedef for locale generation
27# set "0" for qemu emulation of native localedef for locale generation
28LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1"
29
30PROVIDES = "virtual/libc-locale"
31
32PACKAGES = "localedef ${PN}-dbg"
33
34PACKAGES_DYNAMIC = "^locale-base-.* \
35 ^eglibc-gconv-.* ^eglibc-charmap-.* ^eglibc-localedata-.* ^eglibc-binary-localedata-.* \
36 ^glibc-gconv-.* ^glibc-charmap-.* ^glibc-localedata-.* ^glibc-binary-localedata-.*"
37
38# Create a eglibc-binaries package
39ALLOW_EMPTY_${BPN}-binaries = "1"
40PACKAGES += "${BPN}-binaries"
41RRECOMMENDS_${BPN}-binaries = "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("eglibc-binary") != -1])}"
42
43# Create a eglibc-charmaps package
44ALLOW_EMPTY_${BPN}-charmaps = "1"
45PACKAGES += "${BPN}-charmaps"
46RRECOMMENDS_${BPN}-charmaps = "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("eglibc-charmap") != -1])}"
47
48# Create a eglibc-gconvs package
49ALLOW_EMPTY_${BPN}-gconvs = "1"
50PACKAGES += "${BPN}-gconvs"
51RRECOMMENDS_${BPN}-gconvs = "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("eglibc-gconv") != -1])}"
52
53# Create a eglibc-localedatas package
54ALLOW_EMPTY_${BPN}-localedatas = "1"
55PACKAGES += "${BPN}-localedatas"
56RRECOMMENDS_${BPN}-localedatas = "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("eglibc-localedata") != -1])}"
57
58DESCRIPTION_localedef = "eglibc: compile locale definition files"
59
60# eglibc-gconv is dynamically added into PACKAGES, thus
61# FILES_eglibc-gconv will not be automatically extended in multilib.
62# Explicitly add ${MLPREFIX} for FILES_eglibc-gconv.
63FILES_${MLPREFIX}eglibc-gconv = "${libdir}/gconv/*"
64FILES_${PN}-dbg += "${libdir}/gconv/.debug/*"
65FILES_localedef = "${bindir}/localedef"
66
67LOCALETREESRC = "${STAGING_INCDIR}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS}"
68
69do_install () {
70 mkdir -p ${D}${bindir} ${D}${datadir} ${D}${libdir} ${D}${localedir}
71 if [ -n "$(ls ${LOCALETREESRC}/${bindir})" ]; then
72 cp -fpPR ${LOCALETREESRC}/${bindir}/* ${D}${bindir}
73 fi
74 if [ -n "$(ls ${LOCALETREESRC}/${localedir})" ]; then
75 cp -fpPR ${LOCALETREESRC}/${localedir}/* ${D}${localedir}
76 fi
77 if [ -e ${LOCALETREESRC}/${libdir}/gconv ]; then
78 cp -fpPR ${LOCALETREESRC}/${libdir}/gconv ${D}${libdir}
79 fi
80 if [ -e ${LOCALETREESRC}/${datadir}/i18n ]; then
81 cp -fpPR ${LOCALETREESRC}/${datadir}/i18n ${D}${datadir}
82 fi
83 if [ -e ${LOCALETREESRC}/${datadir}/locale ]; then
84 cp -fpPR ${LOCALETREESRC}/${datadir}/locale ${D}${datadir}
85 fi
86 chown root.root -R ${D}
87 cp -fpPR ${LOCALETREESRC}/SUPPORTED ${WORKDIR}
88}
89
90inherit libc-package
91
92BBCLASSEXTEND = "nativesdk"