[oe-commits] Koen Kooi : libav: add proper recipe for git version
git version control
git at git.openembedded.org
Thu Mar 31 20:00:39 UTC 2011
Module: openembedded.git
Branch: testing-next
Commit: 692d43eeb6596df52b5984ae1bd14739f9ec9e0f
URL: http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=692d43eeb6596df52b5984ae1bd14739f9ec9e0f
Author: Koen Kooi <koen at openembedded.org>
Date: Mon Mar 28 15:47:23 2011 +0200
libav: add proper recipe for git version
omapfbplay: switch to libav
Signed-off-by: Koen Kooi <koen at openembedded.org>
---
recipes/libav/libav.inc | 120 ++++++++++++++++++++++
recipes/libav/libav_git.bb | 57 ++++++++++
recipes/{ffmpeg => libav}/omapfbplay-cmem_git.bb | 0
recipes/{ffmpeg => libav}/omapfbplay-dce_git.bb | 0
recipes/{ffmpeg => libav}/omapfbplay-xv_git.bb | 0
recipes/{ffmpeg => libav}/omapfbplay.inc | 4 +-
recipes/{ffmpeg => libav}/omapfbplay_git.bb | 0
7 files changed, 179 insertions(+), 2 deletions(-)
diff --git a/recipes/libav/libav.inc b/recipes/libav/libav.inc
new file mode 100644
index 0000000..fa7b934
--- /dev/null
+++ b/recipes/libav/libav.inc
@@ -0,0 +1,120 @@
+DESCRIPTION = "Libav is a complete, cross-platform solution to record, convert and stream audio and video."
+HOMEPAGE = "http://libav.org/"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPLv2+"
+
+# Provides ffmpeg compat, see http://libav.org/about.html
+PROVIDES = "ffmpeg"
+
+ARM_INSTRUCTION_SET = "arm"
+
+PE = "2"
+
+DEPENDS = "zlib libogg libvorbis libtheora faac faad2 ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'lame liba52', d)}"
+RSUGGESTS_${PN} = "mplayer"
+
+INC_PR = "r0"
+
+inherit autotools pkgconfig
+
+LEAD_SONAME = "libavcodec.so"
+
+EXTRA_OECONF = "\
+ \
+ --enable-pp \
+ --enable-shared \
+ --enable-pthreads \
+ --enable-gpl \
+ \
+ --cross-prefix=${TARGET_PREFIX} \
+ --disable-debug \
+ --disable-ffserver \
+ --disable-ffplay \
+ \
+"
+
+EXTRA_OECONF_append_powerpc += "--${@['disable-altivec','enable-altivec'][bb.data.getVar('BASE_PACKAGE_ARCH',d,1) in ['ppce600']]}"
+
+do_configure_prepend() {
+ # We don't have TARGET_PREFIX-pkgconfig
+ sed -i '/pkg_config_default="${cross_prefix}${pkg_config_default}"/d' ${S}/configure
+}
+
+FFMPEG_LIBS = "libavcodec libavdevice libavformat \
+ libavutil libpostproc libswscale libavfilter"
+
+SYSROOT_PREPROCESS_FUNCS = " \
+ ffmpeg_stage_cleanup \
+ ffmpeg_create_compat_links"
+
+ffmpeg_create_compat_links() {
+ rm -rf ${SYSROOT_DESTDIR}${STAGING_INCDIR}/ffmpeg
+ mkdir -m 0755 ${SYSROOT_DESTDIR}${STAGING_INCDIR}/ffmpeg
+ cd ${SYSROOT_DESTDIR}${STAGING_INCDIR}/ffmpeg
+
+ for lib in ${FFMPEG_LIBS}; do
+ ln -s ../$lib/*.h '.' || true
+ done
+}
+
+ffmpeg_stage_cleanup() {
+ rm -rf ${SYSROOT_DESTDIR}${STAGING_LIBDIR}/vhook \
+ ${SYSROOT_DESTDIR}${STAGING_DATADIR}
+}
+
+
+PACKAGES += "${PN}-vhook-dbg ${PN}-vhook"
+
+FILES_${PN} = "${bindir}"
+FILES_${PN}-dev = "${includedir}/${PN}"
+
+FILES_${PN}-vhook = "${libdir}/vhook"
+FILES_${PN}-vhook-dbg += "${libdir}/vhook/.debug"
+
+
+PACKAGES += "ffmpeg-x264-presets \
+ libavcodec libavcodec-dev libavcodec-dbg \
+ libavdevice libavdevice-dev libavdevice-dbg \
+ libavformat libavformat-dev libavformat-dbg \
+ libavutil libavutil-dev libavutil-dbg \
+ libpostproc libpostproc-dev libpostproc-dbg \
+ libswscale libswscale-dev libswscale-dbg \
+ libavfilter libavfilter-dev libavfilter-dbg \
+ libavcore libavcore-dev libavcore-dbg \
+ "
+
+FILES_ffmpeg-x264-presets = "${datadir}/*.ffpreset"
+
+FILES_${PN}-dev = "${includedir}"
+FILES_libavcodec = "${libdir}/libavcodec*.so.*"
+FILES_libavcodec-dev = "${libdir}/libavcodec*.so ${libdir}/pkgconfig/libavcodec.pc ${libdir}/libavcodec*.a"
+FILES_libavcodec-dbg += "${libdir}/.debug/libavcodec*"
+
+FILES_libavdevice = "${libdir}/libavdevice*.so.*"
+FILES_libavdevice-dev = "${libdir}/libavdevice*.so ${libdir}/pkgconfig/libavdevice.pc ${libdir}/libavdevice*.a"
+FILES_libavdevice-dbg += "${libdir}/.debug/libavdevice*"
+
+FILES_libavformat = "${libdir}/libavformat*.so.*"
+FILES_libavformat-dev = "${libdir}/libavformat*.so ${libdir}/pkgconfig/libavformat.pc ${libdir}/libavformat*.a"
+FILES_libavformat-dbg += "${libdir}/.debug/libavformat*"
+
+FILES_libavutil = "${libdir}/libavutil*.so.*"
+FILES_libavutil-dev = "${libdir}/libavutil*.so ${libdir}/pkgconfig/libavutil.pc ${libdir}/libavutil*.a"
+FILES_libavutil-dbg += "${libdir}/.debug/libavutil*"
+
+FILES_libpostproc = "${libdir}/libpostproc*.so.*"
+FILES_libpostproc-dev = "${libdir}/libpostproc*.so ${libdir}/pkgconfig/libpostproc.pc ${libdir}/libpostproc*.a ${includedir}/postproc"
+FILES_libpostproc-dbg += "${libdir}/.debug/libpostproc*"
+
+FILES_libswscale = "${libdir}/libswscale*.so.*"
+FILES_libswscale-dev = "${libdir}/libswscale*.so ${libdir}/pkgconfig/libswscale.pc ${libdir}/libswscale*.a"
+FILES_libswscale-dbg += "${libdir}/.debug/libswscale*"
+
+FILES_libavfilter = "${libdir}/libavfilter*.so.*"
+FILES_libavfilter-dev = "${libdir}/libavfilter*.so ${libdir}/pkgconfig/libavfilter.pc ${libdir}/libavfilter*.a"
+FILES_libavfilter-dbg += "${libdir}/.debug/libavfilter*"
+
+FILES_libavcore = "${libdir}/libavcore*.so.*"
+FILES_libavcore-dev = "${libdir}/libavcore*.so ${libdir}/pkgconfig/libavcore.pc ${libdir}/libavcore*.a"
+FILES_libavcore-dbg += "${libdir}/.debug/libavcore*"
diff --git a/recipes/libav/libav_git.bb b/recipes/libav/libav_git.bb
new file mode 100644
index 0000000..217f0b5
--- /dev/null
+++ b/recipes/libav/libav_git.bb
@@ -0,0 +1,57 @@
+require libav.inc
+
+DEPENDS += "virtual/libsdl schroedinger libgsm libvpx"
+
+# When bumping SRCREV make sure you bump PR here and in dependant recipes (gst-ffmpeg, gnash, omxil, etc) to account for SOVERSION changes
+SRCREV = "c6c2dfcf15c1d93b2189adff6f71c5c4b6b05338"
+
+PV = "0.6.2+${PR}+gitr${SRCPV}"
+PR = "${INC_PR}.2"
+
+SRC_URI = "git://git.libav.org/libav.git;protocol=git"
+
+S = "${WORKDIR}/git"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fno-tree-vectorize -fomit-frame-pointer -O4 -ffast-math"
+BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
+
+EXTRA_FFCONF_armv7a = "--cpu=cortex-a8"
+EXTRA_FFCONF ?= ""
+
+EXTRA_OECONF = " \
+ --enable-shared \
+ --enable-pthreads \
+ --disable-stripping \
+ --enable-gpl \
+ --enable-postproc \
+ \
+ --cross-prefix=${TARGET_PREFIX} \
+ --prefix=${prefix} \
+ \
+ --enable-ffserver \
+ --enable-ffplay \
+ --enable-x11grab \
+ --enable-libgsm \
+ --enable-libmp3lame \
+ --enable-libschroedinger \
+ --enable-libtheora \
+ --enable-libvorbis \
+ --enable-libvpx \
+ --arch=${TARGET_ARCH} \
+ --target-os="linux" \
+ --enable-cross-compile \
+ --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
+ --extra-ldflags="${TARGET_LDFLAGS}" \
+ --sysroot="${STAGING_DIR_TARGET}" \
+ --enable-hardcoded-tables \
+ ${EXTRA_FFCONF} \
+"
+
+do_configure() {
+ mkdir -p ${B}
+ cd ${B}
+ ${S}/configure ${EXTRA_OECONF}
+ sed -i -e s:Os:O4:g ${B}/config.h
+}
+
diff --git a/recipes/ffmpeg/omapfbplay-cmem_git.bb b/recipes/libav/omapfbplay-cmem_git.bb
similarity index 100%
rename from recipes/ffmpeg/omapfbplay-cmem_git.bb
rename to recipes/libav/omapfbplay-cmem_git.bb
diff --git a/recipes/ffmpeg/omapfbplay-dce_git.bb b/recipes/libav/omapfbplay-dce_git.bb
similarity index 100%
rename from recipes/ffmpeg/omapfbplay-dce_git.bb
rename to recipes/libav/omapfbplay-dce_git.bb
diff --git a/recipes/ffmpeg/omapfbplay-xv_git.bb b/recipes/libav/omapfbplay-xv_git.bb
similarity index 100%
rename from recipes/ffmpeg/omapfbplay-xv_git.bb
rename to recipes/libav/omapfbplay-xv_git.bb
diff --git a/recipes/ffmpeg/omapfbplay.inc b/recipes/libav/omapfbplay.inc
similarity index 89%
rename from recipes/ffmpeg/omapfbplay.inc
rename to recipes/libav/omapfbplay.inc
index de5b2a8..4f855ae 100644
--- a/recipes/ffmpeg/omapfbplay.inc
+++ b/recipes/libav/omapfbplay.inc
@@ -1,5 +1,5 @@
-DESCRIPTION = "Simple ffmpeg-based player that uses the omapfb overlays"
-DEPENDS = "bzip2 lame ffmpeg virtual/kernel"
+DESCRIPTION = "Simple libav-based player that uses the omapfb overlays"
+DEPENDS = "bzip2 lame libav virtual/kernel"
LICENSE = "MIT"
PR = "r30"
diff --git a/recipes/ffmpeg/omapfbplay_git.bb b/recipes/libav/omapfbplay_git.bb
similarity index 100%
rename from recipes/ffmpeg/omapfbplay_git.bb
rename to recipes/libav/omapfbplay_git.bb
More information about the Openembedded-commits
mailing list