Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Koen Kooi <k.kooi@student.utwente.nl>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [PATCH] ffmpeg: moved to native staging
Date: Thu, 18 Mar 2010 17:04:39 +0100	[thread overview]
Message-ID: <hntiun$ggu$2@dough.gmane.org> (raw)
In-Reply-To: <1268847536-25010-1-git-send-email-enrico.scholz@sigma-chemnitz.de>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Thanks, applied

On 17-03-10 18:38, Enrico Scholz wrote:
> From: Enrico Scholz <enrico.scholz@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@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-----




      reply	other threads:[~2010-03-18 16:08 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-17 17:38 [PATCH] ffmpeg: moved to native staging Enrico Scholz
2010-03-18 16:04 ` Koen Kooi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='hntiun$ggu$2@dough.gmane.org' \
    --to=k.kooi@student.utwente.nl \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox