From 7b6e527f440cd7e6f8be2b07cee320ee6ca18786 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 29 Apr 2024 06:41:38 +0200 Subject: Adding upstream version 1.0.1. Signed-off-by: Daniel Baumann --- test cases/common/80 declare dep/entity/entity.h | 4 ++++ test cases/common/80 declare dep/entity/entity1.c | 9 ++++++++ test cases/common/80 declare dep/entity/entity2.c | 5 +++++ .../common/80 declare dep/entity/meson.build | 10 +++++++++ test cases/common/80 declare dep/main.c | 18 ++++++++++++++++ test cases/common/80 declare dep/meson.build | 24 ++++++++++++++++++++++ 6 files changed, 70 insertions(+) create mode 100644 test cases/common/80 declare dep/entity/entity.h create mode 100644 test cases/common/80 declare dep/entity/entity1.c create mode 100644 test cases/common/80 declare dep/entity/entity2.c create mode 100644 test cases/common/80 declare dep/entity/meson.build create mode 100644 test cases/common/80 declare dep/main.c create mode 100644 test cases/common/80 declare dep/meson.build (limited to 'test cases/common/80 declare dep') diff --git a/test cases/common/80 declare dep/entity/entity.h b/test cases/common/80 declare dep/entity/entity.h new file mode 100644 index 0000000..959a8c3 --- /dev/null +++ b/test cases/common/80 declare dep/entity/entity.h @@ -0,0 +1,4 @@ +#pragma once + +int entity_func1(void); +int entity_func2(void); diff --git a/test cases/common/80 declare dep/entity/entity1.c b/test cases/common/80 declare dep/entity/entity1.c new file mode 100644 index 0000000..d124e24 --- /dev/null +++ b/test cases/common/80 declare dep/entity/entity1.c @@ -0,0 +1,9 @@ +#include"entity.h" + +#ifdef USING_ENT +#error "Entity use flag leaked into entity compilation." +#endif + +int entity_func1(void) { + return 5; +} diff --git a/test cases/common/80 declare dep/entity/entity2.c b/test cases/common/80 declare dep/entity/entity2.c new file mode 100644 index 0000000..4e8bb07 --- /dev/null +++ b/test cases/common/80 declare dep/entity/entity2.c @@ -0,0 +1,5 @@ +#include + +int entity_func2(void) { + return 9; +} diff --git a/test cases/common/80 declare dep/entity/meson.build b/test cases/common/80 declare dep/entity/meson.build new file mode 100644 index 0000000..469ecd3 --- /dev/null +++ b/test cases/common/80 declare dep/entity/meson.build @@ -0,0 +1,10 @@ +entity_lib = static_library('entity', 'entity1.c') + +entity_dep = declare_dependency(link_with : [[entity_lib]], + include_directories : [['.']], + sources : 'entity2.c', + compile_args : ['-DUSING_ENT=1'], + version : '1.2.3', + link_args : []) # No simple way of testing linker flags :(. + +assert(entity_dep.version().version_compare('==1.2.3'), 'Declare_dep has incorrect version string.') diff --git a/test cases/common/80 declare dep/main.c b/test cases/common/80 declare dep/main.c new file mode 100644 index 0000000..62200c9 --- /dev/null +++ b/test cases/common/80 declare dep/main.c @@ -0,0 +1,18 @@ +#include +#include + +#ifndef USING_ENT +#error "Entity use flag not used for compilation." +#endif + +int main(void) { + if(entity_func1() != 5) { + printf("Error in func1.\n"); + return 1; + } + if(entity_func2() != 9) { + printf("Error in func2.\n"); + return 2; + } + return 0; +} diff --git a/test cases/common/80 declare dep/meson.build b/test cases/common/80 declare dep/meson.build new file mode 100644 index 0000000..e427def --- /dev/null +++ b/test cases/common/80 declare dep/meson.build @@ -0,0 +1,24 @@ +project('declare dependency', 'c') + +subdir('entity') + +exe = executable('dep_user', 'main.c', + dependencies : entity_dep) +test('dep', exe) + +# just to make sure [] works as a no-op dep here +executable('dummy', 'main.c', + dependencies : [entity_dep, []]) + +# simple case +declare_dependency(dependencies : entity_dep) + +# nested deps should be flattened +declare_dependency(dependencies : [entity_dep]) +declare_dependency(dependencies : [[entity_dep]]) + +# check that [] properly works as a no-op dep in declare_dependency() too +declare_dependency(dependencies : []) +declare_dependency(dependencies : [[]]) +declare_dependency(dependencies : [entity_dep, []]) +declare_dependency(dependencies : [[], entity_dep]) -- cgit v1.2.3