Merge pull request #2126 from lynxis/libmicrohttpd
[feed/packages.git] / multimedia / gst1-libav / Makefile
1 #
2 # Copyright (C) 2006-2015 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.6.2
12 PKG_RELEASE:=1
13
14 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
15
16 PKG_SOURCE:=gst-libav-$(PKG_VERSION).tar.xz
17 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-libav
18 PKG_MD5SUM:=09644a38827d233f53edeac815dd0ec0
19
20 PKG_LICENSE:=GPL-2.0 LGPL-2.0
21 PKG_LICENSE_FILES:=COPYING COPYING.LIB
22
23 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-libav-$(PKG_VERSION)
24
25 PKG_FIXUP:=autoreconf
26 PKG_INSTALL:=1
27
28 PKG_USE_MIPS16:=0
29
30 GST_VERSION:=1.0
31
32 LIBAV_ENCODERS:= \
33 ac3 \
34 jpegls \
35 mpeg1video \
36 mpeg2video \
37 mpeg4 \
38 pcm_s16be \
39 pcm_s16le \
40 png \
41 vorbis \
42 zlib \
43
44 LIBAV_DECODERS:= \
45 aac \
46 ac3 \
47 atrac3 \
48 gif \
49 h264 \
50 jpegls \
51 mp2 \
52 mp3 \
53 mpeg1video \
54 mpeg2video \
55 mpeg4 \
56 mpeg4aac \
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
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 --disable-bsfs \
151 --disable-programs \
152 --disable-devices \
153 --disable-encoders \
154 $(LIBAV_CONFIGURE_ENCODERS) \
155 --disable-decoders \
156 $(LIBAV_CONFIGURE_DECODERS) \
157 --disable-muxers \
158 $(LIBAV_CONFIGURE_MUXERS) \
159 --disable-demuxers \
160 $(LIBAV_CONFIGURE_DEMUXERS) \
161 --disable-parsers \
162 $(LIBAV_CONFIGURE_PARSERS) \
163 --disable-protocols \
164 $(LIBAV_CONFIGURE_PROTOCOLS) \
165 --disable-asm \
166 --disable-altivec \
167 --disable-amd3dnow \
168 --disable-amd3dnowext \
169 --disable-mmx \
170 --disable-mmxext \
171 --disable-sse \
172 --disable-sse2 \
173 --disable-sse3 \
174 --disable-ssse3 \
175 --disable-sse4 \
176 --disable-sse42 \
177 --disable-avx \
178 --disable-xop \
179 --disable-fma3 \
180 --disable-fma4 \
181 --disable-avx2 \
182 --disable-vfp \
183 --disable-neon \
184 --disable-inline-asm \
185 --disable-yasm"
186
187 # XXX: trick to force use of embedded Libav headers
188 TARGET_CFLAGS += $(TARGET_CPPFLAGS) -D_GNU_SOURCE
189 TARGET_CPPFLAGS :=
190
191 TARGET_LDFLAGS += $(FPIC)
192
193 define Build/Prepare
194 $(call Build/Prepare/Default)
195 endef
196
197 define Package/gst1-libav/install
198 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
199 ( cd $(PKG_INSTALL_DIR); $(CP) \
200 ./usr/lib/gstreamer-$(GST_VERSION)/libgstlibav.so* \
201 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
202 )
203 endef
204
205 $(eval $(call BuildPackage,gst1-libav))