[Mesa-dev] [PATCH v2 00/49] meson for windows

2018-07-19 Thread Liviu Prodea
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

2018-07-10 Thread Dylan Baker
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 +-