[Mesa-dev] [PATCH v2 00/49] meson for windows
Review for Meson windows support v2 1. osmesa Scons build doesn't use lib prefix on windows platform. I don't know much of cygwin though.Sent a merge request to ensure parity - https://gitlab.freedesktop.org/dbaker/mesa/merge_requests/2 2. Problem linking LLVM. a. The LLVM wrap example in the docs doesn't specify from what llvm-config command that libraries array comes from. With Scons this is documented in the code itself https://gitlab.freedesktop.org/mesa/mesa/blob/master/scons/llvm.py#L106 b. I wrote a llvm wrap generator based on that documentation making the assumption the needed libraries are the same as with Scons. Unfortunately I get static - dynamic link mismatches for all LLVM libraries. Maybe I am doing something wrong or I need to build LLVM differently (hopefully mot) or it's a bug. llvm wrap meson.build project('llvm', ['cpp']) cpp = meson.get_compiler('cpp') _deps = [] _search = join_paths(meson.current_source_dir(), '../../../llvm/x64/lib') foreach d : ['LLVMIRReader', 'LLVMAsmParser', 'LLVMX86Disassembler', 'LLVMX86AsmParser', 'LLVMX86CodeGen', 'LLVMGlobalISel', 'LLVMSelectionDAG', 'LLVMAsmPrinter', 'LLVMDebugInfoCodeView', 'LLVMDebugInfoMSF', 'LLVMCodeGen', 'LLVMScalarOpts', 'LLVMInstCombine', 'LLVMTransformUtils', 'LLVMBitWriter', 'LLVMX86Desc', 'LLVMMCDisassembler', 'LLVMX86Info', 'LLVMX86AsmPrinter', 'LLVMX86Utils', 'LLVMMCJIT', 'LLVMExecutionEngine', 'LLVMTarget', 'LLVMAnalysis', 'LLVMProfileData', 'LLVMRuntimeDyld', 'LLVMObject', 'LLVMMCParser', 'LLVMBitReader', 'LLVMMC', 'LLVMCore', 'LLVMBinaryFormat', 'LLVMSupport', 'LLVMDemangle'] _deps += cpp.find_library(d, dirs : _search) endforeach ext_llvm = declare_dependency( include_directories : include_directories(join_paths(meson.current_source_dir(), '../../../llvm/x64/include')), dependencies : _deps, version : '6.0.1', ) irbuilder_h = files(join_paths(meson.current_source_dir(), '../../../llvm/x64/include/llvm/IR/IRBuilder.h')) LLVM build config: cmake -G "Ninja" -Thost=x64 -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_CRT_RELEASE=MT -DLLVM_ENABLE_RTTI=1 -DLLVM_ENABLE_TERMINFO=OFF -DCMAKE_INSTALL_PREFIX=../x64 Mesa3D build config command: C:\Software\DEVELO~1\projects\mesa\Py3\python.exe C:\Software\DEVELO~1\projects\mesa\Py3\Scripts\meson.py . .\build\windows-x86_64 --backend=ninja --buildtype=release -Dllvm-wrap=llvm -Dosmesa=gallium ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH v2 00/49] meson for windows
This is the second spin of my meson for windows series. It fixes a few issues from the first version, and is rebased on current master. The biggest changes are changing shader-cache to a trillian (auto, true, false), changing the lib names to match the scons names, and fixing process.h interfering with the build. This also includes a patch from Eric Engstrom to do a better job of finding python2 on windows. Dylan Baker (49): util: move process.[ch] to u_process.[ch] meson: always define libglapi add a git ignore for subprojects meson: add a zlib subproject meson: add a expat subproject gallium: fix ddebug on windows glapi: export glapi_destroy_multithread when building shared-glapi on windows glsl: fix general_ir_test with mingw meson: fix dl detection on non cygwin windows meson: build getopt when using msvc meson: Add a platform for windows meson: don't build glx or dri by default on windows meson: don't allow glvnd on windows meson: add windows compiler checks and libraries meson: Make shader-cache a trillean instead of boolean meson: Add windows defines to glapi meson: Add necessary defines for mesa_gallium on windows meson: build gallium gdi winsys meson: build wgl state tracker meson: build libgl-gdi target meson: build graw-gdi target meson: fix gallium-osmesa to build for windows meson: Don't check for posix_memalign on windows meson: Add support for wrapping llvm docs/meson.html: fix numerous issues spotted by xmllint util/xmlconfig: include strndup.h for windows meson: fix pipe-loader compilation for windows meson: don't look for rt on windows meson: Add support for using win_flex and win_bison on windows meson: make nm binary optional meson: for incluse of inttypes.h for glcpp with msvc meson: disable sse4.1 optimizations with msvc meson: add switches for SWR with MSVC meson: don't define GLX_USE_TLS for windows meson: Add idep_getopt for tests util/tests: Use define instead of VLA meson: Don't build glsl cache_test for windows glsl/tests: define ssize_t on windows nir/meson: fix c vs cpp args for nir test meson: Set visibility and compat args for graw meosn: don't build gallium trivial tests on windows meson: Fix gtest linkage on msvc meson: disable graw tests on mingw meson: don't build or run mesa-sha1 test on windows meson: Use python module to find python2 on windows appveyor: Add support for meson as well as scons appveyor: use chocolatey (cinst) to install winflexbison tests/vma: fix build with MSVC meson: maintain names of shared API libraries appveyor.yml | 34 +- docs/meson.html | 71 ++- meson.build | 405 -- meson_options.txt | 12 +- src/compiler/glsl/glcpp/meson.build | 16 +- src/compiler/glsl/meson.build | 6 +- src/compiler/glsl/tests/blob_test.c | 4 + src/compiler/glsl/tests/general_ir_test.cpp | 14 +- src/compiler/glsl/tests/meson.build | 21 +- src/compiler/nir/meson.build | 2 +- src/egl/meson.build | 2 +- src/gallium/auxiliary/driver_ddebug/dd_util.h | 6 +- src/gallium/auxiliary/meson.build | 6 + src/gallium/auxiliary/os/os_process.c | 2 +- src/gallium/auxiliary/pipe-loader/meson.build | 9 +- src/gallium/drivers/swr/meson.build | 3 +- .../drivers/swr/rasterizer/jitter/meson.build | 13 +- src/gallium/meson.build | 14 +- src/gallium/state_trackers/osmesa/meson.build | 12 +- .../{osmesa => wgl}/meson.build | 32 +- .../{graw-xlib => graw-gdi}/meson.build | 21 +- src/gallium/targets/graw-null/meson.build | 2 + src/gallium/targets/graw-xlib/meson.build | 1 + .../{graw-xlib => libgl-gdi}/meson.build | 30 +- src/gallium/targets/osmesa/meson.build| 11 +- src/gallium/tests/meson.build | 11 +- .../{tests => winsys/sw/gdi}/meson.build | 12 +- src/gbm/meson.build | 2 +- src/{gallium/tests => getopt}/meson.build | 14 +- src/gtest/meson.build | 7 + src/mapi/es1api/meson.build | 14 +- src/mapi/es2api/meson.build | 14 +- src/mapi/glapi/glapi.h| 2 +- src/mapi/glapi/meson.build| 13 +- src/mapi/meson.build | 2 + src/mapi/shared-glapi/meson.build | 11 +- src/mesa/meson.build | 12 +- src/meson.build | 5 + src/util/Makefile.sources | 4 +- src/util/meson.build | 25 +- src/util/tests/hash_table/clear.c | 13 +- src/util/tests/hash_table/delete_management.c | 13 +-