The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
project('simd', 'c') |
|
|
|
simd = import('unstable-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.') |
|
add_project_arguments('-march=armv7', language : 'c') |
|
endif |
|
|
|
if cc.get_id() == 'msvc' and cc.version().version_compare('<17') |
|
error('MESON_SKIP_TEST VS2010 produces broken binaries on x86.') |
|
endif |
|
|
|
# FIXME add [a, b] = function() |
|
rval = simd.check('mysimds', |
|
mmx : 'simd_mmx.c', |
|
sse : 'simd_sse.c', |
|
sse2 : 'simd_sse2.c', |
|
sse3 : 'simd_sse3.c', |
|
ssse3 : 'simd_ssse3.c', |
|
sse41 : 'simd_sse41.c', |
|
sse42 : 'simd_sse42.c', |
|
avx : 'simd_avx.c', |
|
avx2 : 'simd_avx2.c', |
|
neon : 'simd_neon.c', |
|
compiler : cc) |
|
|
|
simdlibs = rval[0] |
|
cdata.merge_from(rval[1]) |
|
|
|
configure_file(output : 'simdconfig.h', |
|
configuration : cdata) |
|
|
|
p = executable('simdtest', 'simdchecker.c', 'fallback.c', |
|
link_with : simdlibs) |
|
|
|
test('simdtest', p) |
|
|
|
|