[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