* [PATCH V3 0/4] uclibc support in oe-core v3
@ 2011-04-30 22:06 Khem Raj
2011-04-30 22:06 ` [PATCH 1/4] gettext.bbclass: Use _append instead of =+ Khem Raj
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Khem Raj @ 2011-04-30 22:06 UTC (permalink / raw)
To: OE core
This patchset works well with both uclibc and eglibc
For uclibc one would need meta-openembedded layer for now
I have included the feedback on v2
Additionally inherit gettext for libx11 recipes
alsa-utils needs to fix exp10 references for uclibc
Pull URL: git://git.openembedded.org/openembedded-core-contrib
Branch: kraj/uclibc
Browse: http://git.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/uclibc
Thanks,
Khem Raj <raj.khem@gmail.com>
---
Khem Raj (4):
gettext.bbclass: Use _append instead of =+
insane.bbclass: Checking for NLS too when checking gettext dependency
libx11: Use inherit gettext
alsa-utils_1.0.24.2.bb: Fix build for uclibc targets
meta/classes/gettext.bbclass | 30 ++++++++++++++-----
meta/classes/insane.bbclass | 9 +++--
meta/recipes-graphics/xorg-lib/libx11_1.3.4.bb | 3 +-
meta/recipes-graphics/xorg-lib/libx11_git.bb | 6 ++-
.../uclibc-exp10-replacement.patch | 21 ++++++++++++++
.../recipes-multimedia/alsa/alsa-utils_1.0.24.2.bb | 4 ++-
6 files changed, 57 insertions(+), 16 deletions(-)
create mode 100644 meta/recipes-multimedia/alsa/alsa-utils-1.0.24.2/uclibc-exp10-replacement.patch
--
1.7.4.1
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH 1/4] gettext.bbclass: Use _append instead of =+ 2011-04-30 22:06 [PATCH V3 0/4] uclibc support in oe-core v3 Khem Raj @ 2011-04-30 22:06 ` Khem Raj 2011-04-30 22:06 ` [PATCH 2/4] insane.bbclass: Checking for NLS too when checking gettext dependency Khem Raj ` (2 subsequent siblings) 3 siblings, 0 replies; 6+ messages in thread From: Khem Raj @ 2011-04-30 22:06 UTC (permalink / raw) To: OE core Ensure gettext and gettext-native are removed from DEPENDS when not using NLS Use append instead of += to get gettext dependecies processed correctly in all cases Dont remove gettext-native for native recipes as ENABLE_NLS is only for target and not for native recipes Replace using 1 for a boolean type with True Honor INHIBIT_DEFAULT_DEPS Remove the added dependencies for gettext if INHIBIT_DEFAULT_DEPS is non null operate on virtclass overrides individually virtclass classes are parsed at the end hence just doing DEPENDS munging is not enough since it will be overridden When inheriting cross-canadian we should not remove gettext from default deps Signed-off-by: Khem Raj <raj.khem@gmail.com> --- meta/classes/gettext.bbclass | 30 ++++++++++++++++++++++-------- 1 files changed, 22 insertions(+), 8 deletions(-) diff --git a/meta/classes/gettext.bbclass b/meta/classes/gettext.bbclass index a40e74f..492eb68 100644 --- a/meta/classes/gettext.bbclass +++ b/meta/classes/gettext.bbclass @@ -1,17 +1,31 @@ def gettext_after_parse(d): # Remove the NLS bits if USE_NLS is no. - if bb.data.getVar('USE_NLS', d, 1) == 'no': + if bb.data.getVar('USE_NLS', d, True) == 'no': cfg = oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d) cfg += " --disable-nls" - depends = bb.data.getVar('DEPENDS', d, 1) or "" - bb.data.setVar('DEPENDS', oe_filter_out('^(virtual/libiconv|virtual/libintl)$', depends, d), d) + depends = bb.data.getVar('DEPENDS', d, True) or "" + depends = oe_filter_out('^(virtual/libiconv|virtual/libintl|virtual/gettext|gettext)$', depends, d) + if not oe.utils.inherits(d, 'native', 'nativesdk', 'cross', 'crosssdk'): + depends = oe_filter_out('^(gettext-native)$', depends, d) + bb.data.setVar('DEPENDS', depends, d) bb.data.setVar('EXTRA_OECONF', cfg, d) - + # check if INHIBIT_DEFAULT_DEPS is 1 then we forcibly remove dependencies + # added by this class through DEPENDS_GETTEXT + if bb.data.getVar('INHIBIT_DEFAULT_DEPS', d, True) and not oe.utils.inherits(d, 'cross-canadian'): + depends_native = bb.data.getVar('DEPENDS_virtclass-native', d, True) or "" + depends_nativesdk = bb.data.getVar('DEPENDS_virtclass-nativesdk', d, True) or "" + depends = bb.data.getVar('DEPENDS', d, True) or "" + gettext_deps = bb.data.getVar('DEPENDS_GETTEXT', d, True).replace(' ','|') + gettext_deps = '^(' + gettext_deps + ')$' + depends_native = oe_filter_out(gettext_deps, depends_native, d) + depends_nativesdk = oe_filter_out(gettext_deps, depends_nativesdk, d) + depends = oe_filter_out(gettext_deps, depends, d) + bb.data.setVar('DEPENDS_virtclass-native', depends, d) + bb.data.setVar('DEPENDS_virtclass-nativesdk', depends, d) + bb.data.setVar('DEPENDS', depends, d) python () { gettext_after_parse(d) } - -DEPENDS_GETTEXT = "gettext gettext-native" - -DEPENDS =+ "${DEPENDS_GETTEXT}" EXTRA_OECONF += "--enable-nls" +DEPENDS_GETTEXT = "virtual/gettext gettext-native" +DEPENDS =+ "${DEPENDS_GETTEXT}" -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/4] insane.bbclass: Checking for NLS too when checking gettext dependency 2011-04-30 22:06 [PATCH V3 0/4] uclibc support in oe-core v3 Khem Raj 2011-04-30 22:06 ` [PATCH 1/4] gettext.bbclass: Use _append instead of =+ Khem Raj @ 2011-04-30 22:06 ` Khem Raj 2011-04-30 22:06 ` [PATCH 3/4] libx11: Use inherit gettext Khem Raj 2011-04-30 22:07 ` [PATCH 4/4] alsa-utils_1.0.24.2.bb: Fix build for uclibc targets Khem Raj 3 siblings, 0 replies; 6+ messages in thread From: Khem Raj @ 2011-04-30 22:06 UTC (permalink / raw) To: OE core Checking for gettext is not needed when --disable-nls is used Let user know what variant of gettext is missing e.g. gettext-native, gettext-nativesdk etc, reveals a bit more for user Check for virtual/gettext Signed-off-by: Khem Raj <raj.khem@gmail.com> --- meta/classes/insane.bbclass | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 98acf7f..742be5e 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -578,20 +578,21 @@ Rerun configure task after fixing this. The path was '%s'""" % root) if "configure.in" in files: configs.append(os.path.join(root, "configure.in")) - if "gettext" not in bb.data.getVar('P', d, True) and "gcc-runtime" not in bb.data.getVar('P', d, True): + cnf = bb.data.getVar('EXTRA_OECONF', d, True) or "" + if "gettext" not in bb.data.getVar('P', d, True) and "gcc-runtime" not in bb.data.getVar('P', d, True) and "--disable-nls" not in cnf: if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('nativesdk', d): gt = "gettext-native" elif bb.data.inherits_class('cross-canadian', d): gt = "gettext-nativesdk" else: - gt = "gettext" + gt = "virtual/gettext" deps = bb.utils.explode_deps(bb.data.getVar('DEPENDS', d, True) or "") if gt not in deps: for config in configs: gnu = "grep \"^[[:space:]]*AM_GNU_GETTEXT\" %s >/dev/null" % config if os.system(gnu) == 0: - bb.fatal("""Gettext required but not in DEPENDS for file %s. -Missing inherit gettext?""" % config) + bb.fatal("""%s required but not in DEPENDS for file %s. +Missing inherit gettext?""" % (gt, config)) if not package_qa_check_license(workdir, d): bb.fatal("Licensing Error: LIC_FILES_CHKSUM does not match, please fix") -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/4] libx11: Use inherit gettext 2011-04-30 22:06 [PATCH V3 0/4] uclibc support in oe-core v3 Khem Raj 2011-04-30 22:06 ` [PATCH 1/4] gettext.bbclass: Use _append instead of =+ Khem Raj 2011-04-30 22:06 ` [PATCH 2/4] insane.bbclass: Checking for NLS too when checking gettext dependency Khem Raj @ 2011-04-30 22:06 ` Khem Raj 2011-04-30 22:07 ` [PATCH 4/4] alsa-utils_1.0.24.2.bb: Fix build for uclibc targets Khem Raj 3 siblings, 0 replies; 6+ messages in thread From: Khem Raj @ 2011-04-30 22:06 UTC (permalink / raw) To: OE core Avoid direct depependency on gettext, inherit class instead Signed-off-by: Khem Raj <raj.khem@gmail.com> --- meta/recipes-graphics/xorg-lib/libx11_1.3.4.bb | 3 ++- meta/recipes-graphics/xorg-lib/libx11_git.bb | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/recipes-graphics/xorg-lib/libx11_1.3.4.bb b/meta/recipes-graphics/xorg-lib/libx11_1.3.4.bb index c572d5e..08ba07b 100644 --- a/meta/recipes-graphics/xorg-lib/libx11_1.3.4.bb +++ b/meta/recipes-graphics/xorg-lib/libx11_1.3.4.bb @@ -1,4 +1,5 @@ require libx11.inc +inherit gettext LICENSE = "MIT & MIT-style & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=bf75bfe4d05068311b5e6862d4b5f2c5" @@ -14,7 +15,7 @@ SRC_URI[md5sum] = "f65c9c7ecbfb64c19dbd7927160d63fd" SRC_URI[sha256sum] = "88d7238ce5f7cd123450567de7a3b56a43556e4ccc45df38b8324147c889a844" DEPENDS += "bigreqsproto xproto xextproto xtrans libxau xcmiscproto \ - libxdmcp xf86bigfontproto kbproto inputproto xproto-native gettext" + libxdmcp xf86bigfontproto kbproto inputproto xproto-native" EXTRA_OECONF += "--without-xcb" diff --git a/meta/recipes-graphics/xorg-lib/libx11_git.bb b/meta/recipes-graphics/xorg-lib/libx11_git.bb index a976a16..aa69f4a 100644 --- a/meta/recipes-graphics/xorg-lib/libx11_git.bb +++ b/meta/recipes-graphics/xorg-lib/libx11_git.bb @@ -1,11 +1,13 @@ require libx11.inc require libx11_git.inc +inherit gettext + PR = "r2" DEPENDS = "xproto xextproto xcmiscproto xf86bigfontproto kbproto inputproto \ - bigreqsproto xtrans libxau libxcb libxdmcp util-macros gettext" + bigreqsproto xtrans libxau libxcb libxdmcp util-macros" DEFAULT_PREFERENCE = "-1" -BBCLASSEXTEND = "nativesdk" \ No newline at end of file +BBCLASSEXTEND = "nativesdk" -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/4] alsa-utils_1.0.24.2.bb: Fix build for uclibc targets 2011-04-30 22:06 [PATCH V3 0/4] uclibc support in oe-core v3 Khem Raj ` (2 preceding siblings ...) 2011-04-30 22:06 ` [PATCH 3/4] libx11: Use inherit gettext Khem Raj @ 2011-04-30 22:07 ` Khem Raj 2011-05-01 22:56 ` Otavio Salvador 3 siblings, 1 reply; 6+ messages in thread From: Khem Raj @ 2011-04-30 22:07 UTC (permalink / raw) To: OE core uclibc does not have exp10() implemented so we obtain same behaviour using pow() Signed-off-by: Khem Raj <raj.khem@gmail.com> --- .../uclibc-exp10-replacement.patch | 21 ++++++++++++++++++++ .../recipes-multimedia/alsa/alsa-utils_1.0.24.2.bb | 4 ++- 2 files changed, 24 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-multimedia/alsa/alsa-utils-1.0.24.2/uclibc-exp10-replacement.patch diff --git a/meta/recipes-multimedia/alsa/alsa-utils-1.0.24.2/uclibc-exp10-replacement.patch b/meta/recipes-multimedia/alsa/alsa-utils-1.0.24.2/uclibc-exp10-replacement.patch new file mode 100644 index 0000000..038c90d --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-utils-1.0.24.2/uclibc-exp10-replacement.patch @@ -0,0 +1,21 @@ +uclibc does not have exp10 function which is glibc extension. +Bur we can get the same behavior by using pow() + +Upstream-status: Pending + +Khem Raj <raj.khem@gmail.com> + +Index: alsa-utils-1.0.24.2/alsamixer/volume_mapping.c +=================================================================== +--- alsa-utils-1.0.24.2.orig/alsamixer/volume_mapping.c ++++ alsa-utils-1.0.24.2/alsamixer/volume_mapping.c +@@ -36,6 +36,9 @@ + #include <math.h> + #include <stdbool.h> + #include "volume_mapping.h" ++#ifdef __UCLIBC__ ++#define exp10(x) (pow(10, (x))) ++#endif /* __UCLIBC__ */ + + #define MAX_LINEAR_DB_SCALE 24 + diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.0.24.2.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.0.24.2.bb index c882bfd..4cb31a9 100644 --- a/meta/recipes-multimedia/alsa/alsa-utils_1.0.24.2.bb +++ b/meta/recipes-multimedia/alsa/alsa-utils_1.0.24.2.bb @@ -9,7 +9,9 @@ DEPENDS = "alsa-lib ncurses" PR = "r0" SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \ - file://ncursesfix.patch" + file://ncursesfix.patch \ + file://uclibc-exp10-replacement.patch \ + " SRC_URI[md5sum] = "8238cd57cb301d1c36bcf0ecb59ce6b2" SRC_URI[sha256sum] = "95127f740291086486c06c28118cabca0814bde48fd14dac041a9812a5ac1be2" -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 4/4] alsa-utils_1.0.24.2.bb: Fix build for uclibc targets 2011-04-30 22:07 ` [PATCH 4/4] alsa-utils_1.0.24.2.bb: Fix build for uclibc targets Khem Raj @ 2011-05-01 22:56 ` Otavio Salvador 0 siblings, 0 replies; 6+ messages in thread From: Otavio Salvador @ 2011-05-01 22:56 UTC (permalink / raw) To: Patches and discussions about the oe-core layer On Sat, Apr 30, 2011 at 19:07, Khem Raj <raj.khem@gmail.com> wrote: ... > +uclibc does not have exp10 function which is glibc extension. > +Bur we can get the same behavior by using pow() ... Typo! s/Bur/But/ -- Otavio Salvador O.S. Systems E-mail: otavio@ossystems.com.br http://www.ossystems.com.br Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-05-01 22:59 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-04-30 22:06 [PATCH V3 0/4] uclibc support in oe-core v3 Khem Raj 2011-04-30 22:06 ` [PATCH 1/4] gettext.bbclass: Use _append instead of =+ Khem Raj 2011-04-30 22:06 ` [PATCH 2/4] insane.bbclass: Checking for NLS too when checking gettext dependency Khem Raj 2011-04-30 22:06 ` [PATCH 3/4] libx11: Use inherit gettext Khem Raj 2011-04-30 22:07 ` [PATCH 4/4] alsa-utils_1.0.24.2.bb: Fix build for uclibc targets Khem Raj 2011-05-01 22:56 ` Otavio Salvador
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox