meson: add switches for SWR with MSVC
authorDylan Baker <dylan@pnwbakers.com>
Tue, 22 May 2018 17:54:12 +0000 (10:54 -0700)
committerDylan Baker <dylan@pnwbakers.com>
Thu, 10 Oct 2019 23:33:04 +0000 (16:33 -0700)
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>
src/gallium/drivers/swr/meson.build

index 658747563740f79c7da3a989c928f88890346378..416ac6fdd23786ea41ee77cb20a73820d2d36d1b 100644 (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