blob: 0a7adfcc83cfb991fafe2b969b08c2eaa9da70de [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001include glibc-collateral.inc
2
3SUMMARY = "Locale data from glibc"
4
5BPN = "glibc"
6LOCALEBASEPN = "${MLPREFIX}glibc"
7
8# glibc-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 'glibc-locale/2.17-r0/package/usr/lib/gconv/IBM1166.so' 'glibc-locale/2.17-r0/package/usr/lib/gconv/.debug/IBM1166.so')
10# ERROR: Function failed: split_and_strip_files
11BINUTILSDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}binutils:do_populate_sysroot"
12BINUTILSDEP_class-nativesdk = "virtual/${TARGET_PREFIX}binutils-crosssdk:do_populate_sysroot"
13do_package[depends] += "${BINUTILSDEP}"
14
15# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
16# is set. The idea is to avoid running localedef on the target (at first boot)
17# to decrease initial boot time and avoid localedef being killed by the OOM
18# killer which used to effectively break i18n on machines with < 128MB RAM.
19
20# default to disabled
21ENABLE_BINARY_LOCALE_GENERATION ?= "0"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060022ENABLE_BINARY_LOCALE_GENERATION_pn-nativesdk-glibc-locale = "1"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050023
24#enable locale generation on these arches
25# BINARY_LOCALE_ARCHES is a space separated list of regular expressions
26BINARY_LOCALE_ARCHES ?= "arm.* aarch64 i[3-6]86 x86_64 powerpc mips mips64"
27
28# set "1" to use cross-localedef for locale generation
29# set "0" for qemu emulation of native localedef for locale generation
30LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1"
31
32PROVIDES = "virtual/libc-locale"
33
34PACKAGES = "localedef ${PN}-dbg"
35
36PACKAGES_DYNAMIC = "^locale-base-.* \
37 ^glibc-gconv-.* ^glibc-charmap-.* ^glibc-localedata-.* ^glibc-binary-localedata-.* \
38 ^glibc-gconv-.* ^glibc-charmap-.* ^glibc-localedata-.* ^glibc-binary-localedata-.* \
39 ^${MLPREFIX}glibc-gconv$"
40
41# Create a glibc-binaries package
42ALLOW_EMPTY_${BPN}-binaries = "1"
43PACKAGES += "${BPN}-binaries"
44RRECOMMENDS_${BPN}-binaries = "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("glibc-binary") != -1])}"
45
46# Create a glibc-charmaps package
47ALLOW_EMPTY_${BPN}-charmaps = "1"
48PACKAGES += "${BPN}-charmaps"
49RRECOMMENDS_${BPN}-charmaps = "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("glibc-charmap") != -1])}"
50
51# Create a glibc-gconvs package
52ALLOW_EMPTY_${BPN}-gconvs = "1"
53PACKAGES += "${BPN}-gconvs"
54RRECOMMENDS_${BPN}-gconvs = "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("glibc-gconv") != -1])}"
55
56# Create a glibc-localedatas package
57ALLOW_EMPTY_${BPN}-localedatas = "1"
58PACKAGES += "${BPN}-localedatas"
59RRECOMMENDS_${BPN}-localedatas = "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("glibc-localedata") != -1])}"
60
61DESCRIPTION_localedef = "glibc: compile locale definition files"
62
63# glibc-gconv is dynamically added into PACKAGES, thus
64# FILES_glibc-gconv will not be automatically extended in multilib.
65# Explicitly add ${MLPREFIX} for FILES_glibc-gconv.
66FILES_${MLPREFIX}glibc-gconv = "${libdir}/gconv/*"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050067FILES_localedef = "${bindir}/localedef"
68
69LOCALETREESRC = "${STAGING_INCDIR}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}"
70
71do_install () {
72 mkdir -p ${D}${bindir} ${D}${datadir} ${D}${libdir}
73 if [ -n "$(ls ${LOCALETREESRC}/${bindir})" ]; then
74 cp -fpPR ${LOCALETREESRC}/${bindir}/* ${D}${bindir}
75 fi
76 if [ -n "$(ls ${LOCALETREESRC}/${localedir})" ]; then
77 mkdir -p ${D}${localedir}
78 cp -fpPR ${LOCALETREESRC}/${localedir}/* ${D}${localedir}
79 fi
80 if [ -e ${LOCALETREESRC}/${libdir}/gconv ]; then
81 cp -fpPR ${LOCALETREESRC}/${libdir}/gconv ${D}${libdir}
82 fi
83 if [ -e ${LOCALETREESRC}/${datadir}/i18n ]; then
84 cp -fpPR ${LOCALETREESRC}/${datadir}/i18n ${D}${datadir}
85 fi
86 if [ -e ${LOCALETREESRC}/${datadir}/locale ]; then
87 cp -fpPR ${LOCALETREESRC}/${datadir}/locale ${D}${datadir}
88 fi
Patrick Williamsf1e5d692016-03-30 15:21:19 -050089 chown root:root -R ${D}
Patrick Williamsc124f4f2015-09-15 14:41:29 -050090 cp -fpPR ${LOCALETREESRC}/SUPPORTED ${WORKDIR}
91}
92
93inherit libc-package
94
95BBCLASSEXTEND = "nativesdk"