diff options
-rw-r--r-- | test cases/common/13 pch/linkwhole/lib1.c | 4 | ||||
-rw-r--r-- | test cases/common/13 pch/linkwhole/lib2.c | 6 | ||||
-rw-r--r-- | test cases/common/13 pch/linkwhole/main.c | 9 | ||||
-rw-r--r-- | test cases/common/13 pch/linkwhole/meson.build | 8 | ||||
-rw-r--r-- | test cases/common/13 pch/linkwhole/pch1/pch_one.h | 4 | ||||
-rw-r--r-- | test cases/common/13 pch/linkwhole/pch2/pch_two.h | 4 | ||||
-rw-r--r-- | test cases/common/13 pch/meson.build | 4 |
7 files changed, 39 insertions, 0 deletions
diff --git a/test cases/common/13 pch/linkwhole/lib1.c b/test cases/common/13 pch/linkwhole/lib1.c new file mode 100644 index 0000000..b56c17b --- /dev/null +++ b/test cases/common/13 pch/linkwhole/lib1.c @@ -0,0 +1,4 @@ +void func1() { + printf("Calling func2."); + func2(); +} diff --git a/test cases/common/13 pch/linkwhole/lib2.c b/test cases/common/13 pch/linkwhole/lib2.c new file mode 100644 index 0000000..0a13f60 --- /dev/null +++ b/test cases/common/13 pch/linkwhole/lib2.c @@ -0,0 +1,6 @@ +#include<stdio.h> + +void func2() { + const char *cl = GetCommandLineA(); + printf("Command line was: %s\n", cl); +} diff --git a/test cases/common/13 pch/linkwhole/main.c b/test cases/common/13 pch/linkwhole/main.c new file mode 100644 index 0000000..6615a8b --- /dev/null +++ b/test cases/common/13 pch/linkwhole/main.c @@ -0,0 +1,9 @@ +#include<stdio.h> + +void func1(); + +int main(int argc, char **argv) { + printf("Calling func1\n"); + func1(); + return 0; +} diff --git a/test cases/common/13 pch/linkwhole/meson.build b/test cases/common/13 pch/linkwhole/meson.build new file mode 100644 index 0000000..dec76ba --- /dev/null +++ b/test cases/common/13 pch/linkwhole/meson.build @@ -0,0 +1,8 @@ +# https://github.com/mesonbuild/meson/issues/10745 + +l2 = static_library('two', 'lib2.c', c_pch: 'pch2/pch_two.h') +l1 = static_library('one', 'lib1.c', c_pch: 'pch1/pch_one.h', + link_whole: l2) + +executable('linkprog', 'main.c', + link_with: l1) diff --git a/test cases/common/13 pch/linkwhole/pch1/pch_one.h b/test cases/common/13 pch/linkwhole/pch1/pch_one.h new file mode 100644 index 0000000..757c206 --- /dev/null +++ b/test cases/common/13 pch/linkwhole/pch1/pch_one.h @@ -0,0 +1,4 @@ +#ifndef PCH_ONE +#define PCH_ONE +#include<stdio.h> +#endif diff --git a/test cases/common/13 pch/linkwhole/pch2/pch_two.h b/test cases/common/13 pch/linkwhole/pch2/pch_two.h new file mode 100644 index 0000000..1be0a20 --- /dev/null +++ b/test cases/common/13 pch/linkwhole/pch2/pch_two.h @@ -0,0 +1,4 @@ +#ifndef PCH_TWO +#define PCH_TWO +#include<windows.h> +#endif diff --git a/test cases/common/13 pch/meson.build b/test cases/common/13 pch/meson.build index 5ca9ab1..4bb3e1f 100644 --- a/test cases/common/13 pch/meson.build +++ b/test cases/common/13 pch/meson.build @@ -20,3 +20,7 @@ if meson.backend() == 'xcode' else subdir('mixed') endif + +if cc_id == 'msvc' + subdir('linkwhole') +endif |