aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>2010-03-17 07:38:56 +0000
committerKoen Kooi <koen@openembedded.org>2010-03-18 16:39:28 +0100
commitb2acb9dfb88c0b375b4e1938da13b1178e94db9f (patch)
tree8885f581e40a67e0be4a5c3740331d3509dc434c
parentdbbe0cae855f2057583c013cdf7a6d0166a46218 (diff)
downloadopenembedded-b2acb9dfb88c0b375b4e1938da13b1178e94db9f.tar.gz
openembedded-b2acb9dfb88c0b375b4e1938da13b1178e94db9f.tar.bz2
openembedded-b2acb9dfb88c0b375b4e1938da13b1178e94db9f.zip
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@sigma-chemnitz.de> Signed-off-by: Koen Kooi <koen@openembedded.org>
-rw-r--r--recipes/ffmpeg/ffmpeg.inc57
1 files changed, 19 insertions, 38 deletions
diff --git a/recipes/ffmpeg/ffmpeg.inc b/recipes/ffmpeg/ffmpeg.inc
index 857dad5f90..c855877e8d 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}
}