diff options
author | Hemmo Nieminen <hemmo.nieminen@iki.fi> | 2015-04-02 13:54:37 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-04-02 14:56:37 +0300 |
commit | a3544847ca1414a23d7afe2a77848ea777bba1b0 (patch) | |
tree | feed37b30a6d1535b4e8b11c41489a1d1a0fa901 | |
parent | 9158c42839ba01d144844f4dcd1f633d0405843b (diff) | |
download | meson-a3544847ca1414a23d7afe2a77848ea777bba1b0.zip meson-a3544847ca1414a23d7afe2a77848ea777bba1b0.tar.gz meson-a3544847ca1414a23d7afe2a77848ea777bba1b0.tar.bz2 |
Accept source files in extract_objects() (also) as a list.
Signed-off-by: Hemmo Nieminen <hemmo.nieminen@iki.fi>
-rw-r--r-- | build.py | 17 | ||||
-rw-r--r-- | test cases/common/25 object extraction/meson.build | 11 |
2 files changed, 18 insertions, 10 deletions
@@ -248,14 +248,17 @@ class BuildTarget(): if 'link_with' in self.kwargs: self.kwargs['link_with'] = self.unpack_holder(self.kwargs['link_with']) - def extract_objects(self, srclist): + def extract_objects(self, srcargs): obj_src = [] - for src in srclist: - if not isinstance(src, str): - raise coredata.MesonException('Extraction arguments must be strings.') - if src not in self.sources: - raise coredata.MesonException('Tried to extract unknown source %s.' % src) - obj_src.append(src) + for srclist in srcargs: + if not isinstance(srclist, list): + srclist = [srclist] + for src in srclist: + if not isinstance(src, str): + raise coredata.MesonException('Extraction arguments must be strings.') + if src not in self.sources: + raise coredata.MesonException('Tried to extract unknown source %s.' % src) + obj_src.append(src) return ExtractedObjects(self, obj_src) def get_rpaths(self): diff --git a/test cases/common/25 object extraction/meson.build b/test cases/common/25 object extraction/meson.build index f936609..0a17c60 100644 --- a/test cases/common/25 object extraction/meson.build +++ b/test cases/common/25 object extraction/meson.build @@ -4,8 +4,13 @@ if meson.is_unity() message('Skipping extraction test because this is a Unity build.') else lib = shared_library('somelib', 'lib.c') - obj = lib.extract_objects('lib.c') - e = executable('main', 'main.c', objects : obj) - test('extraction test', e) + obj1 = lib.extract_objects('lib.c') + obj2 = lib.extract_objects(['lib.c']) + + e1 = executable('main 1', 'main.c', objects : obj1) + e2 = executable('main 2', 'main.c', objects : obj2) + + test('extraction test 1', e1) + test('extraction test 2', e2) endif |