- switch build system to Meson - install gallium dri drivers as gallium_dri.so, symlink the others
Signed-off-by: Philipp Zabel <p.za...@pengutronix.de> --- Changes since v1: - install gallium dri drivers as gallium_dri.so, symlink the others - add migration helper for MESALIB_DRI_IMX -> MESALIB_DRI_KMSRO - drop the imx, pl111, and hx8357d options, all three symlinks are always installed if kmsro is enabled --- ...sing-include-stddef.h-in-egldevice.h.patch | 41 ----- patches/mesa-18.3.2/series | 4 - rules/host-mesalib.make | 103 ++++++------- rules/mesalib.in | 14 +- rules/mesalib.make | 143 +++++++++--------- scripts/migrate/migrate_ptx | 8 + 6 files changed, 133 insertions(+), 180 deletions(-) delete mode 100644 patches/mesa-18.3.2/0001-egl-add-missing-include-stddef.h-in-egldevice.h.patch delete mode 100644 patches/mesa-18.3.2/series diff --git a/patches/mesa-18.3.2/0001-egl-add-missing-include-stddef.h-in-egldevice.h.patch b/patches/mesa-18.3.2/0001-egl-add-missing-include-stddef.h-in-egldevice.h.patch deleted file mode 100644 index a1ddac538d8c..000000000000 --- a/patches/mesa-18.3.2/0001-egl-add-missing-include-stddef.h-in-egldevice.h.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Gurchetan Singh <gurchetansi...@chromium.org> -Date: Wed, 28 Nov 2018 08:39:34 -0800 -Subject: [PATCH] egl: add missing #include <stddef.h> in egldevice.h -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Otherwise, I get this error: - -main/egldevice.h:54:13: error: ‘NULL’ undeclared (first use in this function) - dev = NULL; - ^~~~ -with this config: - -./autogen.sh --enable-gles1 --enable-gles2 --with-platforms='surfaceless' --disable-glx - --with-dri-drivers="i965" --with-gallium-drivers="" --enable-gbm - -v3: Use stddef.h (Matt) -v4: Modify commit message (Eric) - -Reviewed-by: Matt Turner <matts...@gmail.com> -Reviewed-by: Eric Engestrom <eric.engest...@intel.com> ---- - src/egl/main/egldevice.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/egl/main/egldevice.h b/src/egl/main/egldevice.h -index ddcdcd17f5a4..83a47d5eacc2 100644 ---- a/src/egl/main/egldevice.h -+++ b/src/egl/main/egldevice.h -@@ -31,9 +31,9 @@ - - - #include <stdbool.h> -+#include <stddef.h> - #include "egltypedefs.h" - -- - #ifdef __cplusplus - extern "C" { - #endif diff --git a/patches/mesa-18.3.2/series b/patches/mesa-18.3.2/series deleted file mode 100644 index d817864d531d..000000000000 --- a/patches/mesa-18.3.2/series +++ /dev/null @@ -1,4 +0,0 @@ -# generated by git-ptx-patches -#tag:base --start-number 1 -0001-egl-add-missing-include-stddef.h-in-egldevice.h.patch -# 0d0caa2eb09bc31597439c338401f18b - git-ptx-patches magic diff --git a/rules/host-mesalib.make b/rules/host-mesalib.make index 3a1e16a7d6f5..ba54aac23cdd 100644 --- a/rules/host-mesalib.make +++ b/rules/host-mesalib.make @@ -17,64 +17,59 @@ HOST_PACKAGES-$(PTXCONF_HOST_MESALIB) += host-mesalib # Prepare # ---------------------------------------------------------------------------- -HOST_MESALIB_CONF_ENV := \ - $(HOST_ENV) \ - ac_cv_prog_PYTHON2=$(PTXDIST_TOPDIR)/bin/python - -HOST_MESALIB_BUILD_OOT := YES -HOST_MESALIB_CONF_TOOL := autoconf +HOST_MESALIB_CONF_TOOL := meson HOST_MESALIB_CONF_OPT := \ - $(HOST_AUTOCONF) \ - --enable-static \ - --disable-shared \ - --disable-pwr8 \ - --disable-debug \ - --disable-profile \ - --disable-sanitize \ - --disable-asm \ - --disable-selinux \ - --disable-llvm-shared-libs \ - --disable-libunwind \ - --enable-opengl \ - --disable-gles1 \ - --disable-gles2 \ - --disable-dri \ - --disable-gallium-extra-hud \ - --disable-lmsensors \ - --disable-dri3 \ - --disable-glx \ - --disable-osmesa \ - --disable-gallium-osmesa \ - --disable-egl \ - --disable-xa \ - --disable-gbm \ - --disable-nine \ - --disable-xvmc \ - --disable-vdpau \ - --disable-omx-tizonia \ - --disable-omx-bellagio \ - --disable-va \ - --disable-opencl \ - --disable-opencl-icd \ - --disable-gallium-tests \ - --disable-libglvnd \ - --disable-mangling \ - --enable-shared-glapi \ - --disable-driglx-direct \ - --disable-glx-tls \ - --disable-llvm-shared-libs \ - --disable-glx-read-only-text \ - --disable-xlib-lease \ - --disable-llvm \ - --disable-valgrind \ - --with-gallium-drivers= \ - --with-dri-drivers= \ - --without-vulkan-drivers \ - --with-platforms= + $(HOST_MESON_OPT) \ + -Dplatforms= \ + -Ddri3=false \ + -Ddri-drivers= \ + -Ddri-drivers-path=/usr/lib/dri \ + -Ddri-search-path=/usr/lib/dri \ + -Dgallium-drivers= \ + -Dgallium-extra-hud=false \ + -Dgallium-vdpau=false \ + -Dvdpau-libs-path=/usr/lib/vdpau \ + -Dgallium-xvmc=false \ + -Dxvmc-libs-path=/usr/lib \ + -Dgallium-omx=disabled \ + -Domx-libs-path=/usr/lib/dri \ + -Dgallium-va=false \ + -Dva-libs-path=/usr/lib/dri \ + -Dgallium-xa=false \ + -Dgallium-nine=false \ + -Dgallium-opencl=disabled \ + -Dd3d-drivers-path=/usr/lib/d3d \ + -Dvulkan-drivers=[] \ + -Dshader-cache=false \ + -Dvulkan-icd-dir=/etc/vulkan/icd.d \ + -Dshared-glapi=true \ + -Dgles1=false \ + -Dgles2=false \ + -Dopengl=true \ + -Dgbm=false \ + -Dglx=disabled \ + -Degl=false \ + -Dglvnd=false \ + -Dasm=false \ + -Dglx-read-only-text=false \ + -Dllvm=false \ + -Dshared-llvm=false \ + -Dvalgrind=false \ + -Dlibunwind=false \ + -Dlmsensors=false \ + -Dbuild-tests=false \ + -Dselinux=false \ + -Dosmesa=none \ + -Dosmesa-bits=8 \ + -Dswr-arches=[] \ + -Dtools=glsl \ + -Dpower8=false \ + -Dxlib-lease=false \ + -Dglx-direct=false $(STATEDIR)/host-mesalib.install: @$(call targetinfo) - install -D -m755 $(HOST_MESALIB_DIR)-build/src/compiler/glsl_compiler $(HOST_MESALIB_PKGDIR)/bin/mesa/glsl_compiler + install -D -m755 $(HOST_MESALIB_DIR)-build/src/compiler/glsl/glsl_compiler $(HOST_MESALIB_PKGDIR)/bin/mesa/glsl_compiler @$(call touch) # vim: syntax=make diff --git a/rules/mesalib.in b/rules/mesalib.in index 52fcf22f6988..281eaf5ccadc 100644 --- a/rules/mesalib.in +++ b/rules/mesalib.in @@ -4,8 +4,10 @@ menuconfig MESALIB tristate prompt "mesa " select HOST_MESALIB + select HOST_MESON select HOST_MAKEDEPEND - select HOST_SYSTEM_PYTHON + select HOST_SYSTEM_PYTHON3 + select HOST_SYSTEM_PYTHON3_MAKO select GCCLIBS select GCCLIBS_CXX select LIBDRM @@ -19,6 +21,7 @@ menuconfig MESALIB select LIBDRM_RADEON if MESALIB_DRI_R600 select LIBDRM_RADEON if MESALIB_DRI_RADEONSI select LIBDRM_NOUVEAU if MESALIB_DRI_NOUVEAU || MESALIB_DRI_NOUVEAU_VIEUX + select LIBDRM_FREEDRENO if MESALIB_DRI_FREEDRENO select LIBDRM_ETNAVIV if MESALIB_DRI_ETNAVIV select LM_SENSORS if MESALIB_LMSENSORS select XORGPROTO if MESALIB_GLX @@ -86,6 +89,10 @@ config MESALIB_DRI_NOUVEAU bool prompt "Nvidia > GForce4" +config MESALIB_DRI_KMSRO + bool + prompt "KMS renderonly" + config MESALIB_DRI_FREEDRENO bool prompt "Freedreno" @@ -94,11 +101,6 @@ config MESALIB_DRI_ETNAVIV bool prompt "Etnaviv" -config MESALIB_DRI_IMX - bool - depends on MESALIB_DRI_ETNAVIV - prompt "imx" - config MESALIB_DRI_V3D bool # needs v3dv3 diff --git a/rules/mesalib.make b/rules/mesalib.make index cca34917783d..b07cd7fbc485 100644 --- a/rules/mesalib.make +++ b/rules/mesalib.make @@ -19,8 +19,8 @@ PACKAGES-$(PTXCONF_MESALIB) += mesalib # # Paths and names # -MESALIB_VERSION := 18.3.2 -MESALIB_MD5 := 4a82bf3ac2e81493a1a84dd7581ec786 +MESALIB_VERSION := 19.0.0 +MESALIB_MD5 := d0d76cd8b00bc1308e37985d4a45d3c5 MESALIB := mesa-$(MESALIB_VERSION) MESALIB_SUFFIX := tar.xz MESALIB_URL := \ @@ -36,10 +36,6 @@ MESALIB_LICENSE_FILES := \ # Prepare # ---------------------------------------------------------------------------- -MESALIB_CONF_ENV := \ - $(CROSS_ENV) \ - ac_cv_prog_PYTHON2=$(PTXDIST_TOPDIR)/bin/python - ifdef PTXCONF_ARCH_X86 MESALIB_DRI_DRIVERS-$(PTXCONF_MESALIB_DRI_I915) += i915 MESALIB_DRI_DRIVERS-$(PTXCONF_MESALIB_DRI_I965) += i965 @@ -47,6 +43,7 @@ endif MESALIB_DRI_DRIVERS-$(PTXCONF_MESALIB_DRI_NOUVEAU_VIEUX)+= nouveau MESALIB_DRI_DRIVERS-$(PTXCONF_MESALIB_DRI_R200) += r200 +MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_KMSRO) += kmsro ifndef PTXCONF_ARCH_ARM # broken: https://bugs.freedesktop.org/show_bug.cgi?id=72064 ifndef PTXCONF_ARCH_X86 # needs llvm MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_R300) += r300 @@ -54,21 +51,20 @@ endif MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_R600) += r600 MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_RADEONSI) += radeonsi endif - MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_NOUVEAU) += nouveau MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_FREEDRENO)+= freedreno MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_ETNAVIV) += etnaviv -MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_IMX) += imx ifdef PTXCONF_ARCH_ARM MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_V3D) += v3d MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_VC4) += vc4 endif - MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_SWRAST) += swrast -MESALIB_DRI_LIBS-y += \ - $(subst nouveau,nouveau_vieux,$(MESALIB_DRI_DRIVERS-y)) \ - $(subst imx,imx-drm,$(subst freedreno,kgsl,$(MESALIB_GALLIUM_DRIVERS-y))) +MESALIB_DRI_LIBS-y = \ + $(subst nouveau,nouveau_vieux,$(MESALIB_DRI_DRIVERS-y)) + +MESALIB_DRI_GALLIUM_LIBS-y = \ + $(subst kmsro,imx-drm pl111 hx8357d,$(subst freedreno,kgsl,$(MESALIB_GALLIUM_DRIVERS-y))) MESALIB_LIBS-y := libglapi MESALIB_LIBS-$(PTXCONF_MESALIB_GLX) += libGL @@ -82,68 +78,55 @@ MESALIBS_EGL_PLATFORMS-$(PTXCONF_MESALIB_EGL_X11) += x11 MESALIBS_EGL_PLATFORMS-$(PTXCONF_MESALIB_EGL_DRM) += drm MESALIBS_EGL_PLATFORMS-$(PTXCONF_MESALIB_EGL_WAYLAND) += wayland -MESALIB_BUILD_OOT := YES -MESALIB_CONF_TOOL := autoconf +MESALIB_CONF_TOOL := meson MESALIB_CONF_OPT := \ - $(CROSS_AUTOCONF_USR) \ - --$(call ptx/endis, PTXCONF_GLOBAL_LARGE_FILE)-largefile \ - --disable-static \ - --enable-shared \ - --disable-pwr8 \ - --disable-debug \ - --disable-profile \ - --disable-sanitize \ - --disable-asm \ - --disable-selinux \ - --disable-llvm-shared-libs \ - --disable-libunwind \ - --$(call ptx/endis, PTXCONF_MESALIB_OPENGL)-opengl \ - --$(call ptx/endis, PTXCONF_MESALIB_GLES1)-gles1 \ - --$(call ptx/endis, PTXCONF_MESALIB_GLES2)-gles2 \ - --enable-dri \ - --$(call ptx/endis, PTXCONF_MESALIB_EXTENDED_HUD)-gallium-extra-hud \ - --$(call ptx/endis, PTXCONF_MESALIB_LMSENSORS)-lmsensors \ - --disable-dri3 \ - --$(call ptx/endis, PTXCONF_MESALIB_GLX)-glx \ - --disable-osmesa \ - --disable-gallium-osmesa \ - --$(call ptx/endis, PTXCONF_MESALIB_EGL)-egl \ - --disable-xa \ - --$(call ptx/endis, PTXCONF_MESALIB_GBM)-gbm \ - --disable-nine \ - --disable-xvmc \ - --disable-vdpau \ - --disable-omx-tizonia \ - --disable-omx-bellagio \ - --disable-va \ - --disable-opencl \ - --disable-opencl-icd \ - --disable-gallium-tests \ - --disable-libglvnd \ - --disable-mangling \ - --enable-shared-glapi \ - --enable-driglx-direct \ - --enable-glx-tls \ - --disable-glx-read-only-text \ - --disable-xlib-lease \ - --disable-llvm \ - --disable-valgrind \ - --with-gallium-drivers=$(subst $(space),$(comma),$(MESALIB_GALLIUM_DRIVERS-y)) \ - --with-platforms=$(subst $(space),$(comma),$(MESALIBS_EGL_PLATFORMS-y)) \ - --with-dri-driverdir=/usr/lib/dri \ - --with-dri-searchpath=/usr/lib/dri \ - --with-dri-drivers=$(subst $(space),$(comma),$(MESALIB_DRI_DRIVERS-y)) \ - --without-vulkan-drivers \ - --with-vulkan-icddir=/etc/vulkan/icd.d \ - --with-osmesa-bits=8 \ - --with-clang-libdir=/usr/lib \ - --with-xvmc-libdir=/usr/lib \ - --with-vdpau-libdir=/usr/lib/vdpau \ - --with-omx-bellagio-libdir=/usr/lib/dri \ - --with-omx-tizonia-libdir=/usr/lib/dri \ - --with-va-libdir=/usr/lib/dri \ - --with-d3d-libdir=/usr/lib/d3d \ - --with-swr-archs= + $(CROSS_MESON_USR) \ + -Dplatforms=$(subst $(space),$(comma),$(MESALIBS_EGL_PLATFORMS-y)) \ + -Ddri3=false \ + -Ddri-drivers=$(subst $(space),$(comma),$(MESALIB_DRI_DRIVERS-y)) \ + -Ddri-drivers-path=/usr/lib/dri \ + -Ddri-search-path=/usr/lib/dri \ + -Dgallium-drivers=$(subst $(space),$(comma),$(MESALIB_GALLIUM_DRIVERS-y)) \ + -Dgallium-extra-hud=$(call ptx/truefalse, PTXCONF_MESALIB_EXTENDED_HUD) \ + -Dgallium-vdpau=false \ + -Dvdpau-libs-path=/usr/lib/vdpau \ + -Dgallium-xvmc=false \ + -Dxvmc-libs-path=/usr/lib \ + -Dgallium-omx=disabled \ + -Domx-libs-path=/usr/lib/dri \ + -Dgallium-va=false \ + -Dva-libs-path=/usr/lib/dri \ + -Dgallium-xa=false \ + -Dgallium-nine=false \ + -Dgallium-opencl=disabled \ + -Dd3d-drivers-path=/usr/lib/d3d \ + -Dvulkan-drivers=[] \ + -Dshader-cache=false \ + -Dvulkan-icd-dir=/etc/vulkan/icd.d \ + -Dshared-glapi=true \ + -Dgles1=$(call ptx/truefalse, PTXCONF_MESALIB_GLES1) \ + -Dgles2=$(call ptx/truefalse, PTXCONF_MESALIB_GLES2) \ + -Dopengl=$(call ptx/truefalse, PTXCONF_MESALIB_OPENGL) \ + -Dgbm=$(call ptx/truefalse, PTXCONF_MESALIB_GBM) \ + -Dglx=disabled \ + -Degl=$(call ptx/truefalse, PTXCONF_MESALIB_EGL) \ + -Dglvnd=false \ + -Dasm=false \ + -Dglx-read-only-text=false \ + -Dllvm=false \ + -Dshared-llvm=false \ + -Dvalgrind=false \ + -Dlibunwind=false \ + -Dlmsensors=$(call ptx/truefalse, PTXCONF_MESALIB_LMSENSORS) \ + -Dbuild-tests=false \ + -Dselinux=false \ + -Dosmesa=none \ + -Dosmesa-bits=8 \ + -Dswr-arches=[] \ + -Dtools=[] \ + -Dpower8=false \ + -Dxlib-lease=false \ + -Dglx-direct=false # ---------------------------------------------------------------------------- # Compile @@ -170,10 +153,20 @@ $(STATEDIR)/mesalib.targetinstall: @$(foreach lib, $(MESALIB_DRI_LIBS-y), \ $(call install_copy, mesalib, 0, 0, 0644, -, \ - /usr/lib/dri/$(lib)_dri.so);) + /usr/lib/dri/$(lib)_dri.so)$(ptx/nl)) + +ifneq ($(strip $(MESALIB_DRI_GALLIUM_LIBS-y)),) + @$(call install_copy, mesalib, 0, 0, 0644, \ + $(MESALIB_PKGDIR)/usr/lib/dri/$(firstword $(MESALIB_DRI_GALLIUM_LIBS-y))_dri.so, \ + /usr/lib/dri/gallium_dri.so) + + @$(foreach lib, $(MESALIB_DRI_GALLIUM_LIBS-y), \ + $(call install_link, mesalib, gallium_dri.so, \ + /usr/lib/dri/$(lib)_dri.so)$(ptx/nl)) +endif @$(foreach lib, $(MESALIB_LIBS-y), \ - $(call install_lib, mesalib, 0, 0, 0644, $(lib));) + $(call install_lib, mesalib, 0, 0, 0644, $(lib))$(ptx/nl)) @$(call install_finish, mesalib) diff --git a/scripts/migrate/migrate_ptx b/scripts/migrate/migrate_ptx index 51150f937c58..4e89c427abbd 100755 --- a/scripts/migrate/migrate_ptx +++ b/scripts/migrate/migrate_ptx @@ -322,3 +322,11 @@ s/^\(\(# \)\?PTXCONF_BLUEZ\)_UTILS\(.*$\)/\1_TOOLS\2/ # reason : change __ -> _ # s/^\(\(# \)\?PTXCONF_FUSE_\)_/\1\2/ + +# +# from : ptxdist-2019.03.0 +# to : ptxdist-2019.04.0 +# symbol : MESALIB_DRI_IMX -> MESALIB_DRI_KMSRO +# reason : renderonly drivers consolidated into kmsro +# +s/^\(\(# \)\?PTXCONF_\)MESALIB_DRI_IMX\>/\1MESALIB_DRI_KMSRO/ -- 2.20.1 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de