From cdccbc6ec36243463613cb32d7058c26c3c51e16 Mon Sep 17 00:00:00 2001 From: Adam Duskett Date: Wed, 18 Sep 2019 09:50:00 -0700 Subject: [PATCH] add option to build tests. Upstream won't build tests when cross-compiling. However; this means still building the tests during a host build. Building the tests causes build failures on older distributions such as CentOS 6 and Debian 7 because the command `objcopy --add-symbol` is used when building the test "test_resources2," which is not available with the older version of objcopy provided by the distributions. Instead, add the option 'tests' which when set to false, enforces not building any tests, even when building the host variant. Signed-off-by: Adam Duskett --- gio/meson.build | 1 - glib/meson.build | 3 +- gobject/meson.build | 1 - meson.build | 2 +- meson_options.txt | 5 +++++ 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/gio/meson.build b/gio/meson.build index 9a9e621..6adc014 100644 --- a/gio/meson.build +++ b/gio/meson.build @@ -1010,7 +1010,6 @@ endif subdir('fam') # Don’t build the tests unless we can run them (either natively or in an exe wrapper) -build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper()) if build_tests subdir('tests') endif diff --git a/glib/meson.build b/glib/meson.build index 91a48f1..230d562 100644 --- a/glib/meson.build +++ b/glib/meson.build @@ -458,8 +458,7 @@ if enable_systemtap ) endif -# Don’t build the tests unless we can run them (either natively or in an exe wrapper) -build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper()) +build_tests = get_option('tests') if build_tests subdir('tests') endif diff --git a/gobject/meson.build b/gobject/meson.build index c7805c5..fb5874d 100644 --- a/gobject/meson.build +++ b/gobject/meson.build @@ -166,7 +166,6 @@ if enable_systemtap endif # Don’t build the tests unless we can run them (either natively or in an exe wrapper) -build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper()) if build_tests subdir('tests') endif diff --git a/meson.build b/meson.build index 717d1bc..3124f28 100644 --- a/meson.build +++ b/meson.build @@ -2098,7 +2098,7 @@ subdir('gmodule') subdir('gio') subdir('fuzzing') # Don’t build the tests unless we can run them (either natively or in an exe wrapper) -build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper()) +build_tests = get_option('tests') if build_tests subdir('tests') endif diff --git a/meson_options.txt b/meson_options.txt index 2c831e3..90468a7 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -90,6 +90,11 @@ option('nls', yield: true, description : 'Enable native language support (translations)') +option('tests', + type : 'boolean', + value : false, + description : 'Build tests') + option('oss_fuzz', type : 'feature', value : 'disabled', -- 2.21.0