summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2019-10-21 20:47:55 +0000
committernia <nia@pkgsrc.org>2019-10-21 20:47:55 +0000
commit8f95b071ce4288c16536c973e6bdc5c19088870e (patch)
treef82739d3d5e36cae809ccb7529ba998e71219723
parentff604d11f72c59f885aa5438cab2962dd61c5ef1 (diff)
downloadpkgsrc-8f95b071ce4288c16536c973e6bdc5c19088870e.tar.gz
MesaLib: Add a features.mk and use it to detect the presence of DRI
No functional change (probably)
-rw-r--r--graphics/MesaLib/Makefile10
-rw-r--r--graphics/MesaLib/buildlink3.mk32
-rw-r--r--graphics/MesaLib/features.mk36
-rw-r--r--graphics/MesaLib/options.mk13
4 files changed, 51 insertions, 40 deletions
diff --git a/graphics/MesaLib/Makefile b/graphics/MesaLib/Makefile
index 102ff4ede48..57fa5c72b9b 100644
--- a/graphics/MesaLib/Makefile
+++ b/graphics/MesaLib/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.171 2019/10/21 12:07:32 jperkin Exp $
+# $NetBSD: Makefile,v 1.172 2019/10/21 20:47:55 nia Exp $
DISTNAME= mesa-19.2.1
PKGNAME= ${DISTNAME:S/mesa/MesaLib/}
@@ -6,7 +6,7 @@ CATEGORIES= graphics
MASTER_SITES= https://mesa.freedesktop.org/archive/
EXTRACT_SUFX= .tar.xz
-MAINTAINER= pkgsrc-users@NetBSD.org
+MAINTAINER= nia@NetBSD.org
HOMEPAGE= https://www.mesa3d.org/
COMMENT= Open source OpenGL implementation
LICENSE= mit
@@ -31,8 +31,8 @@ GALLIUM_DRIVERS= swrast
VULKAN_DRIVERS= #
MESA_PLATFORMS= surfaceless
-.include "../../mk/bsd.prefs.mk"
.include "../../mk/compiler.mk"
+.include "features.mk"
.include "options.mk"
PLIST_SUBST+= GLVER="1.2.0"
@@ -46,7 +46,7 @@ PLIST_VARS+= r300 svga nouveau vc4 lima panfrost
# other features
PLIST_VARS+= egl gbm vaapi xatracker
-.if ${OPSYS} != "Darwin" && ${OPSYS} != "Cygwin"
+.if ${MESALIB_SUPPORTS_DRI} == "yes"
BUILDLINK_API_DEPENDS.libdrm+= libdrm>=2.4.81
.include "../../x11/libdrm/buildlink3.mk"
MESA_PLATFORMS+= drm
@@ -114,7 +114,7 @@ PLIST.r300= yes
.else
MESON_ARGS+= -Degl=false
MESON_ARGS+= -Dgbm=false
-.endif # ${OPSYS} != "Darwin" && ${OPSYS} != "Cygwin"
+.endif # ${MESALIB_SUPPORTS_DRI} == "yes"
MESON_ARGS+= -Dgallium-drivers=${GALLIUM_DRIVERS:ts,}
MESON_ARGS+= -Ddri-drivers=${DRI_DRIVERS:ts,}
diff --git a/graphics/MesaLib/buildlink3.mk b/graphics/MesaLib/buildlink3.mk
index ccb91f3d600..76149d6301b 100644
--- a/graphics/MesaLib/buildlink3.mk
+++ b/graphics/MesaLib/buildlink3.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.64 2019/10/21 12:30:36 nia Exp $
+# $NetBSD: buildlink3.mk,v 1.65 2019/10/21 20:47:55 nia Exp $
BUILDLINK_TREE+= MesaLib
@@ -9,7 +9,7 @@ BUILDLINK_API_DEPENDS.MesaLib+= MesaLib>=3.4.2
BUILDLINK_ABI_DEPENDS.MesaLib+= MesaLib>=7.11.2
BUILDLINK_PKGSRCDIR.MesaLib?= ../../graphics/MesaLib
-.include "../../mk/bsd.fast.prefs.mk"
+.include "../../graphics/MesaLib/features.mk"
# See <http://developer.apple.com/qa/qa2007/qa1567.html>.
.if ${X11_TYPE} == "native" && !empty(MACHINE_PLATFORM:MDarwin-[9].*-*)
@@ -18,32 +18,6 @@ BUILDLINK_LDFLAGS.MesaLib+= -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.fr
pkgbase:= MesaLib
-.if ${X11_TYPE} == "modular"
-MESALIB_SUPPORTS_OSMESA= yes
-MESALIB_SUPPORTS_GLESv2= yes
-. if ${OPSYS} != "Darwin" && ${OPSYS} != "Cygwin"
-MESALIB_SUPPORTS_EGL= yes
-. else
-MESALIB_SUPPORTS_EGL= no
-. endif
-.else
-. if exists(${X11BASE}/include/EGL/egl.h)
-MESALIB_SUPPORTS_EGL= yes
-. else
-MESALIB_SUPPORTS_EGL= no
-. endif
-. if exists(${X11BASE}/lib/libOSMesa.so)
-MESALIB_SUPPORTS_OSMESA= yes
-. else
-MESALIB_SUPPORTS_OSMESA= no
-. endif
-. if exists(${X11BASE}/include/GLES2/gl2.h)
-MESALIB_SUPPORTS_GLESv2= yes
-. else
-MESALIB_SUPPORTS_GLESv2= no
-. endif
-.endif
-
.include "../../mk/pkg-build-options.mk"
.if !empty(PKG_BUILD_OPTIONS.MesaLib:Mwayland)
@@ -63,7 +37,7 @@ MESALIB_SUPPORTS_GLESv2= no
. include "../../x11/xorgproto/buildlink3.mk"
.endif
-.if ${OPSYS} != "Darwin" && ${OPSYS} != "Cygwin"
+.if ${MESALIB_SUPPORTS_DRI} == "yes"
. include "../../x11/libdrm/buildlink3.mk"
.endif
diff --git a/graphics/MesaLib/features.mk b/graphics/MesaLib/features.mk
new file mode 100644
index 00000000000..a033bc6eea2
--- /dev/null
+++ b/graphics/MesaLib/features.mk
@@ -0,0 +1,36 @@
+# $NetBSD: features.mk,v 1.1 2019/10/21 20:47:55 nia Exp $
+
+.include "../../mk/bsd.fast.prefs.mk"
+
+.if !defined(MESALIB_SUPPORTS_DRI)
+. for dri_os in DragonFly FreeBSD NetBSD OpenBSD Linux SunOS
+. if !empty(OPSYS:M${dri_os})
+MESALIB_SUPPORTS_DRI?= yes
+. endif
+. endfor
+.endif
+
+MESALIB_SUPPORTS_DRI?= no
+
+.if ${X11_TYPE} == "modular"
+MESALIB_SUPPORTS_OSMESA?= yes
+MESALIB_SUPPORTS_GLESv2?= yes
+. if ${MESALIB_SUPPORTS_DRI} == "yes"
+MESALIB_SUPPORTS_EGL?= yes
+. else
+. endif
+.else
+. if exists(${X11BASE}/include/EGL/egl.h)
+MESALIB_SUPPORTS_EGL?= yes
+. endif
+. if exists(${X11BASE}/lib/libOSMesa.so)
+MESALIB_SUPPORTS_OSMESA?= yes
+. endif
+. if exists(${X11BASE}/include/GLES2/gl2.h)
+MESALIB_SUPPORTS_GLESv2?= yes
+. endif
+.endif
+
+MESALIB_SUPPORTS_EGL?= no
+MESALIB_SUPPORTS_GLESv2?= no
+MESALIB_SUPPORTS_OSMESA?= no
diff --git a/graphics/MesaLib/options.mk b/graphics/MesaLib/options.mk
index 7a234cd3e39..a6d990a6ad5 100644
--- a/graphics/MesaLib/options.mk
+++ b/graphics/MesaLib/options.mk
@@ -1,10 +1,12 @@
-# $NetBSD: options.mk,v 1.75 2019/10/21 12:30:36 nia Exp $
+# $NetBSD: options.mk,v 1.76 2019/10/21 20:47:55 nia Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.MesaLib
+.include "features.mk"
+
PKG_SUPPORTED_OPTIONS+= llvm vulkan x11
-.if ${OPSYS} != "Darwin" && ${OPSYS} != "Cygwin"
+.if ${MESALIB_SUPPORTS_DRI} == "yes"
PKG_SUPPORTED_OPTIONS+= wayland
.endif
@@ -15,9 +17,8 @@ PKG_SUGGESTED_OPTIONS+= x11
#
# Enable it by default on platforms where such GPUs might be encountered or
# LLVM-accelerated software rendering might be useful.
-.if ${OPSYS} != "SunOS" && \
- ${OPSYS} != "Darwin" && \
- ${OPSYS} != "Cygwin" && \
+.if ${MESALIB_SUPPORTS_DRI} == "yes" && \
+ ${OPSYS} != "SunOS" && \
(${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "x86_64" || \
${MACHINE_ARCH} == "aarch64")
@@ -82,7 +83,7 @@ PLIST.wayland= yes
.if !empty(PKG_OPTIONS:Mx11)
MESA_PLATFORMS+= x11
PLIST.glx= yes
-. if ${OPSYS} != "Darwin" && ${OPSYS} != "Cygwin"
+. if ${MESALIB_SUPPORTS_DRI} == "yes"
MESON_ARGS+= -Dglx=dri
. include "../../multimedia/libvdpau/available.mk"
. if ${VDPAU_AVAILABLE} == "yes"