[oe] [PATCH] ffmpeg: moved to native staging
Koen Kooi
k.kooi at student.utwente.nl
Thu Mar 18 16:04:39 UTC 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Thanks, applied
On 17-03-10 18:38, Enrico Scholz wrote:
> From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
>
> 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>
> ---
> 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}
> }
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
iD8DBQFLok8XMkyGM64RGpERAuVDAKCacLzuFZZeIyGa7mhOfLUvLHvjIgCdGK1l
C0E3K5dM/TGX5KgsE2zPDXo=
=fPgB
-----END PGP SIGNATURE-----
More information about the Openembedded-devel
mailing list