diff options
Diffstat (limited to 'meson/test cases/unit/36 exe_wrapper behaviour')
4 files changed, 58 insertions, 0 deletions
diff --git a/meson/test cases/unit/36 exe_wrapper behaviour/broken-cross.txt b/meson/test cases/unit/36 exe_wrapper behaviour/broken-cross.txt new file mode 100644 index 000000000..a5a39318d --- /dev/null +++ b/meson/test cases/unit/36 exe_wrapper behaviour/broken-cross.txt @@ -0,0 +1,20 @@ +[binaries] +c = '/usr/bin/x86_64-w64-mingw32-gcc' +cpp = '/usr/bin/x86_64-w64-mingw32-g++' +ar = '/usr/bin/x86_64-w64-mingw32-ar' +strip = '/usr/bin/x86_64-w64-mingw32-strip' +pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config' +windres = '/usr/bin/x86_64-w64-mingw32-windres' +exe_wrapper = 'broken' + +[properties] +# Directory that contains 'bin', 'lib', etc +root = '/usr/x86_64-w64-mingw32' +# Directory that contains 'bin', 'lib', etc for the toolchain and system libraries +sys_root = '/usr/x86_64-w64-mingw32/sys-root/mingw' + +[host_machine] +system = 'windows' +cpu_family = 'x86_64' +cpu = 'x86_64' +endian = 'little' diff --git a/meson/test cases/unit/36 exe_wrapper behaviour/meson.build b/meson/test cases/unit/36 exe_wrapper behaviour/meson.build new file mode 100644 index 000000000..d0817babe --- /dev/null +++ b/meson/test cases/unit/36 exe_wrapper behaviour/meson.build @@ -0,0 +1,19 @@ +project('exe wrapper behaviour', 'c') + +assert(meson.is_cross_build(), 'not setup as cross build') +assert(meson.has_exe_wrapper(), 'exe wrapper not defined?') # intentionally not changed to can_run_host_binaries, + +exe = executable('prog', 'prog.c') + +if get_option('custom-target') + custom_target('use-exe-wrapper', + build_by_default: true, + output: 'out.txt', + command: [exe, '@OUTPUT@']) +endif + +test('test-prog', exe) + +if get_option('run-target') + run_target('run-prog', command : exe) +endif diff --git a/meson/test cases/unit/36 exe_wrapper behaviour/meson_options.txt b/meson/test cases/unit/36 exe_wrapper behaviour/meson_options.txt new file mode 100644 index 000000000..e5645a033 --- /dev/null +++ b/meson/test cases/unit/36 exe_wrapper behaviour/meson_options.txt @@ -0,0 +1,2 @@ +option('custom-target', type: 'boolean', value: true) +option('run-target', type: 'boolean', value: true) diff --git a/meson/test cases/unit/36 exe_wrapper behaviour/prog.c b/meson/test cases/unit/36 exe_wrapper behaviour/prog.c new file mode 100644 index 000000000..3213780df --- /dev/null +++ b/meson/test cases/unit/36 exe_wrapper behaviour/prog.c @@ -0,0 +1,17 @@ +#include <stdio.h> + +int main (int argc, char * argv[]) +{ + const char *out = "SUCCESS!"; + + if (argc != 2) { + printf ("%s\n", out); + } else { + int ret; + FILE *f = fopen (argv[1], "w"); + ret = fwrite (out, sizeof (out), 1, f); + if (ret != 1) + return -1; + } + return 0; +} |