diff options
author | Matt Turner <mattst88@gmail.com> | 2020-03-05 12:04:36 -0800 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2020-03-13 10:25:24 -0700 |
commit | 618663c791092bb82dc0a153a4a2fe97582a54bc (patch) | |
tree | 093358daf79b24ea4c967387e7ac943579d11887 /tests | |
parent | 5ddb8dff878f3addd349bf58860cb6fad0a013ce (diff) | |
download | wayland-618663c791092bb82dc0a153a4a2fe97582a54bc.tar.gz |
meson: Add option to control building wayland-scanner
Wayland requires a binary, wayland-scanner, to be run during the build
process. For any configuration other than native builds (including
cross compiling and even 32-bit x86 builds on an x86-64 build machine)
Wayland's build process builds and uses its own wayland-scanner.
For any builds using a cross file, wayland-scanner is built for the host
machine and therefore cannot be executed during the build of the Wayland
libraries. Instead builds using a cross file must execute the build
machine's wayland-scanner (typically /usr/bin/wayland-scanner).
As such, to build Wayland's libraries for a non-native ABI a package
manager must build and install /usr/bin/wayland-scanner first. But then
the build for the native ABI then rebuilds wayland-scanner itself and
doesn't use the system's, and worse, wants to install its own, which
conflicts with the /usr/bin/wayland-scanner already installed!
So, add the -Dscanner=... option to control whether to install
wayland-scanner.
Signed-off-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/meson.build | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/tests/meson.build b/tests/meson.build index f1af7b4..224f48d 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -76,16 +76,18 @@ test( sed_path = find_program('sed').path() -test( - 'scanner-test', - find_program('scanner-test.sh'), - env: [ - 'TEST_DATA_DIR=@0@/data'.format(meson.current_source_dir()), - 'TEST_OUTPUT_DIR=@0@/output'.format(meson.current_build_dir()), - 'SED=@0@'.format(sed_path), - 'WAYLAND_SCANNER=@0@'.format(wayland_scanner.full_path()), - ], -) +if get_option('scanner') + test( + 'scanner-test', + find_program('scanner-test.sh'), + env: [ + 'TEST_DATA_DIR=@0@/data'.format(meson.current_source_dir()), + 'TEST_OUTPUT_DIR=@0@/output'.format(meson.current_build_dir()), + 'SED=@0@'.format(sed_path), + 'WAYLAND_SCANNER=@0@'.format(wayland_scanner.full_path()), + ], + ) +endif tests = { 'array-test': [], |