diff mbox series

[meta-oe,v2,2/6] wxwidgets: Fix locale on musl

Message ID 20221227013738.3840802-2-raj.khem@gmail.com
State New
Headers show
Series [meta-oe,v2,1/6] wxwidgets: Fix build with musl | expand

Commit Message

Khem Raj Dec. 27, 2022, 1:37 a.m. UTC
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../wxwidgets/wxwidgets/musl-locale-l.patch   | 32 +++++++++++++++++++
 .../wxwidgets/wxwidgets_3.2.1.bb              |  4 +--
 2 files changed, 33 insertions(+), 3 deletions(-)
 create mode 100644 meta-oe/recipes-extended/wxwidgets/wxwidgets/musl-locale-l.patch
diff mbox series

Patch

diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets/musl-locale-l.patch b/meta-oe/recipes-extended/wxwidgets/wxwidgets/musl-locale-l.patch
new file mode 100644
index 0000000000..f83d2d4458
--- /dev/null
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets/musl-locale-l.patch
@@ -0,0 +1,32 @@ 
+these macro'd away functions don't exist in musl (yet)
+diff --git a/include/wx/xlocale.h b/include/wx/xlocale.h
+index c433d25..3ab9d84 100644
+--- a/include/wx/xlocale.h
++++ b/include/wx/xlocale.h
+@@ -33,6 +33,26 @@
+ #include "wx/crt.h"     // Includes wx/chartype.h, wx/wxcrt.h(wx/string.h)
+ #include "wx/intl.h"    // wxLanguage
+ 
++#ifndef strtol_l
++#define strtol_l(s, p, base, l) strtol(s, p, base)
++#endif
++
++#ifndef strtoul_l
++#define strtoul_l(s, p, base, l) strtoul(s, p, base)
++#endif
++
++#ifndef wcstod_l
++#define wcstod_l(s, p, l) wcstod(s, p)
++#endif
++
++#ifndef wcstol_l
++#define wcstol_l(s, p, base, l) wcstol(s, p, base)
++#endif
++
++#ifndef wcstoul_l
++#define wcstoul_l(s, p, base, l) wcstoul(s, p, base)
++#endif
++
+ // The platform-specific locale type
+ // If wxXLocale_t is not defined, then only "C" locale support is provided
+ #ifdef wxHAS_XLOCALE_SUPPORT
diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb
index 03a75d8bd3..ae2995db20 100644
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb
@@ -25,6 +25,7 @@  SRC_URI = "gitsm://github.com/wxWidgets/wxWidgets.git;branch=3.2;protocol=https
            file://not-append-system-name-to-lib-name.patch \
            file://wx-config-fix-libdir-for-multilib.patch \
            file://0001-locale-Avoid-using-glibc-specific-defines-on-musl.patch \
+           file://musl-locale-l.patch \
            "
 SRCREV= "97e99707c5d2271a70cb686720b48dbf34ced496"
 S = "${WORKDIR}/git"
@@ -39,9 +40,6 @@  EXTRA_OECMAKE += " \
     -DwxUSE_LIBTIFF=sys \
     -DwxUSE_REGEX=builtin \
 "
-EXTRA_OECMAKE:append:libc-musl = " \
-    -DHAVE_LOCALE_T=OFF \
-"
 EXTRA_OECMAKE:append:class-target = ' -DEGREP="/bin/grep -E"'
 
 # OpenGL support currently seems tied to using libglu, which requires x11