kcptun: add tcp option
[feed/packages.git] / multimedia / gst1-libav / Makefile
1 #
2 # Copyright (C) 2006-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=gst1-libav
11 PKG_VERSION:=1.18.5
12 PKG_RELEASE:=$(AUTORELEASE)
13
14 PKG_SOURCE:=gst-libav-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-libav
16 PKG_HASH:=822e008a910e9dd13aedbdd8dc63fedef4040c0ee2e927bab3112e9de693a548
17 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-libav-$(PKG_VERSION)
18
19 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
20 Ted Hess <thess@kitschensync.net>
21 PKG_LICENSE:=GPL-2.0-or-later LGPL-2.1-or-later
22 PKG_LICENSE_FILES:=COPYING COPYING.LIB
23
24 PKG_FIXUP:=autoreconf
25 PKG_INSTALL:=1
26 PKG_USE_MIPS16:=0
27
28 GST_VERSION:=1.0
29
30 LIBAV_ENCODERS:= \
31 ac3 \
32 jpegls \
33 mpeg1video \
34 mpeg2video \
35 mpeg4 \
36 pcm_s16be \
37 pcm_s16le \
38 png \
39 vorbis \
40 zlib \
41
42 LIBAV_DECODERS:= \
43 aac \
44 ac3 \
45 atrac3 \
46 gif \
47 h264 \
48 jpegls \
49 mp2 \
50 mp3 \
51 mpeg1video \
52 mpeg2video \
53 mpeg4 \
54 mpegvideo \
55 pcm_s16be \
56 pcm_s16le \
57 png \
58 vorbis \
59 wmav1 \
60 wmav2 \
61 zlib \
62
63 LIBAV_MUXERS:= \
64 ac3 \
65 ffm \
66 h264 \
67 mp3 \
68 mp4 \
69 mpeg1video \
70 mpeg2video \
71 mpegts \
72 ogg \
73 oss \
74 rtp \
75
76 LIBAV_DEMUXERS:= \
77 ac3 \
78 ffm \
79 h264 \
80 mp3 \
81 mpegps \
82 mpegts \
83 mpegvideo \
84 ogg \
85 rm \
86 rtsp \
87 sdp \
88 v4l2 \
89
90 LIBAV_PARSERS:= \
91 aac \
92 ac3 \
93 h264 \
94 mpegaudio \
95 mpegvideo \
96 mpeg4video \
97
98 LIBAV_PROTOCOLS:= \
99 file http pipe rtp tcp udp
100
101 PKG_CONFIG_DEPENDS:= \
102 $(patsubst %,CONFIG_GST1_LIBAV_ENCODER_%,$(LIBAV_ENCODERS)) \
103 $(patsubst %,CONFIG_GST1_LIBAV_DECODER_%,$(LIBAV_DECODERS)) \
104 $(patsubst %,CONFIG_GST1_LIBAV_MUXER_%,$(LIBAV_DEMUXERS)) \
105 $(patsubst %,CONFIG_GST1_LIBAV_DEMUXER_%,$(LIBAV_DEMUXERS)) \
106 $(patsubst %,CONFIG_GST1_LIBAV_PARSER_%,$(LIBAV_PARSERS)) \
107 $(patsubst %,CONFIG_GST1_LIBAV_PROTOCOL_%,$(LIBAV_PROTOCOLS))
108
109 include $(INCLUDE_DIR)/package.mk
110 include $(INCLUDE_DIR)/nls.mk
111 include $(INCLUDE_DIR)/meson.mk
112
113 define Package/gst1-libav
114 SECTION:=multimedia
115 CATEGORY:=Multimedia
116 TITLE:=GStreamer Libav plugin
117 URL:=https://www.gstreamer.net/modules/gst-libav.html
118 DEPENDS:= +libgstreamer1 +gstreamer1-plugins-base \
119 +gst1-mod-alsa +libgst1audio +libgst1pbutils +libgst1video \
120 +libbz2 +liblzma +libffmpeg-full
121 endef
122
123 define Package/gst1-libav/description
124 GStreamer with libav bindings using internal Libav
125 endef
126
127 define Package/gst1-libav/config
128 source "$(SOURCE)/Config.in"
129 endef
130
131 FILTER_CONFIG= \
132 $(foreach c, $(3), \
133 $(if $(CONFIG_GST1_LIBAV_$(1)_$(c)),--enable-$(2)='$(c)') \
134 )
135
136 LIBAV_CONFIGURE_ENCODERS:=$(call FILTER_CONFIG,ENCODER,encoder,$(LIBAV_ENCODERS))
137 LIBAV_CONFIGURE_DECODERS:=$(call FILTER_CONFIG,DECODER,decoder,$(LIBAV_DECODERS))
138 LIBAV_CONFIGURE_MUXERS:=$(call FILTER_CONFIG,MUXER,muxer,$(LIBAV_MUXERS))
139 LIBAV_CONFIGURE_DEMUXERS:=$(call FILTER_CONFIG,DEMUXER,demuxer,$(LIBAV_DEMUXERS))
140 LIBAV_CONFIGURE_PARSERS:=$(call FILTER_CONFIG,PARSER,parser,$(LIBAV_PARSERS))
141 LIBAV_CONFIGURE_PROTOCOLS:=$(call FILTER_CONFIG,PROTOCOL,protocol,$(LIBAV_PROTOCOLS))
142
143 # Hack to build on mips64.
144 ifneq ($(findstring octeonplus,$(CONFIG_CPU_TYPE)),)
145 REAL_CPU_TYPE:=octeon+
146 else
147 # Strip off FPU notation.
148 REAL_CPU_TYPE:=$(firstword $(subst +, ,$(CONFIG_CPU_TYPE)))
149 endif
150
151 CONFIGURE_ARGS += \
152 --disable-Bsymbolic \
153 --disable-fatal-warnings \
154 --disable-glib-asserts \
155 --disable-gobject-cast-checks \
156 --disable-gtk-doc-html \
157 --disable-valgrind \
158 --without-system-libav \
159 --with-pic \
160 --with-libav-extra-configure=" \
161 $(if $(REAL_CPU_TYPE),--cpu=$(call qstrip,$(REAL_CPU_TYPE)),) \
162 --disable-bsfs \
163 --disable-programs \
164 --disable-devices \
165 --disable-debug \
166 --disable-doc \
167 --disable-extra-warnings \
168 --disable-htmlpages \
169 --disable-manpages \
170 --disable-podpages \
171 --disable-txtpages \
172 --disable-runtime-cpudetect \
173 --disable-encoders \
174 $(LIBAV_CONFIGURE_ENCODERS) \
175 --disable-decoders \
176 $(LIBAV_CONFIGURE_DECODERS) \
177 --disable-muxers \
178 $(LIBAV_CONFIGURE_MUXERS) \
179 --disable-demuxers \
180 $(LIBAV_CONFIGURE_DEMUXERS) \
181 --disable-parsers \
182 $(LIBAV_CONFIGURE_PARSERS) \
183 --disable-protocols \
184 $(LIBAV_CONFIGURE_PROTOCOLS) \
185 --disable-asm \
186 --disable-altivec \
187 --disable-amd3dnow \
188 --disable-amd3dnowext \
189 --disable-mmx \
190 --disable-mmxext \
191 --disable-sse \
192 --disable-sse2 \
193 --disable-sse3 \
194 --disable-ssse3 \
195 --disable-sse4 \
196 --disable-sse42 \
197 --disable-avx \
198 --disable-xop \
199 --disable-fma3 \
200 --disable-fma4 \
201 --disable-avx2 \
202 --disable-inline-asm \
203 --disable-x86asm"
204
205 define Package/gst1-libav/install
206 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
207 ( cd $(PKG_INSTALL_DIR); $(CP) \
208 ./usr/lib/gstreamer-$(GST_VERSION)/libgstlibav.so* \
209 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
210 )
211 endef
212
213 $(eval $(call BuildPackage,gst1-libav))