[Buildroot] [PATCH v2 2/6] package/gstreamer1/gst1-plugins-base: convert package type to meson
Peter Seiderer
ps.report at gmx.net
Wed Jul 10 20:23:23 UTC 2019
Hello Adam,
On Wed, 10 Jul 2019 11:36:30 -0400, aduskett at gmail.com wrote:
> From: Adam Duskett <Aduskett at gmail.com>
>
> GStreamer 1.16.0 is the last version to support autotools, which is removed
> in the next version.
>
Still some text more for an cover-letter...
> Other changes:
> - Valgrind is no longer an option and is checked via headers, so the option
> has been removed entirely, because the Valgrind package check is now in
> the base gstreamer1 package.
Or:
The meson build provides no 'disable-valgrind' option in the
plugin packages (valgrind availability checking is done in the
base gstreamer package already).
>
> - zlib no longer has an option and is also checked via headers.
>
> - Add the following new meson-specific options:
> - -Dgtk_doc=disabled
> - -Dglib-asserts=disabled
> - -Dglib-checks=disabled
Missing:
- -Dgobject-cast-checks=disabled
>
> - Three config options are comma separated strings. These
> options are:
> - gl_api
> - gl_platform
> - gl_winsys
>
> The lists can be passed empty without error. As such, the logic now
> creats a list such as:
> -Dgl_api='opengl,gles2'
> -Dgl_platform='glx,egl'
> -Dgl_winsys='x11,wayland'
>
> - Remove the egl BASE_CONF_ENV CPPFLAGS and LIBS options, as meson finds
> the include paths and libraries correctly during the configure stage.
>
> Signed-off-by: Adam Duskett <Aduskett at gmail.com>
> ---
> .../gst1-plugins-base/gst1-plugins-base.mk | 183 +++++++++---------
> 1 file changed, 89 insertions(+), 94 deletions(-)
>
> diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> index 60f2d4856b..34c6074b8f 100644
> --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> @@ -12,267 +12,262 @@ GST1_PLUGINS_BASE_LICENSE_FILES = COPYING
> GST1_PLUGINS_BASE_LICENSE = LGPL-2.0+, LGPL-2.1+
>
> GST1_PLUGINS_BASE_CONF_OPTS = \
> - --disable-examples \
> - --disable-valgrind \
> - --disable-introspection
> + -Dexamples=disabled \
> + -Dtests=disabled \
> + -Dgobject-cast-checks=disabled \
> + -Dglib-asserts=disabled \
> + -Dglib-checks=disabled \
> + -Dgtk_doc=disabled \
> + -Dintrospection=disabled
>
> # Options which require currently unpackaged libraries
> GST1_PLUGINS_BASE_CONF_OPTS += \
> - --disable-cdparanoia \
> - --disable-libvisual \
> - --disable-iso-codes
> + -Dcdparanoia=disabled \
> + -Dlibvisual=disabled \
> + -Diso-codes=disabled
>
> GST1_PLUGINS_BASE_DEPENDENCIES = gstreamer1
>
> # These plugins are listed in the order from ./configure --help
> ifeq ($(BR2_PACKAGE_ORC),y)
> GST1_PLUGINS_BASE_DEPENDENCIES += orc
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-orc
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=enabled
> +else
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-opengl
> +GST1_PLUGINS_BASE_GL_API_LIST = opengl
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
> GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-opengl
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-gles2
> +GST1_PLUGINS_BASE_GL_API_LIST += gles2
> GST1_PLUGINS_BASE_DEPENDENCIES += libgles
> -else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-gles2
> endif
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl_api='$(subst $(space),$(comma),$(GST1_PLUGINS_BASE_GL_API_LIST))'
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLX),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-glx
> +GST1_PLUGINS_BASE_GL_PLATFORM_LIST += glx
> GST1_PLUGINS_BASE_DEPENDENCIES += xorgproto xlib_libXrender
> -else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-glx
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-egl
> +GST1_PLUGINS_BASE_GL_PLATFORM_LIST += egl
> GST1_PLUGINS_BASE_DEPENDENCIES += libegl
> -GST1_PLUGINS_BASE_CONF_ENV += \
> - CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" \
> - LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs egl`"
> -else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-egl
> endif
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl_platform='$(subst $(space),$(comma),$(GST1_PLUGINS_BASE_GL_PLATFORM_LIST))'
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-x11
> +GST1_PLUGINS_BASE_WINSYS_LIST += x11
> GST1_PLUGINS_BASE_DEPENDENCIES += xlib_libX11 xlib_libXext
> -else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-x11
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-wayland
> +GST1_PLUGINS_BASE_WINSYS_LIST += wayland
> GST1_PLUGINS_BASE_DEPENDENCIES += wayland wayland-protocols
> -else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-wayland
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_DISPMANX),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-dispmanx
> +GST1_PLUGINS_BASE_WINSYS_LIST += dispmax
> GST1_PLUGINS_BASE_DEPENDENCIES += rpi-userland
> -else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-dispmanx
> endif
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl_winsys='$(subst $(space),$(comma),$(GST1_PLUGINS_BASE_WINSYS_LIST))'
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-adder
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dadder=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-adder
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dadder=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-app
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dapp=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-app
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dapp=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-audioconvert
> +GST1_PLUGINS_BASE_CONF_OPTS += -Daudioconvert=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-audioconvert
> +GST1_PLUGINS_BASE_CONF_OPTS += -Daudioconvert=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-audiomixer
> +GST1_PLUGINS_BASE_CONF_OPTS += -Daudiomixer=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-audiomixer
> +GST1_PLUGINS_BASE_CONF_OPTS += -Daudiomixer=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-audiorate
> +GST1_PLUGINS_BASE_CONF_OPTS += -Daudiorate=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-audiorate
> +GST1_PLUGINS_BASE_CONF_OPTS += -Daudiorate=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-audiotestsrc
> +GST1_PLUGINS_BASE_CONF_OPTS += -Daudiotestsrc=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-audiotestsrc
> +GST1_PLUGINS_BASE_CONF_OPTS += -Daudiotestsrc=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_COMPOSITOR),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-compositor
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dcompositor=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-compositor
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dcompositor=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-encoding
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dencoding=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-encoding
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dencoding=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-videoconvert
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideoconvert=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-videoconvert
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideoconvert=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-gio
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgio=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-gio
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgio=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OVERLAYCOMPOSITION),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-overlaycomposition
> +GST1_PLUGINS_BASE_CONF_OPTS += -Doverlaycomposition=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-overlaycomposition
> +GST1_PLUGINS_BASE_CONF_OPTS += -Doverlaycomposition=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-playback
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dplayback=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-playback
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dplayback=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-audioresample
> +GST1_PLUGINS_BASE_CONF_OPTS += -Daudioresample=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-audioresample
> +GST1_PLUGINS_BASE_CONF_OPTS += -Daudioresample=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_RAWPARSE),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-rawparse
> +GST1_PLUGINS_BASE_CONF_OPTS += -Drawparse=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-rawparse
> +GST1_PLUGINS_BASE_CONF_OPTS += -Drawparse=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-subparse
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dsubparse=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-subparse
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dsubparse=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-tcp
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dtcp=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-tcp
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dtcp=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TYPEFIND),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-typefind
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dtypefind=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-typefind
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dtypefind=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-videotestsrc
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideotestsrc=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-videotestsrc
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideotestsrc=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-videorate
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideorate=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-videorate
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideorate=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-videoscale
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideoscale=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-videoscale
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dvideoscale=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-volume
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dvolume=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-volume
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dvolume=disabled
> endif
>
> +# Zlib is checked for headers and is not an option.
Better comment:
# checked for by gst-libs/gst/tag/meson.build
> ifeq ($(BR2_PACKAGE_ZLIB),y)
> GST1_PLUGINS_BASE_DEPENDENCIES += zlib
> -else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-zlib
> endif
Otherwise looks good...
Regards,
Peter
>
> ifeq ($(BR2_PACKAGE_XORG7),y)
> GST1_PLUGINS_BASE_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXv
> GST1_PLUGINS_BASE_CONF_OPTS += \
> - --enable-x \
> - --enable-xshm \
> - --enable-xvideo
> + -Dx11=enabled \
> + -Dxshm=enabled \
> + -Dxvideo=enabled
> else
> GST1_PLUGINS_BASE_CONF_OPTS += \
> - --disable-x \
> - --disable-xshm \
> - --disable-xvideo
> + -Dx11=disabled \
> + -Dxshm=disabled \
> + -Dxvideo=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA),y)
> GST1_PLUGINS_BASE_DEPENDENCIES += alsa-lib
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dalsa=enabled
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-alsa
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dalsa=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TREMOR),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-ivorbis
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dtremor=enabled
> GST1_PLUGINS_BASE_DEPENDENCIES += tremor
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-ivorbis
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dtremor=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-opus
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dopus=enabled
> GST1_PLUGINS_BASE_DEPENDENCIES += opus
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-opus
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dopus=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-ogg
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dogg=enabled
> GST1_PLUGINS_BASE_DEPENDENCIES += libogg
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-ogg
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dogg=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-pango
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dpango=enabled
> GST1_PLUGINS_BASE_DEPENDENCIES += pango
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-pango
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dpango=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-theora
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dtheora=enabled
> GST1_PLUGINS_BASE_DEPENDENCIES += libtheora
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-theora
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dtheora=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS),y)
> -GST1_PLUGINS_BASE_CONF_OPTS += --enable-vorbis
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dvorbis=enabled
> GST1_PLUGINS_BASE_DEPENDENCIES += libvorbis
> else
> -GST1_PLUGINS_BASE_CONF_OPTS += --disable-vorbis
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dvorbis=disabled
> endif
>
> -$(eval $(autotools-package))
> +$(eval $(meson-package))
More information about the buildroot
mailing list