102 lines
3.7 KiB
PHP
102 lines
3.7 KiB
PHP
SUMMARY = "U-Boot bootloader tools"
|
|
|
|
SECTION = "bootloaders"
|
|
DEPENDS = "flex-native bison-native swig-native util-linux gnutls openssl"
|
|
|
|
LICENSE = "GPL-2.0-or-later"
|
|
LIC_FILES_CHKSUM = "file://Licenses/README;md5=2ca5f2c35c8cc335f0a19756634782f1"
|
|
PE = "1"
|
|
|
|
BRANCH ?= "master"
|
|
UBOOT_GIT_URI = "git://git.ti.com/git/ti-u-boot/ti-u-boot.git"
|
|
UBOOT_GIT_PROTOCOL = "https"
|
|
SRC_URI = "${UBOOT_GIT_URI};protocol=${UBOOT_GIT_PROTOCOL};branch=${BRANCH}"
|
|
|
|
PV:append = "+git${SRCPV}"
|
|
|
|
S = "${WORKDIR}/git"
|
|
B = "${WORKDIR}/build"
|
|
|
|
inherit pkgconfig
|
|
|
|
do_configure[cleandirs] = "${B}"
|
|
|
|
PROVIDES = "${MLPREFIX}u-boot-mkimage ${MLPREFIX}u-boot-mkenvimage"
|
|
PROVIDES:class-native = "u-boot-mkimage-native u-boot-mkenvimage-native"
|
|
|
|
PACKAGES += "${PN}-mkimage ${PN}-mkenvimage"
|
|
|
|
# Required for backward compatibility with "u-boot-mkimage-xxx.bb"
|
|
RPROVIDES:${PN}-mkimage = "u-boot-mkimage"
|
|
RREPLACES:${PN}-mkimage = "u-boot-mkimage"
|
|
RCONFLICTS:${PN}-mkimage = "u-boot-mkimage"
|
|
|
|
EXTRA_OEMAKE:class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
|
|
EXTRA_OEMAKE:class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
|
|
EXTRA_OEMAKE:class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
|
|
|
|
SED_CONFIG_EFI = '-e "s/CONFIG_EFI_LOADER=.*/# CONFIG_EFI_LOADER is not set/"'
|
|
SED_CONFIG_EFI:x86 = ''
|
|
SED_CONFIG_EFI:x86-64 = ''
|
|
SED_CONFIG_EFI:arm = ''
|
|
SED_CONFIG_EFI:armeb = ''
|
|
SED_CONFIG_EFI:aarch64 = ''
|
|
|
|
do_compile () {
|
|
# Yes, this is crazy. If you build on a system with git < 2.14 from scratch, the tree will
|
|
# be marked as "dirty" and the version will include "-dirty", leading to a reproducibility problem.
|
|
# The issue is the inode count for Licnses/README changing due to do_populate_lic hardlinking a
|
|
# copy of the file. We avoid this by ensuring the index is updated with a "git diff" before the
|
|
# u-boot machinery tries to determine the version.
|
|
#
|
|
# build$ ../git/scripts/setlocalversion ../git
|
|
# ""
|
|
# build$ ln ../git/
|
|
# build$ ln ../git/README ../foo
|
|
# build$ ../git/scripts/setlocalversion ../git
|
|
# ""-dirty
|
|
# (i.e. creating a hardlink dirties the index)
|
|
cd ${S}; git diff; cd ${B}
|
|
|
|
oe_runmake -C ${S} sandbox_defconfig O=${B}
|
|
|
|
# Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
|
|
# generating it requires bin2header tool, which for target build
|
|
# is built with target tools and thus cannot be executed on host.
|
|
sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} ${B}/.config
|
|
|
|
oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B}
|
|
}
|
|
|
|
do_install () {
|
|
install -d ${D}${bindir}
|
|
|
|
# mkimage
|
|
install -m 0755 tools/mkimage ${D}${bindir}/uboot-mkimage
|
|
ln -sf uboot-mkimage ${D}${bindir}/mkimage
|
|
|
|
# mkenvimage
|
|
install -m 0755 tools/mkenvimage ${D}${bindir}/uboot-mkenvimage
|
|
ln -sf uboot-mkenvimage ${D}${bindir}/mkenvimage
|
|
|
|
# dumpimage
|
|
install -m 0755 tools/dumpimage ${D}${bindir}/uboot-dumpimage
|
|
ln -sf uboot-dumpimage ${D}${bindir}/dumpimage
|
|
|
|
# fit_check_sign
|
|
install -m 0755 tools/fit_check_sign ${D}${bindir}/uboot-fit_check_sign
|
|
ln -sf uboot-fit_check_sign ${D}${bindir}/fit_check_sign
|
|
}
|
|
|
|
ALLOW_EMPTY:${PN} = "1"
|
|
FILES:${PN} = ""
|
|
FILES:${PN}-mkimage = "${bindir}/uboot-mkimage ${bindir}/mkimage ${bindir}/uboot-dumpimage ${bindir}/dumpimage ${bindir}/uboot-fit_check_sign ${bindir}/fit_check_sign"
|
|
FILES:${PN}-mkenvimage = "${bindir}/uboot-mkenvimage ${bindir}/mkenvimage"
|
|
|
|
RDEPENDS:${PN}-mkimage += "dtc"
|
|
RDEPENDS:${PN} += "${PN}-mkimage ${PN}-mkenvimage"
|
|
RDEPENDS:${PN}:class-native = ""
|
|
|
|
BBCLASSEXTEND = "native nativesdk"
|
|
|