summaryrefslogtreecommitdiffstats
path: root/src/egl/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* configure.ac/meson.build: Add options for library suffixesBenjamin Gordon2019-03-211-1/+1
| | | | | | | | | | | | | | | | | When building the Chrome OS Android container, we need to build copies of mesa that don't conflict with the Android system-supplied libraries. This adds options to create suffixed versions of EGL and GLES libraries: libEGL.so -> libEGL${egl-lib-suffix}.so libGLESv1_CM.so -> libGLESv1_CM${gles-lib-suffix}.so libGLESv2.so -> libGLES${gles-lib-suffix}.so This is similar to what happens when --enable-libglvnd is specified, but without the side effects of linking against libglvnd. To avoid unexpected clashes with the suffixed appended by libglvnd, make it an error to specify both --enable-libglvnd and --with-egl-lib-suffix. Reviewed-by: Eric Engestrom <[email protected]>
* meson: egl: correctly manage loader/xmlconfigEmil Velikov2019-02-261-6/+5
| | | | | | | | | | | | | | | | | | | | | | | Earlier commit introduced support for haiku yet did not properly annotate the loader/xmlconfig dependencies. Thus we ended up adding inc_loader for each !haiku platform - see 659910eda01 9a96bf0ecd0 c731508b988 ec6cb01e216. One piece remained though - the wayland platform. Hence the following would fail: meson -Dgallium-drivers=etnaviv -Ddri-drivers=''\ -Dtools=etnaviv -Dplatforms=wayland -Dglx=disabled \ build/ Cc: Alexander von Gluck IV <[email protected]> Reported-by: Boris Brezillon <[email protected]> Fixes: 834d221512f ("meson: Add Haiku platform support v4") Signed-off-by: Emil Velikov <[email protected]> Tested-by: Boris Brezillon <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* drm-uapi: use local files, not system libdrmEric Engestrom2019-02-141-1/+1
| | | | | | | | | There was an issue recently caused by the system header being included by mistake, so let's just get rid of this include path and always explicitly #include "drm-uapi/FOO.h" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* mapi: move genCommon.py to src/mapi/newEmil Velikov2019-01-241-3/+3
| | | | | | | | | | | The helper will also be used by the new Khronos gl.xml aware generator. v2: Move existing one, instead of duplicating it. v3: Correct genCommon.py references in meson [Erik] v4: Drop the file from the EGL EXTRA_DIST [Erik] Suggested-by: Kyle Brenneman <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* egl: fix python lib deprecation warningEric Engestrom2019-01-131-6/+6
| | | | | | | | | DeprecationWarning: the imp module is deprecated in favour of importlib Instead of complicated logic, just import the file directly. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* meson: Add tests to suitesDylan Baker2018-11-201-2/+4
| | | | | | | | | | | | | | | | Meson test has a concepts of suites, which allow tests to be grouped together. This allows for a subtest of tests to be run only (say only the tests for nir). A test can be added to more than one suite, but for the most part I've only added a test to a single suite, though I've added a compiler group that includes nir, glsl, and glcpp tests. To use this you'll need to invoke meson test directly, instead of ninja test (which always runs all targets). it can be invoked as: `meson test -C builddir --suite $suitename` (meson test has addition options that are pretty useful). Tested-By: Gert Wollny <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* loader: Factor out the common driver opening logic from each loader.Eric Anholt2018-11-161-3/+0
| | | | | | | | | | | | | I copied the code from egl_dri2.c, but the functionality was equivalent between all the loaders other than their particular environment variables. v2: Drop the logging function equivalent to loader_default_logger() (requested by Eric, Emil). Move the SCons workaround across. Drop the now-unused driGetDriverExtensions() declaration that was lost in a rebase. Reviewed-by: Eric Engestrom <[email protected]> (v1) Reviewed-by: Emil Velikov <[email protected]> (v1)
* meson: egl: group dri2 bits separately from haikuEmil Velikov2018-11-011-36/+35
| | | | | | | | | | One cannot have haiku and dri2 - surfaceless,x11,etc. Group things up, which will make the addition of platform_device a bit easier. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* egl: add base EGL_EXT_device_base implementationEmil Velikov2018-11-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Introduce the API for device query and enumeration. Those at the moment produce nothing useful since zero devices are actually available. That contradicts with the spec, so the extension isn't advertised just yet. With later commits we'll add support for software (always) and hardware devices. Each one exposing the respective extension string. v2: - fold API boilerplate into this patch - move _eglAddDevice, _eglDeviceSupports, _eglRefreshDeviceList to this patch (Eric, Mathias) - make _eglFiniDevice the one called last v3: - comment on the dummy _egl_device_extension enum entry (Eric) - annotate dev as MAYBE_UNUSED (Mathias) Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Mathias Fröhlich <[email protected]>
* egl: drop unused _EGL_BUILT_IN_DRIVER_DRI2Eric Engestrom2018-08-231-1/+0
| | | | | | | Unused since b174a1ae720cb404738c "egl: Simplify the "driver" interface". Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* meson: fix egl build for androidGurchetan Singh2018-08-221-0/+1
| | | | | | | | Haven't tested this, but we do include loader.h in platform_android.c Fixes: c5ec1556859b7d33637c9fad13d3473c7b2f9eb3 ("meson: wire up egl/android") Reviewed-by: Dylan Baker <[email protected]>
* meson: fix egl build for surfacelessGurchetan Singh2018-08-221-0/+1
| | | | | | | | | | | | | | Without this, I get: > platform_surfaceless.c:38:10: fatal error: 'loader.h' file not found > #include "loader.h" > ^~~~~~~~~~ > 1 error generated. Fixes: 108d257a16859898f5ce02f4759c5c58f9b8c050 ("meson: build libEGL") Reviewed-by: Dylan Baker <[email protected]> v2: Split up patches, modify commit message (Dylan)
* meson: fix build for egl platform_x11 without dri3 and gbmAlexander Tsoy2018-08-151-1/+1
| | | | | | | | | | | | | | | | Compiling EGL's platform_x11 without dri3 and gbm yields this compile failure: platform_x11 needs inc_loader: ../mesa-18.2.0-rc2/src/egl/drivers/dri2/platform_x11.c:48:10: fatal error: loader.h: No such file or directory #include "loader.h" ^~~~~~~~~~ Fixes: 108d257a1685 ("meson: build libEGL") Bugzilla: https://bugs.gentoo.org/663534 Reviewed-by: Matt Turner <[email protected]>
* meson: Build with Python 3Mathieu Bridon2018-08-101-2/+2
| | | | | | | | | | | | Now that all the build scripts are compatible with both Python 2 and 3, we can flip the switch and tell Meson to use the latter. Since Meson already depends on Python 3 anyway, this means we don't need two different Python stacks to build Mesa. Signed-off-by: Mathieu Bridon <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* egl: Use the canonical drm-uapi fourcc header to avoid local defines.Eric Anholt2018-07-181-1/+1
| | | | | | | We should only use a #define locally once it's been upstreamed, and at that point you should just update our drm_fourcc.h. Reviewed-by: Jason Ekstrand <[email protected]>
* meson: Remove various completed todosDylan Baker2018-06-131-2/+0
| | | | | | | | v3: - Remove "won't do" todos, so only completed todo's are now removed. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Matt Turner <[email protected]> (v2)
* autotools/meson: compile against wayland-egl-*backend*Eric Engestrom2018-06-081-1/+1
| | | | | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=106861 Fixes: 1db4ec05462914096b1f "egl: rewire the build systems to use libwayland-egl" Suggested-by: Emil Velikov <[email protected]> Tested-by: Andreas Hartmetz <[email protected]> Signed-off-by: Eric Engestrom <[email protected]>
* egl: rewire the build systems to use libwayland-eglEric Engestrom2018-06-061-8/+2
| | | | | | | Cc: Emil Velikov <[email protected]> Cc: Daniel Stone <[email protected]> Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Eric Engestrom <[email protected]>
* meson: Fix build for egl platform_x11 with dri3Ville Syrjälä2018-05-111-0/+1
| | | | | | | | | | | | | | | platform_x11 with dri3 needs inc_loader. In file included from ../src/egl/drivers/dri2/platform_x11_dri3.c:35:0: ../src/egl/drivers/dri2/egl_dri2.h:41:32: fatal error: loader_dri3_helper.h: No such file or directory In file included from ../src/egl/drivers/dri2/platform_x11.c:46:0: ../src/egl/drivers/dri2/egl_dri2.h:41:32: fatal error: loader_dri3_helper.h: No such file or directory In file included from ../src/egl/drivers/dri2/egl_dri2.c:61:0: ../src/egl/drivers/dri2/egl_dri2.h:41:32: fatal error: loader_dri3_helper.h: No such file or directory Cc: Dylan Baker <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Signed-off-by: Ville Syrjälä <[email protected]>
* meson: Use include directory variables instead of traversingDylan Baker2018-03-071-1/+4
| | | | | | | | Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Jon Turney <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Tested-by: Julien Isorce <[email protected]> Tested-by: Karol Herbst <[email protected]>
* *-symbol-check: use correct `nm` path when cross-compilingEric Engestrom2018-02-261-0/+1
| | | | | | Inspired-by: a similar patch for libdrm by Heiko Becker Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: Fix GL and EGL pkg-config files with glvndDylan Baker2018-02-231-1/+11
| | | | | | | | | | | | | Currently meson will generate a pkg-config that links to EGL_mesa (or GLX_mesa), but this isn't correct, it should always link to EGL or GL. Probably the "right" solution is to have glvnd itself provide the pkg config files for GL and EGL, but that also means that glvnd needs to provide many of the header files, which makes it a more involved job. Fixes: a47c525f3281a27 ("meson: build glx") Fixes: 035ec7a2bb2d5e4 ("meson: Add support for EGL glvnd") Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Daniel Stone <[email protected]>
* meson: Add Haiku platform support v4Alexander von Gluck IV2018-02-161-10/+26
| | | | Reviewed-by: Dylan Baker <[email protected]>
* meson: Move Wayland dmabuf to wayland-drmDaniel Stone2018-02-161-14/+0
| | | | | | | | | | | As the comment notes: linux-dmabuf has nothing to do with wayland-drm, but we need a single place to build these files we can use from both EGL and Vulkan, which is guaranteed to be included before both EGL and Vulkan WSI. Signed-off-by: Daniel Stone <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: Don't confuse the install and search paths for dri driversDylan Baker2018-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | | Currently there is not a separate option for setting the search path of DRI drivers in meson, like there is in scons and autotools. This is an oversight and needs to be fixed. This adds an extra option `dri-search-path`, which will default to the value of `dri-drivers-path`, like autotools does. v2: - Split input list before joining. v3: - use : instead of ; as the delimiter. The autotools help string incorrectly says ; but the code uses : v4: - Take list in pre : delimited form (Ilia) - Ensure that the dri-search-path is absolute when using dri_drivers_path Fixes: db9788420d4bc7b4 ("meson: Add support for configuring dri drivers directory.") Reported-by: Ilia Mirkin <[email protected]> Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]> (v2) Reviewed-by: Eric Engestrom <[email protected]> (v3)
* meson: fix underlinkage without dri3Dylan Baker2017-12-041-1/+1
| | | | | | | | | | | | | There are some case where the dri3 loader is covering for underlinkage for GLX and EGL, provide the linkage that they actually need. v2: - remove dep_xcb_dri3 from glx. This was an oversight in v1 and is not needed. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Jon Turney <[email protected]> (v1) Reviewed-by: Eric Engestrom <[email protected]> (v1) Reviewed-by: Emil Velikov <[email protected]>
* meson: move wayland-egl into egl folderDylan Baker2017-11-101-0/+4
| | | | | | | | This ensure that it's properly guarded, but also makes the code clearer by grouping related things together. Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* meson: standardize .so version to major.minor.patchEric Engestrom2017-11-071-1/+1
| | | | | | | | | | | | | | This `version` field defines the filename for the .so. The plan .so as well as .so.$major are always symlinks to this. Unless I'm mistaken, only the major is ever used, so this shouldn't matter, but for consistency with autotools (and in case it does matter), let's always have all 3 major.minor.patch components. (The soname isn't affected, and is always .so.$major) Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* automake+meson: don't run egl symbol check on libglvnd libEric Engestrom2017-10-311-4/+8
| | | | | | | | We might want to add a symbol check for the glvnd variant though. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: pass correct env/args to egl testsEric Engestrom2017-10-311-2/+8
| | | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: wire up egl/androidEric Engestrom2017-10-301-1/+4
| | | | | | | Cc: Rob Herring <[email protected]> Cc: Tomasz Figa <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: fix egl build for meson version < 0.43Dylan Baker2017-10-231-5/+4
| | | | | | | | | | | | | Meson 0.43 added the ability to pass nested lists to include_directories, so the code that we have works for 0.43, but not for 0.42. This patch changes the include_directories list to be flat so it works with 0.42 fixes: 108d257a16859898f5c ("meson: build libEGL") Tested-by: Vinson Lee <[email protected]> Reviewed-by: Rhys Kidd <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Dylan Baker <[email protected]>
* meson: Add support for EGL glvndDylan Baker2017-10-201-2/+44
| | | | | | Signed-off-by: Dylan Baker <[email protected]> Tested-by: Eric Engestrom <[email protected]> Reviewed-by: Lyude Paul <[email protected]>
* meson: build libEGLDylan Baker2017-10-201-0/+144
This is based heavily on Daniel Stone's work for the same, rebased on master and with a number of TODO's fixed. This does not implement glvnd (which is coming in a later patch) Meson builds egl slightly differently than autotools, namely it doesn't build an intermediate shared library. It doesn't do this because meson doesn't have problems with the name of the library being dynamically generated, so the glvnd and non-glvnd code can follow the same path. v2: - Don't reuse variable (Eric E.) Signed-off-by: Dylan Baker <[email protected]> Tested-by: Eric Engestrom <[email protected]> Reviewed-by: Daniel Stone <[email protected]>