d64fae4086c75b582efc35ca3c6bfbfe8abebbca
[scm/bb/meta-tizen.git] / meta-tizen-common-base / recipes-multimedia / libav / libav.inc
1 DESCRIPTION = "AV codec lib"
2 HOMEPAGE = "http://nohomepage.org"
3 SECTION = "Multimedia/Codec"
4 LICENSE = "LGPL-2.1+"
5 PV = "9.8"
6
7 SRC_URI = ""
8
9 S = "${WORKDIR}/git"
10
11 inherit manifest autotools-brokensep
12
13 BBCLASSEXTEND = ""
14 PROVIDES = ""
15
16 #PROVIDES by libavutil
17 PROVIDES += "libavutil"
18
19
20 #PROVIDES by libavfilter-dev
21 PROVIDES += "libavfilter-dev"
22
23
24 #PROVIDES by libavformat
25 PROVIDES += "libavformat"
26
27
28 #PROVIDES by libavtools
29 PROVIDES += "libavtools"
30
31
32 #PROVIDES by libavcodec
33 PROVIDES += "libavcodec"
34
35
36 #PROVIDES by libavfilter
37 PROVIDES += "libavfilter"
38
39
40 #PROVIDES by libswscale-dev
41 PROVIDES += "libswscale-dev"
42
43
44 #PROVIDES by libavcodec-dev
45 PROVIDES += "libavcodec-dev"
46
47
48 #PROVIDES by libavutil-dev
49 PROVIDES += "libavutil-dev"
50
51
52 #PROVIDES by libswscale
53 PROVIDES += "libswscale"
54
55
56 #PROVIDES by libav
57
58
59 #PROVIDES by libavformat-dev
60 PROVIDES += "libavformat-dev"
61
62
63 RDEPENDS = ""
64 #RDEPENDS of libavfilter-dev (${PN}filter-dev)
65 RDEPENDS_${PN}filter-dev += "libavfilter"
66
67 #RDEPENDS of libswscale-dev (libswscale-dev)
68 RDEPENDS_libswscale-dev += "libswscale"
69
70 #RDEPENDS of libavcodec-dev (${PN}codec-dev)
71 RDEPENDS_${PN}codec-dev += "libavcodec"
72
73 #RDEPENDS of libavutil-dev (${PN}util-dev)
74 RDEPENDS_${PN}util-dev += "libavutil"
75
76 #RDEPENDS of libavformat-dev (${PN}format-dev)
77 RDEPENDS_${PN}format-dev += "libavformat"
78
79
80 DEPENDS = ""
81
82 do_prep() {
83  cd ${S}
84  chmod -Rf a+rX,u+w,g-w,o-w ${S}
85  #setup -q
86  cp ${S}/packaging/libav.manifest .
87  
88  
89 }
90 do_patch_append() {
91     bb.build.exec_func('do_prep', d)
92 }
93
94 do_configure() {
95 }
96
97 do_compile() {
98  cd ${S}
99  LANG=C
100  export LANG
101  unset DISPLAY
102  LD_AS_NEEDED=1; export LD_AS_NEEDED ;
103  
104  export CONFIGURE_OPTIONS="--enable-shared    --disable-static   \
105  --disable-version3  --disable-devices   --disable-nonfree --disable-gpl --disable-doc \
106  --disable-zlib    --disable-network \
107  --disable-avdevice \
108  --disable-bsfs      --disable-filters \
109  --enable-filter=buffer  --enable-filter=buffersink      --enable-filter=crop \
110  --enable-filter=hflip   --enable-filter=lut     --enable-filter=lutyuv \
111  --enable-filter=lutrgb  --enable-filter=overlay --enable-filter=scale \
112  --enable-filter=transpose       --enable-filter=unsharp --enable-filter=vflip \
113  --disable-protocols \
114  --disable-avresample \
115  --enable-protocol=file \
116  --disable-encoders \
117  --disable-muxers \
118  --disable-parsers \
119  --enable-parser=aac     --enable-parser=h264            --enable-parser=mpegaudio \
120  --enable-parser=h263    --enable-parser=mpeg4video      --enable-parser=mpegvideo \
121  --disable-demuxers \
122  --enable-demuxer=aac    --enable-demuxer=h264   --enable-demuxer=mpegts \
123  --enable-demuxer=amr    --enable-demuxer=m4v    --enable-demuxer=mpegtsraw \
124  --enable-demuxer=asf    --enable-demuxer=mmf    --enable-demuxer=mpegvideo \
125  --enable-demuxer=avi    --enable-demuxer=mov    --enable-demuxer=ogg \
126  --enable-demuxer=flac   --enable-demuxer=mp3    --enable-demuxer=wav \
127  --enable-demuxer=h263   --enable-demuxer=mpegps --enable-demuxer=matroska \
128  --enable-demuxer=dv    --enable-demuxer=flv \
129  --disable-decoders \
130  --enable-decoder=alac   --enable-decoder=h264           --enable-decoder=wmv1 \
131  --enable-decoder=flac   --enable-decoder=mpeg4          --enable-decoder=wmv2 \
132  --enable-decoder=h263   --enable-decoder=mpegvideo      --enable-decoder=wmv3 \
133  --enable-decoder=vc1   --enable-decoder=flv \
134  --enable-decoder=h263i  --enable-decoder=theora  \
135  --enable-decoder=pcm_alaw  --enable-decoder=pcm_mulaw  \
136  --enable-encoder=h263   --enable-encoder=h263p  --enable-encoder=mpeg4   \
137  --enable-decoder=bmp  --enable-encoder=bmp       \
138  --enable-decoder=tiff \
139  --enable-decoder=mp3  --enable-decoder=amrnb    \
140  --enable-encoder=aac  --enable-decoder=aac      \
141  --enable-swscale        --disable-yasm  \
142  --enable-fft    --enable-rdft   --enable-mdct   --enable-neon \
143  "
144  
145  
146  CFLAGS="$CFLAGS -fPIC -DEXPORT_API=\"__attribute__((visibility(\\\"default\\\")))\" "; export CFLAGS
147  
148  ./configure --prefix=${prefix} --shlibdir=${prefix}/lib --libdir=${prefix}/lib  $CONFIGURE_OPTIONS
149  
150  oe_runmake -j16
151  
152  
153  
154 }
155
156 do_install() {
157  export RPM_BUILD_ROOT=${D}
158  cd ${S}
159  LANG=C
160  export LANG
161  unset DISPLAY
162  rm -rf ${D}
163  mkdir -p ${D}
164  
165  rm -rf ${D}
166  
167    oe_runmake \
168          DESTDIR=${D} \
169          INSTALL_ROOT=${D} \
170          BINDIR=${prefix}/bin \
171    install  
172    rm -f ${D}${infodir}/dir 
173    find ${D} -regex ".*\.la$" | xargs rm -f -- 
174    find ${D} -regex ".*\.a$" | xargs rm -f --
175  mkdir -p ${D}${prefix}/share/license
176  cp -rf ${WORKDIR}/libav-9.8/COPYING.LGPLv2.1 ${D}${prefix}/share/license/libavcodec
177  cp -rf ${WORKDIR}/libav-9.8/COPYING.LGPLv2.1 ${D}${prefix}/share/license/libavformat
178  cp -rf ${WORKDIR}/libav-9.8/COPYING.LGPLv2.1 ${D}${prefix}/share/license/libavutil
179  cp -rf ${WORKDIR}/libav-9.8/COPYING.LGPLv2.1 ${D}${prefix}/share/license/libavfilter
180  cp -rf ${WORKDIR}/libav-9.8/COPYING.LGPLv2.1 ${D}${prefix}/share/license/libswscale
181  
182  
183 }
184
185 pkg_postinst_libavfilter() {
186     #!/bin/sh -e
187
188     [ "x$D" == "x" ] && ldconfig
189 }
190
191 pkg_postinst_${PN}() {
192     #!/bin/sh -e
193
194     [ "x$D" == "x" ] && ldconfig
195 }
196
197 pkg_postinst_libavutil() {
198     #!/bin/sh -e
199
200     [ "x$D" == "x" ] && ldconfig
201 }
202
203 pkg_postinst_libavcodec() {
204     #!/bin/sh -e
205
206     [ "x$D" == "x" ] && ldconfig
207 }
208
209 pkg_postinst_libswscale() {
210     #!/bin/sh -e
211
212     [ "x$D" == "x" ] && ldconfig
213 }
214
215 pkg_postinst_libavformat() {
216     #!/bin/sh -e
217
218     [ "x$D" == "x" ] && ldconfig
219 }
220
221 pkg_postrm_libavfilter() {
222     #!/bin/sh -e
223
224     [ "x$D" == "x" ] && ldconfig
225 }
226
227 pkg_postrm_${PN}() {
228     #!/bin/sh -e
229
230     [ "x$D" == "x" ] && ldconfig
231 }
232
233 pkg_postrm_libavcodec() {
234     #!/bin/sh -e
235
236     [ "x$D" == "x" ] && ldconfig
237 }
238
239 pkg_postrm_libswscale() {
240     #!/bin/sh -e
241
242     [ "x$D" == "x" ] && ldconfig
243 }
244
245 pkg_postrm_libavformat() {
246     #!/bin/sh -e
247
248     [ "x$D" == "x" ] && ldconfig
249 }
250
251 pkg_postrm_libavutil() {
252     #!/bin/sh -e
253
254     [ "x$D" == "x" ] && ldconfig
255 }
256
257 PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-locale"
258 PACKAGES += " libavutil "
259 PACKAGES += " libavfilter-dev "
260 PACKAGES += " libavformat "
261 PACKAGES += " libavtools "
262 PACKAGES += " libavcodec "
263 PACKAGES += " libavfilter "
264 PACKAGES += " libswscale-dev "
265 PACKAGES += " libavcodec-dev "
266 PACKAGES += " libavutil-dev "
267 PACKAGES += " libswscale "
268 PACKAGES += " libavformat-dev "
269
270 libavutil_files = ""
271 libavutil_files += "${prefix}/lib/libavutil.so.*"
272 libavutil_files += "${prefix}/share/license/libavutil"
273 MANIFESTFILES_${PN}util = "libav.manifest"
274
275 libavfilter-dev_files = ""
276 libavfilter-dev_files += "${prefix}/include/libavfilter/*"
277 libavfilter-dev_files += "${prefix}/lib/libavfilter.so"
278 libavfilter-dev_files += "${prefix}/lib/pkgconfig/libavfilter.pc"
279 MANIFESTFILES_${PN}filter-dev = "libav.manifest"
280
281 libavformat_files = ""
282 libavformat_files += "${prefix}/lib/libavformat.so.*"
283 libavformat_files += "${prefix}/share/license/libavformat"
284 MANIFESTFILES_${PN}format = "libav.manifest"
285
286 libavtools_files = ""
287 libavtools_files += "${prefix}/bin/av*"
288 libavtools_files += "${prefix}/share/avconv/*.avpreset"
289 MANIFESTFILES_${PN}tools = "libav.manifest"
290
291 libavcodec_files = ""
292 libavcodec_files += "${prefix}/lib/libavcodec.so.*"
293 libavcodec_files += "${prefix}/share/license/libavcodec"
294 MANIFESTFILES_${PN}codec = "libav.manifest"
295
296 libavfilter_files = ""
297 libavfilter_files += "${prefix}/lib/libavfilter.so.*"
298 libavfilter_files += "${prefix}/share/license/libavfilter"
299 MANIFESTFILES_${PN}filter = "libav.manifest"
300
301 libswscale-dev_files = ""
302 libswscale-dev_files += "${prefix}/include/libswscale/*"
303 libswscale-dev_files += "${prefix}/lib/libswscale.so"
304 libswscale-dev_files += "${prefix}/lib/pkgconfig/libswscale.pc"
305 MANIFESTFILES_libswscale-dev = "libav.manifest"
306
307 libavcodec-dev_files = ""
308 libavcodec-dev_files += "${prefix}/include/libavcodec/*"
309 libavcodec-dev_files += "${prefix}/lib/libavcodec.so"
310 libavcodec-dev_files += "${prefix}/lib/pkgconfig/libavcodec.pc"
311 MANIFESTFILES_${PN}codec-dev = "libav.manifest"
312
313 libavutil-dev_files = ""
314 libavutil-dev_files += "${prefix}/include/libavutil/*"
315 libavutil-dev_files += "${prefix}/lib/libavutil.so"
316 libavutil-dev_files += "${prefix}/lib/pkgconfig/libavutil.pc"
317 MANIFESTFILES_${PN}util-dev = "libav.manifest"
318
319 libswscale_files = ""
320 libswscale_files += "${prefix}/lib/libswscale.so.*"
321 libswscale_files += "${prefix}/share/license/libswscale"
322 MANIFESTFILES_libswscale = "libav.manifest"
323
324 libavformat-dev_files = ""
325 libavformat-dev_files += "${prefix}/include/libavformat/*"
326 libavformat-dev_files += "${prefix}/lib/libavformat.so"
327 libavformat-dev_files += "${prefix}/lib/pkgconfig/libavformat.pc"
328 MANIFESTFILES_${PN}format-dev = "libav.manifest"
329
330 FILES_${PN}util = "${libavutil_files}"
331 FILES_${PN}filter-dev = "${libavfilter-dev_files}"
332 FILES_${PN}format = "${libavformat_files}"
333 FILES_${PN}tools = "${libavtools_files}"
334 FILES_${PN}codec = "${libavcodec_files}"
335 FILES_${PN}filter = "${libavfilter_files}"
336 FILES_libswscale-dev = "${libswscale-dev_files}"
337 FILES_${PN}codec-dev = "${libavcodec-dev_files}"
338 FILES_${PN}util-dev = "${libavutil-dev_files}"
339 FILES_libswscale = "${libswscale_files}"
340 FILES_${PN}format-dev = "${libavformat-dev_files}"
341
342 PKG_libavutil= "libavutil"
343 PKG_libavfilter-dev= "libavfilter-dev"
344 PKG_libavformat= "libavformat"
345 PKG_libavtools= "libavtools"
346 PKG_libavcodec= "libavcodec"
347 PKG_libavfilter= "libavfilter"
348 PKG_libswscale-dev= "libswscale-dev"
349 PKG_libavcodec-dev= "libavcodec-dev"
350 PKG_libavutil-dev= "libavutil-dev"
351 PKG_libswscale= "libswscale"
352 PKG_libavformat-dev= "libavformat-dev"
353
354 require libav-extraconf.inc
355