Mesa (master): appveyor: Add support for building llvmpipe with meson

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Oct 18 20:22:04 UTC 2019


Module: Mesa
Branch: master
Commit: fbb969b98a4aeb8ada493c7e86b70d9fa8f5a9c1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fbb969b98a4aeb8ada493c7e86b70d9fa8f5a9c1

Author: Dylan Baker <dylan at pnwbakers.com>
Date:   Tue Oct 15 11:16:01 2019 -0700

appveyor: Add support for building llvmpipe with meson

Reviewed-by: Adam Jackson <ajax at redhat.com>

---

 .appveyor/llvm-wrap.meson | 36 ++++++++++++++++++++++++++++++++++++
 scripts/appveyor_msvc.bat |  7 +++++--
 2 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/.appveyor/llvm-wrap.meson b/.appveyor/llvm-wrap.meson
new file mode 100644
index 00000000000..34b1e3200fd
--- /dev/null
+++ b/.appveyor/llvm-wrap.meson
@@ -0,0 +1,36 @@
+# A meson.build file for binary wrapping the LLVM used in the appvyeor CI
+project('llvm', ['cpp'])
+
+cpp = meson.get_compiler('cpp')
+
+_deps = []
+_search = join_paths(meson.current_source_dir(), 'lib')
+foreach d : ['LLVMAnalysis', 'LLVMAsmParser', 'LLVMAsmPrinter',
+             'LLVMBinaryFormat', 'LLVMBitReader', 'LLVMBitWriter',
+             'LLVMCodeGen', 'LLVMCore', 'LLVMCoroutines', 'LLVMCoverage',
+             'LLVMDebugInfoCodeView', 'LLVMDebugInfoDWARF',
+             'LLVMDebugInfoMSF', 'LLVMDebugInfoPDB', 'LLVMDemangle',
+             'LLVMDlltoolDriver', 'LLVMExecutionEngine', 'LLVMGlobalISel',
+             'LLVMInstCombine', 'LLVMInstrumentation', 'LLVMInterpreter',
+             'LLVMipo', 'LLVMIRReader', 'LLVMLibDriver', 'LLVMLineEditor',
+             'LLVMLinker', 'LLVMLTO', 'LLVMMCDisassembler', 'LLVMMCJIT',
+             'LLVMMC', 'LLVMMCParser', 'LLVMMIRParser', 'LLVMObjCARCOpts',
+             'LLVMObject', 'LLVMObjectYAML', 'LLVMOption', 'LLVMOrcJIT',
+             'LLVMPasses', 'LLVMProfileData', 'LLVMRuntimeDyld',
+             'LLVMScalarOpts', 'LLVMSelectionDAG', 'LLVMSupport',
+             'LLVMSymbolize', 'LLVMTableGen', 'LLVMTarget',
+             'LLVMTransformUtils', 'LLVMVectorize', 'LLVMX86AsmParser',
+             'LLVMX86AsmPrinter', 'LLVMX86CodeGen', 'LLVMX86Desc',
+             'LLVMX86Disassembler', 'LLVMX86Info', 'LLVMX86Utils',
+             'LLVMXRay']
+  _deps += cpp.find_library(d, dirs : _search)
+endforeach
+
+dep_llvm = declare_dependency(
+  include_directories : include_directories('include'),
+  dependencies : _deps,
+  version : '5.0.1',
+)
+
+has_rtti = false
+irbuilder_h = files('include/llvm/IR/IRBuilder.h')
diff --git a/scripts/appveyor_msvc.bat b/scripts/appveyor_msvc.bat
index 5e8bd451d7e..0f0e1e17aaf 100644
--- a/scripts/appveyor_msvc.bat
+++ b/scripts/appveyor_msvc.bat
@@ -2,7 +2,6 @@ goto %1
 
 :install
 rem Check pip
-call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
 if "%buildsystem%" == "scons" (
     python --version
     python -m pip --version
@@ -37,6 +36,9 @@ if not exist "%LLVM_ARCHIVE%" appveyor DownloadFile "https://people.freedesktop.
 if "%buildsystem%" == "scons" (
     mkdir llvm\bin
     set LLVM=%CD%\llvm
+) else (
+    move llvm subprojects\
+    copy .appveyor\llvm-wrap.meson subprojects\llvm\meson.build
 )
 goto :eof
 
@@ -44,10 +46,11 @@ goto :eof
 if "%buildsystem%" == "scons" (
     call scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.1 llvm=1
 ) else (
+    call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=x86
     rem We use default-library as static to affect any wraps (such as expat and zlib)
     rem it would be better if we could set subprojects buildtype independently,
     rem but I haven't written that patch yet :)
-    call meson builddir --backend=vs2017 --default-library=static -Dbuild-tests=true -Db_vscrt=mtd --buildtype=release -Dllvm=false
+    call meson builddir --backend=vs2017 --default-library=static -Dbuild-tests=true -Db_vscrt=mtd --buildtype=release -Dllvm=true -Dgallium-drivers=swrast
     pushd builddir
     call msbuild mesa.sln /m
     popd




More information about the mesa-commit mailing list