meson: make nm binary optional

This makes nm not required, but used if found. In general I imagine that
this means that on windows nm wont be found, and on other platforms it
will.

v2: - fix gbm and egl symbols check tests to only be run if nm is found
    - reword commit message to reflect the code change

Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Dylan Baker 2018-05-17 13:44:30 -07:00
parent f5eafc2dc6
commit ff9bf223c2
5 changed files with 8 additions and 5 deletions

View File

@ -1502,8 +1502,11 @@ endif
pkg = import('pkgconfig')
prog_nm = find_program('nm', required : false)
env_test = environment()
env_test.set('NM', find_program('nm').path())
if prog_nm.found()
env_test.set('NM', prog_nm.path())
endif
# This quirk needs to be applied to sources with functions defined in assembly
# as GCC LTO drops them. See: https://bugs.freedesktop.org/show_bug.cgi?id=109391

View File

@ -192,7 +192,7 @@ pkg.generate(
extra_cflags : gl_pkgconfig_c_flags,
)
if with_tests
if with_tests and prog_nm.found()
if with_glvnd
# TODO: add glvnd symbol check
else

View File

@ -66,7 +66,7 @@ pkg.generate(
libraries_private : '-ldl', # FIXME: autotools lists this a incomplete
)
if with_tests
if with_tests and prog_nm.found()
test(
'gbm-symbols-check',
find_program('gbm-symbols-check'),

View File

@ -52,7 +52,7 @@ pkg.generate(
libraries_private : gl_priv_libs,
)
if with_tests
if with_tests and prog_nm.found()
test(
'es1-ABI-check',
find_program('ABI-check'),

View File

@ -52,7 +52,7 @@ pkg.generate(
libraries_private : gl_priv_libs,
)
if with_tests
if with_tests and prog_nm.found()
test(
'es2-ABI-check',
find_program('ABI-check'),