[Buildroot] [PATCH v5 1/3] package/arm-gnu-a-toolchain: new package
Suniel Mahesh
sunil at amarulasolutions.com
Mon Mar 30 10:46:34 UTC 2020
On Sun, Mar 29, 2020 at 6:44 PM Thomas Petazzoni
<thomas.petazzoni at bootlin.com> wrote:
>
> Hello,
>
> I've applied your patch, but after doing a number of changes, see below.
Thanks for all the changes and suggestions. Next time I will make sure that I
do make check-package before submitting.
Suniel
>
> On Sat, 28 Mar 2020 10:34:29 +0530
> sunil at amarulasolutions.com wrote:
>
> > DEVELOPERS | 3 +++
> > package/Config.in.host | 1 +
> > package/arm-gnu-a-toolchain/Config.in.host | 9 ++++++++
>
> I've entirely dropped the visible Config.in.host option for this
> package, it is merely a build dependency of ATF, so we don't need (at
> this point at least) a visible option.
>
> > +N: Suniel Mahesh <sunil at amarulasolutions.com>
> > +F: package/arm-gnu-a-toolchain
>
> Directories end with a / in DEVELOPERS.
>
> > +config BR2_PACKAGE_HOST_ARM_GNU_A_TOOLCHAIN
> > + bool "host arm-gnu-a-toolchain"
> > + help
> > + arm trusted firmware requires a bare metal toolchain to build some platforms
> > + which host cortex-m series core, for instance rockchip rk3399 has a cortex-m0 core.
> > + This package installs a pre-built cross-compilation ARM-A bare metal toolchain for
> > + the host machine.
>
> Lines where way too long: you forgot to run "make check-package", which
> would have pointed out this coding style issue. Of course, since I
> dropped the Config.in.host, it was not a big issue.
>
> > --- /dev/null
> > +++ b/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.mk
> > @@ -0,0 +1,27 @@
> > +################################################################################
> > +#
> > +# arm-gnu-a-toolchain
> > +#
> > +################################################################################
> > +
> > +ARM_GNU_A_TOOLCHAIN_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/9.2-2019.12/binrel
>
> You should have used the <pkg>_VERSION variable here instead of hardcoding 9.2-2019.12.
>
> > +ARM_GNU_A_TOOLCHAIN_VERSION = 9.2-2019.12
> > +ARM_GNU_A_TOOLCHAIN_SOURCE = gcc-arm-$(ARM_GNU_A_TOOLCHAIN_VERSION)-x86_64-arm-none-eabi.tar.xz
> > +ARM_GNU_A_TOOLCHAIN_LICENSE = GPL-3.0+
> > +ARM_GNU_A_TOOLCHAIN_LICENSE_FILES =
>
> I've dropped this last variable, since it's empty.
>
> > +HOST_ARM_GNU_A_TOOLCHAIN_INSTALL_DIR = $(HOST_DIR)/opt/gcc-arm-none-eabi
> > +
> > +define HOST_ARM_GNU_A_TOOLCHAIN_INSTALL_CMDS
> > + rm -rf $(HOST_ARM_GNU_A_TOOLCHAIN_INSTALL_DIR)
> > + mkdir -p $(HOST_ARM_GNU_A_TOOLCHAIN_INSTALL_DIR)
> > + cp -rf $(@D)/* $(HOST_ARM_GNU_A_TOOLCHAIN_INSTALL_DIR)
> > +
> > + cd $(HOST_DIR)/bin && \
>
> You need to create $(HOST_DIR)/bin before cd-ing into it, as this
> directory may not exist.
>
> > + for i in $(HOST_DIR)/opt/gcc-arm-none-eabi/bin/*; do \
> > + ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%..%') .; \
>
> Simplified as:
>
> cd $(HOST_DIR)/bin && \
> for i in ../opt/gcc-arm-none-eabi/bin/*; do \
> ln -sf $$i; \
> done
>
> I was also not sure these symlinks where really useful, it would have
> been possible to pass an explicit path to the toolchain when building
> ATF. But ok, I've kept the symlinks, we'll see how it goes.
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
More information about the buildroot
mailing list