Mesa (master): scons: Check for xlocale.h before defining HAVE_XLOCALE_H.

Vinson Lee vlee at kemper.freedesktop.org
Thu Jul 6 16:54:06 UTC 2017


Module: Mesa
Branch: master
Commit: c5d0dc7fa5566941a49ede8c83a0cfe0a33a3d7f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5d0dc7fa5566941a49ede8c83a0cfe0a33a3d7f

Author: Vinson Lee <vlee at freedesktop.org>
Date:   Wed Jul  5 14:16:11 2017 -0700

scons: Check for xlocale.h before defining HAVE_XLOCALE_H.

Don't assume the header is present on some platforms - use the more
robust CheckHeader() instead.

glibc 2.26 removed xlocale.h.
https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27

Fix this build error with glibc 2.26.

  Compiling src/util/strtod.c ...
src/util/strtod.c:32:10: fatal error: xlocale.h: No such file or directory
 #include <xlocale.h>
          ^~~~~~~~~~~

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101657
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
Tested-by: Eric Engestrom <eric.engestrom at imgtec.com>

---

 scons/gallium.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/scons/gallium.py b/scons/gallium.py
index a411277324..61643a6d4f 100755
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -325,8 +325,10 @@ def generate(env):
                 'GLX_INDIRECT_RENDERING',
             ]
 
-        if env['platform'] in ('linux', 'darwin'):
+        conf = SCons.Script.Configure(env)
+        if conf.CheckHeader('xlocale.h'):
             cppdefines += ['HAVE_XLOCALE_H']
+        env = conf.Finish()
 
     if platform == 'windows':
         cppdefines += [




More information about the mesa-commit mailing list