This is the 4th iteration of my meson for windows series. It includes (hopefully) all of the review feedback I got on the v3, as well as a few new fixes and features, namely the appveyor build now uses the same LLVM as scons to build LLVMPipe (I would like to build SWR, but that requires LLVM 6.0.0, and the provided LLVM is 5.0.1). It also has a fix for building nir tests with 32-bit MSVC, due to a dependency on mesa main that is header only with GCC, Clang, and 64-bit MSVC.
This is available on my gitlab: https://gitlab.freedesktop.org/dbaker/mesa meson-windows And the appveyor results are here for this exact set of patches: https://ci.appveyor.com/project/dcbaker/mesa/build/87 Dylan Baker (49): move u_math to src/util Replace uses of _mesa_bitcount with util_bitcount meson: always define libglapi add a git ignore for subprojects meson: add a zlib subproject meson: add a expat subproject 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 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 meson: Set visibility and compat args for graw meson: 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 tests/vma: fix build with MSVC meson: maintain names of shared API libraries appveyor: Add support for meson as well as scons appveyor: use chocolatey (cinst) to install winflexbison appveyor: use msbuild instead of ninja appveyor: Add a wrap for llvm appveyor: cache pip packages appveyor.yml | 49 ++- build-support/appveyor-llvm.meson.build | 56 +++ docs/meson.html | 66 +++ meson.build | 401 ++++++++++++------ meson_options.txt | 12 +- src/broadcom/cle/v3d_packet_helpers.h | 2 +- src/compiler/glsl/glcpp/meson.build | 16 +- src/compiler/glsl/ir_constant_expression.cpp | 2 +- src/compiler/glsl/ir_expression_operation.py | 2 +- src/compiler/glsl/link_varyings.cpp | 5 +- src/compiler/glsl/linker.cpp | 9 +- 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/nir.c | 6 +- src/egl/meson.build | 2 +- src/gallium/auxiliary/Makefile.sources | 2 - src/gallium/auxiliary/meson.build | 2 - src/gallium/auxiliary/pipe-loader/meson.build | 9 +- src/gallium/auxiliary/util/u_format.c | 2 +- src/gallium/auxiliary/util/u_format_bptc.c | 2 +- src/gallium/auxiliary/util/u_format_latc.c | 2 +- src/gallium/auxiliary/util/u_format_other.c | 2 +- src/gallium/auxiliary/util/u_format_pack.py | 2 +- src/gallium/auxiliary/util/u_format_rgtc.c | 2 +- src/gallium/auxiliary/util/u_format_s3tc.c | 2 +- src/gallium/auxiliary/util/u_format_yuv.h | 2 +- src/gallium/auxiliary/util/u_format_zs.c | 2 +- src/gallium/drivers/swr/meson.build | 3 +- .../drivers/swr/rasterizer/jitter/meson.build | 13 +- src/gallium/meson.build | 14 +- src/gallium/state_trackers/glx/xlib/glx_api.c | 7 +- src/gallium/state_trackers/glx/xlib/xm_api.c | 11 +- src/gallium/state_trackers/osmesa/meson.build | 12 +- .../{osmesa => wgl}/meson.build | 39 +- .../{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 | 32 +- src/gallium/targets/libgl-xlib/Makefile.am | 1 + 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/intel/blorp/blorp_blit.c | 5 +- src/intel/compiler/brw_fs.cpp | 3 +- src/intel/compiler/brw_fs_nir.cpp | 3 +- src/intel/compiler/brw_nir.c | 5 +- src/intel/compiler/brw_vec4.cpp | 3 +- src/intel/compiler/brw_vec4_visitor.cpp | 3 +- src/intel/vulkan/anv_blorp.c | 2 +- src/intel/vulkan/anv_image.c | 9 +- src/intel/vulkan/anv_nir_lower_multiview.c | 8 +- src/intel/vulkan/anv_pipeline.c | 2 +- src/intel/vulkan/anv_private.h | 7 +- src/intel/vulkan/genX_cmd_buffer.c | 4 +- src/intel/vulkan/genX_query.c | 14 +- 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/drivers/common/meta.c | 5 +- src/mesa/drivers/dri/i965/brw_curbe.c | 3 +- src/mesa/drivers/dri/i965/brw_draw_upload.c | 3 +- .../drivers/dri/i965/brw_performance_query.c | 5 +- src/mesa/drivers/dri/i965/brw_wm.c | 7 +- src/mesa/drivers/x11/Makefile.am | 1 + src/mesa/drivers/x11/fakeglx.c | 7 +- src/mesa/drivers/x11/meson.build | 2 +- src/mesa/drivers/x11/xm_api.c | 17 +- src/mesa/main/arrayobj.c | 5 +- src/mesa/main/buffers.c | 7 +- src/mesa/main/imports.c | 38 -- src/mesa/main/imports.h | 15 - src/mesa/meson.build | 16 +- src/mesa/program/program_parse.y | 4 +- src/meson.build | 5 + src/util/Makefile.sources | 2 + src/util/meson.build | 23 +- src/util/tests/hash_table/clear.c | 13 +- src/util/tests/hash_table/delete_management.c | 13 +- src/util/tests/hash_table/insert_many.c | 11 +- src/util/tests/hash_table/meson.build | 1 + src/util/tests/hash_table/random_entry.c | 7 +- src/util/tests/string_buffer/meson.build | 1 + src/util/tests/vma/vma_random_test.cpp | 8 + src/{gallium/auxiliary => }/util/u_math.c | 0 src/{gallium/auxiliary => }/util/u_math.h | 2 +- src/util/xmlconfig.c | 1 + subprojects/.gitignore | 3 + subprojects/expat.wrap | 10 + subprojects/zlib.wrap | 10 + 97 files changed, 888 insertions(+), 398 deletions(-) create mode 100644 build-support/appveyor-llvm.meson.build copy src/gallium/state_trackers/{osmesa => wgl}/meson.build (55%) copy src/gallium/targets/{graw-xlib => graw-gdi}/meson.build (75%) copy src/gallium/targets/{graw-xlib => libgl-gdi}/meson.build (58%) copy src/gallium/{tests => winsys/sw/gdi}/meson.build (86%) copy src/{gallium/tests => getopt}/meson.build (85%) rename src/{gallium/auxiliary => }/util/u_math.c (100%) rename src/{gallium/auxiliary => }/util/u_math.h (99%) create mode 100644 subprojects/.gitignore create mode 100644 subprojects/expat.wrap create mode 100644 subprojects/zlib.wrap -- 2.18.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev