Merge pull request #4949 from commodo/python-lxml-update
[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.8.2
12 PKG_RELEASE:=2
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:=http://gstreamer.freedesktop.org/src/gst-libav
19 PKG_HASH:=b5f3c7a27b39b5f5c2f0bfd546b0c655020faf6b38d27b64b346c43e5ebf687a
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 PKG_BUILD_DEPENDS:= libgstreamer1 gstreamer1-plugins-base
113
114 include $(INCLUDE_DIR)/package.mk
115 include $(INCLUDE_DIR)/nls.mk
116
117 define Package/gst1-libav
118 SECTION:=multimedia
119 CATEGORY:=Multimedia
120 TITLE:=GStreamer Libav plugin
121 URL:=http://www.gstreamer.net/modules/gst-libav.html
122 DEPENDS:= +libgstreamer1 +gstreamer1-plugins-base \
123 +gst1-mod-alsa +libgst1audio +libgst1pbutils +libgst1video \
124 +libbz2 +liblzma
125 endef
126
127 define Package/gst1-libav/description
128 GStreamer with libav bindings using internal Libav
129 endef
130
131 define Package/gst1-libav/config
132 source "$(SOURCE)/Config.in"
133 endef
134
135 FILTER_CONFIG= \
136 $(foreach c, $(3), \
137 $(if $(CONFIG_GST1_LIBAV_$(1)_$(c)),--enable-$(2)='$(c)') \
138 )
139
140 LIBAV_CONFIGURE_ENCODERS:=$(call FILTER_CONFIG,ENCODER,encoder,$(LIBAV_ENCODERS))
141 LIBAV_CONFIGURE_DECODERS:=$(call FILTER_CONFIG,DECODER,decoder,$(LIBAV_DECODERS))
142 LIBAV_CONFIGURE_MUXERS:=$(call FILTER_CONFIG,MUXER,muxer,$(LIBAV_MUXERS))
143 LIBAV_CONFIGURE_DEMUXERS:=$(call FILTER_CONFIG,DEMUXER,demuxer,$(LIBAV_DEMUXERS))
144 LIBAV_CONFIGURE_PARSERS:=$(call FILTER_CONFIG,PARSER,parser,$(LIBAV_PARSERS))
145 LIBAV_CONFIGURE_PROTOCOLS:=$(call FILTER_CONFIG,PROTOCOL,protocol,$(LIBAV_PROTOCOLS))
146
147 CONFIGURE_ARGS += \
148 --without-system-libav \
149 --with-libav-extra-configure="--target-os=linux \
150 $(if $(findstring " ",$(CONFIG_CPU_TYPE)),,--cpu=$(CONFIG_CPU_TYPE)) \
151 --disable-bsfs \
152 --disable-programs \
153 --disable-devices \
154 --disable-encoders \
155 $(LIBAV_CONFIGURE_ENCODERS) \
156 --disable-decoders \
157 $(LIBAV_CONFIGURE_DECODERS) \
158 --disable-muxers \
159 $(LIBAV_CONFIGURE_MUXERS) \
160 --disable-demuxers \
161 $(LIBAV_CONFIGURE_DEMUXERS) \
162 --disable-parsers \
163 $(LIBAV_CONFIGURE_PARSERS) \
164 --disable-protocols \
165 $(LIBAV_CONFIGURE_PROTOCOLS) \
166 --disable-asm \
167 --disable-altivec \
168 --disable-amd3dnow \
169 --disable-amd3dnowext \
170 --disable-mmx \
171 --disable-mmxext \
172 --disable-sse \
173 --disable-sse2 \
174 --disable-sse3 \
175 --disable-ssse3 \
176 --disable-sse4 \
177 --disable-sse42 \
178 --disable-avx \
179 --disable-xop \
180 --disable-fma3 \
181 --disable-fma4 \
182 --disable-avx2 \
183 --disable-inline-asm \
184 --disable-yasm"
185
186 TARGET_CFLAGS += -D_GNU_SOURCE
187
188 TARGET_LDFLAGS += $(FPIC)
189
190 define Package/gst1-libav/install
191 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
192 ( cd $(PKG_INSTALL_DIR); $(CP) \
193 ./usr/lib/gstreamer-$(GST_VERSION)/libgstlibav.so* \
194 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
195 )
196 endef
197
198 $(eval $(call BuildPackage,gst1-libav))