Hide textrel QA warning for ffmpeg
cover Hide textrel QA warning for ffmpeg
ffmpeg disables position independent code on several architectures even when --enable-pic is set: this seems to be a conscious decision based on performance (see also previous discussion*).
First patch is an unrelated packaging fix, second adds INSANE_SKIPs to hide QA warnings about .text relocation.
*) http://lists.openembedded.org/pipermail/openembedded-core/2015-May/105501.html
Thanks,
Jussi
The following changes since commit f4f1d206f4ebafcde18c96c88a1bfc4ab7b0c119:
scripts/lib/bsp/help.py: Typo in help for yocto-bsp create (2016-04-05 14:33:58 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib jku/ffmpeg-textrel
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jku/ffmpeg-textrel
Jussi Kukkonen (2):
ffmpeg: Make configure options explicit ffmpeg, gstreamer1.0-libav: add textrel INSANE_SKIPs
meta/recipes-multimedia/ffmpeg/ffmpeg_3.0.bb | 27 ++++++++++++++++++++-- .../gstreamer/gstreamer1.0-libav.inc | 3 +++ 2 files changed, 28 insertions(+), 2 deletions(-)
Signature · 1 line
2.1.4
PATCH 1/2 ffmpeg: Make configure options explicit
Currently ffmpeg builds libraries that are packaged but never appear in PACKAGES. Add PACKAGECONFIGs for all libraries, and make sure PACKAGES_DYNAMIC lists all dynamic packages.
Default choice (build all except libavresample) does not change.
--- meta/recipes-multimedia/ffmpeg/ffmpeg_3.0.bb | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-)
meta/recipes-multimedia/ffmpeg/ffmpeg_3.0.bb +14 -2
@@ -29,9 +29,21 @@ DEPENDS = "alsa-lib zlib libogg yasm-native" inherit autotools pkgconfig -PACKAGECONFIG ??= "avdevice avfilter bzlib gpl lzma theora x264 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xv', '', d)}" +PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc \ + bzlib gpl lzma theora x264 \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xv', '', d)}" + +# libraries to build in addition to avutil PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice" PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter" +PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec" +PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat" +PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample" +PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale" +PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc" +PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample" + +# features to support PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2" PACKAGECONFIG[faac] = "--enable-libfaac,--disable-libfaac,faac" PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
@@ -80,7 +92,7 @@ do_configure() { ${S}/configure ${EXTRA_OECONF} } -PACKAGES_DYNAMIC += "^lib(av(codec|device|filter|format|util)|swscale).*" +PACKAGES_DYNAMIC += "^lib(av(codec|device|filter|format|util|resample)|swscale|swresample|postproc).*" python populate_packages_prepend() { av_libdir = d.expand('${libdir}')
Signature · 1 line
2.1.4
PATCH 2/2 ffmpeg, gstreamer1.0-libav: add textrel INSANE_SKIPs
ffmpeg disables PIC on some platforms even when --enable-pic is set, apparently for performance reasons. Add INSANE_SKIPS for the relevant packages.
Fixes [YOCTO #9375].
--- meta/recipes-multimedia/ffmpeg/ffmpeg_3.0.bb | 11 +++++++++++ meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc | 3 +++ 2 files changed, 14 insertions(+)
meta/recipes-multimedia/ffmpeg/ffmpeg_3.0.bb +11 -0
@@ -94,6 +94,17 @@ do_configure() { PACKAGES_DYNAMIC += "^lib(av(codec|device|filter|format|util|resample)|swscale|swresample|postproc).*" +# ffmpeg disables PIC on some platforms (e.g. x86-32) +INSANE_SKIP_${MLPREFIX}libavcodec = "textrel" +INSANE_SKIP_${MLPREFIX}libavdevice = "textrel" +INSANE_SKIP_${MLPREFIX}libavfilter = "textrel" +INSANE_SKIP_${MLPREFIX}libavformat = "textrel" +INSANE_SKIP_${MLPREFIX}libavutil = "textrel" +INSANE_SKIP_${MLPREFIX}libavresample = "textrel" +INSANE_SKIP_${MLPREFIX}libswscale = "textrel" +INSANE_SKIP_${MLPREFIX}libswresample = "textrel" +INSANE_SKIP_${MLPREFIX}libpostproc = "textrel" + python populate_packages_prepend() { av_libdir = d.expand('${libdir}') av_pkgconfig = d.expand('${libdir}/pkgconfig')
meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc +3 -0
@@ -41,3 +41,6 @@ FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" # http://errors.yoctoproject.org/Errors/Details/20493/ ARM_INSTRUCTION_SET_armv4 = "arm" ARM_INSTRUCTION_SET_armv5 = "arm" + +# ffmpeg/libav disables PIC on some platforms (e.g. x86-32) +INSANE_SKIP_${PN} = "textrel"
Signature · 1 line
2.1.4