diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2017-04-10 15:02:56 -0700 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2017-04-10 15:43:17 -0700 |
| commit | c49f5aefd81808d5f9eb4fd06edd225ff11a5476 (patch) | |
| tree | 53c2a349b004403cbca5604022007b7b87cd10c0 /test cases/windows | |
| parent | 7d5e4012fe7d5984d1039d8647a7cb80fe484e9e (diff) | |
| download | meson-c49f5aefd81808d5f9eb4fd06edd225ff11a5476.tar.gz | |
Allow using generated files to shared_library vs_module_defs. Closes #1605
This detects and allows passing a generated file as a vs_module_def, it
also adds a testcase that tests using configure_file to generate the
.def file.
Diffstat (limited to 'test cases/windows')
5 files changed, 28 insertions, 0 deletions
diff --git a/test cases/windows/10 vs module defs generated/meson.build b/test cases/windows/10 vs module defs generated/meson.build new file mode 100644 index 000000000..5ce1a2015 --- /dev/null +++ b/test cases/windows/10 vs module defs generated/meson.build @@ -0,0 +1,7 @@ +project('generated_dll_module_defs', 'c') + +if meson.get_compiler('c').get_id() == 'msvc' + subdir('subdir') + exe = executable('prog', 'prog.c', link_with : shlib) + test('runtest', exe) +endif diff --git a/test cases/windows/10 vs module defs generated/prog.c b/test cases/windows/10 vs module defs generated/prog.c new file mode 100644 index 000000000..f35f4a02d --- /dev/null +++ b/test cases/windows/10 vs module defs generated/prog.c @@ -0,0 +1,5 @@ +int somedllfunc(); + +int main(int argc, char **argv) { + return somedllfunc() == 42 ? 0 : 1; +} diff --git a/test cases/windows/10 vs module defs generated/subdir/meson.build b/test cases/windows/10 vs module defs generated/subdir/meson.build new file mode 100644 index 000000000..5d390a0b5 --- /dev/null +++ b/test cases/windows/10 vs module defs generated/subdir/meson.build @@ -0,0 +1,9 @@ +conf = configuration_data() +conf.set('func', 'somedllfunc') +def_file = configure_file( + input: 'somedll.def.in', + output: 'somedll.def', + configuration : conf, +) + +shlib = shared_library('somedll', 'somedll.c', vs_module_defs : def_file) diff --git a/test cases/windows/10 vs module defs generated/subdir/somedll.c b/test cases/windows/10 vs module defs generated/subdir/somedll.c new file mode 100644 index 000000000..df255e38b --- /dev/null +++ b/test cases/windows/10 vs module defs generated/subdir/somedll.c @@ -0,0 +1,5 @@ +#ifdef _MSC_VER +int somedllfunc() { + return 42; +} +#endif diff --git a/test cases/windows/10 vs module defs generated/subdir/somedll.def.in b/test cases/windows/10 vs module defs generated/subdir/somedll.def.in new file mode 100644 index 000000000..c29207c71 --- /dev/null +++ b/test cases/windows/10 vs module defs generated/subdir/somedll.def.in @@ -0,0 +1,2 @@ +EXPORTS + @func@ |
