OSDN Git Service

scons: Check for xlocale.h before defining HAVE_XLOCALE_H.
authorVinson Lee <vlee@freedesktop.org>
Wed, 5 Jul 2017 21:16:11 +0000 (14:16 -0700)
committerVinson Lee <vlee@freedesktop.org>
Thu, 6 Jul 2017 16:51:28 +0000 (09:51 -0700)
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@freedesktop.org>
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Tested-by: Eric Engestrom <eric.engestrom@imgtec.com>
scons/gallium.py

index a411277..61643a6 100755 (executable)
@@ -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 += [