diff options
Diffstat (limited to 'meson/test cases/common/216 custom target input extracted objects')
4 files changed, 35 insertions, 0 deletions
diff --git a/meson/test cases/common/216 custom target input extracted objects/check_object.py b/meson/test cases/common/216 custom target input extracted objects/check_object.py new file mode 100644 index 000000000..bafcf2c17 --- /dev/null +++ b/meson/test cases/common/216 custom target input extracted objects/check_object.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python3 + +import sys, os + +if __name__ == '__main__': + if len(sys.argv) != 3: + print(sys.argv[0], 'object', 'output') + sys.exit(1) + elif os.path.exists(sys.argv[1]): + with open(sys.argv[2], 'wb') as out: + pass + else: + sys.exit(1) diff --git a/meson/test cases/common/216 custom target input extracted objects/libdir/meson.build b/meson/test cases/common/216 custom target input extracted objects/libdir/meson.build new file mode 100644 index 000000000..7f833115c --- /dev/null +++ b/meson/test cases/common/216 custom target input extracted objects/libdir/meson.build @@ -0,0 +1 @@ +objlib = static_library('object', 'source.c', override_options : ['unity=off']) diff --git a/meson/test cases/common/216 custom target input extracted objects/libdir/source.c b/meson/test cases/common/216 custom target input extracted objects/libdir/source.c new file mode 100644 index 000000000..1dc08e168 --- /dev/null +++ b/meson/test cases/common/216 custom target input extracted objects/libdir/source.c @@ -0,0 +1,3 @@ +int func1_in_obj(void) { + return 0; +} diff --git a/meson/test cases/common/216 custom target input extracted objects/meson.build b/meson/test cases/common/216 custom target input extracted objects/meson.build new file mode 100644 index 000000000..8f8b22f23 --- /dev/null +++ b/meson/test cases/common/216 custom target input extracted objects/meson.build @@ -0,0 +1,18 @@ +project('custom target input extracted objects', 'c') + +if meson.backend() == 'xcode' + error('MESON_SKIP_TEST: sometimes Xcode puts object files in weird paths and we can not extract them.') +endif + + +checker = find_program('check_object.py') + +cc = meson.get_compiler('c').cmd_array().get(-1) + +subdir('libdir') + +custom_target('check', + input: objlib.extract_objects('source.c'), + output: 'objcheck', + command: [checker, '@INPUT@', '@OUTPUT@'], + build_by_default: true) |