meson: make nm binary optional
authorDylan Baker <dylan@pnwbakers.com>
Thu, 17 May 2018 20:44:30 +0000 (13:44 -0700)
committerDylan Baker <dylan@pnwbakers.com>
Fri, 3 May 2019 17:58:05 +0000 (10:58 -0700)
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>
meson.build
src/egl/meson.build
src/gbm/meson.build
src/mapi/es1api/meson.build
src/mapi/es2api/meson.build

index 87ce5f7..f72bdc9 100644 (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
index 38ffb51..3a0fd01 100644 (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
index b2ad667..b7262c5 100644 (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'),
index 8e9587e..53bdc16 100644 (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'),
index 5b2c52b..d374bd8 100644 (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'),