# $NetBSD: Makefile.common,v 1.47 2023/08/02 16:17:17 nia Exp $
# used by audio/gst-plugins1-alsa/Makefile
# used by audio/gst-plugins1-cdparanoia/Makefile
# used by audio/gst-plugins1-libvisual/Makefile
# used by audio/gst-plugins1-opus/Makefile
# used by audio/gst-plugins1-vorbis/Makefile
# used by devel/gst-plugins1-pango/Makefile
# used by multimedia/gst-plugins1-ogg/Makefile
# used by multimedia/gst-plugins1-theora/Makefile
# used by x11/gst-plugins1-x11/Makefile
.include "../../multimedia/gstreamer1/version.mk"
DISTNAME= gst-plugins-base-${GST_VERSION}
MASTER_SITES= https://gstreamer.freedesktop.org/src/gst-plugins-base/
EXTRACT_SUFX= .tar.xz
USE_LANGUAGES= c c++
USE_TOOLS+= pkg-config
# "error: 'for' loop initial declarations are only allowed in C99 mode"
FORCE_C_STD= c99
DISTINFO_FILE= ${.CURDIR}/../../multimedia/gst-plugins1-base/distinfo
PATCHDIR= ${.CURDIR}/../../multimedia/gst-plugins1-base/patches
PKGCONFIG_OVERRIDE= output/pkgconfig/*.pc
PKGCONFIG_OVERRIDE_STAGE= pre-install
PYTHON_VERSIONS_INCOMPATIBLE= 27
PYTHON_FOR_BUILD_ONLY= tool
# grep '^option' meson_options.txt | grep feature | \
# sed -e "s/',.*//g" -e "s/option('//g" | \
# xargs printf 'GST_PLUGINS_SET+=\t%s\n'
GST_PLUGINS_SET+= iso-codes
GST_PLUGINS_SET+= gl
GST_PLUGINS_SET+= gl-graphene
GST_PLUGINS_SET+= gl-jpeg
GST_PLUGINS_SET+= gl-png
GST_PLUGINS_SET+= adder
GST_PLUGINS_SET+= app
GST_PLUGINS_SET+= audioconvert
GST_PLUGINS_SET+= audiomixer
GST_PLUGINS_SET+= audiorate
GST_PLUGINS_SET+= audioresample
GST_PLUGINS_SET+= audiotestsrc
GST_PLUGINS_SET+= compositor
GST_PLUGINS_SET+= encoding
GST_PLUGINS_SET+= gio
GST_PLUGINS_SET+= gio-typefinder
GST_PLUGINS_SET+= overlaycomposition
GST_PLUGINS_SET+= pbtypes
GST_PLUGINS_SET+= playback
GST_PLUGINS_SET+= rawparse
GST_PLUGINS_SET+= subparse
GST_PLUGINS_SET+= tcp
GST_PLUGINS_SET+= typefind
GST_PLUGINS_SET+= videoconvertscale
GST_PLUGINS_SET+= videorate
GST_PLUGINS_SET+= videotestsrc
GST_PLUGINS_SET+= volume
GST_PLUGINS_SET+= alsa
GST_PLUGINS_SET+= cdparanoia
GST_PLUGINS_SET+= libvisual
GST_PLUGINS_SET+= ogg
GST_PLUGINS_SET+= opus
GST_PLUGINS_SET+= pango
GST_PLUGINS_SET+= theora
GST_PLUGINS_SET+= tremor
GST_PLUGINS_SET+= vorbis
GST_PLUGINS_SET+= x11
GST_PLUGINS_SET+= xshm
GST_PLUGINS_SET+= xvideo
GST_PLUGINS_SET+= examples
GST_PLUGINS_SET+= tests
GST_PLUGINS_SET+= tools
GST_PLUGINS_SET+= introspection
GST_PLUGINS_SET+= nls
GST_PLUGINS_SET+= orc
GST_PLUGINS_SET+= qt5
GST_PLUGINS_SET+= doc
.for i in ${GST_PLUGINS_SET}
. if !empty(GST_PLUGINS:M${i})
MESON_ARGS+= -D${i}=enabled
. else
MESON_ARGS+= -D${i}=disabled
. endif
.endfor
#
# We need to force meson to only build from the "ext" directory
# when building plugins.
#
.if defined(GST_EXT_BUILD)
GST_EXT_BASEDIR?= ext
GST_PLUGIN_DIRS?= ${GST_PLUGINS}
pre-configure: fix-subdirs
fix-subdirs:
${AWK} -f ${.CURDIR}/../../multimedia/gst-plugins1-base/files/only-build-extensions.awk \
-v basedir=${GST_EXT_BASEDIR} ${WRKSRC}/meson.build > ${WRKSRC}/meson.build.new
${MV} ${WRKSRC}/meson.build.new ${WRKSRC}/meson.build
# Then, we need to append the dependency handling code for the
# libraries which -base itself builds...
. for ext in ${GST_PLUGIN_DIRS}
${CAT} ${.CURDIR}/../../multimedia/gst-plugins1-base/files/base-deps.meson \
${WRKSRC}/${GST_EXT_BASEDIR}/${ext}/meson.build > \
${WRKSRC}/${GST_EXT_BASEDIR}/${ext}/meson.build.new
${MV} ${WRKSRC}/${GST_EXT_BASEDIR}/${ext}/meson.build.new \
${WRKSRC}/${GST_EXT_BASEDIR}/${ext}/meson.build
. endfor
# ... this is a bit nasty compared to BUILD_DIRS...
post-install:
${RM} -f ${DESTDIR}${PREFIX}/lib/pkgconfig/gstreamer-plugins-base-1.0.pc
.endif
.include "../../devel/meson/build.mk"
.include "../../lang/python/tool.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../textproc/iso-codes/buildlink3.mk"
BUILDLINK_API_DEPENDS.gstreamer1+= gstreamer1>=1.20.0
.include "../../multimedia/gstreamer1/buildlink3.mk"
CVSweb <webmaster@jp.NetBSD.org>