summaryrefslogtreecommitdiffstats
path: root/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* meson: Use cmake to find LLVM when building for windowsDylan Baker2019-10-181-2/+10
| | | | | | | | | We don't use cmake normally because it always results in static linking. This is very problematic for *nix OSes which expect shared linking by default, but for windows this isn't a problem as LLVM doesn't support shared linking on windows anyway. Reviewed-by: Adam Jackson <[email protected]>
* meson: Add support for wrapping llvmDylan Baker2019-10-181-1/+14
| | | | | | | | For building on Windows (when not using cygwin), users may want to use a binary wrap of LLVM, this provides a fallback to the LLVM dependency which may be used in this case Reviewed-by: Adam Jackson <[email protected]>
* meson: Don't use expat on windowsDylan Baker2019-10-161-1/+5
| | | | | | | | It's not really needed, and there's no debian package for it so we're forced to fall back to wraps in mesa's CI. This can be problematic in itself. Reviewed-by: Eric Engestrom <[email protected]>
* meson: recognize "sunos" as the system name for SolarisAlan Coopersmith2019-10-161-1/+3
| | | | | | Signed-off-by: Alan Coopersmith <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* util: Workaround lack of flock on SolarisAlan Coopersmith2019-10-161-1/+1
| | | | | | | v2: Replace autoconf check for flock() with meson check Signed-off-by: Alan Coopersmith <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* meson: don't error on formaters with mingwDylan Baker2019-10-101-31/+30
| | | | | | | | MSVC is generally happy, but mingw errors. I've spent as much time (several days) trying to squash all of these warnings and I'm done with it, just leave them as warnings with MinGW. Acked-by: Kristian H. Kristensen <[email protected]>
* meson: don't define USE_ELF_TLS for windowsDylan Baker2019-10-101-1/+1
| | | | | | | | Because the macros for exporting dll symbols and using TLS are mutually exclusive. Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Kristian H. Kristensen <[email protected]>
* meson: disable sse4.1 optimizations with msvcDylan Baker2019-10-101-1/+1
| | | | | | | | | There isn't an obvious command line switch here, /arch:AVX *might* be the right thing, but meson doesn't know what to do here either and leaves the -msse4.1 and -mstackrealign. Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Kristian H. Kristensen <[email protected]>
* meson: Add support for using win_flex and win_bison on windowsDylan Baker2019-10-101-2/+25
| | | | Acked-by: Kristian H. Kristensen <[email protected]>
* meson: don't look for rt on windowsDylan Baker2019-10-101-1/+1
| | | | | | | v6: - Minor refactor Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Kristian H. Kristensen <[email protected]>
* meson: Don't check for posix_memalign on windowsDylan Baker2019-10-101-1/+11
| | | | | | | | There's a mingw bug for this, it exports __builtin_posix_memalign but not posix_memalign, so the check will succeed, but compiling will fail. Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Kristian H. Kristensen <[email protected]>
* meson: fix gallium-osmesa to build for windowsDylan Baker2019-10-101-1/+5
| | | | | | | | v2: - set so_version to '' (only affects windows) - always set lib prefix to 'lib', even on msvc v5: - key NO_EXPORTS on shared glapi instead of gles. Acked-by: Kristian H. Kristensen <[email protected]>
* meson: add windows compiler checks and librariesDylan Baker2019-10-101-55/+135
| | | | | | | | | | | | v4: - Fix typo in warning code (4246 -> 4267) - Copy comments from scons for what MSVC warnings codes do - Merge linker argument changes into this commit v5: - Add /GR- on windows if LLVM is build without rtti (equivalent to GCc's -fno-rtti') - Add /wd4291, which is catching the same hting that -Wno-non-virtual-dtor is on GCC/Clang Acked-by: Kristian H. Kristensen <[email protected]>
* meson: rename `glvnd_missing_pc_files` to `not glvnd_has_headers_and_pc_files`Eric Engestrom2019-10-101-5/+4
| | | | | | | | This reflects better what is provided by glvnd or not. Fixes: 93df862b6affb6b8507e ("meson: re-add incorrect pkg-config files with GLVND for backward compatibility") Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: fix sys/mkdev.h detection on SolarisEric Engestrom2019-10-081-2/+7
| | | | | | | | | | | | | On Solaris, sys/sysmacros.h has long-deprecated copies of major() & minor() but not makedev(). sys/mkdev.h has all three and is the preferred choice. Let's make sure we check for all 3 major(), minor() and makedev(). Reported-by: Alan Coopersmith <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Alan Coopersmith <[email protected]> Tested-by: Alan Coopersmith <[email protected]>
* meson: Always add LLVM coroutines module.Bas Nieuwenhuizen2019-10-081-4/+1
| | | | | | | | | | | | It gets used by the gallium auxiliary draw module, which gets used pretty much always when LLVM is used as JIT. At the same time most builds don't hit the issue here because the shared library of LLVM contains all modules. Fixes: d32690b43c91 ("gallivm: add coroutine pass manager support") Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/951 Reviewed-by: Gert Wollny <[email protected]>
* egl: replace MESA_EGL_NO_X11_HEADERS hack with upstream EGL_NO_X11Eric Engestrom2019-10-071-2/+2
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Daniel Stone <[email protected]>
* meson: Only error building gallium video without libdrm when the platform is drmDylan Baker2019-10-031-1/+1
| | | | | | | Fixes: 3b265f61f5f61f08718fe5bb4b2726f9b8e016cc ("meson: gallium media state trackers require libdrm with x11") Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1878 Tested-by: Vinson Lee <[email protected]>
* meson: Test for -Wl,--build-id=sha1Maya Rashish2019-09-301-4/+2
| | | | | | | | instead of hard-coding OS list. Helps Solaris ld builds. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> Signed-off-by: Maya Rashish <[email protected]>
* meson: gallium media state trackers require libdrm with x11Dylan Baker2019-09-301-0/+3
| | | | | | | | v2: - update copyright year in all changed files - rebase on master Cc: 19.1 19.2 <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Link xvmc with libxvDylan Baker2019-09-271-1/+3
| | | | | | | | | | | Prior to xvmc 1.0.12 libxvmc incorrectly required libxv, but that was fixed. This results in compilation failures for the gallium xvmc tracker and tools. This patch fixes that by explicitly linking to libxv. Fixes: 22a817af8a89eb3c762fc3e07b443a3ce37d7416 ("meson: build gallium xvmc state tracker") Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1844 Reviewed-by: Adam Jackson <[email protected]>
* meson: fix logic for generating .pc files with old glvndDylan Baker2019-09-251-4/+5
| | | | | | | | | | | | | | We want to generate PC files for non-glvnd builds and for builds with old glvnd, but the current logic doesn't do that, it builds them unconditionally, and for GLES it builds the shared libraries, which is also not what we want. This does not generate .pc files for gles1 or gles2. Which it we weren't doing before either, making this not a regression but a return to status-quo.o Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1838 Fixes: 93df862b6affb6b8507e40601212a58012bfa873 ("meson: re-add incorrect pkg-config files with GLVND for backward compatibility") Reviewed-by: Matt Turner <[email protected]>
* meson: re-add incorrect pkg-config files with GLVND for backward compatibilityEric Engestrom2019-09-251-0/+4
| | | | | | | | | | | | This is a bit counter-intuitive, but the issue is that GLVND is broken in versions <= 1.1.1, so we need to keep wrongly providing these files to cover up their mistake, otherwise the rest of the world ends up broken. Suggested-by: Dylan Baker <[email protected]> Cc: [email protected] Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: split more compiler options to their own lineEric Engestrom2019-09-241-2/+4
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: drop -Wno-foo bug workaround for Meson < 0.46Eric Engestrom2019-09-241-18/+9
| | | | | | | | | | This was a workaround for a bug in Meson that was fixed in 0.46 [1]. [1] https://github.com/mesonbuild/meson/pull/2284 Fixes: f7b6a8d12fdc446e3251 ("meson: bump required version to 0.46") Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: split compiler warnings one per lineEric Engestrom2019-09-231-1/+2
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* meson: Check for SPIRV-Tools and llvm-spirvPierre Moreau2019-09-211-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes since: * v12 (Karol Herbst): - rename CLOVER_ALLOW_SPIRV to HAVE_CLOVER_SPIRV * v11 (Karol Herbst): - only set new defines for clover to speed up recompilation - remove autotools * v10: - Add a new flag (`--enable-opencl-spirv` for autotools, and `-Dopencl-spirv=true` for meson) for enabling SPIR-V support in clover, and never automagically enable it without that flag. (Dylan Baker) - When enabling the SPIR-V support, the SPIRV-Tools and SPIRV-LLVM-Translator libraries are now required dependencies. * v7: - Properly align LLVMSPIRVLib comment (Dylan Baker) - Only define CLOVER_ALLOW_SPIRV when **both** dependencies are found: autotools was only requiring one or the other. * v6: Replace the llvm-spirv repository by the new official SPIRV-LLVM-Translator. * v4: Add a comment saying where to find llvm-spirv (Karol Herbst). * v3: - make SPIRV-Tools and llvm-spirv optional (Francisco Jerez); - bump requirement for llvm-spirv to version 0.2 * v2: - Bump the required version of SPIRV-Tools to the latest release; - Add a dependency on llvm-spirv. Reviewed-by: Dylan Baker <[email protected]> (v10) Reviewed-by: Karol Herbst <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* docs: Update bug report URLs for the gitlab migrationAdam Jackson2019-09-191-1/+1
| | | | | | Cc: [email protected] Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Add coroutines component to llvmpipe build.Vinson Lee2019-09-111-0/+2
| | | | | | | Fixes: d32690b43c91 ("gallivm: add coroutine pass manager support") Suggested-by: Gert Wollny <[email protected]> Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* gallium: Require LLVM >= 3.9Adam Jackson2019-09-111-3/+1
| | | | | | | | To go any further than this would be to break the current version of Android. Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: Require LLVM >= 3.8Adam Jackson2019-09-111-1/+1
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: Require LLVM >= 3.7Adam Jackson2019-09-111-1/+1
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: Require LLVM >= 3.6Adam Jackson2019-09-111-1/+1
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: Require LLVM >= 3.5Adam Jackson2019-09-111-1/+1
| | | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> [ Michel Dänzer: Dropped jessie line from debian-install.sh again ]
* gallium: Require LLVM >= 3.4Adam Jackson2019-09-111-1/+1
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* meson: don't allow glvnd on windowsDylan Baker2019-09-101-1/+3
| | | | | Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: don't build glx or dri by default on windowsDylan Baker2019-09-101-0/+2
| | | | | | | v5: - Move is windows check down to make code more robust Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Add a platform for windowsDylan Baker2019-09-101-1/+4
| | | | | | | | | This mirrors the haiku build which uses a platform. v2: - Fix some rebase problems Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: fix dl detection on non cygwin windowsDylan Baker2019-09-101-8/+9
| | | | | | | v4: - Don't run checks on Windows that will always fail Reviewed-by: Eric Anholt <[email protected]> (v3) Reviewed-by: Eric Engestrom <[email protected]>
* meson: add a expat subprojectDylan Baker2019-09-101-1/+1
| | | | | | | For Windows Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: add a zlib subprojectDylan Baker2019-09-101-1/+1
| | | | | | | To help windows build Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Make shared-glapi a comboDylan Baker2019-09-101-2/+9
| | | | | | So it can auto off for windows, but on elsewhere. Reviewed-by: Eric Engestrom <[email protected]>
* meson/scons/android: drop now-unused HAVE_LLVMEric Engestrom2019-09-061-6/+2
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Acked-by: Michel Dänzer <[email protected]>
* meson/scons/android: add LLVM_AVAILABLE binary flagEric Engestrom2019-09-061-0/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Acked-by: Michel Dänzer <[email protected]>
* ac,radv,radeonsi: remove LLVM 7 supportSamuel Pitoiset2019-08-231-1/+1
| | | | | | | | Now that LLVM 9 will be released soon, we will only support LLVM 8, 9 and master (10). Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* build: Bump C++ standard requirement to C++14 to fix FTBFS with LLVM 10Kai Wasserbäch2019-08-201-1/+1
| | | | | | | | | | | When building Mesa against a recent LLVM 10 with C++11, the build fails if the AMD common code is built as well due to "std::index_sequence" being undeclared. LLVM requires a minimum of C++14. Signed-off-by: Kai Wasserbäch <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* meson: build lima tools as part of 'all' toolsErico Nunes2019-08-181-0/+1
| | | | | | | | | This is primarily so that this build gets tested in CI and we don't break it again. Signed-off-by: Erico Nunes <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Qiang Yu <[email protected]>
* mesa: add support for CET to x86/x86-64 asm files.Dave Airlie2019-08-161-1/+1
| | | | | | | | | | | | | Control-flow enforcement technology is a new instructions on x86 processors to denote where indirect jumps can land. Gcc auto adds the instruction (which encodes as a NOP on older CPUs) to entrypoints but assembler files need manual adding. This adds it to all the entry points in the mesa x86/x86-64 assembler files. This will only happen if mesa is built with the -fcf-protection flag to gcc as some distros are wanting to do. Acked-by: Eric Anholt <[email protected]>
* meson: Don't require DRI classic swrast for OSMesa.Eric Anholt2019-08-131-3/+0
| | | | | | | OSMesa doesn't care about this build option, it links against src/mesa/swrast regardless. Reviewed-by: Michel Dänzer <[email protected]>
* util: fix cpuset support on FreeBSDGreg V2019-08-081-0/+6
| | | | Reviewed-by: Eric Engestrom <[email protected]>