forked from libretro/Lakka-LibreELEC
172 lines
5.4 KiB
Plaintext
172 lines
5.4 KiB
Plaintext
################################################################################
|
|
# setup system defaults
|
|
################################################################################
|
|
|
|
# The TARGET_CPU variable controls which processor should be targeted for
|
|
# generated code.
|
|
case $TARGET_ARCH in
|
|
arm)
|
|
# Valid TARGET_CPU for Raspberry Pi based devices are:
|
|
# arm1176jzf-s cortex-a7 cortex-a53
|
|
if [ "$DEVICE" = "RPi" -o "$DEVICE" = "GPICase" ]; then
|
|
TARGET_CPU="arm1176jzf-s"
|
|
elif [ "$DEVICE" = "RPi2" ]; then
|
|
TARGET_CPU="cortex-a7"
|
|
elif [ "${DEVICE}" = "Pi02GPi" ]; then
|
|
TARGET_CPU="cortex-a53"
|
|
elif [ "${DEVICE:0:4}" = "RPi4" ]; then
|
|
TARGET_CPU="cortex-a53"
|
|
TARGET_CPU_FLAGS="+crc"
|
|
else
|
|
echo "${DEVICE} ${ARCH} not supported on ${DISTRO}!"
|
|
exit 1
|
|
fi
|
|
|
|
# TARGET_FLOAT:
|
|
# Specifies which floating-point ABI to use. Permissible values are:
|
|
# soft hard
|
|
TARGET_FLOAT="hard"
|
|
|
|
# Valid TARGET_FPU for Raspberry Pi based devices:
|
|
# This specifies what floating point hardware (or hardware emulation) is
|
|
# available on the target. Permissible names are:
|
|
# vfp neon-vfpv4 neon-fp-armv8
|
|
if [ "$DEVICE" = "RPi" -o "$DEVICE" = "GPICase" ]; then
|
|
TARGET_FPU="vfp"
|
|
elif [ "$DEVICE" = "RPi2" ]; then
|
|
TARGET_FPU="neon-vfpv4"
|
|
elif [ "${DEVICE}" = "Pi02GPi" ]; then
|
|
TARGET_FPU="neon-fp-armv8"
|
|
elif [ "${DEVICE:0:4}" = "RPi4" ]; then
|
|
TARGET_FPU="neon-fp-armv8"
|
|
fi
|
|
|
|
# Kernel target
|
|
KERNEL_TARGET="zImage"
|
|
;;
|
|
aarch64)
|
|
if [ "${DISTRO}" != "Lakka" ]; then
|
|
echo "${DEVICE} ${ARCH} not supported on ${DISTRO}!"
|
|
exit 1
|
|
elif [ "${DEVICE}" = "RPi3" -o "${DEVICE}" = "RPiZero2-GPiCASE2W" ]; then
|
|
TARGET_CPU="cortex-a53"
|
|
elif [ "${DEVICE:0:4}" = "RPi4" ]; then
|
|
TARGET_CPU="cortex-a72"
|
|
elif [ "${DEVICE}" = "RPi5" ]; then
|
|
TARGET_CPU="cortex-a76"
|
|
TARGET_CPU_FLAGS="+crc+crypto"
|
|
else
|
|
echo "${DEVICE} ${ARCH} not supported on ${DISTRO}!"
|
|
exit 1
|
|
fi
|
|
TARGET_CPU_FLAGS="+crc"
|
|
TARGET_FPU="neon-fp-armv8"
|
|
TARGET_FLOAT="hard"
|
|
KERNEL_TARGET="Image"
|
|
ADDITIONAL_PACKAGES+=" rpi_userland"
|
|
;;
|
|
esac
|
|
|
|
# Bootloader to use (bcm2835-bootloader)
|
|
BOOTLOADER="bcm2835-bootloader"
|
|
|
|
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
|
|
KERNEL_MAKE_EXTRACMD="dtbs"
|
|
|
|
# Additional kernel dependencies
|
|
KERNEL_EXTRA_DEPENDS_TARGET=""
|
|
|
|
# Kernel to use. values can be:
|
|
# default: default mainline kernel
|
|
LINUX="raspberrypi"
|
|
|
|
# use framebuffer console
|
|
EXTRA_CMDLINE="console=tty0"
|
|
|
|
################################################################################
|
|
# setup build defaults
|
|
################################################################################
|
|
|
|
# Project CFLAGS
|
|
PROJECT_CFLAGS=""
|
|
|
|
# SquashFS compression method (gzip / lzo / xz / zstd)
|
|
SQUASHFS_COMPRESSION="zstd"
|
|
|
|
################################################################################
|
|
# setup project defaults
|
|
################################################################################
|
|
|
|
# OpenGL(X) implementation to use (no / mesa)
|
|
OPENGL="no"
|
|
|
|
# OpenGL-ES implementation to use (no / bcm2835-driver / mesa)
|
|
OPENGLES="mesa"
|
|
|
|
# Vulkan implementation to use (vulkan-loader / no)
|
|
VULKAN="no"
|
|
|
|
# Displayserver to use (wl / no)
|
|
DISPLAYSERVER="no"
|
|
|
|
# Windowmanager to use (weston / no)
|
|
WINDOWMANAGER="no"
|
|
|
|
# Xorg Graphic drivers to use (all / vc4 / none)
|
|
# Space separated list is supported,
|
|
# e.g. GRAPHIC_DRIVERS="vc4"
|
|
GRAPHIC_DRIVERS="vc4"
|
|
|
|
# KODI Player implementation to use (default / bcm2835-driver / mesa)
|
|
KODIPLAYER_DRIVER="mesa"
|
|
|
|
# use the kernel CEC framework for libcec (yes / no)
|
|
CEC_FRAMEWORK_SUPPORT="yes"
|
|
|
|
# additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
|
|
# Space separated list is supported,
|
|
# e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
|
|
FIRMWARE="misc-firmware wlan-firmware dvb-firmware brcmfmac_sdio-firmware-rpi"
|
|
|
|
# build with installer (yes / no)
|
|
INSTALLER_SUPPORT="no"
|
|
|
|
# kernel image name
|
|
KERNEL_NAME="kernel.img"
|
|
|
|
# additional drivers to install:
|
|
# for a list of additional drivers see packages/linux-drivers
|
|
# Space separated list is supported,
|
|
# e.g. ADDITIONAL_DRIVERS+=" DRIVER1 DRIVER2"
|
|
|
|
# Comment ADDITIONAL_PACKAGES below if using bcm2835-driver
|
|
ADDITIONAL_DRIVERS+=" bcm2835-driver"
|
|
|
|
if [ "${ALSA_SUPPORT}" = "yes" ]; then
|
|
ADDITIONAL_DRIVERS+=" rpi-cirrus-config"
|
|
fi
|
|
|
|
# build and install driver addons (yes / no)
|
|
DRIVER_ADDONS_SUPPORT="no"
|
|
|
|
# driver addons to install:
|
|
# for a list of additional drivers see packages/linux-driver-addons
|
|
# Space separated list is supported,
|
|
DRIVER_ADDONS="crazycat dvb-latest"
|
|
|
|
# additional packages to install:
|
|
ADDITIONAL_PACKAGES+=" bcm2835-userland bcm2835-utils"
|
|
|
|
# debug tty path
|
|
DEBUG_TTY="/dev/console"
|
|
|
|
# Overrides for Lakka
|
|
if [ "${DISTRO}" = "Lakka" ]; then
|
|
FIRMWARE="${FIRMWARE//dvb-firmware/}"
|
|
DRIVER_ADDONS_SUPPORT="no"
|
|
DRIVER_ADDONS=""
|
|
if [ "${DEVICE:0:4}" = "RPi4" -o "${DEVICE}" = "RPi5" ]; then
|
|
VULKAN="vulkan-loader"
|
|
fi
|
|
fi
|