openwrt-packages/multimedia/gst1-libav/Makefile

212 lines
4.6 KiB
Makefile

#
# Copyright (C) 2006-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=gst1-libav
PKG_VERSION:=1.22.8
PKG_RELEASE:=1
PKG_SOURCE:=gst-libav-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-libav
PKG_HASH:=be39349bc07ab4cdbd9a5fd6ea9848c601c7560ba5a0577ad5200b83bd424981
PKG_BUILD_DIR:=$(BUILD_DIR)/gst-libav-$(PKG_VERSION)
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=GPL-2.0-or-later LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING COPYING.LIB
PKG_BUILD_FLAGS:=no-mips16
GST_VERSION:=1.0
LIBAV_ENCODERS:= \
ac3 \
jpegls \
mpeg1video \
mpeg2video \
mpeg4 \
pcm_s16be \
pcm_s16le \
png \
vorbis \
zlib \
LIBAV_DECODERS:= \
aac \
ac3 \
atrac3 \
gif \
h264 \
jpegls \
mp2 \
mp3 \
mpeg1video \
mpeg2video \
mpeg4 \
mpegvideo \
pcm_s16be \
pcm_s16le \
png \
vorbis \
wmav1 \
wmav2 \
zlib \
LIBAV_MUXERS:= \
ac3 \
ffm \
h264 \
mp3 \
mp4 \
mpeg1video \
mpeg2video \
mpegts \
ogg \
oss \
rtp \
LIBAV_DEMUXERS:= \
ac3 \
ffm \
h264 \
mp3 \
mpegps \
mpegts \
mpegvideo \
ogg \
rm \
rtsp \
sdp \
v4l2 \
LIBAV_PARSERS:= \
aac \
ac3 \
h264 \
mpegaudio \
mpegvideo \
mpeg4video \
LIBAV_PROTOCOLS:= \
file http pipe rtp tcp udp
PKG_CONFIG_DEPENDS:= \
$(patsubst %,CONFIG_GST1_LIBAV_ENCODER_%,$(LIBAV_ENCODERS)) \
$(patsubst %,CONFIG_GST1_LIBAV_DECODER_%,$(LIBAV_DECODERS)) \
$(patsubst %,CONFIG_GST1_LIBAV_MUXER_%,$(LIBAV_DEMUXERS)) \
$(patsubst %,CONFIG_GST1_LIBAV_DEMUXER_%,$(LIBAV_DEMUXERS)) \
$(patsubst %,CONFIG_GST1_LIBAV_PARSER_%,$(LIBAV_PARSERS)) \
$(patsubst %,CONFIG_GST1_LIBAV_PROTOCOL_%,$(LIBAV_PROTOCOLS))
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
include $(INCLUDE_DIR)/meson.mk
define Package/gst1-libav
SECTION:=multimedia
CATEGORY:=Multimedia
TITLE:=GStreamer Libav plugin
URL:=https://www.gstreamer.net/modules/gst-libav.html
DEPENDS:= +libgstreamer1 +gstreamer1-plugins-base \
+gst1-mod-alsa +libgst1audio +libgst1pbutils +libgst1video \
+libbz2 +liblzma +libffmpeg-full
endef
define Package/gst1-libav/description
GStreamer with libav bindings using internal Libav
endef
define Package/gst1-libav/config
source "$(SOURCE)/Config.in"
endef
FILTER_CONFIG= \
$(foreach c, $(3), \
$(if $(CONFIG_GST1_LIBAV_$(1)_$(c)),--enable-$(2)='$(c)') \
)
LIBAV_CONFIGURE_ENCODERS:=$(call FILTER_CONFIG,ENCODER,encoder,$(LIBAV_ENCODERS))
LIBAV_CONFIGURE_DECODERS:=$(call FILTER_CONFIG,DECODER,decoder,$(LIBAV_DECODERS))
LIBAV_CONFIGURE_MUXERS:=$(call FILTER_CONFIG,MUXER,muxer,$(LIBAV_MUXERS))
LIBAV_CONFIGURE_DEMUXERS:=$(call FILTER_CONFIG,DEMUXER,demuxer,$(LIBAV_DEMUXERS))
LIBAV_CONFIGURE_PARSERS:=$(call FILTER_CONFIG,PARSER,parser,$(LIBAV_PARSERS))
LIBAV_CONFIGURE_PROTOCOLS:=$(call FILTER_CONFIG,PROTOCOL,protocol,$(LIBAV_PROTOCOLS))
# Hack to build on mips64.
ifneq ($(findstring octeonplus,$(CONFIG_CPU_TYPE)),)
REAL_CPU_TYPE:=octeon+
else
# Strip off FPU notation.
REAL_CPU_TYPE:=$(firstword $(subst +, ,$(CONFIG_CPU_TYPE)))
endif
CONFIGURE_ARGS += \
--disable-Bsymbolic \
--disable-fatal-warnings \
--disable-glib-asserts \
--disable-gobject-cast-checks \
--disable-gtk-doc-html \
--disable-valgrind \
--without-system-libav \
--with-pic \
--with-libav-extra-configure=" \
$(if $(REAL_CPU_TYPE),--cpu=$(call qstrip,$(REAL_CPU_TYPE)),) \
--disable-bsfs \
--disable-programs \
--disable-devices \
--disable-debug \
--disable-doc \
--disable-extra-warnings \
--disable-htmlpages \
--disable-manpages \
--disable-podpages \
--disable-txtpages \
--disable-runtime-cpudetect \
--disable-encoders \
$(LIBAV_CONFIGURE_ENCODERS) \
--disable-decoders \
$(LIBAV_CONFIGURE_DECODERS) \
--disable-muxers \
$(LIBAV_CONFIGURE_MUXERS) \
--disable-demuxers \
$(LIBAV_CONFIGURE_DEMUXERS) \
--disable-parsers \
$(LIBAV_CONFIGURE_PARSERS) \
--disable-protocols \
$(LIBAV_CONFIGURE_PROTOCOLS) \
--disable-asm \
--disable-altivec \
--disable-amd3dnow \
--disable-amd3dnowext \
--disable-mmx \
--disable-mmxext \
--disable-sse \
--disable-sse2 \
--disable-sse3 \
--disable-ssse3 \
--disable-sse4 \
--disable-sse42 \
--disable-avx \
--disable-xop \
--disable-fma3 \
--disable-fma4 \
--disable-avx2 \
--disable-inline-asm \
--disable-x86asm"
define Package/gst1-libav/install
$(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
( cd $(PKG_INSTALL_DIR); $(CP) \
./usr/lib/gstreamer-$(GST_VERSION)/libgstlibav.so* \
$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
)
endef
$(eval $(call BuildPackage,gst1-libav))