aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-02-23 00:21:01 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2017-07-17 19:20:00 +0300
commit6119beed4db77529830e466f581591c86e32e0d0 (patch)
treea4344af47c5e27fae8fe132454f1e2cd923877e1
parentfe86c9c39953b47946fbf242ad3ced3d75c4d2b7 (diff)
downloadmeson-6119beed4db77529830e466f581591c86e32e0d0.zip
meson-6119beed4db77529830e466f581591c86e32e0d0.tar.gz
meson-6119beed4db77529830e466f581591c86e32e0d0.tar.bz2
Create a new configuration data object and return it as the result.
-rw-r--r--mesonbuild/modules/simd.py9
-rw-r--r--test cases/common/139 simd/meson.build9
2 files changed, 8 insertions, 10 deletions
diff --git a/mesonbuild/modules/simd.py b/mesonbuild/modules/simd.py
index 4a9bdd7..b666f4b 100644
--- a/mesonbuild/modules/simd.py
+++ b/mesonbuild/modules/simd.py
@@ -46,11 +46,8 @@ class SimdModule(ExtensionModule):
compiler = kwargs['compiler'].compiler
if not isinstance(compiler, compilers.Compiler):
raise mesonlib.MesonException('Compiler argument must be a compiler object.')
- if 'configuration' not in kwargs:
- raise mesonlib.MesonException('Must specify configuration object.')
- conf = kwargs['configuration'].held_object
- if not isinstance(conf, build.ConfigurationData):
- raise mesonlib.MesonException('Configuration must be a configuration object.')
+ cdata = interpreter.func_configuration_data(None, [], {})
+ conf = cdata.held_object
for iset in self.isets:
if iset not in kwargs:
continue
@@ -69,7 +66,7 @@ class SimdModule(ExtensionModule):
lib_kwargs = {'sources': iset_fname,
compiler.get_language() + '_args': args}
result.append(interpreter.func_static_lib(None, [libname], lib_kwargs))
- return result
+ return [result, cdata]
def initialize():
return SimdModule()
diff --git a/test cases/common/139 simd/meson.build b/test cases/common/139 simd/meson.build
index 9eff0a5..2b7d722 100644
--- a/test cases/common/139 simd/meson.build
+++ b/test cases/common/139 simd/meson.build
@@ -4,8 +4,6 @@ simd = import('simd')
cc = meson.get_compiler('c')
-cdata = configuration_data()
-
if not meson.is_cross_build() and host_machine.cpu_family() == 'arm' and cc.get_id() == 'clang'
message('Adding -march=armv7 because assuming that this build happens on Raspbian.')
message('Its Clang seems to be misconfigured and does not support NEON by default.')
@@ -16,7 +14,8 @@ if cc.get_id() == 'msvc' and cc.version().version_compare('<17')
error('MESON_SKIP_TEST VS2010 produces broken binaries on x86.')
endif
-simdlibs = simd.check('mysimds',
+# FIXME add [a, b] = function()
+rval = simd.check('mysimds',
mmx : 'simd_mmx.c',
sse : 'simd_sse.c',
sse2 : 'simd_sse2.c',
@@ -27,9 +26,11 @@ simdlibs = simd.check('mysimds',
avx : 'simd_avx.c',
avx2 : 'simd_avx2.c',
neon : 'simd_neon.c',
- configuration : cdata,
compiler : cc)
+simdlibs = rval[0]
+# FIXME add cdata1.merge_from(cdata2)
+cdata = rval[1]
configure_file(output : 'simdconfig.h',
configuration : cdata)