util: improve compiler guard
Glibc 2.26 has dropped xlocale.h, but the functions needed (strtod_l() and strdof_l()) can be found in stdlib.h. Improve the detection method to allow newer builds to still make use of the locale-setting. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102454 Cc: Laurent Carlier <lordheavym@gmail.com> Cc: Emil Velikov <emil.l.velikov@gmail.com> Cc: Rob Herring <robh@kernel.org> Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Laurent Carlier <lordheavym@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:

committed by
Eric Engestrom

parent
8514c5d078
commit
49b428470e
@@ -157,6 +157,19 @@ def check_header(env, header):
|
||||
env = conf.Finish()
|
||||
return have_header
|
||||
|
||||
def check_functions(env, functions):
|
||||
'''Check if all of the functions exist'''
|
||||
|
||||
conf = SCons.Script.Configure(env)
|
||||
have_functions = True
|
||||
|
||||
for function in functions:
|
||||
if not conf.CheckFunc(function):
|
||||
have_functions = False
|
||||
|
||||
env = conf.Finish()
|
||||
return have_functions
|
||||
|
||||
def check_prog(env, prog):
|
||||
"""Check whether this program exists."""
|
||||
|
||||
@@ -339,6 +352,9 @@ def generate(env):
|
||||
if check_header(env, 'xlocale.h'):
|
||||
cppdefines += ['HAVE_XLOCALE_H']
|
||||
|
||||
if check_functions(env, ['strtod_l', 'strtof_l']):
|
||||
cppdefines += ['HAVE_STRTOD_L']
|
||||
|
||||
if platform == 'windows':
|
||||
cppdefines += [
|
||||
'WIN32',
|
||||
|
Reference in New Issue
Block a user