aboutsummaryrefslogtreecommitdiffstats
path: root/package/x11r7/mesa3d/mesa3d-uclibc-locale.patch
blob: 99afe8dc9597644d6c7b35d65f6622203745285a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
[PATCH] Fix compilation on uClibc without locale support

Based on similar patch from OE:

http://git.openembedded.org/openembedded-core/commit/meta/recipes-graphics/mesa/mesa/0001-Compile-with-uclibc.patch?id=e4039eb74b20e96d4b8837cd58cf2d13d091e1ad

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
 configure.ac            |    3 +++
 src/glsl/strtod.c       |    2 +-
 src/mesa/main/imports.c |    2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index fbaa376..454dad2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -450,6 +450,9 @@ AC_SUBST([DLOPEN_LIBS])
 dnl See if posix_memalign is available
 AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
 
+dnl See if newlocale is available
+AC_CHECK_FUNCS_ONCE(newlocale)
+
 dnl SELinux awareness.
 AC_ARG_ENABLE([selinux],
     [AS_HELP_STRING([--enable-selinux],
diff --git a/src/glsl/strtod.c b/src/glsl/strtod.c
index a876e13..9fce7e9 100644
--- a/src/glsl/strtod.c
+++ b/src/glsl/strtod.c
@@ -44,7 +44,7 @@ double
 double
 glsl_strtod(const char *s, char **end)
 {
-#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__)
+#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && defined(HAVE_NEWLOCALE)
    static locale_t loc = NULL;
    if (!loc) {
       loc = newlocale(LC_CTYPE_MASK, "C", NULL);
diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c
index d3727ef..363bf32 100644
--- a/src/mesa/main/imports.c
+++ b/src/mesa/main/imports.c
@@ -757,7 +757,7 @@ float
 float
 _mesa_strtof( const char *s, char **end )
 {
-#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__)
+#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && defined(HAVE_NEWLOCALE)
    static locale_t loc = NULL;
    if (!loc) {
       loc = newlocale(LC_CTYPE_MASK, "C", NULL);
-- 
1.7.10.4