diff options
Diffstat (limited to 'meson/test cases/common/102 extract same name')
4 files changed, 31 insertions, 0 deletions
diff --git a/meson/test cases/common/102 extract same name/lib.c b/meson/test cases/common/102 extract same name/lib.c new file mode 100644 index 000000000..f3d0417ea --- /dev/null +++ b/meson/test cases/common/102 extract same name/lib.c @@ -0,0 +1,3 @@ +int func1(void) { + return 23; +} diff --git a/meson/test cases/common/102 extract same name/main.c b/meson/test cases/common/102 extract same name/main.c new file mode 100644 index 000000000..e5a0c1eab --- /dev/null +++ b/meson/test cases/common/102 extract same name/main.c @@ -0,0 +1,6 @@ +int func1(void); +int func2(void); + +int main(void) { + return !(func1() == 23 && func2() == 42); +} diff --git a/meson/test cases/common/102 extract same name/meson.build b/meson/test cases/common/102 extract same name/meson.build new file mode 100644 index 000000000..08daa5b22 --- /dev/null +++ b/meson/test cases/common/102 extract same name/meson.build @@ -0,0 +1,19 @@ +project('object extraction', 'c') + +if meson.backend() == 'xcode' + # Xcode gives object files unique names but only if they would clash. For example + # two files named lib.o instead get the following names: + # + # lib-4fbe522d8ba4cb1f1b89cc2df640a2336b92e1a5565f0a4c5a79b5b5e2969eb9.o + # lib-4fbe522d8ba4cb1f1b89cc2df640a2336deeff2bc2297affaadbe20f5cbfee56.o + # + # No-one has reverse engineered the naming scheme so we would access them. + # IF you feel up to the challenge, patches welcome. + error('MESON_SKIP_TEST, Xcode can not extract objs when they would have the same filename.') +endif + +lib = library('somelib', ['lib.c', 'src/lib.c']) +# Also tests that the object list is flattened properly +obj = lib.extract_objects(['lib.c', ['src/lib.c']]) +exe = executable('main', 'main.c', objects: obj) +test('extraction', exe) diff --git a/meson/test cases/common/102 extract same name/src/lib.c b/meson/test cases/common/102 extract same name/src/lib.c new file mode 100644 index 000000000..a7d7e77f9 --- /dev/null +++ b/meson/test cases/common/102 extract same name/src/lib.c @@ -0,0 +1,3 @@ +int func2(void) { + return 42; +} |