aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/glibc
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2010-12-13 13:48:16 -0800
committerKhem Raj <raj.khem@gmail.com>2010-12-14 12:09:08 -0800
commit4e6b1bfe289ad346cbd84926a43ad0f93760930d (patch)
tree6aca4f22c736339a0238a25ccfe25608d5ecf475 /recipes/glibc
parentc63e599a33bbb8fb389b603309dbdcc0915b13b0 (diff)
downloadopenembedded-4e6b1bfe289ad346cbd84926a43ad0f93760930d.tar.gz
eglibc/glibc: Use/add cross-localedef to generate locales
* Add recipe for cross-localedef-native * Consolidate eglibc/glibc to share common contructs in bbclass * Move common code in eglibc to eglibc.inc * By default use cross-locaedef to generate locales now instead of qemu Signed-off-by: Khem Raj <raj.khem@gmail.com> Acked-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes/glibc')
-rw-r--r--recipes/glibc/glibc-package.inc129
-rw-r--r--recipes/glibc/glibc_2.10.1.bb2
-rw-r--r--recipes/glibc/glibc_2.2.5.bb2
-rw-r--r--recipes/glibc/glibc_2.3.2.bb2
-rw-r--r--recipes/glibc/glibc_2.3.3.bb2
-rw-r--r--recipes/glibc/glibc_2.3.5+cvs20050627.bb2
-rw-r--r--recipes/glibc/glibc_2.5.bb2
-rw-r--r--recipes/glibc/glibc_2.6.1.bb2
-rw-r--r--recipes/glibc/glibc_2.9.bb2
-rw-r--r--recipes/glibc/glibc_cvs.bb2
10 files changed, 77 insertions, 70 deletions
diff --git a/recipes/glibc/glibc-package.inc b/recipes/glibc/glibc-package.inc
index 8cd8564aaf..476143baf6 100644
--- a/recipes/glibc/glibc-package.inc
+++ b/recipes/glibc/glibc-package.inc
@@ -22,69 +22,76 @@ python __anonymous () {
# default to disabled until qemu works for everyone
ENABLE_BINARY_LOCALE_GENERATION ?= "0"
+ENABLE_BINARY_LOCALE_GENERATION_pn-glibc-nativesdk = "0"
# BINARY_LOCALE_ARCHES is a space separated list of regular expressions
-BINARY_LOCALE_ARCHES ?= "arm.* sh3.* i[3-6]86 x86_64 powerpc"
+BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc mips"
+
+# set "1" to use cross-localedef for locale generation
+# set "0" for qemu emulation of native localedef for locale generation
+LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1"
+
+PKGSUFFIX = ""
+PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
+
+PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} \
+ ldd${PKGSUFFIX} localedef${PKGSUFFIX} ${PN}-utils ${PN}-doc \
+ ${PN}-locale libsegfault${PKGSUFFIX} ${PN}-extra-nss ${PN}-thread-db \
+ ${PN}-pcprofile ${PN}-dev ${PN}-static"
+
+PACKAGES_DYNAMIC = "glibc-gconv-*${PKGSUFFIX} glibc-charmap-* glibc-localedata-* locale-base-* \
+ glibc-binary-localedata-*"
+
+libc_baselibs = "${base_libdir}/libc* ${base_libdir}/libm* ${base_libdir}/ld* \
+ ${base_libdir}/libpthread* ${base_libdir}/libresolv* ${base_libdir}/librt* \
+ ${base_libdir}/libutil* ${base_libdir}/libnsl* ${base_libdir}/libnss_files* \
+ ${base_libdir}/libnss_compat* ${base_libdir}/libnss_dns* ${base_libdir}/libdl* \
+ ${base_libdir}/libanl* ${base_libdir}/libBrokenLocale*"
+
+# The problem is that if PN = "glibc", FILES_${PN} will overwrite FILES_glibc
+# Solution: Make them both the same thing, then it doesn't matter
+
+glibcfiles = "${sysconfdir} ${libc_baselibs} ${base_sbindir}/ldconfig \
+ ${libexecdir}/* ${datadir}/zoneinfo"
+glibcdbgfiles = "${bindir}/.debug ${sbindir}/.debug ${libdir}/.debug \
+ ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug \
+ ${libdir}/gconv/.debug ${libexecdir}/*/.debug"
+glibcdevfiles = "${bindir}/rpcgen ${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \
+ ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
+ ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal"
+
+FILES_glibc = "${glibcfiles}"
+FILES_${PN} = "${glibcfiles}"
+FILES_ldd${PKGSUFFIX} = "${bindir}/ldd"
+FILES_libsegfault${PKGSUFFIX} = "${base_libdir}/libSegFault*"
+FILES_glibc-extra-nss = "${base_libdir}/libnss*"
+FILES_sln = "${base_sbindir}/sln"
+FILES_glibc-dev = "${glibcdevfiles}"
+FILES_${PN}-dev = "${glibcdevfiles}"
+FILES_glibc-dbg = "${glibcdbgfiles}"
+FILES_${PN}-dbg = "${glibcdbgfiles}"
+FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd* ${sysconfdir}/nscd* ${sysconfdir}/init.d/nscd*"
+FILES_glibc-utils = "${bindir}/* ${sbindir}/*"
+FILES_glibc-gconv = "${libdir}/gconv/*"
+FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv"
+RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault"
+FILES_glibc-pcprofile = "${base_libdir}/libpcprofile.so"
+FILES_glibc-thread-db = "${base_libdir}/libthread_db*"
+FILES_localedef${PKGSUFFIX} = "${bindir}/localedef"
+RPROVIDES_glibc-dev += "libc-dev"
+
+SUMMARY_sln = "The static ln."
+DESCRIPTION_sln = "Similar to the 'ln' utility, but statically linked. sln is useful to make symbolic links to dynamic libraries if the dynamic linking system, for some reason, is not functional."
+SUMMARY_nscd = "Name service cache daemon"
+DESCRIPTION_nscd = "nscd, name service cache daemon, caches name service lookups for the passwd, group and hosts information. It can damatically improvide performance with remote, such as NIS or NIS+, name services."
+SUMMARY_glibc-extra-nss = "hesiod, NIS and NIS+ nss libraries"
+DESCRIPTION_glibc-extra-nss = "glibc: nis, nisplus and hesiod search services.
+SUMMARY_ldd = "print shared library dependencies"
+DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line."
+DESCRIPTION_localedef = "glibc: compile locale definition files"
+SUMMARY_glibc-utils = "Miscellaneous utilities provided by glibc"
+DESCRIPTION_glibc-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..."
-# Set this to zero if you don't want ldconfig in the output package
-USE_LDCONFIG ?= "1"
-
-inherit glibc-package
-
-INITSCRIPT_NAME = "nscd"
-INITSCRIPT_PACKAGES = "nscd"
-INITSCRIPT_PARAMS = "start 40 S . stop 40 0 6 1 ."
-inherit update-rc.d
-
-def get_glibc_fpu_setting(bb, d):
- if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
- return "--without-fp"
- return ""
-
-EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
EXTRA_OEMAKE += "rootsbindir=${base_sbindir}"
-OVERRIDES_prepend = "${TARGET_ARCH}-${TARGET_OS}:"
-
-do_install() {
- oe_runmake install_root=${D} install
- for r in ${rpcsvc}; do
- h=`echo $r|sed -e's,\.x$,.h,'`
- install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/
- done
- install -d ${D}${libdir}/locale
- make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED"
- # get rid of some broken files...
- for i in ${GLIBC_BROKEN_LOCALES}; do
- grep -v $i ${WORKDIR}/SUPPORTED > ${WORKDIR}/SUPPORTED.tmp
- mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED
- done
- rm -f ${D}{sysconfdir}/rpc
- rm -rf ${D}${datadir}/zoneinfo
- install -d ${D}${sysconfdir}/init.d
- install -m 0644 ${S}/nscd/nscd.conf ${D}${sysconfdir}/
- install ${S}/nscd/nscd.init ${D}${sysconfdir}/init.d/nscd
-}
-
-
-python __anonymous () {
- enabled = bb.data.getVar("ENABLE_BINARY_LOCALE_GENERATION", d, 1)
-
- if enabled and int(enabled):
- import re
-
- target_arch = bb.data.getVar("TARGET_ARCH", d, 1)
- binary_arches = bb.data.getVar("BINARY_LOCALE_ARCHES", d, 1) or ""
-
- for regexp in binary_arches.split(" "):
- r = re.compile(regexp)
-
- if r.match(target_arch):
- depends = bb.data.getVar("DEPENDS", d, 1)
- depends = "%s qemu-native" % depends
- bb.data.setVar("DEPENDS", depends, d)
- bb.data.setVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", "compile", d)
- break
-}
-
-
+inherit libc-package
diff --git a/recipes/glibc/glibc_2.10.1.bb b/recipes/glibc/glibc_2.10.1.bb
index b29e36a820..58016e9520 100644
--- a/recipes/glibc/glibc_2.10.1.bb
+++ b/recipes/glibc/glibc_2.10.1.bb
@@ -82,7 +82,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
--without-selinux \
${GLIBC_EXTRA_OECONF}"
-EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
do_munge() {
# Integrate ports and libidn into tree
diff --git a/recipes/glibc/glibc_2.2.5.bb b/recipes/glibc/glibc_2.2.5.bb
index 8622950d76..40fe49bfbc 100644
--- a/recipes/glibc/glibc_2.2.5.bb
+++ b/recipes/glibc/glibc_2.2.5.bb
@@ -115,7 +115,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
--with-headers=${STAGING_INCDIR} \
${GLIBC_EXTRA_OECONF}"
-EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
glibc_do_unpack () {
mv ${WORKDIR}/linuxthreads ${WORKDIR}/linuxthreads_db ${S}/
diff --git a/recipes/glibc/glibc_2.3.2.bb b/recipes/glibc/glibc_2.3.2.bb
index 632df5b5d6..323f9b3bb8 100644
--- a/recipes/glibc/glibc_2.3.2.bb
+++ b/recipes/glibc/glibc_2.3.2.bb
@@ -119,7 +119,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
--with-headers=${STAGING_INCDIR} \
${GLIBC_EXTRA_OECONF}"
-EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
glibc_do_unpack () {
mv "${WORKDIR}/linuxthreads" "${WORKDIR}/linuxthreads_db" "${S}/"
diff --git a/recipes/glibc/glibc_2.3.3.bb b/recipes/glibc/glibc_2.3.3.bb
index 6e0ed6bd68..783e231593 100644
--- a/recipes/glibc/glibc_2.3.3.bb
+++ b/recipes/glibc/glibc_2.3.3.bb
@@ -64,7 +64,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
--with-headers=${STAGING_INCDIR} \
${GLIBC_EXTRA_OECONF}"
-EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
glibc_do_unpack () {
mv "${WORKDIR}/linuxthreads" "${WORKDIR}/linuxthreads_db" "${S}/"
diff --git a/recipes/glibc/glibc_2.3.5+cvs20050627.bb b/recipes/glibc/glibc_2.3.5+cvs20050627.bb
index 212445390f..8bf52090c8 100644
--- a/recipes/glibc/glibc_2.3.5+cvs20050627.bb
+++ b/recipes/glibc/glibc_2.3.5+cvs20050627.bb
@@ -78,7 +78,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
--without-selinux \
${GLIBC_EXTRA_OECONF}"
-EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
#avoid too much optimization on ppc
CFLAGS_dht-walnut += " -O1 -g0 -fPIC -fno-inline-functions -fno-unit-at-a-time "
diff --git a/recipes/glibc/glibc_2.5.bb b/recipes/glibc/glibc_2.5.bb
index cb3b5474fe..1aa7c6ba56 100644
--- a/recipes/glibc/glibc_2.5.bb
+++ b/recipes/glibc/glibc_2.5.bb
@@ -90,7 +90,7 @@ EXTRA_OECONF = "\
${GLIBC_EXTRA_OECONF} \
"
-EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
do_munge() {
# Integrate ports and libidn into tree
diff --git a/recipes/glibc/glibc_2.6.1.bb b/recipes/glibc/glibc_2.6.1.bb
index 8acfeffad9..7e42cd2f45 100644
--- a/recipes/glibc/glibc_2.6.1.bb
+++ b/recipes/glibc/glibc_2.6.1.bb
@@ -92,7 +92,7 @@ EXTRA_OECONF = "\
${GLIBC_EXTRA_OECONF} \
"
-EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
do_munge() {
# Integrate ports and libidn into tree
diff --git a/recipes/glibc/glibc_2.9.bb b/recipes/glibc/glibc_2.9.bb
index 456871dbd2..fef42b8649 100644
--- a/recipes/glibc/glibc_2.9.bb
+++ b/recipes/glibc/glibc_2.9.bb
@@ -94,7 +94,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
--without-selinux \
${GLIBC_EXTRA_OECONF}"
-EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
do_munge() {
# Integrate ports and libidn into tree
diff --git a/recipes/glibc/glibc_cvs.bb b/recipes/glibc/glibc_cvs.bb
index 1c7a785931..4281b5d0b9 100644
--- a/recipes/glibc/glibc_cvs.bb
+++ b/recipes/glibc/glibc_cvs.bb
@@ -62,7 +62,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
--without-selinux \
${GLIBC_EXTRA_OECONF}"
-EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
do_munge() {
# Integrate ports into tree