[Buildroot] [PATCH v3 1/3] package/arm-gnu-rm-toolchain: new package
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Sat Feb 9 14:47:02 UTC 2019
Hello Kostya,
On Tue, 5 Feb 2019 12:45:10 +0200
<kostap at marvell.com> wrote:
> From: Konstantin Porotchkin <kostap at marvell.com>
>
> Add cross-compialtion ARM RM toolchain for supporting firmware
cross-compilation
> diff --git a/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
> new file mode 100644
> index 0000000000..d8797d9c13
> --- /dev/null
> +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
> @@ -0,0 +1,3 @@
> +# taken from the distribution site
Please indicate the URL at which the hashes were found.
> +md5 299ebd3f1c2c90930d28ab82e5d8d6c0 gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2
> +md5 7f88d3f1d0285e73e116cc3428bc1e13 gcc-arm-none-eabi-7-2018-q2-update-src.tar.bz2
Since md5 hashes are not very strong, please also add:
# Locally calculated
sha256 here the SHA256 gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2
sha256 here the SHA256 gcc-arm-none-eabi-7-2018-q2-update-src.tar.bz2
> +ARM_GNU_RM_TOOLCHAIN_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2018q2
> +ARM_GNU_RM_TOOLCHAIN_VERSION = 7-2018-q2-update
> +ARM_GNU_RM_TOOLCHAIN_SOURCE = gcc-arm-none-eabi-$(ARM_GNU_RM_TOOLCHAIN_VERSION)-linux.tar.bz2
> +
> +ARM_GNU_RM_TOOLCHAIN_LICENSE = GPL-3.0+, GPL-2.0+, LGPL-2.1+, LGPL-2.0+, LGPL-3.0+
These licensing details are not complete enough. There are some parts
that use the GCC exception.
> +ARM_GNU_RM_TOOLCHAIN_LICENSE_FILES = license.txt
This doesn't work, for two reasons:
(1) You're moving files away from $(@D) when building
(2) license.txt is deep down in
share/doc/gcc-arm-none-eabi/license.txt, not at the root of the
tree.
Please run "make legal-info" and make sure it works.
> +ARM_GNU_RM_TOOLCHAIN_ACTUAL_SOURCE_TARBALL = https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2018q2/gcc-arm-none-eabi-7-2018-q2-update-src.tar.bz2
> +
> +HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_DIR = $(HOST_DIR)/opt/gcc-arm-none-eabi
> +
> +define HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_CMDS
> + rm -rf $(HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_DIR)
> + mkdir -p $(HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_DIR)
> + mv $(@D)/* $(HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_DIR)/
Don't move files, but copy them, otherwise legal-info will not work
after a build.
> +
Add:
mkdir -p $(HOST_DIR)/bin
> + cd $(HOST_DIR)/bin; \
Replace with:
cd $(HOST_DIR)/bin && \
> + for i in $(HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_DIR)/bin/*; do \
> + ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%..%') .; \
> + done
> +endef
> +
> +$(eval $(host-generic-package))
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the buildroot
mailing list