summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2019-10-15 11:16:01 -0700
committerDylan Baker <dylan@pnwbakers.com>2019-10-18 13:02:58 -0700
commitfbb969b98a4aeb8ada493c7e86b70d9fa8f5a9c1 (patch)
treef215d3c1abb90e9bf8faca63986f9b76c119552e
parent41b3eb08d9feac97ac1be1802093ad4cc4c6ecaf (diff)
appveyor: Add support for building llvmpipe with meson
Reviewed-by: Adam Jackson <ajax@redhat.com>
-rw-r--r--.appveyor/llvm-wrap.meson36
-rw-r--r--scripts/appveyor_msvc.bat7
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