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