From 6cd3f066b4c4e9ffbe7c8af6a183a6ebe39925dc Mon Sep 17 00:00:00 2001 From: Matthias Klumpp Date: Tue, 12 Sep 2017 14:29:23 +0200 Subject: d: Implement specific properties for D features --- mesonbuild/build.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'mesonbuild/build.py') diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 89689d7..2e27153 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -36,6 +36,9 @@ known_basic_kwargs = {'install': True, 'vala_args': True, 'fortran_args': True, 'd_args': True, + 'd_feature_import_dirs': True, + 'd_feature_unittest': True, + 'd_feature_versions': True, 'java_args': True, 'rust_args': True, 'link_args': True, @@ -351,11 +354,11 @@ class BuildTarget(Target): # 1. Pre-existing objects provided by the user with the `objects:` kwarg # 2. Compiled objects created by and extracted from another target self.process_objectlist(objects) + self.process_compilers() self.process_kwargs(kwargs, environment) self.check_unknown_kwargs(kwargs) if not self.sources and not self.generated and not self.objects: raise InvalidArguments('Build target %s has no sources.' % name) - self.process_compilers() self.validate_sources() self.validate_cross_install(environment) @@ -669,8 +672,23 @@ class BuildTarget(Target): self.vala_header = kwargs.get('vala_header', self.name + '.h') self.vala_vapi = kwargs.get('vala_vapi', self.name + '.vapi') self.vala_gir = kwargs.get('vala_gir', None) + dlist = stringlistify(kwargs.get('d_args', [])) self.add_compiler_args('d', dlist) + dfeatures = dict() + dfeature_unittest = kwargs.get('d_feature_unittest', False) + if dfeature_unittest: + dfeatures['unittest'] = dfeature_unittest + dfeature_versions = kwargs.get('d_feature_versions', None) + if dfeature_versions: + dfeatures['versions'] = dfeature_versions + dfeature_import_dirs = kwargs.get('d_feature_import_dirs', None) + if dfeature_import_dirs: + dfeatures['import_dirs'] = dfeature_import_dirs + if dfeatures: + if 'd' in self.compilers: + self.add_compiler_args('d', self.compilers['d'].get_feature_args(dfeatures)) + self.link_args = flatten(kwargs.get('link_args', [])) for i in self.link_args: if not isinstance(i, str): -- cgit v1.1 From 61db415d7fbdb0c3d897e75e91644947525365da Mon Sep 17 00:00:00 2001 From: Matthias Klumpp Date: Sun, 17 Sep 2017 17:21:06 +0200 Subject: d: Make feature names less verbose --- mesonbuild/build.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'mesonbuild/build.py') diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 2e27153..5bf2874 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -36,9 +36,9 @@ known_basic_kwargs = {'install': True, 'vala_args': True, 'fortran_args': True, 'd_args': True, - 'd_feature_import_dirs': True, - 'd_feature_unittest': True, - 'd_feature_versions': True, + 'd_import_dirs': True, + 'd_unittest': True, + 'd_module_versions': True, 'java_args': True, 'rust_args': True, 'link_args': True, @@ -676,13 +676,13 @@ class BuildTarget(Target): dlist = stringlistify(kwargs.get('d_args', [])) self.add_compiler_args('d', dlist) dfeatures = dict() - dfeature_unittest = kwargs.get('d_feature_unittest', False) + dfeature_unittest = kwargs.get('d_unittest', False) if dfeature_unittest: dfeatures['unittest'] = dfeature_unittest - dfeature_versions = kwargs.get('d_feature_versions', None) + dfeature_versions = kwargs.get('d_module_versions', None) if dfeature_versions: dfeatures['versions'] = dfeature_versions - dfeature_import_dirs = kwargs.get('d_feature_import_dirs', None) + dfeature_import_dirs = kwargs.get('d_import_dirs', None) if dfeature_import_dirs: dfeatures['import_dirs'] = dfeature_import_dirs if dfeatures: -- cgit v1.1