aboutsummaryrefslogtreecommitdiffstats
path: root/meson.build
Commit message (Collapse)AuthorAgeFilesLines
...
* 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]>
* meson: define ETIME to ETIMEDOUT if not presentGreg V2019-08-081-0/+5
| | | | Reviewed-by: Eric Engestrom <[email protected]>
* meson: build intel-ui tools as part of `all` toolsEric Engestrom2019-08-071-0/+1
| | | | | | | | Reported-by: Mark Janes <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111289 Cc: Dylan Baker <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* meson: Add panfrost to the --auto listAlyssa Rosenzweig2019-08-051-1/+1
| | | | | | | | | Look ma, we're a real driver now! I was waiting until Panfrost stabilises a bit for this, but now that 19.2 is almost here, let's make us official :) Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* mesa: Rename GLX_USE_TLS to USE_ELF_TLS.Bas Nieuwenhuizen2019-08-031-2/+2
| | | | | | | These days it is not GLX only and it does not work with all TLS implementations. Reviewed-by: Eric Engestrom <[email protected]>
* meson: Do not use GLX_USE_TLS on Android.Bas Nieuwenhuizen2019-08-031-1/+5
| | | | | | | | | | | | The asm code expects a specific kind of implementation, but Android uses something different (emutls). Turns out mesa has a fallback with pthread_getspecific, with an optimizaiton if only a single thread is used. emutls also uses getspecific, so lets just use the optimized mesa implementation. Fixes: 20294dceebc "mesa: Enable asm unconditionally, now that gen_matypes is gone." Reviewed-by: Eric Engestrom <[email protected]>
* scons+meson: suppress spammy build warning on MacOSEric Engestrom2019-07-301-0/+1
| | | | | | | | | | | | Originally introduced in c7f36574506838274460 ("darwin: Suppress type conversion warnings for GLhandleARB") to fix Bugzilla #66346 [1], this workaround was never ported to Scons or Meson. [1] https://bugs.freedesktop.org/66346 Cc: [email protected] Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* meson: Test for program_invocation_nameMatt Turner2019-07-301-0/+7
| | | | | | | | program_invocation_name and program_invocation_short_name are both GNU extensions. I don't believe one can exist without the other, so only check for program_invocation_name. Reviewed-by: Eric Engestrom <[email protected]>
* meson: Test for random_r()Matt Turner2019-07-301-1/+1
| | | | | | | It's better to test for needed functions instead of using external knowledge about presence in this or that C library. Reviewed-by: Eric Engestrom <[email protected]>
* meson: bump required version to 0.46Eric Engestrom2019-07-291-1/+1
| | | | | | | | | | | 0.45 has a few annoying bugs (like the one in !358 [1]), and 0.46 is well over a year old by now, so let's move to it. [1] https://gitlab.freedesktop.org/mesa/mesa/merge_requests/358 Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* v3d: Introduce a DRM shim for calling out to the simulator.Eric Anholt2019-07-251-1/+10
| | | | | | | | | | | | The goal is to enable testing of parts of drivers without depending on any particular kernel version or hardware being present. Simply set LD_PRELOAD=$PREFIX/lib/libv3d_drm_shim.so in your environment, and we'll fake a /dev/dri/renderD128 (or whatever the next available node is) using v3dv3. That node can then be used with the surfaceless or gbm EGL platforms. Acked-by: Iago Toral Quiroga <[email protected]>
* meson: allow building all glx without any driversDylan Baker2019-07-231-4/+2
| | | | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111016 Fixes: a47c525f3281a2753180e076c7e9b7772aff8f06 ("meson: build glx") Acked-by: Emil Velikov <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* meson: remove unused env_testEric Engestrom2019-07-101-4/+0
| | | | | | | | No longer used as of last commit :) Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by Dylan Baker <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: require libdrm_amdgpu 2.4.99 for NaviMarek Olšák2019-07-031-1/+1
| | | | Acked-by: Bas Nieuwenhuizen <[email protected]>
* mesa: Enable asm unconditionally, now that gen_matypes is gone.Eric Anholt2019-07-011-61/+33
| | | | | Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* Revert "meson: Add support for using cmake for finding LLVM"Dylan Baker2019-06-281-11/+2
| | | | | | | | This reverts commit 5157a4276500c77e2210e853b262be1d1b30aedf. There is a meson bug that causes llvm to always be statically linked, which is obviously not what we want. I haven't had time to look into it yet, but for now let's just revert it.
* meson: Improve detection of Python when using Meson >=0.50.Arfrever Frehtes Taifersar Arahesis2019-06-281-1/+5
| | | | | | | | | | | | | | | Previously, on systems where multiple versions of Python 3 (e.g. 3.6 and 3.7) are installed, wrong version of Python 3 could have been used. The proper fix requires availability of path() method in Meson's python module, which has been added in Meson 0.50: https://github.com/mesonbuild/meson/pull/4616 Distro Bug: https://bugs.gentoo.org/671308 Signed-off-by: Arfrever Frehtes Taifersar Arahesis <[email protected]> Reviewed-by: Dylan Baker <[email protected]> v2: - Add missing `endif` keyword (Dylan)
* meson: GNU/kFreeBSD has DRM/KMS and requires -D_GNU_SOURCEJames Clarke2019-06-281-2/+2
| | | | | | | This is a regression from the old autotools build system. Acked-by: Eric Engestrom <[email protected]> Acked-by: Dylan Baker <[email protected]>
* meson: only add empty lines betwen active summary sectionsEric Engestrom2019-06-281-3/+3
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: bump required libdrm version to 2.4.81Eric Engestrom2019-06-281-1/+1
| | | | | | | | | | | | | | | | | dbb4457d9858fa977246 started using drmDevicesEqual(), which was introduced in libdrm 2.4.81 We could either copy the function locally, or bump the required version. Since the function is non-trivial and 2.4.81 is old enough already, I suggesting the latter. Fixes: dbb4457d9858fa977246 ("egl: add EGL_EXT_device_drm support") Cc: Emil Velikov <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: Add support for using cmake for finding LLVMDylan Baker2019-06-271-2/+11
| | | | | | | | | | | | | | | | Meson has support for using cmake as a finder for some dependencies, including LLVM. Using cmake has a lot of advantages: it needs less meson maintenance to keep working (even for llvm updates); it works more sanely for cross compiles (as llvm-config is a compiled binary not a shell script). Meson 0.51.0 also has a new generic variable getter that can be used to get information from either cmake, pkg-config, or config-tools dependencies, which is needed for cmake. We continue to support using llvm-config if you don't have cmake installed, or if cmake cannot find a suitable version. Fixes: 0d59459432cf077d768164091318af8fb1612500 ("meson: Force the use of config-tool for llvm") Reviewed-by: Eric Engestrom <[email protected]>
* meson: error out if platforms contains empty stringTapani Pälli2019-06-241-0/+4
| | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110939 Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* drisw: move build logic to build systemsEric Engestrom2019-06-211-1/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* meson: Allow building radeonsi with just the android platform.Bas Nieuwenhuizen2019-06-191-3/+3
| | | | | | | Just as was allowed by autotools. Fixes: 108d257a168 "meson: build libEGL" Reviewed-by: Eric Engestrom <[email protected]>
* meson: Search for execinfo.hJory Pratt2019-06-191-1/+1
| | | | | | | | | | Rather than checking __GLIBC__/__UCLIBC__ macros as a proxy for execinfo.h presence, just check directly. This allows the build to work on musl. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* vl: Always enable drm winsys.Bas Nieuwenhuizen2019-06-131-12/+0
| | | | | | | | | | | | | | | | | | | | The dri2 winsys also uses libdrm (and you can only enable dri3 if you enable dri2), and the drm winsys only requires libdrm. So if any winsys is enabled you can also enable the drm winsys, and since we always want at least one winsys we can always enable it. I removed the check for the drm platform for VA and OMX since they do not care anymore. Since we still check for one of r600g, nouveau or radeonsi, we are guarantueed to still only enable it by default in a configuration that requires libdrm anyway. So for people using va=auto, we don't suddenly start requiring libdrm were we did not before. This supersedes "vl: Enable DRM by default.", which I pushed, but rolled back because it used dep_libdrm before its definition. Reviewed-by: Emil Velikov <[email protected]>
* build: Build etnaviv drmGuido Günther2019-06-051-3/+5
| | | | | Signed-off-by: Guido Günther <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* Revert "vl: Enable DRM by default."Bas Nieuwenhuizen2019-06-041-2/+2
| | | | | | | | | | Reason: meson.build:586:7: ERROR: Unknown variable "dep_libdrm". if building without x11 platform. This reverts commit 392c60928a5debbe6782ed1aa136597504bfbc5b.
* mesa: prevent common string formatting security issuesMark Janes2019-06-041-0/+4
| | | | | | | | | | | | | | | | Adds a compile-time error for obvious security issues like: printf(string_var); The proposed flag is more tolerant than -Wformat-nonliteral. Specifically, it tolerates common mesa formatting like: static const char *shader_template = "really long string %d"; printf(shader_template, uniform_number); Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110833 Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* vl: Enable DRM by default.Bas Nieuwenhuizen2019-06-041-2/+2
| | | | | | | | | | | | | | | If libdrm is found the pipe loader enables drm anyway, and that is pretty much the only extra dependency this code has. This enables creating libva display using a drm fd without having to enable the DRM (GBM really) backend of EGL, which is completely unrelated. Leaving the X11 platforms alone as they would still result in the additional inclusion of extra deps. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* util: Add a helper for faster remaindersConnor Abbott2019-05-311-0/+4
| | | | | | | | | | This should be at least as fast as using fast_idiv_by_const, and has the advantage that the precomputation is simple enough to be evaluated at Mesa-compile time for hash tables and sets which have a fixed table of possible divisors. Acked-by: Eric Anholt <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* meson: fix a couple typos in commentsEric Engestrom2019-05-091-3/+3
| | | | Signed-off-by: Eric Engestrom <[email protected]>
* meson: Force the use of config-tool for llvmDylan Baker2019-05-081-0/+1
| | | | | | | | | meson git now has a cmake find method for llvm, but it lacks a couple of features that we use from the config tool version. Until that reaches parity we need to use the config-tool version. CC: 19.0 19.1 <<[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: make nm binary optionalDylan Baker2019-05-031-1/+4
| | | | | | | | | | | This makes nm not required, but used if found. In general I imagine that this means that on windows nm wont be found, and on other platforms it will. v2: - fix gbm and egl symbols check tests to only be run if nm is found - reword commit message to reflect the code change Reviewed-by: Eric Anholt <[email protected]>