mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
Merge pull request #3428 from 5schatten/move_RPi_vendor_headers
[RPi] fix vendor header & lib includes / remove project specific include CFLAGS WIP
This commit is contained in:
commit
09325f7fae
@ -41,7 +41,7 @@ pre_configure_target() {
|
|||||||
LDFLAGS="$LDFLAGS -L$(get_build_dir gnutls)/.INSTALL_PKG/usr/lib"
|
LDFLAGS="$LDFLAGS -L$(get_build_dir gnutls)/.INSTALL_PKG/usr/lib"
|
||||||
|
|
||||||
if [ "$KODIPLAYER_DRIVER" == "bcm2835-driver" ]; then
|
if [ "$KODIPLAYER_DRIVER" == "bcm2835-driver" ]; then
|
||||||
CFLAGS="-DRPI=1 -I$SYSROOT_PREFIX/usr/include/IL -I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads -I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux $CFLAGS"
|
CFLAGS="$CFLAGS -DRPI=1 -I$SYSROOT_PREFIX/usr/include/IL"
|
||||||
PKG_FFMPEG_LIBS="-lbcm_host -ldl -lmmal -lmmal_core -lmmal_util -lvchiq_arm -lvcos -lvcsm"
|
PKG_FFMPEG_LIBS="-lbcm_host -ldl -lmmal -lmmal_core -lmmal_util -lvchiq_arm -lvcos -lvcsm"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -44,10 +44,6 @@ fi
|
|||||||
|
|
||||||
pre_configure_target() {
|
pre_configure_target() {
|
||||||
if [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then
|
if [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then
|
||||||
export CXXFLAGS="$CXXFLAGS \
|
|
||||||
-I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads/ \
|
|
||||||
-I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux"
|
|
||||||
|
|
||||||
# detecting RPi support fails without -lvchiq_arm
|
# detecting RPi support fails without -lvchiq_arm
|
||||||
export LDFLAGS="$LDFLAGS -lvchiq_arm"
|
export LDFLAGS="$LDFLAGS -lvchiq_arm"
|
||||||
fi
|
fi
|
||||||
|
@ -7,50 +7,66 @@ PKG_VERSION="fd15e0700e45d9b7db83e30696aba299b9f2f31d"
|
|||||||
PKG_SHA256="6324b4638b7b3f906469a1d2b94902f608436279749f167ade70e68c5c4c79a7"
|
PKG_SHA256="6324b4638b7b3f906469a1d2b94902f608436279749f167ade70e68c5c4c79a7"
|
||||||
PKG_LICENSE="nonfree"
|
PKG_LICENSE="nonfree"
|
||||||
PKG_SITE="http://www.broadcom.com"
|
PKG_SITE="http://www.broadcom.com"
|
||||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
PKG_URL="${DISTRO_SRC}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||||
PKG_DEPENDS_TARGET="toolchain dtc"
|
PKG_DEPENDS_TARGET="toolchain dtc"
|
||||||
PKG_LONGDESC="OpenMAX-bcm2835: OpenGL-ES and OpenMAX driver for BCM2835"
|
PKG_LONGDESC="OpenMAX-bcm2835: OpenGL-ES and OpenMAX driver for BCM2835"
|
||||||
PKG_TOOLCHAIN="manual"
|
PKG_TOOLCHAIN="manual"
|
||||||
|
|
||||||
if [ "$TARGET_FLOAT" = "softfp" -o "$TARGET_FLOAT" = "soft" ]; then
|
# Set SoftFP ABI or HardFP ABI
|
||||||
FLOAT="softfp"
|
if [ "${TARGET_FLOAT}" = "soft" ]; then
|
||||||
elif [ "$TARGET_FLOAT" = "hard" ]; then
|
PKG_FLOAT="softfp"
|
||||||
FLOAT="hardfp"
|
else
|
||||||
|
PKG_FLOAT="hardfp"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
make_target() {
|
make_target() {
|
||||||
mkdir -p $SYSROOT_PREFIX/usr/include
|
# Install vendor header files
|
||||||
cp -PRv $FLOAT/opt/vc/include/* $SYSROOT_PREFIX/usr/include
|
mkdir -p ${SYSROOT_PREFIX}/usr/include
|
||||||
|
cp -PRv ${PKG_FLOAT}/opt/vc/include/* ${SYSROOT_PREFIX}/usr/include
|
||||||
|
|
||||||
mkdir -p $SYSROOT_PREFIX/usr/lib
|
# Install EGL, OpenGL ES, Open VG, etc. vendor libs & pkgconfigs
|
||||||
cp -PRv $FLOAT/opt/vc/lib/*.so $SYSROOT_PREFIX/usr/lib
|
mkdir -p ${SYSROOT_PREFIX}/usr/lib
|
||||||
ln -sf $SYSROOT_PREFIX/usr/lib/libbrcmEGL.so $SYSROOT_PREFIX/usr/lib/libEGL.so
|
cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.so ${SYSROOT_PREFIX}/usr/lib
|
||||||
ln -sf $SYSROOT_PREFIX/usr/lib/libbrcmGLESv2.so $SYSROOT_PREFIX/usr/lib/libGLESv2.so
|
ln -sf ${SYSROOT_PREFIX}/usr/lib/libbrcmEGL.so ${SYSROOT_PREFIX}/usr/lib/libEGL.so
|
||||||
cp -PRv $FLOAT/opt/vc/lib/*.a $SYSROOT_PREFIX/usr/lib
|
ln -sf ${SYSROOT_PREFIX}/usr/lib/libbrcmGLESv2.so ${SYSROOT_PREFIX}/usr/lib/libGLESv2.so
|
||||||
cp -PRv $FLOAT/opt/vc/lib/pkgconfig $SYSROOT_PREFIX/usr/lib
|
cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.a ${SYSROOT_PREFIX}/usr/lib
|
||||||
|
cp -PRv ${PKG_FLOAT}/opt/vc/lib/pkgconfig ${SYSROOT_PREFIX}/usr/lib
|
||||||
|
|
||||||
|
# Update prefix in vendor pkgconfig files
|
||||||
|
for PKG_CONFIGS in $(find "${SYSROOT_PREFIX}/usr/lib" -type f -name "*.pc" 2>/dev/null); do
|
||||||
|
sed -e "s#prefix=/opt/vc#prefix=/usr#g" -i "${PKG_CONFIGS}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Create symlinks to /opt/vc to satisfy hardcoded include & lib paths
|
||||||
|
mkdir -p ${SYSROOT_PREFIX}/opt/vc
|
||||||
|
ln -sf ${SYSROOT_PREFIX}/usr/lib ${SYSROOT_PREFIX}/opt/vc/lib
|
||||||
|
ln -sf ${SYSROOT_PREFIX}/usr/include ${SYSROOT_PREFIX}/opt/vc/include
|
||||||
}
|
}
|
||||||
|
|
||||||
makeinstall_target() {
|
makeinstall_target() {
|
||||||
mkdir -p $INSTALL/usr/lib
|
# Install EGL, OpenGL ES and other vendor libs
|
||||||
cp -PRv $FLOAT/opt/vc/lib/*.so $INSTALL/usr/lib
|
mkdir -p ${INSTALL}/usr/lib
|
||||||
ln -sf /usr/lib/libbrcmEGL.so $INSTALL/usr/lib/libEGL.so
|
cp -PRv ${PKG_FLOAT}/opt/vc/lib/*.so ${INSTALL}/usr/lib
|
||||||
ln -sf /usr/lib/libbrcmEGL.so $INSTALL/usr/lib/libEGL.so.1
|
ln -sf /usr/lib/libbrcmEGL.so ${INSTALL}/usr/lib/libEGL.so
|
||||||
ln -sf /usr/lib/libbrcmGLESv2.so $INSTALL/usr/lib/libGLESv2.so
|
ln -sf /usr/lib/libbrcmEGL.so ${INSTALL}/usr/lib/libEGL.so.1
|
||||||
ln -sf /usr/lib/libbrcmGLESv2.so $INSTALL/usr/lib/libGLESv2.so.2
|
ln -sf /usr/lib/libbrcmGLESv2.so ${INSTALL}/usr/lib/libGLESv2.so
|
||||||
|
ln -sf /usr/lib/libbrcmGLESv2.so ${INSTALL}/usr/lib/libGLESv2.so.2
|
||||||
|
|
||||||
# some usefull debug tools
|
# Install useful tools
|
||||||
mkdir -p $INSTALL/usr/bin
|
mkdir -p ${INSTALL}/usr/bin
|
||||||
cp -PRv $FLOAT/opt/vc/bin/dtoverlay $INSTALL/usr/bin
|
cp -PRv ${PKG_FLOAT}/opt/vc/bin/dtoverlay ${INSTALL}/usr/bin
|
||||||
ln -s dtoverlay $INSTALL/usr/bin/dtparam
|
ln -s dtoverlay ${INSTALL}/usr/bin/dtparam
|
||||||
cp -PRv $FLOAT/opt/vc/bin/vcdbg $INSTALL/usr/bin
|
cp -PRv ${PKG_FLOAT}/opt/vc/bin/vcdbg ${INSTALL}/usr/bin
|
||||||
cp -PRv $FLOAT/opt/vc/bin/vcgencmd $INSTALL/usr/bin
|
cp -PRv ${PKG_FLOAT}/opt/vc/bin/vcgencmd ${INSTALL}/usr/bin
|
||||||
cp -PRv $FLOAT/opt/vc/bin/tvservice $INSTALL/usr/bin
|
cp -PRv ${PKG_FLOAT}/opt/vc/bin/tvservice ${INSTALL}/usr/bin
|
||||||
cp -PRv $FLOAT/opt/vc/bin/edidparser $INSTALL/usr/bin
|
cp -PRv ${PKG_FLOAT}/opt/vc/bin/edidparser ${INSTALL}/usr/bin
|
||||||
|
|
||||||
mkdir -p $INSTALL/opt/vc
|
# Create symlinks to /opt/vc to satisfy hardcoded lib paths
|
||||||
ln -sf /usr/lib $INSTALL/opt/vc/lib
|
mkdir -p ${INSTALL}/opt/vc
|
||||||
|
ln -sf /usr/lib ${INSTALL}/opt/vc/lib
|
||||||
}
|
}
|
||||||
|
|
||||||
post_install() {
|
post_install() {
|
||||||
|
# unbind Framebuffer console
|
||||||
enable_service unbind-console.service
|
enable_service unbind-console.service
|
||||||
}
|
}
|
||||||
|
@ -27,12 +27,3 @@ if [ "$OPENGLES_SUPPORT" = yes ]; then
|
|||||||
# for OpenGL-ES support
|
# for OpenGL-ES support
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGLES"
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGLES"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
pre_configure_target() {
|
|
||||||
if [ "$KODIPLAYER_DRIVER" = bcm2835-driver ]; then
|
|
||||||
BCM2835_INCLUDES="-I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads/ \
|
|
||||||
-I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux"
|
|
||||||
export CFLAGS="$CFLAGS $BCM2835_INCLUDES"
|
|
||||||
export CXXFLAGS="$CXXFLAGS $BCM2835_INCLUDES"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
@ -27,12 +27,3 @@ if [ "$OPENGLES_SUPPORT" = yes ]; then
|
|||||||
# for OpenGL-ES support
|
# for OpenGL-ES support
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGLES"
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGLES"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
pre_configure_target() {
|
|
||||||
if [ "$KODIPLAYER_DRIVER" = bcm2835-driver ]; then
|
|
||||||
BCM2835_INCLUDES="-I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads/ \
|
|
||||||
-I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux"
|
|
||||||
export CFLAGS="$CFLAGS $BCM2835_INCLUDES"
|
|
||||||
export CXXFLAGS="$CXXFLAGS $BCM2835_INCLUDES"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
@ -81,7 +81,6 @@ pre_configure_target() {
|
|||||||
rm -rf .$TARGET_NAME
|
rm -rf .$TARGET_NAME
|
||||||
|
|
||||||
if [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then
|
if [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then
|
||||||
CFLAGS="-I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads -I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux $CFLAGS"
|
|
||||||
PKG_FFMPEG_LIBS="-lbcm_host -lvcos -lvchiq_arm -lmmal -lmmal_core -lmmal_util -lvcsm"
|
PKG_FFMPEG_LIBS="-lbcm_host -lvcos -lvchiq_arm -lmmal -lmmal_core -lmmal_util -lvcsm"
|
||||||
PKG_FFMPEG_RPI="--enable-rpi"
|
PKG_FFMPEG_RPI="--enable-rpi"
|
||||||
else
|
else
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
# TARGET_FLOAT:
|
# TARGET_FLOAT:
|
||||||
# Specifies which floating-point ABI to use. Permissible values are:
|
# Specifies which floating-point ABI to use. Permissible values are:
|
||||||
# soft softfp hard
|
# soft hard
|
||||||
TARGET_FLOAT="hard"
|
TARGET_FLOAT="hard"
|
||||||
|
|
||||||
# TARGET_FPU:
|
# TARGET_FPU:
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
# TARGET_FLOAT:
|
# TARGET_FLOAT:
|
||||||
# Specifies which floating-point ABI to use. Permissible values are:
|
# Specifies which floating-point ABI to use. Permissible values are:
|
||||||
# soft softfp hard
|
# soft hard
|
||||||
TARGET_FLOAT="hard"
|
TARGET_FLOAT="hard"
|
||||||
|
|
||||||
# Valid TARGET_FPU for Raspberry Pi based devices:
|
# Valid TARGET_FPU for Raspberry Pi based devices:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user