[oe-commits] Enrico Scholz : ffmpeg: moved to native staging
git version control
git at git.openembedded.org
Thu Mar 18 18:20:01 UTC 2010
Module: openembedded.git
Branch: shr/unstable
Commit: b2acb9dfb88c0b375b4e1938da13b1178e94db9f
URL: http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=b2acb9dfb88c0b375b4e1938da13b1178e94db9f
Author: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
Date: Wed Mar 17 07:38:56 2010 +0000
ffmpeg: moved to native staging
Old .inc file listed every single header which was to be staged. This
causes problems when upgrading to recent 0.5.1 version or when using
older versions because headers might not exist there resp. new ones
need to be installed.
This patch converts the .inc file to new native staging method and
which calls two new functions:
* ffmpeg_create_compat_links:
- this creates symlinks to all installed headers into the ffmpeg/
directory. E.g.
adler32.h -> ../libavutil/adler32.h
- it should be probably checked whether these links are really
needed (they are not provided by ffmpeg and other programs might
get confused when they see new and old headers). For now; I kept
them.
* ffmpeg_stage_cleanup:
- this removes data and plugin files
Signed-off-by: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
Signed-off-by: Koen Kooi <koen at openembedded.org>
---
recipes/ffmpeg/ffmpeg.inc | 57 +++++++++++++++------------------------------
1 files changed, 19 insertions(+), 38 deletions(-)
diff --git a/recipes/ffmpeg/ffmpeg.inc b/recipes/ffmpeg/ffmpeg.inc
index 857dad5..c855877 100644
--- a/recipes/ffmpeg/ffmpeg.inc
+++ b/recipes/ffmpeg/ffmpeg.inc
@@ -10,7 +10,7 @@ ARM_INSTRUCTION_SET = "arm"
DEPENDS = "zlib libogg libvorbis libtheora faac faad2 ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'lame liba52', d)}"
RSUGGESTS = "mplayer"
-INC_PR = "r12"
+INC_PR = "r13"
inherit autotools pkgconfig
@@ -30,45 +30,26 @@ EXTRA_OECONF = "\
\
"
-do_stage() {
- for lib in libavcodec libavdevice libavformat \
- libavutil libpostproc libswscale
- do
- oe_libinstall -a -so -C $lib $lib ${STAGING_LIBDIR} || true
- install -d ${STAGING_INCDIR}/$lib
- done
-
- install -d ${STAGING_INCDIR}/ffmpeg
-
- install -m 0644 ${S}/libavcodec/avcodec.h ${STAGING_INCDIR}/ffmpeg/avcodec.h
- install -m 0644 ${S}/libavcodec/opt.h ${STAGING_INCDIR}/ffmpeg/opt.h
- install -m 0644 ${S}/libavcodec/avcodec.h ${STAGING_INCDIR}/libavcodec/avcodec.h
- install -m 0644 ${S}/libavcodec/opt.h ${STAGING_INCDIR}/libavcodec/opt.h
-
- install -m 0644 ${S}/libavdevice/avdevice.h ${STAGING_INCDIR}/ffmpeg/avdevice.h
-
- for h in avformat.h avio.h rtp.h rtsp.h rtspcodes.h
- do
- install -m 0644 ${S}/libavformat/$h ${STAGING_INCDIR}/ffmpeg/$h
- install -m 0644 ${S}/libavformat/$h ${STAGING_INCDIR}/libavformat/$h
- done
-
- for h in adler32.h aes.h attributes.h avstring.h avutil.h base64.h bswap.h common.h crc_data.h crc.h des.h error.h fifo.h integer.h internal.h intfloat_readwrite.h intmath.h intreadwrite.h lfg.h libm.h lls.h log.h lzo.h mathematics.h md5.h mem.h pca.h pixdesc.h pixfmt.h random_seed.h rational.h rc4.h sha1.h sha.h softfloat.h timer.h tree.h x86_cpu.h
- do
- install -m 0644 ${S}/libavutil/$h ${STAGING_INCDIR}/ffmpeg/$h
- install -m 0644 ${S}/libavutil/$h ${STAGING_INCDIR}/libavutil/$h
- done
- install -m 0644 ${B}/libavutil/avconfig.h ${STAGING_INCDIR}/ffmpeg/
- install -m 0644 ${B}/libavutil/avconfig.h ${STAGING_INCDIR}/libavutil/
+FFMPEG_LIBS = "libavcodec libavdevice libavformat \
+ libavutil libpostproc libswscale"
+
+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
- install -d ${STAGING_INCDIR}/libswscale/
- install -m 0644 ${S}/libswscale/*.h ${STAGING_INCDIR}/ffmpeg/
- install -m 0644 ${S}/libswscale/*.h ${STAGING_INCDIR}/libswscale/
+ for lib in ${FFMPEG_LIBS}; do
+ ln -s ../$lib/*.h '.'
+ done
+}
- install -d ${STAGING_INCDIR}/libpostproc
- install -d ${STAGING_INCDIR}/postproc
- install -m 0644 ${S}/libpostproc/postprocess.h ${STAGING_INCDIR}/libpostproc/postprocess.h
- install -m 0644 ${S}/libpostproc/postprocess.h ${STAGING_INCDIR}/postproc/postprocess.h
+ffmpeg_stage_cleanup() {
+ rm -rf ${SYSROOT_DESTDIR}${STAGING_LIBDIR}/vhook \
+ ${SYSROOT_DESTDIR}${STAGING_DATADIR}
}
More information about the Openembedded-commits
mailing list