summaryrefslogtreecommitdiff
path: root/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* meson: Do not require libdrm for DRI2 on hurdSamuel Thibault2020-01-281-1/+3
| | | | | | | | | Cc: 19.3 <mesa-stable@lists.freedesktop.org> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3231> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3231> (cherry picked from commit 2fd85105c6b144d1f44e5faef33363e554b58455)
* meson: define _GNU_SOURCE on FreeBSDEric Engestrom2019-10-291-1/+1
| | | | | | | | _mesa_strtod() needs this to use strtod_l(), which behaves correctly wrt `,` vs `.` decimal separator. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2008 Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
* ac: get tcc_harvested from the kernelMarek Olšák2019-10-281-1/+1
| | | | Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
* zink: introduce opengl over vulkanErik Faye-Lund2019-10-281-0/+5
| | | | | | | | | | Here's zink, a so far pretty simple vulkan-gallium driver that is able to translate some applications from OpenGL to Vulkan. The compiler is quite limited for now, this will be improved on later. Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Acked-by: Jordan Justen <jordan.l.justen@intel.com>
* meson: add -Werror=empty-body to disallow `if(x);`Eric Engestrom2019-10-241-0/+2
| | | | | | | | | | | This would have prevented a bug in MR 2058 [1]; with that MR fixed, nothing else uses empty-body blocks, so let's just forbid them altogether. [1] https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2058#note_237880 Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
* meson: Require meson >= 0.49.1 when using icc or iclDylan Baker2019-10-211-6/+2
| | | | | | | | | | | | | 0.49.0 can compile most of mesa with ICC or ICL, but not SWR without additional workarounds in our meson.build files. Bumping patch version is easier and shouldn't be a big burden anyway, especially to cover a niche compiler. The check originally only covered ICC, but now covers ICL as well. Fixes: 3740ffb59c89d8d879b1e0c1aed32c389dd82a35 ("meson: add switches for SWR with MSVC") Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1937 Acked-by: Eric Engestrom <eric.engestrom@intel.com>
* 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 <ajax@redhat.com>
* 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 <ajax@redhat.com>
* 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 <eric.engestrom@intel.com>
* meson: recognize "sunos" as the system name for SolarisAlan Coopersmith2019-10-161-1/+3
| | | | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Acked-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
* 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 <alan.coopersmith@oracle.com> Acked-by: Eric Engestrom <eric.engestrom@intel.com>
* 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 <hoegsberg@google.com>
* 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 <eric.engestrom@intel.com> Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
* 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 <eric.engestrom@intel.com> Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
* meson: Add support for using win_flex and win_bison on windowsDylan Baker2019-10-101-2/+25
| | | | Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
* meson: don't look for rt on windowsDylan Baker2019-10-101-1/+1
| | | | | | | v6: - Minor refactor Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
* 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 <eric.engestrom@intel.com> Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
* 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 <hoegsberg@google.com>
* 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 <hoegsberg@google.com>
* 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 <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
* 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 <alan.coopersmith@oracle.com> Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Tested-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* 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 <gert.wollny@collabora.com>
* egl: replace MESA_EGL_NO_X11_HEADERS hack with upstream EGL_NO_X11Eric Engestrom2019-10-071-2/+2
| | | | | Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
* 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 <vlee@freedesktop.org>
* 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 <eric@engestrom.ch> Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Signed-off-by: Maya Rashish <coypu@sdf.org>
* 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 <mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
* 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 <ajax@redhat.com>
* 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 <mattst88@gmail.com>
* 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 <dylan@pnwbakers.com> Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
* meson: split more compiler options to their own lineEric Engestrom2019-09-241-2/+4
| | | | | Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
* 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 <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
* meson: split compiler warnings one per lineEric Engestrom2019-09-231-1/+2
| | | | | Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* 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 <dylan@pnwbakers.com> (v10) Reviewed-by: Karol Herbst <kherbst@redhat.com> Reviewed-by: Francisco Jerez <currojerez@riseup.net>
* docs: Update bug report URLs for the gitlab migrationAdam Jackson2019-09-191-1/+1
| | | | | | Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
* 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 <gert.wollny@collabora.com> Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
* 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 <tarceri@itsqueeze.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
* gallium: Require LLVM >= 3.8Adam Jackson2019-09-111-1/+1
| | | | | Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
* gallium: Require LLVM >= 3.7Adam Jackson2019-09-111-1/+1
| | | | | Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
* gallium: Require LLVM >= 3.6Adam Jackson2019-09-111-1/+1
| | | | | Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
* gallium: Require LLVM >= 3.5Adam Jackson2019-09-111-1/+1
| | | | | | | Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> [ 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 <tarceri@itsqueeze.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
* meson: don't allow glvnd on windowsDylan Baker2019-09-101-1/+3
| | | | | Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
* 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 <eric@anholt.net> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
* 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 <eric@anholt.net> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
* 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 <eric@anholt.net> (v3) Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
* meson: add a expat subprojectDylan Baker2019-09-101-1/+1
| | | | | | | For Windows Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
* meson: add a zlib subprojectDylan Baker2019-09-101-1/+1
| | | | | | | To help windows build Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
* 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 <eric.engestrom@intel.com>
* meson/scons/android: drop now-unused HAVE_LLVMEric Engestrom2019-09-061-6/+2
| | | | | Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Acked-by: Michel Dänzer <mdaenzer@redhat.com>
* meson/scons/android: add LLVM_AVAILABLE binary flagEric Engestrom2019-09-061-0/+1
| | | | | Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Acked-by: Michel Dänzer <mdaenzer@redhat.com>