meson: add switches for SWR with MSVC

This makes two changes for SWR,

The first is that it reorders the arguments to try to put the ICL ones
first. This is required to support older versions of meson that don't
add enough "error in this case" switches to ICL, which causes it to
happy accept -mavx (for example) even though it doesn't support them,
resulting in compilation failures.

The second is to fix the names of the libraries, setting the soversion
to '' will result in <lib>.dll, instead of <lib>-0.dll. Since these are
not versioned dll's, but implement an internal API we should communicate
that. It's also what scons does.

Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
This commit is contained in:
Dylan Baker 2018-05-22 10:54:12 -07:00
parent d2cb0a59ce
commit 3740ffb59c

View File

@ -194,7 +194,8 @@ swr_arch_libs = []
swr_arch_defines = []
swr_avx_args = cpp.first_supported_argument(
'-mavx', '-target-cpu=sandybridge', '-march=core-avx', '-tp=sandybridge',
'-target-cpu=sandybridge', '-mavx', '-march=core-avx', '-tp=sandybridge',
'/arch:AVX',
)
if swr_avx_args == []
error('Cannot find AVX support for swr. (these are required for SWR an all architectures.)')
@ -209,13 +210,14 @@ if with_swr_arches.contains('avx')
include_directories : [swr_incs],
dependencies : [dep_thread, dep_llvm],
version : '0.0.0',
soversion : host_machine.system() == 'windows' ? '' : '0',
install : true,
)
endif
if with_swr_arches.contains('avx2')
swr_avx2_args = cpp.first_supported_argument(
'-march=core-avx2', '-target-cpu=haswell', '-tp=haswell',
'-target-cpu=haswell', '-march=core-avx2', '-tp=haswell', '/arch:AVX2',
)
if swr_avx2_args == []
if cpp.has_argument(['-mavx2', '-mfma', '-mbmi2', '-mf16c'])
@ -234,6 +236,7 @@ if with_swr_arches.contains('avx2')
include_directories : [swr_incs],
dependencies : [dep_thread, dep_llvm],
version : '0.0.0',
soversion : host_machine.system() == 'windows' ? '' : '0',
install : true,
)
endif
@ -258,6 +261,7 @@ if with_swr_arches.contains('knl')
include_directories : [swr_incs],
dependencies : [dep_thread, dep_llvm],
version : '0.0.0',
soversion : host_machine.system() == 'windows' ? '' : '0',
install : true,
)
endif
@ -279,6 +283,7 @@ if with_swr_arches.contains('skx')
include_directories : [swr_incs],
dependencies : [dep_thread, dep_llvm],
version : '0.0.0',
soversion : host_machine.system() == 'windows' ? '' : '0',
install : true,
)
endif