diff options
Diffstat (limited to 'meson/test cases/unit/29 guessed linker dependencies')
5 files changed, 45 insertions, 0 deletions
diff --git a/meson/test cases/unit/29 guessed linker dependencies/exe/app.c b/meson/test cases/unit/29 guessed linker dependencies/exe/app.c new file mode 100644 index 000000000..29c8d9c9a --- /dev/null +++ b/meson/test cases/unit/29 guessed linker dependencies/exe/app.c @@ -0,0 +1,6 @@ +void liba_func(); + +int main(void) { + liba_func(); + return 0; +} diff --git a/meson/test cases/unit/29 guessed linker dependencies/exe/meson.build b/meson/test cases/unit/29 guessed linker dependencies/exe/meson.build new file mode 100644 index 000000000..8bb1bd7f6 --- /dev/null +++ b/meson/test cases/unit/29 guessed linker dependencies/exe/meson.build @@ -0,0 +1,7 @@ +project('exe', ['c']) + +executable('app', + 'app.c', + # Use uninterpreted strings to avoid path finding by dependency or compiler.find_library + link_args: ['-ltest-lib'] + ) diff --git a/meson/test cases/unit/29 guessed linker dependencies/lib/lib.c b/meson/test cases/unit/29 guessed linker dependencies/lib/lib.c new file mode 100644 index 000000000..1a8f94ddb --- /dev/null +++ b/meson/test cases/unit/29 guessed linker dependencies/lib/lib.c @@ -0,0 +1,20 @@ +#if defined _WIN32 + #define DLL_PUBLIC __declspec(dllexport) +#else + #if defined __GNUC__ + #define DLL_PUBLIC __attribute__ ((visibility("default"))) + #else + #pragma message ("Compiler does not support symbol visibility.") + #define DLL_PUBLIC + #endif +#endif + +void DLL_PUBLIC liba_func() { +} + +#ifdef MORE_EXPORTS + +void DLL_PUBLIC libb_func() { +} + +#endif diff --git a/meson/test cases/unit/29 guessed linker dependencies/lib/meson.build b/meson/test cases/unit/29 guessed linker dependencies/lib/meson.build new file mode 100644 index 000000000..36df112b2 --- /dev/null +++ b/meson/test cases/unit/29 guessed linker dependencies/lib/meson.build @@ -0,0 +1,11 @@ +project('lib1', ['c']) + +c_args = [] + +# Microsoft's compiler is quite smart about touching import libs on changes, +# so ensure that there is actually a change in symbols. +if get_option('more_exports') + c_args += '-DMORE_EXPORTS' +endif + +a = library('test-lib', 'lib.c', c_args: c_args, install: true) diff --git a/meson/test cases/unit/29 guessed linker dependencies/lib/meson_options.txt b/meson/test cases/unit/29 guessed linker dependencies/lib/meson_options.txt new file mode 100644 index 000000000..2123e457a --- /dev/null +++ b/meson/test cases/unit/29 guessed linker dependencies/lib/meson_options.txt @@ -0,0 +1 @@ +option('more_exports', type : 'boolean', value : false) |