diff options
author | 2023-10-10 14:33:42 +0000 | |
---|---|---|
committer | 2023-10-10 14:33:42 +0000 | |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /meson/test cases/unit/97 link full name | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'meson/test cases/unit/97 link full name')
5 files changed, 67 insertions, 0 deletions
diff --git a/meson/test cases/unit/97 link full name/.gitignore b/meson/test cases/unit/97 link full name/.gitignore new file mode 100644 index 000000000..812960172 --- /dev/null +++ b/meson/test cases/unit/97 link full name/.gitignore @@ -0,0 +1,5 @@ +*.a +*.o +a.out +libtestprovider.a +build diff --git a/meson/test cases/unit/97 link full name/libtestprovider/meson.build b/meson/test cases/unit/97 link full name/libtestprovider/meson.build new file mode 100644 index 000000000..5855c8180 --- /dev/null +++ b/meson/test cases/unit/97 link full name/libtestprovider/meson.build @@ -0,0 +1,20 @@ +project('libtestprovider','c') + +libtestprovider=static_library('testprovider', + files('./provider.c'), + install:true, + c_args:['-Wall','-Werror'], +) + +pkg = import('pkgconfig') + + +pkg.generate( + name:'testprovider', + filebase:'libtestprovider', + description: 'fortest', + requires: [], + libraries_private: ['-Wl,--whole-archive'] + + ['-L${libdir}','-l:libtestprovider.a']+ + ['-Wl,--no-whole-archive'] +) diff --git a/meson/test cases/unit/97 link full name/libtestprovider/provider.c b/meson/test cases/unit/97 link full name/libtestprovider/provider.c new file mode 100644 index 000000000..5e79966f7 --- /dev/null +++ b/meson/test cases/unit/97 link full name/libtestprovider/provider.c @@ -0,0 +1,12 @@ +#include <stdio.h> +static int g_checked = 0; + +static void __attribute__((constructor(101), used)) init_checked(void) { + g_checked=100; + fprintf(stdout, "inited\n"); +} + + +int get_checked(void) { + return g_checked; +} diff --git a/meson/test cases/unit/97 link full name/proguser/meson.build b/meson/test cases/unit/97 link full name/proguser/meson.build new file mode 100644 index 000000000..5be5bc998 --- /dev/null +++ b/meson/test cases/unit/97 link full name/proguser/meson.build @@ -0,0 +1,11 @@ +project('testprovider','c') + +deplib = dependency('libtestprovider', static:true) + +dprovidertest = executable('dprovidertest', + files('./receiver.c'), + dependencies:[deplib], + c_args:['-Wall','-Werror'], +) + +test('testprovider',dprovidertest) diff --git a/meson/test cases/unit/97 link full name/proguser/receiver.c b/meson/test cases/unit/97 link full name/proguser/receiver.c new file mode 100644 index 000000000..594601cc8 --- /dev/null +++ b/meson/test cases/unit/97 link full name/proguser/receiver.c @@ -0,0 +1,19 @@ +#include <stdio.h> +int __attribute__((weak)) get_checked(void) { + return -1; +} + + +#define CHECK_VALUE (100) +#define TEST_SUCCESS (0) +#define TEST_FAILTURE (-1) + +int main(void) { + if (get_checked() == CHECK_VALUE) { + fprintf(stdout,"good\n"); + return TEST_SUCCESS; + } + fprintf(stdout,"bad\n"); + return TEST_FAILTURE; +} + |