1
0
mirror of https://git.yoctoproject.org/poky synced 2026-07-26 07:07:08 +00:00
Files
Khem Raj 9153d11e6c libav: Add libsdl to DEPENDS only when x11 is enabled
When we have opengl in distro features but not x11 and try to
build libav then it calls out to build libsdl which inturn has depependency on libglu
and libglu fails to build

ld: error: cannot find -lGL
| collect2: error: ld returned 1 exit status
| make: *** [libGLU.la] Error 1
| ERROR: oe_runmake failed

since libglu wants glx enabled in mesa and glx in mesa is (righly) enabled only when x11
is in distro features.

This breaks the dependency chain leading to this problem

(From OE-Core rev: fe9fe5ca5039743fc80d14f0518b95929c458b1a)

(From OE-Core rev: 740deb02b653d1c5174be99c3093dac5af73f6ff)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-29 13:42:17 +01:00

133 lines
4.4 KiB
PHP

SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video"
HOMEPAGE = "http://libav.org/"
SECTION = "libs"
LICENSE = "GPLv2+"
LICENSE_FLAGS = "commercial"
# Provides ffmpeg compat, see http://libav.org/about.html
PROVIDES = "ffmpeg"
ARM_INSTRUCTION_SET = "arm"
DEPENDS = "zlib libogg libvorbis libtheora yasm-native"
INC_PR = "r8"
inherit autotools pkgconfig
B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
EXTRA_FFCONF_armv7a = "--cpu=cortex-a8"
EXTRA_FFCONF ?= ""
PACKAGECONFIG ??= "bzip2 x264 ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
PACKAGECONFIG[bzip2] = "--enable-bzlib,--disable-bzlib,bzip2"
PACKAGECONFIG[schroedinger] = "--enable-libschroedinger,--disable-libschroedinger,schroedinger"
PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
PACKAGECONFIG[faac] = "--enable-libfaac,--disable-libfaac,faac"
PACKAGECONFIG[x11] = "--enable-x11grab,--disable-x11grab,virtual/libx11 libxfixes libxext xproto virtual/libsdl"
EXTRA_OECONF = " \
--enable-shared \
--enable-pthreads \
--enable-gpl \
--enable-avfilter \
\
--cross-prefix=${TARGET_PREFIX} \
--prefix=${prefix} \
\
--enable-avserver \
--enable-avplay \
--ld="${CCLD}" \
--enable-libtheora \
--enable-libvorbis \
--arch=${TARGET_ARCH} \
--target-os="linux" \
--enable-cross-compile \
--extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
--extra-ldflags="${TARGET_LDFLAGS}" \
--sysroot="${STAGING_DIR_TARGET}" \
--enable-hardcoded-tables \
${EXTRA_FFCONF} \
--libdir=${libdir} \
--shlibdir=${libdir} \
"
do_configure() {
# We don't have TARGET_PREFIX-pkgconfig
sed -i '/pkg_config_default="${cross_prefix}${pkg_config_default}"/d' ${S}/configure
mkdir -p ${B}
cd ${B}
${S}/configure ${EXTRA_OECONF}
sed -i -e s:Os:O4:g ${B}/config.h
}
do_install_append() {
install -m 0644 ${S}/libavfilter/*.h ${D}${includedir}/libavfilter/
}
FFMPEG_LIBS = "libavcodec libavdevice libavformat \
libavutil libpostproc libswscale libavfilter"
PACKAGES += "${PN}-vhook-dbg ${PN}-vhook ffmpeg-x264-presets"
RSUGGESTS_${PN} = "mplayer"
FILES_${PN} = "${bindir}"
FILES_${PN}-dev = "${includedir}/${PN}"
FILES_${PN}-vhook = "${libdir}/vhook"
FILES_${PN}-vhook-dbg += "${libdir}/vhook/.debug"
FILES_ffmpeg-x264-presets = "${datadir}/*.avpreset"
LEAD_SONAME = "libavcodec.so"
FILES_${PN}-dev = "${includedir}"
python populate_packages_prepend() {
av_libdir = d.expand('${libdir}')
av_pkgconfig = d.expand('${libdir}/pkgconfig')
# Runtime package
do_split_packages(d, av_libdir, '^lib(.*)\.so\..*',
output_pattern='lib%s',
description='libav %s library',
extra_depends='',
prepend=True,
allow_links=True)
# Development packages (-dev, -staticdev)
do_split_packages(d, av_libdir, '^lib(.*)\.so$',
output_pattern='lib%s-dev',
description='libav %s development package',
extra_depends='${PN}-dev',
prepend=True,
allow_links=True)
do_split_packages(d, av_pkgconfig, '^lib(.*)\.pc$',
output_pattern='lib%s-dev',
description='libav %s development package',
extra_depends='${PN}-dev',
prepend=True)
do_split_packages(d, av_libdir, '^lib(.*)\.a$',
output_pattern='lib%s-staticdev',
description='libav %s development package - static library',
extra_depends='${PN}-dev',
prepend=True,
allow_links=True)
if d.getVar('TARGET_ARCH', True) == 'i586':
# libav can't be build with -fPIC for 32-bit x86
pkgs = d.getVar('PACKAGES', True).split()
for pkg in pkgs:
d.appendVar('INSANE_SKIP_%s' % pkg, ' textrel')
}
PACKAGES_DYNAMIC += "^lib(av(codec|device|filter|format|util)|postproc|swscale).*"