stm-st-stm32mp: remove outdated recipes and unnecessary files
This commit removes all unnecessary files after the integration of the latest ST BSP, based on the openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06 tag for Yocto 5.0 (Scarthgap). https://onedigi.atlassian.net/browse/DEL-9381 Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit is contained in:
parent
1c26e84dd1
commit
d29d7149a7
|
|
@ -1,567 +0,0 @@
|
|||
inherit sign-stm32mp2
|
||||
|
||||
DEPENDS += "tf-a-tools-native util-linux-native"
|
||||
|
||||
# Configure new package to provide fiptool wrapper for SDK usage
|
||||
PACKAGES =+ "${FIPTOOL_WRAPPER}"
|
||||
|
||||
BBCLASSEXTEND:append = " nativesdk"
|
||||
|
||||
RRECOMMENDS:${FIPTOOL_WRAPPER}:append:class-nativesdk = " nativesdk-tf-a-tools"
|
||||
|
||||
# Define default TF-A FIP namings
|
||||
FIP_BASENAME ?= "fip"
|
||||
FIP_SUFFIX ?= "bin"
|
||||
|
||||
# Set default TF-A FIP config
|
||||
FIP_CONFIG ?= ""
|
||||
|
||||
# Default FIP config:
|
||||
# There are two options implemented to select two different firmware and each
|
||||
# FIP_CONFIG should configure one: 'tfa' or 'optee'
|
||||
FIP_CONFIG_FW_TFA = "tfa"
|
||||
FIP_CONFIG_FW_TEE = "optee"
|
||||
|
||||
# Init BL31 config
|
||||
FIP_BL31_ENABLE ?= ""
|
||||
|
||||
# Set CERTTOOL binary name to use
|
||||
CERTTOOL ?= "cert_create"
|
||||
# Set ENCTOOL binary name to use
|
||||
ENCTOOL ?= "encrypt_fw"
|
||||
# Set FIPTOOL binary name to use
|
||||
FIPTOOL ?= "fiptool"
|
||||
# Set STM32MP fiptool wrapper
|
||||
FIPTOOL_WRAPPER ?= "fiptool-stm32mp"
|
||||
|
||||
# Default FIP file names and suffixes
|
||||
FIP_BL31 ?= "tf-a-bl31"
|
||||
FIP_BL31_SUFFIX ?= "bin"
|
||||
FIP_BL31_DTB ?= "bl31"
|
||||
FIP_BL31_DTB_SUFFIX ?= "dtb"
|
||||
FIP_TFA ?= "tf-a-bl32"
|
||||
FIP_TFA_SUFFIX ?= "bin"
|
||||
FIP_TFA_DTB ?= "bl32"
|
||||
FIP_TFA_DTB_SUFFIX ?= "dtb"
|
||||
FIP_FW_CONFIG ?= "fw-config"
|
||||
FIP_FW_CONFIG_SUFFIX ?= "dtb"
|
||||
FIP_FW_DDR ?= "ddr_pmu"
|
||||
FIP_FW_DDR_SUFFIX ?= "bin"
|
||||
FIP_OPTEE_HEADER ?= "tee-header_v2"
|
||||
FIP_OPTEE_PAGER ?= "tee-pager_v2"
|
||||
FIP_OPTEE_PAGEABLE ?= "tee-pageable_v2"
|
||||
FIP_OPTEE_SUFFIX ?= "bin"
|
||||
FIP_UBOOT ?= "u-boot-nodtb"
|
||||
FIP_UBOOT_SUFFIX ?= "bin"
|
||||
FIP_UBOOT_DTB ?= "u-boot"
|
||||
FIP_UBOOT_DTB_SUFFIX ?= "dtb"
|
||||
|
||||
# Configure default folder path for binaries to package
|
||||
FIP_DEPLOYDIR_FIP ?= "${DEPLOYDIR}/fip"
|
||||
FIP_DEPLOYDIR_BL31 ?= "${DEPLOYDIR}/arm-trusted-firmware/bl31"
|
||||
FIP_DEPLOYDIR_TFA ?= "${DEPLOYDIR}/arm-trusted-firmware/bl32"
|
||||
FIP_DEPLOYDIR_FWCONF ?= "${DEPLOYDIR}/arm-trusted-firmware/fwconfig"
|
||||
FIP_DEPLOYDIR_FWDDR ?= "${DEPLOYDIR}/arm-trusted-firmware/ddr"
|
||||
FIP_DEPLOYDIR_OPTEE ?= "${DEPLOY_DIR}/images/${MACHINE}/optee"
|
||||
FIP_DEPLOYDIR_UBOOT ?= "${DEPLOY_DIR}/images/${MACHINE}/u-boot"
|
||||
|
||||
# Set default configuration to allow FIP signing
|
||||
FIP_ENCRYPT_SUFFIX ??= "${@bb.utils.contains('ENCRYPT_ENABLE', '1', '${ENCRYPT_SUFFIX}', '', d)}"
|
||||
FIP_ENCRYPT_NONCE ??= "1234567890abcdef12345678"
|
||||
FIP_SIGN_SUFFIX ??= "${@bb.utils.contains('SIGN_ENABLE', '1', '${SIGN_SUFFIX}', '', d)}"
|
||||
|
||||
# Define FIP dependency build
|
||||
FIP_DEPENDS += "virtual/bootloader"
|
||||
FIP_DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'virtual/optee-os', '', d)}"
|
||||
FIP_DEPENDS:class-nativesdk = ""
|
||||
|
||||
# -----------------------------------------------
|
||||
# Handle FIP config and set internal vars
|
||||
# FIP_BL32_CONF
|
||||
python () {
|
||||
import re
|
||||
|
||||
# Make sure that deploy class is configured
|
||||
if not bb.data.inherits_class('deploy', d):
|
||||
bb.fatal("The st-fip-utils class needs the deploy class to be configured on recipe side.")
|
||||
|
||||
# Manage FIP binary dependencies
|
||||
fip_depends = (d.getVar('FIP_DEPENDS') or "").split()
|
||||
if len(fip_depends) > 0:
|
||||
for depend in fip_depends:
|
||||
d.appendVarFlag('do_deploy', 'depends', ' %s:do_deploy' % depend)
|
||||
|
||||
# Manage FIP config settings
|
||||
fipconfigflags = d.getVarFlags('FIP_CONFIG')
|
||||
if fipconfigflags is not None:
|
||||
# The "doc" varflag is special, we don't want to see it here
|
||||
fipconfigflags.pop('doc', None)
|
||||
fipconfig = (d.getVar('FIP_CONFIG') or "").split()
|
||||
if not fipconfig:
|
||||
raise bb.parse.SkipRecipe("FIP_CONFIG must be set in the %s machine configuration." % d.getVar("MACHINE"))
|
||||
if (d.getVar('FIP_BL32_CONF') or "").split():
|
||||
raise bb.parse.SkipRecipe("You cannot use FIP_BL32_CONF as it is internal to FIP_CONFIG var expansion.")
|
||||
if (d.getVar('FIP_DEVICETREE') or "").split():
|
||||
raise bb.parse.SkipRecipe("You cannot use FIP_DEVICETREE as it is internal to FIP_CONFIG var expansion.")
|
||||
if len(fipconfig) > 0:
|
||||
# Init internal fip firmware config
|
||||
fip_config_fw_tfa = d.getVar('FIP_CONFIG_FW_TFA') or ""
|
||||
fip_config_fw_tee = d.getVar('FIP_CONFIG_FW_TEE') or ""
|
||||
for config in fipconfig:
|
||||
for f, v in fipconfigflags.items():
|
||||
if config == f:
|
||||
# Make sure to get var flag properly expanded
|
||||
v = d.getVarFlag('FIP_CONFIG', config)
|
||||
if not v.strip():
|
||||
bb.fatal('[FIP_CONFIG] Missing configuration for %s config' % config)
|
||||
items = v.split(',')
|
||||
if items[0] and len(items) > 2:
|
||||
raise bb.parse.SkipRecipe('Only <BL32_CONF> and <DT_CONFIG> can be specified!')
|
||||
# Set internal vars
|
||||
if items[0] == fip_config_fw_tfa or items[0] == fip_config_fw_tee:
|
||||
bb.debug(1, "Appending '%s' to FIP_BL32_CONF" % items[0])
|
||||
d.appendVar('FIP_BL32_CONF', items[0] + ',')
|
||||
else:
|
||||
bb.fatal('[FIP_CONFIG] Wrong configuration for %s config: %s should be one of %s or %s' % (config,items[0],fip_config_fw_tfa,fip_config_fw_tee))
|
||||
bb.debug(1, "Appending '%s' to FIP_DEVICETREE" % items[1])
|
||||
d.appendVar('FIP_DEVICETREE', items[1] + ',')
|
||||
break
|
||||
}
|
||||
|
||||
# Deploy the fip binary for current target
|
||||
do_deploy:append:class-target() {
|
||||
install -d ${DEPLOYDIR}
|
||||
install -d ${FIP_DEPLOYDIR_FIP}
|
||||
|
||||
unset i
|
||||
for config in ${FIP_CONFIG}; do
|
||||
i=$(expr $i + 1)
|
||||
bl32_conf=$(echo ${FIP_BL32_CONF} | cut -d',' -f${i})
|
||||
dt_config=$(echo ${FIP_DEVICETREE} | cut -d',' -f${i})
|
||||
for dt in ${dt_config}; do
|
||||
# Init soc suffix
|
||||
soc_suffix=""
|
||||
if [ -n "${STM32MP_SOC_NAME}" ]; then
|
||||
for soc in ${STM32MP_SOC_NAME}; do
|
||||
[ "$(echo ${dt} | grep -c ${soc})" -eq 1 ] && soc_suffix="-${soc}"
|
||||
done
|
||||
fi
|
||||
# Init FIP fw-config settings
|
||||
[ -f "${FIP_DEPLOYDIR_FWCONF}/${dt}-${FIP_FW_CONFIG}-${config}.${FIP_FW_CONFIG_SUFFIX}" ] || bbfatal "Missing ${dt}-${FIP_FW_CONFIG}-${config}.${FIP_FW_CONFIG_SUFFIX} file in folder: ${FIP_DEPLOYDIR_FWCONF}"
|
||||
FIP_FWCONFIG="--fw-config ${FIP_DEPLOYDIR_FWCONF}/${dt}-${FIP_FW_CONFIG}-${config}.${FIP_FW_CONFIG_SUFFIX}"
|
||||
# Init FIP hw-config settings
|
||||
[ -f "${FIP_DEPLOYDIR_UBOOT}/${FIP_UBOOT_DTB}-${dt}.${FIP_UBOOT_DTB_SUFFIX}" ] || bbfatal "Missing ${FIP_UBOOT_DTB}-${dt}.${FIP_UBOOT_DTB_SUFFIX} file in folder: ${FIP_DEPLOYDIR_UBOOT}"
|
||||
FIP_HWCONFIG="--hw-config ${FIP_DEPLOYDIR_UBOOT}/${FIP_UBOOT_DTB}-${dt}.${FIP_UBOOT_DTB_SUFFIX}"
|
||||
# Init FIP nt-fw config
|
||||
[ -f "${FIP_DEPLOYDIR_UBOOT}/${FIP_UBOOT}${soc_suffix}.${FIP_UBOOT_SUFFIX}" ] || bbfatal "Missing ${FIP_UBOOT}${soc_suffix}.${FIP_UBOOT_SUFFIX} file in folder: ${FIP_DEPLOYDIR_UBOOT}"
|
||||
FIP_NTFW="--nt-fw ${FIP_DEPLOYDIR_UBOOT}/${FIP_UBOOT}${soc_suffix}.${FIP_UBOOT_SUFFIX}"
|
||||
# Init FIP bl31 settings
|
||||
if [ "${FIP_BL31_ENABLE}" = "1" ]; then
|
||||
# Check for files
|
||||
[ -f "${FIP_DEPLOYDIR_BL31}/${FIP_BL31}${soc_suffix}.${FIP_BL31_SUFFIX}" ] || bbfatal "Missing ${FIP_BL31}${soc_suffix}.${FIP_BL31_SUFFIX} file in folder: ${FIP_DEPLOYDIR_BL31}"
|
||||
[ -f "${FIP_DEPLOYDIR_BL31}/${dt}-${FIP_BL31_DTB}.${FIP_BL31_DTB_SUFFIX}" ] || bbfatal "Missing ${dt}-${FIP_BL31_DTB}.${FIP_BL31_DTB_SUFFIX} file in folder: ${FIP_DEPLOYDIR_BL31}"
|
||||
# Set CERT_BL31CONF
|
||||
CERT_BL31CONF=" \
|
||||
--soc-fw ${FIP_DEPLOYDIR_BL31}/${FIP_BL31}${soc_suffix}.${FIP_BL31_SUFFIX} \
|
||||
--soc-fw-config ${FIP_DEPLOYDIR_BL31}/${dt}-${FIP_BL31_DTB}.${FIP_BL31_DTB_SUFFIX} \
|
||||
"
|
||||
if [ "${ENCRYPT_ENABLE}" = "1" ]; then
|
||||
encrypt_key="${ENCRYPT_FIP_KEY_PATH_LIST}"
|
||||
if [ -n "${STM32MP_ENCRYPT_SOC_NAME}" ]; then
|
||||
unset k
|
||||
for soc in ${STM32MP_ENCRYPT_SOC_NAME}; do
|
||||
k=$(expr $k + 1)
|
||||
[ "$(echo ${dt} | grep -c ${soc})" -eq 1 ] && encrypt_key=$(echo ${ENCRYPT_FIP_KEY_PATH_LIST} | cut -d',' -f${k})
|
||||
done
|
||||
fi
|
||||
encrypt_key="$(hexdump -e '/1 "%02x"' ${encrypt_key})"
|
||||
|
||||
# encrypt bl31 binary
|
||||
bbnote "${ENCTOOL} --key ${encrypt_key} --nonce ${FIP_ENCRYPT_NONCE} --fw-enc-status 0 \
|
||||
--in \"${FIP_DEPLOYDIR_BL31}/${FIP_BL31}${soc_suffix}.${FIP_BL31_SUFFIX}\" \
|
||||
--out \"${FIP_DEPLOYDIR_BL31}/${FIP_BL31}${soc_suffix}${FIP_ENCRYPT_SUFFIX}.${FIP_BL31_SUFFIX}\" "
|
||||
${ENCTOOL} --key ${encrypt_key} --nonce ${FIP_ENCRYPT_NONCE} --fw-enc-status 0 \
|
||||
--in "${FIP_DEPLOYDIR_BL31}/${FIP_BL31}${soc_suffix}.${FIP_BL31_SUFFIX}" \
|
||||
--out "${FIP_DEPLOYDIR_BL31}/${FIP_BL31}${soc_suffix}${FIP_ENCRYPT_SUFFIX}.${FIP_BL31_SUFFIX}"
|
||||
# encrypt bl31 devicetree
|
||||
bbnote "${ENCTOOL} --key ${encrypt_key} --nonce ${FIP_ENCRYPT_NONCE} --fw-enc-status 0 \
|
||||
--in \"${FIP_DEPLOYDIR_BL31}/${dt}-${FIP_BL31_DTB}.${FIP_BL31_DTB_SUFFIX}\" \
|
||||
--out \"${FIP_DEPLOYDIR_BL31}/${dt}-${FIP_BL31_DTB}${FIP_ENCRYPT_SUFFIX}.${FIP_BL31_DTB_SUFFIX} \" "
|
||||
${ENCTOOL} --key ${encrypt_key} --nonce ${FIP_ENCRYPT_NONCE} --fw-enc-status 0 \
|
||||
--in "${FIP_DEPLOYDIR_BL31}/${dt}-${FIP_BL31_DTB}.${FIP_BL31_DTB_SUFFIX}" \
|
||||
--out "${FIP_DEPLOYDIR_BL31}/${dt}-${FIP_BL31_DTB}${FIP_ENCRYPT_SUFFIX}.${FIP_BL31_DTB_SUFFIX}"
|
||||
fi
|
||||
# Set FIP_BL31CONF
|
||||
FIP_BL31CONF="\
|
||||
--soc-fw ${FIP_DEPLOYDIR_BL31}/${FIP_BL31}${soc_suffix}${FIP_ENCRYPT_SUFFIX}.${FIP_BL31_SUFFIX} \
|
||||
--soc-fw-config ${FIP_DEPLOYDIR_BL31}/${dt}-${FIP_BL31_DTB}${FIP_ENCRYPT_SUFFIX}.${FIP_BL31_DTB_SUFFIX} \
|
||||
"
|
||||
else
|
||||
CERT_BL31CONF=""
|
||||
FIP_BL31CONF=""
|
||||
fi
|
||||
# Init FIP extra conf settings
|
||||
if [ "${bl32_conf}" = "${FIP_CONFIG_FW_TFA}" ]; then
|
||||
# Check for files
|
||||
[ -f "${FIP_DEPLOYDIR_TFA}/${FIP_TFA}${soc_suffix}.${FIP_TFA_SUFFIX}" ] || bbfatal "Missing ${FIP_TFA}${soc_suffix}.${FIP_TFA_SUFFIX} file in folder: ${FIP_DEPLOYDIR_TFA}"
|
||||
[ -f "${FIP_DEPLOYDIR_TFA}/${dt}-${FIP_TFA_DTB}.${FIP_TFA_DTB_SUFFIX}" ] || bbfatal "Missing ${dt}-${FIP_TFA_DTB}.${FIP_TFA_DTB_SUFFIX} file in folder: ${FIP_DEPLOYDIR_TFA}"
|
||||
# Set FIP_EXTRACONF
|
||||
FIP_EXTRACONF="\
|
||||
--tos-fw ${FIP_DEPLOYDIR_TFA}/${FIP_TFA}${soc_suffix}.${FIP_TFA_SUFFIX} \
|
||||
--tos-fw-config ${FIP_DEPLOYDIR_TFA}/${dt}-${FIP_TFA_DTB}.${FIP_TFA_DTB_SUFFIX} \
|
||||
"
|
||||
elif [ "${bl32_conf}" = "${FIP_CONFIG_FW_TEE}" ]; then
|
||||
# Check for files
|
||||
[ -f "${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_HEADER}-${dt}.${FIP_OPTEE_SUFFIX}" ] || bbfatal "Missing ${FIP_OPTEE_HEADER}-${dt}.${FIP_OPTEE_SUFFIX} file in folder: ${FIP_DEPLOYDIR_OPTEE}"
|
||||
[ -f "${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGER}-${dt}.${FIP_OPTEE_SUFFIX}" ] || bbfatal "Missing ${FIP_OPTEE_PAGER}-${dt}.${FIP_OPTEE_SUFFIX} file in folder: ${FIP_DEPLOYDIR_OPTEE}"
|
||||
[ -f "${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGEABLE}-${dt}.${FIP_OPTEE_SUFFIX}" ] || bbfatal "Missing ${FIP_OPTEE_PAGEABLE}-${dt}.${FIP_OPTEE_SUFFIX} file in folder: ${FIP_DEPLOYDIR_OPTEE}"
|
||||
# Set CERT_EXTRACONF
|
||||
CERT_EXTRACONF="\
|
||||
--tos-fw ${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_HEADER}-${dt}.${FIP_OPTEE_SUFFIX} \
|
||||
--tos-fw-extra1 ${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGER}-${dt}.${FIP_OPTEE_SUFFIX} \
|
||||
--tos-fw-extra2 ${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGEABLE}-${dt}.${FIP_OPTEE_SUFFIX} \
|
||||
"
|
||||
if [ "${ENCRYPT_ENABLE}" = "1" ]; then
|
||||
encrypt_key="${ENCRYPT_FIP_KEY_PATH_LIST}"
|
||||
if [ -n "${STM32MP_ENCRYPT_SOC_NAME}" ]; then
|
||||
unset k
|
||||
for soc in ${STM32MP_ENCRYPT_SOC_NAME}; do
|
||||
k=$(expr $k + 1)
|
||||
[ "$(echo ${dt} | grep -c ${soc})" -eq 1 ] && encrypt_key=$(echo ${ENCRYPT_FIP_KEY_PATH_LIST} | cut -d',' -f${k})
|
||||
done
|
||||
fi
|
||||
encrypt_key="$(hexdump -e '/1 "%02x"' ${encrypt_key})"
|
||||
# encrypt optee header
|
||||
bbnote "${ENCTOOL} --key ${encrypt_key} --nonce ${FIP_ENCRYPT_NONCE} --fw-enc-status 0 \
|
||||
--in \"${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_HEADER}-${dt}.${FIP_OPTEE_SUFFIX}\" \
|
||||
--out \"${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_HEADER}-${dt}${FIP_ENCRYPT_SUFFIX}.${FIP_OPTEE_SUFFIX}\" "
|
||||
${ENCTOOL} --key ${encrypt_key} --nonce ${FIP_ENCRYPT_NONCE} --fw-enc-status 0 \
|
||||
--in "${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_HEADER}-${dt}.${FIP_OPTEE_SUFFIX}" \
|
||||
--out "${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_HEADER}-${dt}${FIP_ENCRYPT_SUFFIX}.${FIP_OPTEE_SUFFIX}"
|
||||
# encrypt optee pager
|
||||
bbnote "${ENCTOOL} --key ${encrypt_key} --nonce ${FIP_ENCRYPT_NONCE} --fw-enc-status 0 \
|
||||
--in \"${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGER}-${dt}.${FIP_OPTEE_SUFFIX}\" \
|
||||
--out \"${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGER}-${dt}${FIP_ENCRYPT_SUFFIX}.${FIP_OPTEE_SUFFIX}\" "
|
||||
${ENCTOOL} --key ${encrypt_key} --nonce ${FIP_ENCRYPT_NONCE} --fw-enc-status 0 \
|
||||
--in "${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGER}-${dt}.${FIP_OPTEE_SUFFIX}" \
|
||||
--out "${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGER}-${dt}${FIP_ENCRYPT_SUFFIX}.${FIP_OPTEE_SUFFIX}"
|
||||
# encrypt optee pageable
|
||||
bbnote "${ENCTOOL} --key ${encrypt_key} --nonce ${FIP_ENCRYPT_NONCE} --fw-enc-status 0 \
|
||||
--in \"${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGEABLE}-${dt}.${FIP_OPTEE_SUFFIX}\" \
|
||||
--out \"${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGEABLE}-${dt}${FIP_ENCRYPT_SUFFIX}.${FIP_OPTEE_SUFFIX}\" "
|
||||
${ENCTOOL} --key ${encrypt_key} --nonce ${FIP_ENCRYPT_NONCE} --fw-enc-status 0 \
|
||||
--in "${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGEABLE}-${dt}.${FIP_OPTEE_SUFFIX}" \
|
||||
--out "${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGEABLE}-${dt}${FIP_ENCRYPT_SUFFIX}.${FIP_OPTEE_SUFFIX}"
|
||||
fi
|
||||
# Set FIP_EXTRACONF
|
||||
FIP_EXTRACONF="\
|
||||
--tos-fw ${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_HEADER}-${dt}${FIP_ENCRYPT_SUFFIX}.${FIP_OPTEE_SUFFIX} \
|
||||
--tos-fw-extra1 ${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGER}-${dt}${FIP_ENCRYPT_SUFFIX}.${FIP_OPTEE_SUFFIX} \
|
||||
--tos-fw-extra2 ${FIP_DEPLOYDIR_OPTEE}/${FIP_OPTEE_PAGEABLE}-${dt}${FIP_ENCRYPT_SUFFIX}.${FIP_OPTEE_SUFFIX} \
|
||||
"
|
||||
else
|
||||
bbfatal "Wrong configuration '${bl32_conf}' found in FIP_CONFIG for ${config} config."
|
||||
fi
|
||||
# Init FIP DDR config settings
|
||||
if [ -f "${FIP_DEPLOYDIR_FWDDR}/${FIP_FW_DDR}-${dt}.${FIP_FW_DDR_SUFFIX}" ]; then
|
||||
FIP_DDRCONF="--ddr-fw ${FIP_DEPLOYDIR_FWDDR}/${FIP_FW_DDR}-${dt}.${FIP_FW_DDR_SUFFIX}"
|
||||
CERT_DDRCONF="--ddr-fw ${FIP_DEPLOYDIR_FWDDR}/${FIP_FW_DDR}-${dt}.${FIP_FW_DDR_SUFFIX}"
|
||||
else
|
||||
FIP_DDRCONF=""
|
||||
CERT_DDRCONF=""
|
||||
fi
|
||||
# Init certificate settings
|
||||
if [ "${SIGN_ENABLE}" = "1" ]; then
|
||||
sign_key="${SIGN_KEY_PATH_LIST}"
|
||||
if [ $(echo ${SIGN_KEY_PASS} | wc -w) -gt 1 ]; then
|
||||
sign_single_key_pass=$(echo ${SIGN_KEY_PASS} | cut -d' ' -f1)
|
||||
else
|
||||
sign_single_key_pass="${SIGN_KEY_PASS}"
|
||||
fi
|
||||
if [ -n "${STM32MP_SOC_NAME}" ]; then
|
||||
unset k
|
||||
for soc in ${STM32MP_SOC_NAME}; do
|
||||
k=$(expr $k + 1)
|
||||
[ "$(echo ${dt} | grep -c ${soc})" -eq 1 ] && sign_key=$(echo ${SIGN_KEY_PATH_LIST} | cut -d',' -f${k})
|
||||
done
|
||||
fi
|
||||
mkdir -p ${B}/${config}-${dt}
|
||||
FIP_CERTCONF="\
|
||||
--tb-fw-cert ${B}/${config}-${dt}/tb_fw.crt \
|
||||
--trusted-key-cert ${B}/${config}-${dt}/trusted_key.crt \
|
||||
--nt-fw-cert ${B}/${config}-${dt}/nt_fw_content.crt \
|
||||
--nt-fw-key-cert ${B}/${config}-${dt}/nt_fw_key.crt \
|
||||
--tos-fw-cert ${B}/${config}-${dt}/tos_fw_content.crt \
|
||||
--tos-fw-key-cert ${B}/${config}-${dt}/tos_fw_key.crt \
|
||||
--stm32mp-cfg-cert ${B}/${config}-${dt}/stm32mp_cfg_cert.crt \
|
||||
"
|
||||
if [ "${FIP_BL31_ENABLE}" = "1" ]; then
|
||||
FIP_CERTCONF="${FIP_CERTCONF} \
|
||||
--soc-fw-cert ${B}/${config}-${dt}/soc_fw_content.crt \
|
||||
--soc-fw-key-cert ${B}/${config}-${dt}/soc_fw_key.crt \
|
||||
"
|
||||
fi
|
||||
# Need fake bl2 binary to generate certificates
|
||||
touch ${WORKDIR}/bl2-fake.bin
|
||||
# Generate certificates
|
||||
bbnote "${CERTTOOL} -n --tfw-nvctr 0 --ntfw-nvctr 0 --key-alg ecdsa --hash-alg sha256 \
|
||||
--rot-key ${sign_key} \
|
||||
--rot-key-pwd $sign_single_key_pass \
|
||||
${FIP_FWCONFIG} \
|
||||
${FIP_HWCONFIG} \
|
||||
${FIP_NTFW} \
|
||||
${FIP_CERTCONF} \
|
||||
${CERT_EXTRACONF} \
|
||||
${CERT_DDRCONF} \
|
||||
${CERT_BL31CONF} \
|
||||
--tb-fw ${WORKDIR}/bl2-fake.bin"
|
||||
${CERTTOOL} -n --tfw-nvctr 0 --ntfw-nvctr 0 --key-alg ecdsa --hash-alg sha256 \
|
||||
--rot-key ${sign_key} \
|
||||
--rot-key-pwd $sign_single_key_pass \
|
||||
${FIP_FWCONFIG} \
|
||||
${FIP_HWCONFIG} \
|
||||
${FIP_NTFW} \
|
||||
${FIP_CERTCONF} \
|
||||
${CERT_EXTRACONF} \
|
||||
${CERT_DDRCONF} \
|
||||
${CERT_BL31CONF} \
|
||||
--tb-fw ${WORKDIR}/bl2-fake.bin
|
||||
# Remove fake bl2 binary
|
||||
rm -f ${WORKDIR}/bl2-fake.bin
|
||||
|
||||
# Init FIP DDR cert settings
|
||||
FIP_DDRCERTCONF="--stm32mp-cfg-cert ${B}/${config}-${dt}/stm32mp_cfg_cert_ddr.crt"
|
||||
# Generate FIP DDR certificates
|
||||
if [ -f "${FIP_DEPLOYDIR_FWDDR}/${FIP_FW_DDR}-${dt}.${FIP_FW_DDR_SUFFIX}" ]; then
|
||||
bbnote "${CERTTOOL} -n --tfw-nvctr 0 \
|
||||
--rot-key ${sign_key} \
|
||||
--rot-key-pwd $sign_single_key_pass \
|
||||
${FIP_DDRCERTCONF} \
|
||||
${CERT_DDRCONF}"
|
||||
${CERTTOOL} -n --tfw-nvctr 0 \
|
||||
--rot-key ${sign_key} \
|
||||
--rot-key-pwd $sign_single_key_pass \
|
||||
${FIP_DDRCERTCONF} \
|
||||
${CERT_DDRCONF}
|
||||
fi
|
||||
else
|
||||
FIP_CERTCONF=""
|
||||
FIP_DDRCERTCONF=""
|
||||
fi
|
||||
# Generate FIP binary
|
||||
bbnote "${FIPTOOL} create \
|
||||
${FIP_FWCONFIG} \
|
||||
${FIP_HWCONFIG} \
|
||||
${FIP_NTFW} \
|
||||
${FIP_BL31CONF} \
|
||||
${FIP_EXTRACONF} \
|
||||
${FIP_DDRCONF} \
|
||||
${FIP_CERTCONF} \
|
||||
${FIP_DEPLOYDIR_FIP}/${FIP_BASENAME}-${dt}-${config}${FIP_ENCRYPT_SUFFIX}${FIP_SIGN_SUFFIX}.${FIP_SUFFIX}"
|
||||
${FIPTOOL} create \
|
||||
${FIP_FWCONFIG} \
|
||||
${FIP_HWCONFIG} \
|
||||
${FIP_NTFW} \
|
||||
${FIP_BL31CONF} \
|
||||
${FIP_EXTRACONF} \
|
||||
${FIP_DDRCONF} \
|
||||
${FIP_CERTCONF} \
|
||||
${FIP_DEPLOYDIR_FIP}/${FIP_BASENAME}-${dt}-${config}${FIP_ENCRYPT_SUFFIX}${FIP_SIGN_SUFFIX}.${FIP_SUFFIX}
|
||||
# Generate FIP DDR binary
|
||||
if [ -f "${FIP_DEPLOYDIR_FWDDR}/${FIP_FW_DDR}-${dt}.${FIP_FW_DDR_SUFFIX}" ]; then
|
||||
bbnote "${FIPTOOL} create \
|
||||
${FIP_DDRCERTCONF} \
|
||||
${FIP_DDRCONF} \
|
||||
${FIP_DEPLOYDIR_FIP}/${FIP_BASENAME}-${dt}-ddr${FIP_ENCRYPT_SUFFIX}${FIP_SIGN_SUFFIX}.${FIP_SUFFIX}"
|
||||
${FIPTOOL} create \
|
||||
${FIP_DDRCERTCONF} \
|
||||
${FIP_DDRCONF} \
|
||||
${FIP_DEPLOYDIR_FIP}/${FIP_BASENAME}-${dt}-ddr${FIP_ENCRYPT_SUFFIX}${FIP_SIGN_SUFFIX}.${FIP_SUFFIX}
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
# Stub do_compile for nativesdk use case as we only expect to provide FIPTOOL_WRAPPER
|
||||
do_compile:class-nativesdk() {
|
||||
return
|
||||
}
|
||||
|
||||
do_install:class-nativesdk() {
|
||||
# Create the FIPTOOL_WRAPPER script to use on sdk side
|
||||
cat << EOF > ${WORKDIR}/${FIPTOOL_WRAPPER}
|
||||
#!/bin/bash -
|
||||
function bbfatal() { echo "\$*" ; exit 1 ; }
|
||||
|
||||
# Set default TF-A FIP config
|
||||
FIP_CONFIG="\${FIP_CONFIG:-${FIP_CONFIG}}"
|
||||
FIP_BL31_ENABLE="\${FIP_BL31_ENABLE:-${FIP_BL31_ENABLE}}"
|
||||
FIP_BL32_CONF=""
|
||||
FIP_DEVICETREE="\${FIP_DEVICETREE:-}"
|
||||
|
||||
# Set default supported configuration for devicetree and bl32 configuration
|
||||
declare -A FIP_BL32_CONF_ARRAY
|
||||
declare -A FIP_DEVICETREE_ARRAY
|
||||
EOF
|
||||
for config in ${FIP_CONFIG}; do
|
||||
i=$(expr $i + 1)
|
||||
cat << EOF >> ${WORKDIR}/${FIPTOOL_WRAPPER}
|
||||
FIP_BL32_CONF_ARRAY[${config}]="$(echo ${FIP_BL32_CONF} | cut -d',' -f${i})"
|
||||
FIP_DEVICETREE_ARRAY[${config}]="$(echo ${FIP_DEVICETREE} | cut -d',' -f${i})"
|
||||
EOF
|
||||
done
|
||||
unset i
|
||||
cat << EOF >> ${WORKDIR}/${FIPTOOL_WRAPPER}
|
||||
|
||||
# Make sure about FIP_CONFIG value
|
||||
if [ -z "\$FIP_CONFIG" ]; then
|
||||
bbfatal "Wrong configuration 'FIP_CONFIG' is empty."
|
||||
else
|
||||
# Check that configuration match any of the supported ones
|
||||
for config in \$FIP_CONFIG; do
|
||||
CONFIG_FOUND=NO
|
||||
for fip_config in ${FIP_CONFIG}; do
|
||||
[ "\${config}" = "\${fip_config}" ] && { CONFIG_FOUND="YES" ; break; }
|
||||
done
|
||||
[ "\${CONFIG_FOUND}" = "NO" ] && bbfatal "Wrong 'FIP_CONFIG' configuration : \${config} is not one of the supported one (${FIP_CONFIG})"
|
||||
done
|
||||
fi
|
||||
# Manage FIP_BL32_CONF default init
|
||||
if [ -z "\$FIP_BL32_CONF" ]; then
|
||||
# Assigned default supported value
|
||||
for config in \$FIP_CONFIG; do
|
||||
FIP_BL32_CONF+="\${FIP_BL32_CONF_ARRAY[\${config}]},"
|
||||
done
|
||||
fi
|
||||
# Manage FIP_DEVICETREE default init
|
||||
if [ -z "\$FIP_DEVICETREE" ]; then
|
||||
# Assigned default supported value
|
||||
for config in \$FIP_CONFIG; do
|
||||
FIP_DEVICETREE+="\${FIP_DEVICETREE_ARRAY[\${config}]},"
|
||||
done
|
||||
fi
|
||||
|
||||
# Configure default folder path for binaries to package
|
||||
FIP_DEPLOYDIR_ROOT="\${FIP_DEPLOYDIR_ROOT:-}"
|
||||
FIP_DEPLOYDIR_FIP="\${FIP_DEPLOYDIR_FIP:-\$FIP_DEPLOYDIR_ROOT/fip}"
|
||||
FIP_DEPLOYDIR_TFA="\${FIP_DEPLOYDIR_TFA:-\$FIP_DEPLOYDIR_ROOT/arm-trusted-firmware/bl32}"
|
||||
FIP_DEPLOYDIR_BL31="\${FIP_DEPLOYDIR_BL31:-\$FIP_DEPLOYDIR_ROOT/arm-trusted-firmware/bl31}"
|
||||
FIP_DEPLOYDIR_FWDDR="\${FIP_DEPLOYDIR_FWDDR:-\$FIP_DEPLOYDIR_ROOT/arm-trusted-firmware/ddr}"
|
||||
FIP_DEPLOYDIR_FWCONF="\${FIP_DEPLOYDIR_FWCONF:-\$FIP_DEPLOYDIR_ROOT/arm-trusted-firmware/fwconfig}"
|
||||
FIP_DEPLOYDIR_OPTEE="\${FIP_DEPLOYDIR_OPTEE:-\$FIP_DEPLOYDIR_ROOT/optee}"
|
||||
FIP_DEPLOYDIR_UBOOT="\${FIP_DEPLOYDIR_UBOOT:-\$FIP_DEPLOYDIR_ROOT/u-boot}"
|
||||
|
||||
echo ""
|
||||
echo "${FIPTOOL_WRAPPER} config:"
|
||||
for config in \$FIP_CONFIG; do
|
||||
i=\$(expr \$i + 1)
|
||||
bl32_conf=\$(echo \$FIP_BL32_CONF | cut -d',' -f\$i)
|
||||
dt_config=\$(echo \$FIP_DEVICETREE | cut -d',' -f\$i)
|
||||
echo " \${config}:" ; \\
|
||||
echo " bl32 config value: \${bl32_conf}"
|
||||
echo " devicetree config: \${dt_config}"
|
||||
done
|
||||
echo ""
|
||||
echo "Switch configuration:"
|
||||
echo " FIP_BL31_ENABLE : \$FIP_BL31_ENABLE"
|
||||
echo ""
|
||||
echo "Output folders:"
|
||||
echo " FIP_DEPLOYDIR_ROOT : \$FIP_DEPLOYDIR_ROOT"
|
||||
echo " FIP_DEPLOYDIR_FIP : \$FIP_DEPLOYDIR_FIP"
|
||||
echo " FIP_DEPLOYDIR_TFA : \$FIP_DEPLOYDIR_TFA"
|
||||
echo " FIP_DEPLOYDIR_BL31 : \$FIP_DEPLOYDIR_BL31"
|
||||
echo " FIP_DEPLOYDIR_FWCONF: \$FIP_DEPLOYDIR_FWCONF"
|
||||
echo " FIP_DEPLOYDIR_OPTEE : \$FIP_DEPLOYDIR_OPTEE"
|
||||
echo " FIP_DEPLOYDIR_UBOOT : \$FIP_DEPLOYDIR_UBOOT"
|
||||
echo ""
|
||||
unset i
|
||||
for config in \$FIP_CONFIG; do
|
||||
i=\$(expr \$i + 1)
|
||||
bl32_conf=\$(echo \$FIP_BL32_CONF | cut -d',' -f\$i)
|
||||
dt_config=\$(echo \$FIP_DEVICETREE | cut -d',' -f\$i)
|
||||
for dt in \${dt_config}; do
|
||||
# Init soc suffix
|
||||
soc_suffix=""
|
||||
if [ -n "${STM32MP_SOC_NAME}" ]; then
|
||||
for soc in ${STM32MP_SOC_NAME}; do
|
||||
[ "\$(echo \${dt} | grep -c \${soc})" -eq 1 ] && soc_suffix="-\${soc}"
|
||||
done
|
||||
fi
|
||||
# Init FIP fw-config settings
|
||||
[ -f "\$FIP_DEPLOYDIR_FWCONF/\${dt}-${FIP_FW_CONFIG}-\${config}.${FIP_FW_CONFIG_SUFFIX}" ] || bbfatal "Missing \${dt}-${FIP_FW_CONFIG}-\${config}.${FIP_FW_CONFIG_SUFFIX} file in folder: \\\$FIP_DEPLOYDIR_FWCONF or '\\\$FIP_DEPLOYDIR_ROOT/arm-trusted-firmware/fwconfig'"
|
||||
FIP_FWCONFIG="--fw-config \$FIP_DEPLOYDIR_FWCONF/\${dt}-${FIP_FW_CONFIG}-\${config}.${FIP_FW_CONFIG_SUFFIX}"
|
||||
# Init FIP hw-config settings
|
||||
[ -f "\$FIP_DEPLOYDIR_UBOOT/${FIP_UBOOT_DTB}-\${dt}.${FIP_UBOOT_DTB_SUFFIX}" ] || bbfatal "Missing ${FIP_UBOOT_DTB}-\${dt}.${FIP_UBOOT_DTB_SUFFIX} file in folder: '\\\$FIP_DEPLOYDIR_UBOOT' or '\\\$FIP_DEPLOYDIR_ROOT/u-boot'"
|
||||
FIP_HWCONFIG="--hw-config \$FIP_DEPLOYDIR_UBOOT/${FIP_UBOOT_DTB}-\${dt}.${FIP_UBOOT_DTB_SUFFIX}"
|
||||
# Init FIP nt-fw config
|
||||
[ -f "\$FIP_DEPLOYDIR_UBOOT/${FIP_UBOOT}\${soc_suffix}.${FIP_UBOOT_SUFFIX}" ] || bbfatal "Missing ${FIP_UBOOT}\${soc_suffix}.${FIP_UBOOT_SUFFIX} file in folder: '\\\$FIP_DEPLOYDIR_UBOOT' or '\\\$FIP_DEPLOYDIR_ROOT/u-boot'"
|
||||
FIP_NTFW="--nt-fw \$FIP_DEPLOYDIR_UBOOT/${FIP_UBOOT}\${soc_suffix}.${FIP_UBOOT_SUFFIX}"
|
||||
# Init FIP bl31 settings
|
||||
if [ "\$FIP_BL31_ENABLE" = "1" ]; then
|
||||
# Check for files
|
||||
[ -f "\$FIP_DEPLOYDIR_BL31/${FIP_BL31}\${soc_suffix}.${FIP_BL31_SUFFIX}" ] || bbfatal "Missing \$FIP_DEPLOYDIR_BL31/${FIP_BL31}\${soc_suffix}.${FIP_BL31_SUFFIX} file in folder: '\\\$FIP_DEPLOYDIR_BL31' or '\\\$FIP_DEPLOYDIR_ROOT/arm-trusted-firmware/bl31'"
|
||||
[ -f "\$FIP_DEPLOYDIR_BL31/\${dt}-${FIP_BL31_DTB}.${FIP_BL31_DTB_SUFFIX}" ] || bbfatal "Missing \${dt}-${FIP_BL31_DTB}.${FIP_BL31_DTB_SUFFIX} file in folder: '\\\$FIP_DEPLOYDIR_BL31' or '\\\$FIP_DEPLOYDIR_ROOT/arm-trusted-firmware/bl31'"
|
||||
# Set FIP_BL31CONF
|
||||
FIP_BL31CONF="\\
|
||||
--soc-fw \$FIP_DEPLOYDIR_BL31/${FIP_BL31}\${soc_suffix}.${FIP_BL31_SUFFIX} \\
|
||||
--soc-fw-config \$FIP_DEPLOYDIR_BL31/\${dt}-${FIP_BL31_DTB}.${FIP_BL31_DTB_SUFFIX} \\
|
||||
"
|
||||
else
|
||||
FIP_BL31CONF=""
|
||||
fi
|
||||
# Init FIP extra conf settings
|
||||
if [ "\${bl32_conf}" = "${FIP_CONFIG_FW_TFA}" ]; then
|
||||
# Check for files
|
||||
[ -f "\$FIP_DEPLOYDIR_TFA/${FIP_TFA}\${soc_suffix}.${FIP_TFA_SUFFIX}" ] || bbfatal "Missing ${FIP_TFA}\${soc_suffix}.${FIP_TFA_SUFFIX} file in folder: '\\\$FIP_DEPLOYDIR_TFA' or '\\\$FIP_DEPLOYDIR_ROOT/arm-trusted-firmware/bl32'"
|
||||
[ -f "\$FIP_DEPLOYDIR_TFA/\${dt}-${FIP_TFA_DTB}.${FIP_TFA_DTB_SUFFIX}" ] || bbfatal "Missing \${dt}-${FIP_TFA_DTB}.${FIP_TFA_DTB_SUFFIX} file in folder: '\\\$FIP_DEPLOYDIR_TFA' or '\\\$FIP_DEPLOYDIR_ROOT/arm-trusted-firmware/bl32'"
|
||||
# Set FIP_EXTRACONF
|
||||
FIP_EXTRACONF="\\
|
||||
--tos-fw \$FIP_DEPLOYDIR_TFA/${FIP_TFA}\${soc_suffix}.${FIP_TFA_SUFFIX} \\
|
||||
--tos-fw-config \$FIP_DEPLOYDIR_TFA/\${dt}-${FIP_TFA_DTB}.${FIP_TFA_DTB_SUFFIX} \\
|
||||
"
|
||||
elif [ "\${bl32_conf}" = "${FIP_CONFIG_FW_TEE}" ]; then
|
||||
# Check for files
|
||||
[ -f "\$FIP_DEPLOYDIR_OPTEE/${FIP_OPTEE_HEADER}-\${dt}.${FIP_OPTEE_SUFFIX}" ] || bbfatal "Missing ${FIP_OPTEE_HEADER}-\${dt}.${FIP_OPTEE_SUFFIX} file in folder: '\\\$FIP_DEPLOYDIR_OPTEE' or '\\\$FIP_DEPLOYDIR_ROOT/optee'"
|
||||
[ -f "\$FIP_DEPLOYDIR_OPTEE/${FIP_OPTEE_PAGER}-\${dt}.${FIP_OPTEE_SUFFIX}" ] || bbfatal "Missing ${FIP_OPTEE_PAGER}-\${dt}.${FIP_OPTEE_SUFFIX} file in folder: '\\\$FIP_DEPLOYDIR_OPTEE' or '\\\$FIP_DEPLOYDIR_ROOT/optee'"
|
||||
[ -f "\$FIP_DEPLOYDIR_OPTEE/${FIP_OPTEE_PAGEABLE}-\${dt}.${FIP_OPTEE_SUFFIX}" ] || bbfatal "Missing ${FIP_OPTEE_PAGEABLE}-\${dt}.${FIP_OPTEE_SUFFIX} file in folder: '\\\$FIP_DEPLOYDIR_OPTEE' or '\\\$FIP_DEPLOYDIR_ROOT/optee'"
|
||||
# Set FIP_EXTRACONF
|
||||
FIP_EXTRACONF="\\
|
||||
--tos-fw \$FIP_DEPLOYDIR_OPTEE/${FIP_OPTEE_HEADER}-\${dt}.${FIP_OPTEE_SUFFIX} \\
|
||||
--tos-fw-extra1 \$FIP_DEPLOYDIR_OPTEE/${FIP_OPTEE_PAGER}-\${dt}.${FIP_OPTEE_SUFFIX} \\
|
||||
--tos-fw-extra2 \$FIP_DEPLOYDIR_OPTEE/${FIP_OPTEE_PAGEABLE}-\${dt}.${FIP_OPTEE_SUFFIX} \\
|
||||
"
|
||||
else
|
||||
bbfatal "Wrong configuration '\${bl32_conf}' found in FIP_CONFIG for \${config} config."
|
||||
fi
|
||||
|
||||
# DRR FW
|
||||
if [ -f "\$FIP_DEPLOYDIR_FWDDR/${FIP_FW_DDR}-\${dt}.${FIP_FW_DDR_SUFFIX}" ]; then
|
||||
FIP_EXTRACONF="\$FIP_EXTRACONF --ddr-fw \$FIP_DEPLOYDIR_FWDDR/${FIP_FW_DDR}-\${dt}.${FIP_FW_DDR_SUFFIX} "
|
||||
${FIPTOOL} create \\
|
||||
--ddr-fw \$FIP_DEPLOYDIR_FWDDR/${FIP_FW_DDR}-\${dt}.${FIP_FW_DDR_SUFFIX} \\
|
||||
\$FIP_DEPLOYDIR_FIP/${FIP_BASENAME}-\${dt}-ddr.${FIP_SUFFIX}
|
||||
echo "[${FIPTOOL}] DDR FW created"
|
||||
fi
|
||||
|
||||
# Generate FIP binary
|
||||
echo "[${FIPTOOL}] Create ${FIP_BASENAME}-\${dt}-\${config}.${FIP_SUFFIX} fip binary into 'FIP_DEPLOYDIR_FIP' folder..."
|
||||
[ -d "\$FIP_DEPLOYDIR_FIP" ] || mkdir -p "\$FIP_DEPLOYDIR_FIP"
|
||||
${FIPTOOL} create \\
|
||||
\$FIP_FWCONFIG \\
|
||||
\$FIP_HWCONFIG \\
|
||||
\$FIP_NTFW \\
|
||||
\$FIP_BL31CONF \\
|
||||
\$FIP_EXTRACONF \\
|
||||
\$FIP_DEPLOYDIR_FIP/${FIP_BASENAME}-\${dt}-\${config}.${FIP_SUFFIX}
|
||||
echo "[${FIPTOOL}] Done"
|
||||
done
|
||||
done
|
||||
EOF
|
||||
|
||||
# Install the FIPTOOL_WRAPPER
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${WORKDIR}/${FIPTOOL_WRAPPER} ${D}${bindir}/
|
||||
}
|
||||
|
||||
# Feed package for sdk with our fiptool wrapper
|
||||
FILES:${FIPTOOL_WRAPPER}:class-nativesdk = "${bindir}/${FIPTOOL_WRAPPER}"
|
||||
|
|
@ -1,125 +0,0 @@
|
|||
EXTERNAL_KEY_CONF ??= "0"
|
||||
|
||||
ENCRYPT_ENABLE ??= "0"
|
||||
ENCRYPT_FIP_KEY ??= ""
|
||||
ENCRYPT_FSBL_KEY ??= ""
|
||||
ENCRYPT_SUFFIX ??= "_Encrypted"
|
||||
|
||||
SIGN_ENABLE ??= "0"
|
||||
SIGN_KEY ??=""
|
||||
SIGN_KEY_PASS ??= ""
|
||||
SIGN_SUFFIX ??= "_Signed"
|
||||
|
||||
SIGN_TOOL ??= ""
|
||||
|
||||
def search_path(file_search, d):
|
||||
"""
|
||||
Check for <file_search> path availability from BBPATH
|
||||
And return the <file_search> absolute path
|
||||
"""
|
||||
search_path = d.getVar("BBPATH").split(":")
|
||||
for p in search_path:
|
||||
file_path = os.path.join(p, file_search)
|
||||
if os.path.isfile(file_path):
|
||||
return file_path
|
||||
bbpaths = d.getVar('BBPATH').replace(':','\n\t')
|
||||
bb.fatal('\n[sign-stm32mp] Not able to find "%s" path from current BBPATH var:\n\t%s.' % (file_search, bbpaths))
|
||||
|
||||
def init_keylist_from(keylist, keyinput, soclist, d):
|
||||
"""
|
||||
Build the <keylist> var as a coma separated list of values,
|
||||
Using either the default <keyinput> var value
|
||||
or any defined <keyinput>_socname var value
|
||||
(with 'socname' item comming from <soclist> var value list)
|
||||
"""
|
||||
# Init soc name list
|
||||
socname_list = (d.getVar(soclist) or "").split()
|
||||
# Init key from keyinput var value
|
||||
key = d.getVar(keyinput) or ""
|
||||
if key:
|
||||
# Check first if keyinput_<soc> is defined to use it
|
||||
if len(socname_list) > 0:
|
||||
# Configure keylist according to STM32MP_SOC_NAME list
|
||||
d.setVar(keylist, '')
|
||||
for socname in socname_list:
|
||||
key = d.getVar(keyinput + '_' + socname) or ""
|
||||
if key:
|
||||
if d.getVar('EXTERNAL_KEY_CONF') == '1':
|
||||
key = search_path(key, d)
|
||||
bb.debug(1, "[sign-stm32mp] Append '%s' path to %s (socname %s)." % (key, keylist, socname))
|
||||
d.appendVar(keylist, key + ',')
|
||||
else:
|
||||
bb.fatal("[sign-stm32mp] Please make sure to configure \"%s_%s\" var to key file." % (keyinput, socname))
|
||||
else:
|
||||
# Default to keyinput value setting
|
||||
if d.getVar('EXTERNAL_KEY_CONF') == '1':
|
||||
key = search_path(key, d)
|
||||
bb.debug(1, "[sign-stm32mp] Set %s to '%s' path." % (keylist, key))
|
||||
d.setVar(keylist, key)
|
||||
else:
|
||||
bb.debug(1, "[sign-stm32mp] Set %s to '%s' path." % (keylist, key))
|
||||
d.setVar(keylist, key)
|
||||
else:
|
||||
# Check first if keyinput_<soc> is defined to use it
|
||||
if len(socname_list) > 0:
|
||||
# Configure keylist according to STM32MP_SOC_NAME list
|
||||
d.setVar(keylist, '')
|
||||
for socname in socname_list:
|
||||
key = d.getVar(keyinput + '_' + socname)
|
||||
if key:
|
||||
if d.getVar('EXTERNAL_KEY_CONF') == '1':
|
||||
key = search_path(key, d)
|
||||
bb.debug(1, "[sign-stm32mp] Append '%s' path to %s (socname %s)." % (key, keylist, socname))
|
||||
d.appendVar(keylist, key + ',')
|
||||
else:
|
||||
bb.fatal("[sign-stm32mp] Please make sure to configure \"%s_%s\" var to key file." % (keyinput, socname))
|
||||
else:
|
||||
bb.fatal("[sign-stm32mp] Please make sure to configure \"%s\" var to key file." % keyinput)
|
||||
|
||||
python __anonymous() {
|
||||
if d.getVar('SIGN_ENABLE') == "1" or d.getVar('ENCRYPT_ENABLE') == "1":
|
||||
|
||||
# Signing process is dedicated to "target" recipe only:
|
||||
# Make sure to discard native and nativesdk
|
||||
for native_class in ['native', 'nativesdk']:
|
||||
if bb.data.inherits_class(native_class, d):
|
||||
return
|
||||
|
||||
# Check for SIGN_TOOL configuration
|
||||
signtool = d.getVar('SIGN_TOOL') or ""
|
||||
if not signtool:
|
||||
bb.fatal("[sign-stm32mp] Please make sure to configure \"SIGN_TOOL\" var to signing tool.")
|
||||
# Check for SIGN_TOOL is present in PATH environment variable
|
||||
if not bb.utils.which(d.getVar('PATH'), signtool):
|
||||
bb.debug(1, "[sign-stm32mp] %s binary is not found in PATH." % signtool)
|
||||
signtool_path = search_path(signtool, d)
|
||||
bb.debug(1, "[sign-stm32mp] Set SIGN_TOOL to '%s' path." % signtool_path)
|
||||
d.setVar('SIGN_TOOL', signtool_path)
|
||||
|
||||
if d.getVar('SIGN_ENABLE') == "1":
|
||||
# Check for internal use of SIGN_KEY_PATH_LIST
|
||||
signingkey_list = d.getVar('SIGN_KEY_PATH_LIST')
|
||||
if signingkey_list:
|
||||
raise bb.parse.SkipRecipe("[sign-stm32mp] You cannot use SIGN_KEY_PATH_LIST as it is internal to sign-stm32mp.bbclass.")
|
||||
# Init SIGN_KEY_PATH_LIST from SIGN_KEY settings
|
||||
init_keylist_from('SIGN_KEY_PATH_LIST', 'SIGN_KEY', 'STM32MP_SOC_NAME', d)
|
||||
|
||||
if d.getVar('ENCRYPT_ENABLE') == "1":
|
||||
if d.getVar('SIGN_ENABLE') == "0":
|
||||
bb.fatal("[sign-stm32mp] You need to set 'SIGN_ENABLE = 1' to encrypt and sign binaries at once.")
|
||||
|
||||
# Check for internal use of ENCRYPT_FSBL_KEY_PATH_LIST
|
||||
fsbl_encryptkey_list = d.getVar('ENCRYPT_FSBL_KEY_PATH_LIST')
|
||||
if fsbl_encryptkey_list:
|
||||
raise bb.parse.SkipRecipe("[sign-stm32mp] You cannot use ENCRYPT_FSBL_KEY_PATH_LIST as it is internal to sign-stm32mp.bbclass.")
|
||||
# Init ENCRYPT_KEY_PATH_LIST from ENCRYPT_KEY settings
|
||||
init_keylist_from('ENCRYPT_FSBL_KEY_PATH_LIST', 'ENCRYPT_FSBL_KEY', 'STM32MP_ENCRYPT_SOC_NAME', d)
|
||||
|
||||
# Check for internal use of ENCRYPT_FIP_KEY_PATH_LIST
|
||||
fip_encryptkey_list = d.getVar('ENCRYPT_FIP_KEY_PATH_LIST')
|
||||
if fip_encryptkey_list:
|
||||
raise bb.parse.SkipRecipe("[sign-stm32mp] You cannot use ENCRYPT_FIP_KEY_PATH_LIST as it is internal to sign-stm32mp.bbclass.")
|
||||
# Init ENCRYPT_KEY_PATH_LIST from ENCRYPT_KEY settings
|
||||
init_keylist_from('ENCRYPT_FIP_KEY_PATH_LIST', 'ENCRYPT_FIP_KEY', 'STM32MP_ENCRYPT_SOC_NAME', d)
|
||||
|
||||
}
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
From 3ef37c63f03ad6f2af407de350486fdd25e9132a Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 13 Jan 2020 15:23:47 -0800
|
||||
Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
---
|
||||
src/util/u_atomic.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c
|
||||
index 5a5eab4..e499516 100644
|
||||
--- a/src/util/u_atomic.c
|
||||
+++ b/src/util/u_atomic.c
|
||||
@@ -21,7 +21,7 @@
|
||||
* IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
-#if defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
|
||||
+#if !defined(__clang__) && defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
|
||||
|
||||
#include <stdint.h>
|
||||
#include <pthread.h>
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
From 3b4d6b89f644b43e507c08181fef06db4326f9da Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Francis <alistair@alistair23.me>
|
||||
Date: Thu, 14 Nov 2019 13:04:49 -0800
|
||||
Subject: [PATCH] meson.build: check for all linux host_os combinations
|
||||
|
||||
Make sure that we are also looking for our host_os combinations like
|
||||
linux-musl etc. when assuming support for DRM/KMS.
|
||||
|
||||
Also delete a duplicate line.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
|
||||
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
||||
Signed-off-by: Alistair Francis <alistair@alistair23.me>
|
||||
|
||||
---
|
||||
meson.build | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 172c64a..9b5294c 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -173,7 +173,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
|
||||
# Only build shared_glapi if at least one OpenGL API is enabled
|
||||
with_shared_glapi = with_shared_glapi and with_any_opengl
|
||||
|
||||
-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android'].contains(host_machine.system())
|
||||
+system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android'].contains(host_machine.system()) or host_machine.system().startswith('linux')
|
||||
|
||||
with_freedreno_kgsl = get_option('freedreno-kgsl')
|
||||
if with_freedreno_kgsl
|
||||
@@ -1076,7 +1076,7 @@ if cc.has_function('reallocarray')
|
||||
endif
|
||||
|
||||
# TODO: this is very incomplete
|
||||
-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android'].contains(host_machine.system())
|
||||
+if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system()) or host_machine.system().startswith('linux')
|
||||
pre_args += '-D_GNU_SOURCE'
|
||||
elif host_machine.system() == 'sunos'
|
||||
pre_args += '-D__EXTENSIONS__'
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
require mesa.inc
|
||||
|
||||
SUMMARY += " (OpenGL only, no EGL/GLES)"
|
||||
|
||||
PROVIDES = "virtual/libgl virtual/mesa"
|
||||
|
||||
S = "${WORKDIR}/mesa-${PV}"
|
||||
|
||||
TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm"
|
||||
|
||||
# At least one DRI rendering engine is required to build mesa.
|
||||
# When no X11 is available, use osmesa for the rendering engine.
|
||||
PACKAGECONFIG ??= "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}"
|
||||
PACKAGECONFIG:class-target = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa', d)}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(ccmp2)"
|
||||
|
|
@ -1,353 +0,0 @@
|
|||
SUMMARY = "A free implementation of the OpenGL API"
|
||||
DESCRIPTION = "Mesa is an open-source implementation of the OpenGL specification - \
|
||||
a system for rendering interactive 3D graphics. \
|
||||
A variety of device drivers allows Mesa to be used in many different environments \
|
||||
ranging from software emulation to complete hardware acceleration for modern GPUs. \
|
||||
Mesa is used as part of the overall Direct Rendering Infrastructure and X.org \
|
||||
environment."
|
||||
|
||||
HOMEPAGE = "http://mesa3d.org"
|
||||
BUGTRACKER = "https://bugs.freedesktop.org"
|
||||
SECTION = "x11"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10"
|
||||
|
||||
PE = "2"
|
||||
|
||||
SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
|
||||
file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
|
||||
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "386362a5d80df3b096636b67f340e1ce67b705b44767d5bdd11d2ed1037192d5"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
|
||||
|
||||
#because we cannot rely on the fact that all apps will use pkgconfig,
|
||||
#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
|
||||
do_install:append() {
|
||||
# sed can't find EGL/eglplatform.h as it doesn't get installed when glvnd enabled.
|
||||
# So, check if EGL/eglplatform.h exists before running sed.
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)} && [ -f ${D}${includedir}/EGL/eglplatform.h ]; then
|
||||
sed -i -e 's/^#elif defined(__unix__) && defined(EGL_NO_X11)$/#elif defined(__unix__) \&\& defined(EGL_NO_X11) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
|
||||
fi
|
||||
}
|
||||
|
||||
DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native"
|
||||
EXTRANATIVEPATH += "chrpath-native"
|
||||
PROVIDES = " \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'glvnd', 'virtual/libglx', '', d)} \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'gles', 'virtual/libgles1 virtual/libgles2 virtual/libgles3', '', d)} \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \
|
||||
virtual/mesa \
|
||||
"
|
||||
|
||||
inherit meson pkgconfig python3native gettext features_check
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
ANY_OF_DISTRO_FEATURES = "opengl vulkan"
|
||||
|
||||
PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
|
||||
|
||||
MESA_LLVM_RELEASE ?= ""
|
||||
|
||||
# set the MESA_BUILD_TYPE to either 'release' (default) or 'debug'
|
||||
# by default the upstream mesa sources build a debug release
|
||||
# here we assume the user will want a release build by default
|
||||
MESA_BUILD_TYPE ?= "release"
|
||||
def check_buildtype(d):
|
||||
_buildtype = d.getVar('MESA_BUILD_TYPE')
|
||||
if _buildtype not in ['release', 'debug']:
|
||||
bb.fatal("unknown build type (%s), please set MESA_BUILD_TYPE to either 'release' or 'debug'" % _buildtype)
|
||||
if _buildtype == 'debug':
|
||||
return 'debugoptimized'
|
||||
return 'plain'
|
||||
MESON_BUILDTYPE = "${@check_buildtype(d)}"
|
||||
|
||||
EXTRA_OEMESON = " \
|
||||
-Dshared-glapi=enabled \
|
||||
-Dglx-read-only-text=true \
|
||||
-Dplatforms='${@",".join("${PLATFORMS}".split())}' \
|
||||
"
|
||||
|
||||
def strip_comma(s):
|
||||
return s.strip(',')
|
||||
|
||||
PACKAGECONFIG = " \
|
||||
gallium \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'dri3', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \
|
||||
${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'video-codecs', '', d)} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG:append:class-native = "gallium-llvm r600"
|
||||
|
||||
# "gbm" requires "opengl"
|
||||
PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled"
|
||||
|
||||
X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr"
|
||||
# "x11" requires "opengl"
|
||||
PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}"
|
||||
PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols"
|
||||
|
||||
PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled, xorgproto libxshmfence"
|
||||
|
||||
# Vulkan drivers need dri3 enabled
|
||||
# amd could be enabled as well but requires gallium-llvm with llvm >= 3.9
|
||||
VULKAN_DRIVERS = ""
|
||||
VULKAN_DRIVERS:append:x86 = ",intel"
|
||||
VULKAN_DRIVERS:append:x86-64 = ",intel"
|
||||
# i686 is a 32 bit override for mesa-native
|
||||
VULKAN_DRIVERS:append:i686 = ",intel"
|
||||
VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
|
||||
VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
|
||||
PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers"
|
||||
|
||||
# mesa development and testing tools support, per driver
|
||||
TOOLS = ""
|
||||
TOOLS_DEPS = ""
|
||||
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
|
||||
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
|
||||
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
|
||||
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
|
||||
|
||||
# dependencies for tools.
|
||||
TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}"
|
||||
|
||||
# the fdperf tool requires libconfig (a part of meta-oe) so it needs special
|
||||
# treatment in addition to the usual 'freedreno tools'.
|
||||
PACKAGECONFIG[freedreno-fdperf] = ",,libconfig"
|
||||
|
||||
PACKAGECONFIG[tools] = "-Dtools=${@strip_comma('${TOOLS}')}, -Dtools='', ${TOOLS_DEPS}"
|
||||
|
||||
PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
|
||||
PACKAGECONFIG[glvnd] = "-Dglvnd=true, -Dglvnd=false, libglvnd"
|
||||
|
||||
# "gles" requires "opengl"
|
||||
PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2=disabled"
|
||||
|
||||
# "egl" requires "opengl"
|
||||
PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled"
|
||||
|
||||
# "opencl" requires libclc from meta-clang and spirv-tools from OE-Core
|
||||
OPENCL_NATIVE = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', '-Dopencl-native=true', '', d)}"
|
||||
PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true ${OPENCL_NATIVE},-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc spirv-tools"
|
||||
|
||||
PACKAGECONFIG[broadcom] = ""
|
||||
PACKAGECONFIG[etnaviv] = ""
|
||||
PACKAGECONFIG[freedreno] = ""
|
||||
PACKAGECONFIG[kmsro] = ""
|
||||
PACKAGECONFIG[vc4] = ""
|
||||
PACKAGECONFIG[v3d] = ""
|
||||
PACKAGECONFIG[zink] = ""
|
||||
|
||||
GALLIUMDRIVERS = "swrast"
|
||||
# gallium swrast was found to crash Xorg on startup in x32 qemu
|
||||
GALLIUMDRIVERS:x86-x32 = ""
|
||||
GALLIUMDRIVERS:append:x86 = ",i915,iris,crocus"
|
||||
GALLIUMDRIVERS:append:x86-64 = ",i915,iris,crocus"
|
||||
# i686 is a 32 bit override for mesa-native
|
||||
GALLIUMDRIVERS:append:i686 = ",i915,iris,crocus"
|
||||
|
||||
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
|
||||
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
|
||||
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
|
||||
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
|
||||
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
|
||||
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
|
||||
|
||||
# radeonsi requires LLVM
|
||||
GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}"
|
||||
GALLIUMDRIVERS_LLVM = "r300,nouveau${GALLIUMDRIVERS_RADEONSI}"
|
||||
GALLIUMDRIVERS_LLVM:append:x86 = ",svga"
|
||||
GALLIUMDRIVERS_LLVM:append:x86-64 = ",svga"
|
||||
# i686 is a 32 bit override for mesa-native
|
||||
GALLIUMDRIVERS_LLVM:append:i686 = ",svga"
|
||||
|
||||
PACKAGECONFIG[r600] = ""
|
||||
PACKAGECONFIG[virgl] = ""
|
||||
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}"
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}"
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
|
||||
|
||||
PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm"
|
||||
PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm${MESA_LLVM_RELEASE} llvm-native \
|
||||
elfutils"
|
||||
PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled"
|
||||
PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
|
||||
|
||||
PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
|
||||
|
||||
PACKAGECONFIG[lima] = ""
|
||||
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
|
||||
|
||||
PACKAGECONFIG[panfrost] = ""
|
||||
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
|
||||
|
||||
PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false"
|
||||
|
||||
PACKAGECONFIG[osmesa] = "-Dosmesa=true,-Dosmesa=false"
|
||||
|
||||
PACKAGECONFIG[perfetto] = "-Dperfetto=true,-Dperfetto=false,libperfetto"
|
||||
|
||||
PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
|
||||
|
||||
PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors"
|
||||
|
||||
VIDEO_CODECS = "vc1dec,h264dec,h264enc,h265dec,h265enc"
|
||||
PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${@strip_comma('${VIDEO_CODECS}')}, -Dvideo-codecs=''"
|
||||
|
||||
# llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
|
||||
FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer"
|
||||
|
||||
CFLAGS:append:armv5 = " -DMISSING_64BIT_ATOMICS"
|
||||
CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS"
|
||||
|
||||
# Remove the mesa dependency on mesa-dev, as mesa is empty
|
||||
DEV_PKG_DEPENDENCY = ""
|
||||
|
||||
# Khronos documentation says that include/GLES2/gl2ext.h can be used for
|
||||
# OpenGL ES 3 specification as well as for OpenGL ES 2.
|
||||
# There can be applications including GLES2/gl2ext.h instead of GLES3/gl3ext.h
|
||||
# meaning we should probably bring in GLES2/gl2ext.h if someone asks for
|
||||
# development package of libgles3.
|
||||
RDEPENDS:libgles3-mesa-dev += "libgles2-mesa-dev"
|
||||
|
||||
RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools', '', d)}"
|
||||
|
||||
PACKAGES =+ "libegl-mesa libegl-mesa-dev \
|
||||
libosmesa libosmesa-dev \
|
||||
libgl-mesa libgl-mesa-dev \
|
||||
libglx-mesa libglx-mesa-dev \
|
||||
libglapi libglapi-dev \
|
||||
libgbm libgbm-dev \
|
||||
libgles1-mesa libgles1-mesa-dev \
|
||||
libgles2-mesa libgles2-mesa-dev \
|
||||
libgles3-mesa libgles3-mesa-dev \
|
||||
libopencl-mesa libopencl-mesa-dev \
|
||||
libxatracker libxatracker-dev \
|
||||
mesa-megadriver mesa-vulkan-drivers \
|
||||
mesa-vdpau-drivers mesa-tools \
|
||||
"
|
||||
|
||||
do_install:append () {
|
||||
# Drivers never need libtool .la files
|
||||
rm -f ${D}${libdir}/dri/*.la
|
||||
rm -f ${D}${libdir}/egl/*.la
|
||||
rm -f ${D}${libdir}/gallium-pipe/*.la
|
||||
rm -f ${D}${libdir}/gbm/*.la
|
||||
|
||||
# libwayland-egl has been moved to wayland 1.15+
|
||||
rm -f ${D}${libdir}/libwayland-egl*
|
||||
rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc
|
||||
}
|
||||
|
||||
# For the packages that make up the OpenGL interfaces, inject variables so that
|
||||
# they don't get Debian-renamed (which would remove the -mesa suffix), and
|
||||
# RPROVIDEs/RCONFLICTs on the generic libgl name.
|
||||
python __anonymous() {
|
||||
pkgconfig = (d.getVar('PACKAGECONFIG') or "").split()
|
||||
suffix = ""
|
||||
if "-native" in d.getVar("PN"):
|
||||
suffix = "-native"
|
||||
for p in (("egl", "libegl", "libegl1"),
|
||||
("opengl", "libgl", "libgl1"),
|
||||
("glvnd", "libglx",),
|
||||
("gles", "libgles1", "libglesv1-cm1"),
|
||||
("gles", "libgles2", "libglesv2-2"),
|
||||
("gles", "libgles3",),
|
||||
("opencl", "libopencl",)):
|
||||
if not p[0] in pkgconfig:
|
||||
continue
|
||||
mlprefix = d.getVar("MLPREFIX")
|
||||
fullp = mlprefix + p[1] + "-mesa" + suffix
|
||||
mlprefix = d.getVar("MLPREFIX")
|
||||
pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
|
||||
d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
|
||||
d.appendVar("RREPLACES:" + fullp, pkgs)
|
||||
d.appendVar("RPROVIDES:" + fullp, pkgs)
|
||||
d.appendVar("RCONFLICTS:" + fullp, pkgs)
|
||||
|
||||
d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}mesa-megadriver" + suffix)
|
||||
|
||||
# For -dev, the first element is both the Debian and original name
|
||||
fullp = mlprefix + p[1] + "-mesa-dev" + suffix
|
||||
pkgs = " " + mlprefix + p[1] + "-dev" + suffix
|
||||
d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
|
||||
d.appendVar("RREPLACES:" + fullp, pkgs)
|
||||
d.appendVar("RPROVIDES:" + fullp, pkgs)
|
||||
d.appendVar("RCONFLICTS:" + fullp, pkgs)
|
||||
}
|
||||
|
||||
python mesa_populate_packages() {
|
||||
pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
|
||||
for pkg in pkgs:
|
||||
d.setVar("RPROVIDES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
|
||||
d.setVar("RCONFLICTS:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
|
||||
d.setVar("RREPLACES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
|
||||
|
||||
import re
|
||||
dri_drivers_root = oe.path.join(d.getVar('PKGD'), d.getVar('libdir'), "dri")
|
||||
if os.path.isdir(dri_drivers_root):
|
||||
dri_pkgs = sorted(os.listdir(dri_drivers_root))
|
||||
lib_name = d.expand("${MLPREFIX}mesa-megadriver")
|
||||
for p in dri_pkgs:
|
||||
m = re.match(r'^(.*)_dri\.so$', p)
|
||||
if m:
|
||||
pkg_name = " ${MLPREFIX}mesa-driver-%s" % legitimize_package_name(m.group(1))
|
||||
d.appendVar("RPROVIDES:%s" % lib_name, pkg_name)
|
||||
d.appendVar("RCONFLICTS:%s" % lib_name, pkg_name)
|
||||
d.appendVar("RREPLACES:%s" % lib_name, pkg_name)
|
||||
|
||||
pipe_drivers_root = os.path.join(d.getVar('libdir'), "gallium-pipe")
|
||||
do_split_packages(d, pipe_drivers_root, r'^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
|
||||
}
|
||||
|
||||
PACKAGESPLITFUNCS =+ "mesa_populate_packages"
|
||||
|
||||
PACKAGES_DYNAMIC += "^mesa-driver-.*"
|
||||
PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native"
|
||||
|
||||
FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d"
|
||||
FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan"
|
||||
FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*"
|
||||
FILES:libegl-mesa = "${libdir}/libEGL*.so.* ${datadir}/glvnd/egl_vendor.d"
|
||||
FILES:libgbm = "${libdir}/libgbm.so.*"
|
||||
FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
|
||||
FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*"
|
||||
FILES:libgl-mesa = "${libdir}/libGL.so.*"
|
||||
FILES:libglx-mesa = "${libdir}/libGLX*.so.*"
|
||||
FILES:libopencl-mesa = "${libdir}/libMesaOpenCL.so.* ${libdir}/gallium-pipe/*.so ${sysconfdir}/OpenCL/vendors/mesa.icd"
|
||||
FILES:libglapi = "${libdir}/libglapi.so.*"
|
||||
FILES:libosmesa = "${libdir}/libOSMesa.so.*"
|
||||
FILES:libxatracker = "${libdir}/libxatracker.so.*"
|
||||
|
||||
FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan ${libdir}/vdpau/*.so"
|
||||
FILES:libegl-mesa-dev = "${libdir}/libEGL*.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
|
||||
FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
|
||||
FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
|
||||
FILES:libglx-mesa-dev = "${libdir}/libGLX*.*"
|
||||
FILES:libglapi-dev = "${libdir}/libglapi.*"
|
||||
FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
|
||||
FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc"
|
||||
FILES:libgles3-mesa-dev = "${includedir}/GLES3"
|
||||
FILES:libopencl-mesa-dev = "${libdir}/libMesaOpenCL.so"
|
||||
FILES:libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc"
|
||||
FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \
|
||||
${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \
|
||||
${libdir}/pkgconfig/xatracker.pc"
|
||||
# catch all to get all the tools and data
|
||||
FILES:${PN}-tools = "${bindir} ${datadir}"
|
||||
ALLOW_EMPTY:${PN}-tools = "1"
|
||||
|
||||
# Fix upgrade path from mesa to mesa-megadriver
|
||||
RREPLACES:mesa-megadriver = "mesa"
|
||||
RCONFLICTS:mesa-megadriver = "mesa"
|
||||
RPROVIDES:mesa-megadriver = "mesa"
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
require ${BPN}.inc
|
||||
|
||||
COMPATIBLE_MACHINE = "(ccmp2)"
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
FILESEXTRAPATHS:prepend := "${THISDIR}/mesa:"
|
||||
|
||||
PACKAGECONFIG:stm32mp1common = "${@bb.utils.filter('DISTRO_FEATURES', 'wayland ', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
|
||||
\
|
||||
gallium \
|
||||
"
|
||||
|
||||
PACKAGECONFIG:stm32mp2common = " \
|
||||
gallium \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'x11 dri3', '', d)} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG = " \
|
||||
gallium \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'dri3', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
|
||||
"
|
||||
|
||||
# Enable Etnaviv support
|
||||
GALLIUMDRIVERS:append:stm32mpcommon = ",etnaviv,kmsro"
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
PACKAGECONFIG = " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl glesv2', '', d)} \
|
||||
"
|
||||
|
||||
do_install:append() {
|
||||
install -d ${D}${bindir}/
|
||||
install -m 0755 ${B}/util/cairo-trace/cairo-trace ${D}${bindir}/
|
||||
}
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
require cmake.inc
|
||||
inherit native
|
||||
|
||||
DEPENDS += "bzip2-replacement-native xz-native zlib-native ncurses-native zstd-native openssl-native"
|
||||
|
||||
SRC_URI += "file://OEToolchainConfig.cmake \
|
||||
file://environment.d-cmake.sh \
|
||||
file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \
|
||||
file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \
|
||||
file://0001-CMakeLists.txt-disable-USE_NGHTTP2.patch \
|
||||
"
|
||||
|
||||
LICENSE:append = " & BSD-1-Clause & MIT & BSD-2-Clause & curl"
|
||||
LIC_FILES_CHKSUM:append = " \
|
||||
file://Utilities/cmjsoncpp/LICENSE;md5=5d73c165a0f9e86a1342f32d19ec5926 \
|
||||
file://Utilities/cmlibarchive/COPYING;md5=d499814247adaee08d88080841cb5665 \
|
||||
file://Utilities/cmexpat/COPYING;md5=9e2ce3b3c4c0f2670883a23bbd7c37a9 \
|
||||
file://Utilities/cmlibrhash/COPYING;md5=a8c2a557a5c53b1c12cddbee98c099af \
|
||||
file://Utilities/cmlibuv/LICENSE;md5=ad93ca1fffe931537fcf64f6fcce084d \
|
||||
file://Utilities/cmcurl/COPYING;md5=190c514872597083303371684954f238 \
|
||||
"
|
||||
|
||||
B = "${WORKDIR}/build"
|
||||
do_configure[cleandirs] = "${B}"
|
||||
|
||||
CMAKE_EXTRACONF = "\
|
||||
-DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \
|
||||
-DBUILD_CursesDialog=1 \
|
||||
-DCMAKE_USE_SYSTEM_LIBRARIES=1 \
|
||||
-DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
|
||||
-DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \
|
||||
-DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \
|
||||
-DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \
|
||||
-DCMAKE_USE_SYSTEM_LIBRARY_EXPAT=0 \
|
||||
-DCMAKE_USE_SYSTEM_LIBRARY_CURL=0 \
|
||||
-DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \
|
||||
-DHAVE_SYS_ACL_H=0 \
|
||||
"
|
||||
|
||||
do_configure () {
|
||||
${S}/configure --verbose --prefix=${prefix} \
|
||||
${@oe.utils.parallel_make_argument(d, '--parallel=%d')} \
|
||||
${@bb.utils.contains('CCACHE', 'ccache ', '--enable-ccache', '', d)} \
|
||||
-- ${CMAKE_EXTRACONF}
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
oe_runmake
|
||||
}
|
||||
|
||||
do_install() {
|
||||
oe_runmake 'DESTDIR=${D}' install
|
||||
|
||||
# The following codes are here because eSDK needs to provide compatibilty
|
||||
# for SDK. That is, eSDK could also be used like traditional SDK.
|
||||
mkdir -p ${D}${datadir}/cmake
|
||||
install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/
|
||||
mkdir -p ${D}${base_prefix}/environment-setup.d
|
||||
install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh
|
||||
|
||||
# Help docs create tons of files in the native sysroot and aren't needed there
|
||||
rm -rf ${D}${datadir}/cmake-*/Help
|
||||
}
|
||||
|
||||
do_compile[progress] = "percent"
|
||||
|
||||
SYSROOT_DIRS_NATIVE += "${datadir}/cmake ${base_prefix}/environment-setup.d"
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
# Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved
|
||||
# Released under the MIT license (see packages/COPYING)
|
||||
|
||||
SUMMARY = "Cross-platform, open-source make system"
|
||||
DESCRIPTION = "CMake is used to control the software compilation process \
|
||||
using simple platform and compiler independent configuration files. CMake \
|
||||
generates native makefiles and workspaces that can be used in the compiler \
|
||||
environment of your choice."
|
||||
HOMEPAGE = "http://www.cmake.org/"
|
||||
BUGTRACKER = "http://public.kitware.com/Bug/my_view_page.php"
|
||||
SECTION = "console/utils"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://Copyright.txt;md5=09069e0fffe4e5eaf6dde04c3b1932e5 \
|
||||
file://Source/cmake.h;beginline=1;endline=2;md5=a5f70e1fef8614734eae0d62b4f5891b \
|
||||
"
|
||||
|
||||
CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
|
||||
|
||||
SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "c026f22cb931dd532f648f087d587f07a1843c6e66a3dfca4fb0ea21944ed33c"
|
||||
|
||||
UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
|
||||
|
||||
# This is specific to the npm package that installs cmake, so isn't
|
||||
# relevant to OpenEmbedded
|
||||
CVE_CHECK_IGNORE += "CVE-2016-10642"
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
From 5acfcb2aba1a5641d390558fdf288373f5e39cb5 Mon Sep 17 00:00:00 2001
|
||||
From: Cody P Schafer <dev@codyps.com>
|
||||
Date: Thu, 27 Apr 2017 11:35:05 -0400
|
||||
Subject: [PATCH] CMakeDetermineSystem: use oe environment vars to load default
|
||||
toolchain file in sdk
|
||||
|
||||
Passing the toolchain by:
|
||||
|
||||
- shell aliases does not work if cmake is called by a script
|
||||
- unconditionally by a wrapper script causes cmake to believe it is
|
||||
configuring things when it is not (for example, `cmake --build` breaks).
|
||||
|
||||
The OE_CMAKE_TOOLCHAIN_FILE variable is only used as a default if no
|
||||
toolchain is explicitly specified.
|
||||
|
||||
Setting the CMAKE_TOOLCHAIN_FILE cmake variable is marked as cached
|
||||
because '-D' options are cache entries themselves.
|
||||
|
||||
Upstream-Status: Inappropriate [oe-core specific]
|
||||
Signed-off-by: Cody P Schafer <dev@codyps.com>
|
||||
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
||||
|
||||
---
|
||||
Modules/CMakeDetermineSystem.cmake | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake
|
||||
index 2c2c2ac3..fae4f97f 100644
|
||||
--- a/Modules/CMakeDetermineSystem.cmake
|
||||
+++ b/Modules/CMakeDetermineSystem.cmake
|
||||
@@ -112,6 +112,13 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
+if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
|
||||
+ if(DEFINED ENV{OE_CMAKE_TOOLCHAIN_FILE})
|
||||
+ set(CMAKE_TOOLCHAIN_FILE "$ENV{OE_CMAKE_TOOLCHAIN_FILE}" CACHE FILEPATH "toolchain file")
|
||||
+ message(STATUS "Toolchain file defaulted to '${CMAKE_TOOLCHAIN_FILE}'")
|
||||
+ endif()
|
||||
+endif()
|
||||
+
|
||||
# if a toolchain file is used, the user wants to cross compile.
|
||||
# in this case read the toolchain file and keep the CMAKE_HOST_SYSTEM_*
|
||||
# variables around so they can be used in CMakeLists.txt.
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
From 3fd6082c52a8140db5995afb59fb391f7d5c19d7 Mon Sep 17 00:00:00 2001
|
||||
From: Changqing Li <changqing.li@windriver.com>
|
||||
Date: Wed, 28 Dec 2022 17:51:27 +0800
|
||||
Subject: [PATCH] CMakeLists.txt: disable USE_NGHTTP2
|
||||
|
||||
nghttp2 depends on cmake-native to build, to break circular
|
||||
dependency, disable nghttp2.
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Changqing Li <changqing.li@windriver.com>
|
||||
---
|
||||
Utilities/cmcurl/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt
|
||||
index f842270b..17b1ce19 100644
|
||||
--- a/Utilities/cmcurl/CMakeLists.txt
|
||||
+++ b/Utilities/cmcurl/CMakeLists.txt
|
||||
@@ -68,7 +68,7 @@ set(ENABLE_UNIX_SOCKETS OFF CACHE INTERNAL "No curl Unix domain sockets support"
|
||||
set(HTTP_ONLY OFF CACHE INTERNAL "Curl is not http-only")
|
||||
set(PICKY_COMPILER OFF CACHE INTERNAL "Enable picky compiler options")
|
||||
set(USE_LIBIDN2 ON)
|
||||
-set(USE_NGHTTP2 ON)
|
||||
+set(USE_NGHTTP2 OFF)
|
||||
set(USE_NGTCP2 OFF)
|
||||
set(USE_QUICHE OFF)
|
||||
set(USE_WIN32_IDN OFF)
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
From fd9a04c1434e12f21c043385e306e0b52d38d749 Mon Sep 17 00:00:00 2001
|
||||
From: Otavio Salvador <otavio@ossystems.com.br>
|
||||
Date: Thu, 5 Jul 2018 10:28:04 -0300
|
||||
Subject: [PATCH] Disable use of ext2fs/ext2_fs.h by cmake's internal
|
||||
|
||||
libarchive copy
|
||||
Organization: O.S. Systems Software LTDA.
|
||||
|
||||
We don't want to add a dependency on e2fsprogs-native for cmake-native,
|
||||
and we don't use CPack so just disable this functionality.
|
||||
|
||||
Upstream-Status: Inappropriate [config]
|
||||
|
||||
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
||||
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
||||
|
||||
---
|
||||
Utilities/cmlibarchive/CMakeLists.txt | 8 ++------
|
||||
1 file changed, 2 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt
|
||||
index bfcaf30..2960683 100644
|
||||
--- a/Utilities/cmlibarchive/CMakeLists.txt
|
||||
+++ b/Utilities/cmlibarchive/CMakeLists.txt
|
||||
@@ -682,12 +682,8 @@ LA_CHECK_INCLUDE_FILE("copyfile.h" HAVE_COPYFILE_H)
|
||||
LA_CHECK_INCLUDE_FILE("direct.h" HAVE_DIRECT_H)
|
||||
LA_CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H)
|
||||
LA_CHECK_INCLUDE_FILE("errno.h" HAVE_ERRNO_H)
|
||||
-LA_CHECK_INCLUDE_FILE("ext2fs/ext2_fs.h" HAVE_EXT2FS_EXT2_FS_H)
|
||||
-
|
||||
-CHECK_C_SOURCE_COMPILES("#include <sys/ioctl.h>
|
||||
-#include <ext2fs/ext2_fs.h>
|
||||
-int main(void) { return EXT2_IOC_GETFLAGS; }" HAVE_WORKING_EXT2_IOC_GETFLAGS)
|
||||
-
|
||||
+SET(HAVE_EXT2FS_EXT2_FS_H 0)
|
||||
+SET(HAVE_WORKING_EXT2_IOC_GETFLAGS 0)
|
||||
LA_CHECK_INCLUDE_FILE("fcntl.h" HAVE_FCNTL_H)
|
||||
LA_CHECK_INCLUDE_FILE("grp.h" HAVE_GRP_H)
|
||||
LA_CHECK_INCLUDE_FILE("io.h" HAVE_IO_H)
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
set( CMAKE_SYSTEM_NAME Linux )
|
||||
set( CMAKE_C_FLAGS $ENV{CFLAGS} CACHE STRING "" FORCE )
|
||||
set( CMAKE_CXX_FLAGS $ENV{CXXFLAGS} CACHE STRING "" FORCE )
|
||||
set( CMAKE_SYSROOT $ENV{OECORE_TARGET_SYSROOT} )
|
||||
|
||||
set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} )
|
||||
set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
|
||||
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
|
||||
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
|
||||
set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY )
|
||||
|
||||
set(CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX "$ENV{OE_CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX}")
|
||||
|
||||
set( CMAKE_SYSTEM_PROCESSOR $ENV{OECORE_TARGET_ARCH} )
|
||||
|
||||
# Include the toolchain configuration subscripts
|
||||
file( GLOB toolchain_config_files "${CMAKE_CURRENT_LIST_FILE}.d/*.cmake" )
|
||||
foreach(config ${toolchain_config_files})
|
||||
include(${config})
|
||||
endforeach()
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
export OE_CMAKE_TOOLCHAIN_FILE="$OECORE_NATIVE_SYSROOT/usr/share/cmake/OEToolchainConfig.cmake"
|
||||
export OE_CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX="`echo $OECORE_BASELIB | sed -e s/lib//`"
|
||||
Loading…
Reference in New Issue