mirror of
https://git.yoctoproject.org/meta-raspberrypi
synced 2026-07-16 15:56:57 +00:00
e5642efb42
This is done to ensure all specified shared libraries are linked against applications (e.g. raspivid)i. libmmal_vc_client.so makes use of __attribute__(constructor) to ensure that supplier components (e.g. camera) are loaded when the static library is loaded. raspivid, and possibly other applications, link against libmmal_vc_client.so, causing the ctor to execute, but there is no needed dependency. Some build environments (e.g. Yocto/OpenEmbedded) pass the '--no-as-needed' linker flag which removes the dependency on libmmal_vc_client and thus components are not registered. In this situation raspivid then gives an error of the form root@raspberrypi:~# raspivid -o test mmal: mmal_component_create_core: could not find component 'vc.ril.camera' mmal: Failed to create camera component mmal: main: Failed to create camera component mmal: Failed to run camera app. Please check for firmware updates For further details see: https://lists.yoctoproject.org/pipermail/yocto/2014-June/019933.html Change-Id: I9d787fd83379e8b6428dde3827395c8b96be1f7f Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk> Acked-by: Andrei Gherzan <andrei@gherzan.ro>
39 lines
1.1 KiB
BlitzBasic
39 lines
1.1 KiB
BlitzBasic
DESCRIPTION = "This repository contains the source code for the ARM side \
|
|
libraries used on Raspberry Pi. These typically are installed in /opt/vc/lib \
|
|
and includes source for the ARM side code to interface to: EGL, mmal, GLESv2,\
|
|
vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG."
|
|
LICENSE = "Broadcom"
|
|
LIC_FILES_CHKSUM = "file://LICENCE;md5=957f6640d5e2d2acfce73a36a56cb32f"
|
|
|
|
PR = "r4"
|
|
|
|
PROVIDES = "virtual/libgles2 \
|
|
virtual/egl"
|
|
COMPATIBLE_MACHINE = "raspberrypi"
|
|
|
|
SRCREV = "eccb81050afd177da1923404b366c6226f29bfe0"
|
|
SRC_URI = "git://github.com/raspberrypi/userland.git;protocol=git;branch=master \
|
|
"
|
|
S = "${WORKDIR}/git"
|
|
|
|
inherit cmake
|
|
|
|
EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed'"
|
|
|
|
# The compiled binaries don't provide sonames.
|
|
SOLIBS = "${SOLIBSDEV}"
|
|
|
|
do_install_append() {
|
|
mkdir -p ${D}/${prefix}
|
|
mv ${D}/opt/vc/* ${D}/${prefix}
|
|
rm -rf ${D}/opt
|
|
}
|
|
|
|
FILES_${PN} += "${libdir}/*${SOLIBS}"
|
|
FILES_${PN}-dev = "${includedir} \
|
|
${prefix}/src"
|
|
FILES_${PN}-doc += "${datadir}/install"
|
|
|
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
|
|