diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /meson/test cases/common/151 duplicate source names | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'meson/test cases/common/151 duplicate source names')
9 files changed, 42 insertions, 0 deletions
diff --git a/meson/test cases/common/151 duplicate source names/dir1/file.c b/meson/test cases/common/151 duplicate source names/dir1/file.c new file mode 100644 index 000000000..1c4753eb9 --- /dev/null +++ b/meson/test cases/common/151 duplicate source names/dir1/file.c @@ -0,0 +1,16 @@ +extern int dir2; +extern int dir2_dir1; +extern int dir3; +extern int dir3_dir1; + +int main(void) { + if (dir2 != 20) + return 1; + if (dir2_dir1 != 21) + return 1; + if (dir3 != 30) + return 1; + if (dir3_dir1 != 31) + return 1; + return 0; +} diff --git a/meson/test cases/common/151 duplicate source names/dir1/meson.build b/meson/test cases/common/151 duplicate source names/dir1/meson.build new file mode 100644 index 000000000..00bc85daf --- /dev/null +++ b/meson/test cases/common/151 duplicate source names/dir1/meson.build @@ -0,0 +1 @@ +sources += files('file.c') diff --git a/meson/test cases/common/151 duplicate source names/dir2/dir1/file.c b/meson/test cases/common/151 duplicate source names/dir2/dir1/file.c new file mode 100644 index 000000000..5aac8e53f --- /dev/null +++ b/meson/test cases/common/151 duplicate source names/dir2/dir1/file.c @@ -0,0 +1 @@ +int dir2_dir1 = 21; diff --git a/meson/test cases/common/151 duplicate source names/dir2/file.c b/meson/test cases/common/151 duplicate source names/dir2/file.c new file mode 100644 index 000000000..6cf8d6602 --- /dev/null +++ b/meson/test cases/common/151 duplicate source names/dir2/file.c @@ -0,0 +1 @@ +int dir2 = 20; diff --git a/meson/test cases/common/151 duplicate source names/dir2/meson.build b/meson/test cases/common/151 duplicate source names/dir2/meson.build new file mode 100644 index 000000000..f116a0200 --- /dev/null +++ b/meson/test cases/common/151 duplicate source names/dir2/meson.build @@ -0,0 +1 @@ +sources += files('file.c', 'dir1/file.c') diff --git a/meson/test cases/common/151 duplicate source names/dir3/dir1/file.c b/meson/test cases/common/151 duplicate source names/dir3/dir1/file.c new file mode 100644 index 000000000..04667c2ff --- /dev/null +++ b/meson/test cases/common/151 duplicate source names/dir3/dir1/file.c @@ -0,0 +1 @@ +int dir3_dir1 = 31; diff --git a/meson/test cases/common/151 duplicate source names/dir3/file.c b/meson/test cases/common/151 duplicate source names/dir3/file.c new file mode 100644 index 000000000..d16d0a8cf --- /dev/null +++ b/meson/test cases/common/151 duplicate source names/dir3/file.c @@ -0,0 +1 @@ +int dir3 = 30; diff --git a/meson/test cases/common/151 duplicate source names/dir3/meson.build b/meson/test cases/common/151 duplicate source names/dir3/meson.build new file mode 100644 index 000000000..70ddbf2d0 --- /dev/null +++ b/meson/test cases/common/151 duplicate source names/dir3/meson.build @@ -0,0 +1 @@ +lib = static_library('lib', 'file.c', 'dir1/file.c') diff --git a/meson/test cases/common/151 duplicate source names/meson.build b/meson/test cases/common/151 duplicate source names/meson.build new file mode 100644 index 000000000..635aa8cf7 --- /dev/null +++ b/meson/test cases/common/151 duplicate source names/meson.build @@ -0,0 +1,19 @@ +project('proj', '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 + +sources = [] +subdir('dir1') +subdir('dir2') +subdir('dir3') +executable('a.out', sources : sources, objects : lib.extract_all_objects()) |