aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2017-09-11 23:21:34 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2017-09-12 02:34:37 +0530
commit66a5b0c566d7aaffd3d25848537c0f712db9083d (patch)
treeb8357f8505853ed0272aca38f594e6d3ce252808
parent6beefac09a8cd0cedb2b1ec6fc41e4a7109264c1 (diff)
downloadmeson-66a5b0c566d7aaffd3d25848537c0f712db9083d.zip
meson-66a5b0c566d7aaffd3d25848537c0f712db9083d.tar.gz
meson-66a5b0c566d7aaffd3d25848537c0f712db9083d.tar.bz2
interpreter: Always flatten when unholding arrays
Otherwise we might end up with wrapper holders in the Build object and pickling will then fail, defeating the purpose of the holder objects. Closes https://github.com/mesonbuild/meson/issues/2211
-rw-r--r--mesonbuild/mesonlib.py1
-rw-r--r--test cases/common/87 declare dep/entity/meson.build2
2 files changed, 2 insertions, 1 deletions
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py
index 904d545..3e52802 100644
--- a/mesonbuild/mesonlib.py
+++ b/mesonbuild/mesonlib.py
@@ -716,6 +716,7 @@ def windows_proof_rmtree(f):
def unholder_array(entries):
result = []
+ entries = flatten(entries)
for e in entries:
if hasattr(e, 'held_object'):
e = e.held_object
diff --git a/test cases/common/87 declare dep/entity/meson.build b/test cases/common/87 declare dep/entity/meson.build
index 80bbf36..3bfe13c 100644
--- a/test cases/common/87 declare dep/entity/meson.build
+++ b/test cases/common/87 declare dep/entity/meson.build
@@ -1,6 +1,6 @@
entity_lib = static_library('entity', 'entity1.c')
-entity_dep = declare_dependency(link_with : entity_lib,
+entity_dep = declare_dependency(link_with : [[entity_lib]],
include_directories : include_directories('.'),
sources : 'entity2.c',
compile_args : ['-DUSING_ENT=1'],