Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/3] Support 32-bit code generation for Armv8 targets
@ 2019-02-05  7:43 kostap at marvell.com
  2019-02-05  7:43 ` [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package kostap at marvell.com
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: kostap at marvell.com @ 2019-02-05  7:43 UTC (permalink / raw)
  To: buildroot

From: Konstantin Porotchkin <kostap@marvell.com>

This patch set adds support for building images for SoC that make usage
of Armv8 application CPUs and Cortex-M/Cortex-R service CPUs.
The application CPU cross-toolchain is unable to generate 32-bit THUMB
code, therefore usage of secondary toolchain is needed.
The required pre-built toolchain is taken from ARM developers site and
installed in host filesystem only.
The patch set makes use of dual toolchain for adding support for Marvell
Armada 3700 SoC that uses both Cortex-A53 and Cortex-M3 CPUs for running
system firmware.

V2 changes:
patch #1 (arm-gnu-rm-toolchain)
- Remove Config.in.host
- Remove custom extract command
- Set installation path to $(HOST_DIR)/opt//opt/gcc-arm-none-eabi
- Update commit message according to review notes
patch #2 (a3700-utils-marvell) - no changes
patch #3 (a3700 boot image build support)
- Update CROSS_CM3 path in arm-trusted-firmware to reflect patch #1 changes

Konstantin Porotchkin (3):
  package: arm-gnu-rm-toolchain: Add ARM-RM toolchain
  boot: a3700-utils-marvell: Add Armada-3700 utilities
  boot: arm-trusted-firmware: add support for Marvell Armada 3700

 boot/Config.in                                |  1 +
 boot/a3700-utils-marvell/Config.in            | 46 +++++++++++++++++++
 .../a3700-utils-marvell.hash                  |  2 +
 .../a3700-utils-marvell.mk                    | 28 +++++++++++
 .../arm-trusted-firmware.mk                   |  7 +++
 package/Config.in.host                        |  1 +
 package/arm-gnu-rm-toolchain/Config.in.host   | 13 ++++++
 .../arm-gnu-rm-toolchain.hash                 |  2 +
 .../arm-gnu-rm-toolchain.mk                   | 22 +++++++++
 9 files changed, 122 insertions(+)
 create mode 100644 boot/a3700-utils-marvell/Config.in
 create mode 100644 boot/a3700-utils-marvell/a3700-utils-marvell.hash
 create mode 100644 boot/a3700-utils-marvell/a3700-utils-marvell.mk
 create mode 100644 package/arm-gnu-rm-toolchain/Config.in.host
 create mode 100644 package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
 create mode 100644 package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk

-- 
2.17.1

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package
  2019-02-05  7:43 [Buildroot] [PATCH 0/3] Support 32-bit code generation for Armv8 targets kostap at marvell.com
@ 2019-02-05  7:43 ` kostap at marvell.com
  2019-02-05  8:46   ` Arnout Vandecappelle
                     ` (2 more replies)
  2019-02-05  7:43 ` [Buildroot] [PATCH v2 2/3] boot: a3700-utils-marvell: Add Armada-3700 utilities kostap at marvell.com
  2019-02-05  7:43 ` [Buildroot] [PATCH v2 3/3] boot: arm-trusted-firmware: add support for Marvell Armada 3700 kostap at marvell.com
  2 siblings, 3 replies; 11+ messages in thread
From: kostap at marvell.com @ 2019-02-05  7:43 UTC (permalink / raw)
  To: buildroot

From: Konstantin Porotchkin <kostap@marvell.com>

Add cross-compialtion ARM RM toolchain for supporting firmware
builds for Armv8-based SoCs utilizing Cortex-M/Cortex-R
service CPUs.
The cross-toolchain used for building Armv8 application CPU
code cannot be used for Cortex-M/Cortex-R 32-bit THUMB code
generation.
This patch installs pre-built bate metal ARM GNU-RM toolchain
into the host file system folder $(HOST_DIR)/opt/gcc-arm-none-eabi
for covering the above mentioned cases.

Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
---
 .../arm-gnu-rm-toolchain.hash                    |  2 ++
 .../arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk | 16 ++++++++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
 create mode 100644 package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk

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..a08e8e6208
--- /dev/null
+++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69 gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2
diff --git a/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
new file mode 100644
index 0000000000..a72a172fce
--- /dev/null
+++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
@@ -0,0 +1,16 @@
+################################################################################
+#
+# arm-gnu-rm-toolchain
+#
+################################################################################
+
+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
+
+define HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_CMDS
+	mkdir -p $(HOST_DIR)/opt/gcc-arm-none-eabi/
+	cp -a $(@D)/* $(HOST_DIR)/opt/gcc-arm-none-eabi/
+endef
+
+$(eval $(host-generic-package))
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v2 2/3] boot: a3700-utils-marvell: Add Armada-3700 utilities
  2019-02-05  7:43 [Buildroot] [PATCH 0/3] Support 32-bit code generation for Armv8 targets kostap at marvell.com
  2019-02-05  7:43 ` [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package kostap at marvell.com
@ 2019-02-05  7:43 ` kostap at marvell.com
  2019-02-05  7:43 ` [Buildroot] [PATCH v2 3/3] boot: arm-trusted-firmware: add support for Marvell Armada 3700 kostap at marvell.com
  2 siblings, 0 replies; 11+ messages in thread
From: kostap at marvell.com @ 2019-02-05  7:43 UTC (permalink / raw)
  To: buildroot

From: Konstantin Porotchkin <kostap@marvell.com>

Marvell Armada 37xx firmware code and utilities are kept in
a separate repository. This code is needed as a dependency
to build ATF firmware for Marvell Armada 37xx SoCs.

Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
---
 boot/Config.in                                |  1 +
 boot/a3700-utils-marvell/Config.in            | 46 +++++++++++++++++++
 .../a3700-utils-marvell.hash                  |  2 +
 .../a3700-utils-marvell.mk                    | 28 +++++++++++
 4 files changed, 77 insertions(+)
 create mode 100644 boot/a3700-utils-marvell/Config.in
 create mode 100644 boot/a3700-utils-marvell/a3700-utils-marvell.hash
 create mode 100644 boot/a3700-utils-marvell/a3700-utils-marvell.mk

diff --git a/boot/Config.in b/boot/Config.in
index 8e0c8e5df4..4acde0e764 100644
--- a/boot/Config.in
+++ b/boot/Config.in
@@ -19,5 +19,6 @@ source "boot/syslinux/Config.in"
 source "boot/ts4800-mbrboot/Config.in"
 source "boot/uboot/Config.in"
 source "boot/vexpress-firmware/Config.in"
+source "boot/a3700-utils-marvell/Config.in"
 
 endmenu
diff --git a/boot/a3700-utils-marvell/Config.in b/boot/a3700-utils-marvell/Config.in
new file mode 100644
index 0000000000..1fff8555a9
--- /dev/null
+++ b/boot/a3700-utils-marvell/Config.in
@@ -0,0 +1,46 @@
+config BR2_TARGET_A3700_UTILS_MARVELL
+	bool "a3700-utils-marvell"
+	depends on BR2_aarch64
+	help
+	  Marvell Armada 37xx firmware code and utilities are kept in
+	  a separate repository. This code is needed as a dependency
+	  to build ATF firmware for Marvell Armada 37xx SoCs.
+
+	  https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell/
+
+choice
+	bool "a3700-utils-marvell-version"
+
+config BR2_TARGET_A3700_UTILS_MARVELL_CUSTOM_GIT
+	bool "Custom Git repository"
+	help
+	  Allows to specify custom repository for the component
+	  Useful for developers building out of bleeding edge sources
+
+config BR2_TARGET_A3700_UTILS_MARVELL_RELEASE
+	bool "Release repository on Github"
+	help
+	  Use the package sources specified in this buildroot release
+
+config BR2_TARGET_A3700_UTILS_MARVELL_CUSTOM_TARBALL
+	bool "Release sources supplied as archives"
+	help
+	  Use the package sources from local archive
+
+endchoice
+
+if BR2_TARGET_A3700_UTILS_MARVELL_CUSTOM_GIT
+
+config BR2_TARGET_A3700_UTILS_MARVELL_CUSTOM_REPO_URL
+	string "URL of custom repository"
+
+config BR2_TARGET_A3700_UTILS_MARVELL_CUSTOM_REPO_VERSION
+	string "Custom repository version"
+	help
+	  Revision to use in the typical format used by Git
+	  E.G. a sha id, a tag, branch, ..
+
+endif
+
+config BR2_TARGET_A3700_UTILS_MARVELL_CUSTOM_TARBALL_LOCATION
+	string "Name of local archive file with release"
diff --git a/boot/a3700-utils-marvell/a3700-utils-marvell.hash b/boot/a3700-utils-marvell/a3700-utils-marvell.hash
new file mode 100644
index 0000000000..b4f4cd70e9
--- /dev/null
+++ b/boot/a3700-utils-marvell/a3700-utils-marvell.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 5a8dd5ae9322d19a61a8ca9ca9235c0a24dee889e6a0b2f848fc8d9e1494505d a3700-utils-marvell-a0a1cb88327afa91415c59822fa9c5894d9ec3d7.tar.gz
diff --git a/boot/a3700-utils-marvell/a3700-utils-marvell.mk b/boot/a3700-utils-marvell/a3700-utils-marvell.mk
new file mode 100644
index 0000000000..c4fb29d73a
--- /dev/null
+++ b/boot/a3700-utils-marvell/a3700-utils-marvell.mk
@@ -0,0 +1,28 @@
+################################################################################
+#
+# a3700-utils-marvell
+#
+################################################################################
+
+ifeq ($(BR2_TARGET_A3700_UTILS_MARVELL_CUSTOM_GIT),y)
+A3700_UTILS_MARVELL_VERSION = $(call qstrip,$(BR2_TARGET_A3700_UTILS_MARVELL_CUSTOM_REPO_VERSION))
+A3700_UTILS_MARVELL_SITE = $(call qstrip,$(BR2_TARGET_A3700_UTILS_MARVELL_CUSTOM_REPO_URL))
+A3700_UTILS_MARVELL_SITE_METHOD = git
+BR_NO_CHECK_HASH_FOR += $(A3700_UTILS_MARVELL_SOURCE)
+else
+ifeq ($(BR2_TARGET_A3700_UTILS_MARVELL_CUSTOM_TARBALL),y)
+A3700_UTILS_MARVELL_TARBALL = $(call qstrip,$(BR2_TARGET_A3700_UTILS_MARVELL_CUSTOM_TARBALL_LOCATION))
+A3700_UTILS_MARVELL_SITE = $(patsubst %/,%,$(dir $(A3700_UTILS_MARVELL_TARBALL)))
+A3700_UTILS_MARVELL_SITE_METHOD = file
+A3700_UTILS_MARVELL_SOURCE = $(notdir $(A3700_UTILS_MARVELL_TARBALL))
+BR_NO_CHECK_HASH_FOR += $(A3700_UTILS_MARVELL_SOURCE)
+else
+# This is the commit for A3700-utils-armada-18.12.0
+A3700_UTILS_MARVELL_VERSION = a0a1cb88327afa91415c59822fa9c5894d9ec3d7
+A3700_UTILS_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,A3700-utils-marvell,$(A3700_UTILS_MARVELL_VERSION))
+endif
+endif
+A3700_UTILS_MARVELL_LICENSE = GPL-2.0+ or LGPL-2.1 with freertos-exception-2.0, BSD-3-Clause, Marvell Commercial
+A3700_UTILS_MARVELL_LICENSE_FILES = wtptp/src/TBB_Linux/readme.txt
+
+$(eval $(generic-package))
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v2 3/3] boot: arm-trusted-firmware: add support for Marvell Armada 3700
  2019-02-05  7:43 [Buildroot] [PATCH 0/3] Support 32-bit code generation for Armv8 targets kostap at marvell.com
  2019-02-05  7:43 ` [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package kostap at marvell.com
  2019-02-05  7:43 ` [Buildroot] [PATCH v2 2/3] boot: a3700-utils-marvell: Add Armada-3700 utilities kostap at marvell.com
@ 2019-02-05  7:43 ` kostap at marvell.com
  2 siblings, 0 replies; 11+ messages in thread
From: kostap at marvell.com @ 2019-02-05  7:43 UTC (permalink / raw)
  To: buildroot

From: Konstantin Porotchkin <kostap@marvell.com>

Add support for TF-A image builds for Marvell Armada 3700 family

Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
---
 boot/arm-trusted-firmware/arm-trusted-firmware.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk
index 23f493653d..8d074dd87f 100644
--- a/boot/arm-trusted-firmware/arm-trusted-firmware.mk
+++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk
@@ -52,6 +52,13 @@ ARM_TRUSTED_FIRMWARE_MAKE_OPTS += MV_DDR_PATH=$(MV_DDR_MARVELL_DIR)
 ARM_TRUSTED_FIRMWARE_DEPENDENCIES += mv-ddr-marvell
 endif
 
+ifeq ($(BR2_TARGET_A3700_UTILS_MARVELL),y)
+ARM_TRUSTED_FIRMWARE_MAKE_OPTS += WTP=$(A3700_UTILS_MARVELL_DIR)
+ARM_TRUSTED_FIRMWARE_MAKE_OPTS += CROSS_CM3=$(HOST_DIR)/opt/gcc-arm-none-eabi/bin/arm-none-eabi-
+ARM_TRUSTED_FIRMWARE_DEPENDENCIES += a3700-utils-marvell
+ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-arm-gnu-rm-toolchain
+endif
+
 ARM_TRUSTED_FIRMWARE_MAKE_TARGETS = all
 
 ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP),y)
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package
  2019-02-05  7:43 ` [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package kostap at marvell.com
@ 2019-02-05  8:46   ` Arnout Vandecappelle
  2019-02-05  8:48   ` Thomas De Schampheleire
  2019-02-05  9:19   ` [Buildroot] " Yann E. MORIN
  2 siblings, 0 replies; 11+ messages in thread
From: Arnout Vandecappelle @ 2019-02-05  8:46 UTC (permalink / raw)
  To: buildroot



On 05/02/2019 08:43, kostap at marvell.com wrote:
> From: Konstantin Porotchkin <kostap@marvell.com>
> 
> Add cross-compialtion ARM RM toolchain for supporting firmware
> builds for Armv8-based SoCs utilizing Cortex-M/Cortex-R
> service CPUs.
> The cross-toolchain used for building Armv8 application CPU
> code cannot be used for Cortex-M/Cortex-R 32-bit THUMB code
> generation.
> This patch installs pre-built bate metal ARM GNU-RM toolchain
> into the host file system folder $(HOST_DIR)/opt/gcc-arm-none-eabi
> for covering the above mentioned cases.
> 
> Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
> ---
>  .../arm-gnu-rm-toolchain.hash                    |  2 ++
>  .../arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk | 16 ++++++++++++++++
>  2 files changed, 18 insertions(+)
>  create mode 100644 package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
>  create mode 100644 package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> 
> 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..a08e8e6208
> --- /dev/null
> +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
> @@ -0,0 +1,2 @@
> +# Locally calculated
> +sha256 bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69 gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2
> diff --git a/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> new file mode 100644
> index 0000000000..a72a172fce
> --- /dev/null
> +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> @@ -0,0 +1,16 @@
> +################################################################################
> +#
> +# arm-gnu-rm-toolchain
> +#
> +################################################################################
> +
> +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

 I think the package name is not very intuitive. I would take one of the
following names:

arm-none-eabi-gcc (i.e. the name of the compiler in it)
arm-none-eabi-toolchain
gcc-arm-none-eabi (which is the upstream tarball name, what we usually prefer)

 Note that the 'gcc' bit is not really accurate, because it contains binutils
and newlib as well.

 As observed by Yann, this patch is also missing:

* _LICENSE
* _LICENSE_FILES
* hash for license files
* _ACTUAL_SOURCE
* Your entry in DEVELOPERS

 Regards,
 Arnout

> +
> +define HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_CMDS
> +	mkdir -p $(HOST_DIR)/opt/gcc-arm-none-eabi/
> +	cp -a $(@D)/* $(HOST_DIR)/opt/gcc-arm-none-eabi/
> +endef
> +
> +$(eval $(host-generic-package))
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package
  2019-02-05  7:43 ` [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package kostap at marvell.com
  2019-02-05  8:46   ` Arnout Vandecappelle
@ 2019-02-05  8:48   ` Thomas De Schampheleire
  2019-02-05  8:52     ` [Buildroot] [EXT] " Kostya Porotchkin
  2019-02-05  9:19   ` [Buildroot] " Yann E. MORIN
  2 siblings, 1 reply; 11+ messages in thread
From: Thomas De Schampheleire @ 2019-02-05  8:48 UTC (permalink / raw)
  To: buildroot

Hello,
El mar., 5 feb. 2019 a las 8:43, <kostap@marvell.com> escribi?:
>
> From: Konstantin Porotchkin <kostap@marvell.com>
>
> Add cross-compialtion ARM RM toolchain for supporting firmware
> builds for Armv8-based SoCs utilizing Cortex-M/Cortex-R
> service CPUs.
> The cross-toolchain used for building Armv8 application CPU
> code cannot be used for Cortex-M/Cortex-R 32-bit THUMB code
> generation.
> This patch installs pre-built bate metal ARM GNU-RM toolchain
> into the host file system folder $(HOST_DIR)/opt/gcc-arm-none-eabi
> for covering the above mentioned cases.
>
> Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
> ---
>  .../arm-gnu-rm-toolchain.hash                    |  2 ++
>  .../arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk | 16 ++++++++++++++++
>  2 files changed, 18 insertions(+)
>  create mode 100644 package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
>  create mode 100644 package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
>
> 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..a08e8e6208
> --- /dev/null
> +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
> @@ -0,0 +1,2 @@
> +# Locally calculated
> +sha256 bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69 gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2
> diff --git a/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> new file mode 100644
> index 0000000000..a72a172fce
> --- /dev/null
> +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> @@ -0,0 +1,16 @@
> +################################################################################
> +#
> +# arm-gnu-rm-toolchain
> +#
> +################################################################################
> +
> +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
> +
> +define HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_CMDS
> +       mkdir -p $(HOST_DIR)/opt/gcc-arm-none-eabi/
> +       cp -a $(@D)/* $(HOST_DIR)/opt/gcc-arm-none-eabi/
> +endef
> +
> +$(eval $(host-generic-package))
> --

Incidentally I did more or less the same thing locally.
For reference, here is what I had:


HOST_RTC_TOOLCHAIN_ARM_SITE =
https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/7-2018q2
HOST_RTC_TOOLCHAIN_ARM_SOURCE = gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2

HOST_RTC_TOOLCHAIN_ARM_PREFIX = arm-none-eabi

HOST_RTC_TOOLCHAIN_ARM_INSTALL_DIR = $(HOST_DIR)/opt/rtc-toolchain-arm
define HOST_RTC_TOOLCHAIN_ARM_INSTALL_CMDS
    rm -rf $(HOST_RTC_TOOLCHAIN_ARM_INSTALL_DIR)
    mkdir -p $(HOST_RTC_TOOLCHAIN_ARM_INSTALL_DIR)
    mv $(@D)/* $(HOST_RTC_TOOLCHAIN_ARM_INSTALL_DIR)/

    cd $(HOST_DIR)/bin; \
    for i in $(HOST_RTC_TOOLCHAIN_ARM_INSTALL_DIR)/bin/*; do \
        ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%..%') .; \
    done
endef

$(eval $(host-generic-package))


So, basically I see following relevant differences:

1. Instead of copying the toolchain I _move_ the files, just like the
internal toolchain is doing. This prevents two copies of the files.
2. I also create symlinks in output/host/bin so that the toolchain can
easily be accessed from places external to Buildroot.

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [EXT] Re: [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package
  2019-02-05  8:48   ` Thomas De Schampheleire
@ 2019-02-05  8:52     ` Kostya Porotchkin
  0 siblings, 0 replies; 11+ messages in thread
From: Kostya Porotchkin @ 2019-02-05  8:52 UTC (permalink / raw)
  To: buildroot



> -----Original Message-----
> From: Thomas De Schampheleire <patrickdepinguin@gmail.com>
> Sent: Tuesday, February 5, 2019 10:49
> To: Kostya Porotchkin <kostap@marvell.com>
> Cc: buildroot <buildroot@buildroot.org>
> Subject: [EXT] Re: [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain:
> new package
> 
> External Email
> 
> ----------------------------------------------------------------------
> Hello,
> El mar., 5 feb. 2019 a las 8:43, <kostap@marvell.com> escribi?:
> >
> > From: Konstantin Porotchkin <kostap@marvell.com>
> >
> > Add cross-compialtion ARM RM toolchain for supporting firmware builds
> > for Armv8-based SoCs utilizing Cortex-M/Cortex-R service CPUs.
> > The cross-toolchain used for building Armv8 application CPU code
> > cannot be used for Cortex-M/Cortex-R 32-bit THUMB code generation.
> > This patch installs pre-built bate metal ARM GNU-RM toolchain into the
> > host file system folder $(HOST_DIR)/opt/gcc-arm-none-eabi for covering
> > the above mentioned cases.
> >
> > Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
> > ---
> >  .../arm-gnu-rm-toolchain.hash                    |  2 ++
> >  .../arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk | 16
> > ++++++++++++++++
> >  2 files changed, 18 insertions(+)
> >  create mode 100644
> > package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
> >  create mode 100644
> > package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> >
> > 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..a08e8e6208
> > --- /dev/null
> > +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
> > @@ -0,0 +1,2 @@
> > +# Locally calculated
> > +sha256
> >
> +bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69
> > +gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2
> > diff --git a/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> > b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> > new file mode 100644
> > index 0000000000..a72a172fce
> > --- /dev/null
> > +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> > @@ -0,0 +1,16 @@
> >
> +#########################################################
> ############
> > +###########
> > +#
> > +# arm-gnu-rm-toolchain
> > +#
> >
> +#########################################################
> ############
> > +###########
> > +
> > +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
> > +
> > +define HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_CMDS
> > +       mkdir -p $(HOST_DIR)/opt/gcc-arm-none-eabi/
> > +       cp -a $(@D)/* $(HOST_DIR)/opt/gcc-arm-none-eabi/
> > +endef
> > +
> > +$(eval $(host-generic-package))
> > --
> 
> Incidentally I did more or less the same thing locally.
> For reference, here is what I had:
> 
> 
> HOST_RTC_TOOLCHAIN_ARM_SITE =
> https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-
> rm/7-2018q2
> HOST_RTC_TOOLCHAIN_ARM_SOURCE = gcc-arm-none-eabi-7-2018-q2-
> update-linux.tar.bz2
> 
> HOST_RTC_TOOLCHAIN_ARM_PREFIX = arm-none-eabi
> 
> HOST_RTC_TOOLCHAIN_ARM_INSTALL_DIR = $(HOST_DIR)/opt/rtc-
> toolchain-arm define HOST_RTC_TOOLCHAIN_ARM_INSTALL_CMDS
>     rm -rf $(HOST_RTC_TOOLCHAIN_ARM_INSTALL_DIR)
>     mkdir -p $(HOST_RTC_TOOLCHAIN_ARM_INSTALL_DIR)
>     mv $(@D)/* $(HOST_RTC_TOOLCHAIN_ARM_INSTALL_DIR)/
> 
>     cd $(HOST_DIR)/bin; \
>     for i in $(HOST_RTC_TOOLCHAIN_ARM_INSTALL_DIR)/bin/*; do \
>         ln -sf $$(echo $$i | sed 's%^$(HOST_DIR)%..%') .; \
>     done
> endef
> 
> $(eval $(host-generic-package))
> 
> 
> So, basically I see following relevant differences:
> 
> 1. Instead of copying the toolchain I _move_ the files, just like the internal
> toolchain is doing. This prevents two copies of the files.
> 2. I also create symlinks in output/host/bin so that the toolchain can easily be
> accessed from places external to Buildroot.
[KP] OK, thank you for the tips, I will re-work this patch now.
Regards
Kosta
> 
> Best regards,
> Thomas

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package
  2019-02-05  7:43 ` [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package kostap at marvell.com
  2019-02-05  8:46   ` Arnout Vandecappelle
  2019-02-05  8:48   ` Thomas De Schampheleire
@ 2019-02-05  9:19   ` Yann E. MORIN
  2019-02-05  9:34     ` [Buildroot] [EXT] " Kostya Porotchkin
  2 siblings, 1 reply; 11+ messages in thread
From: Yann E. MORIN @ 2019-02-05  9:19 UTC (permalink / raw)
  To: buildroot

Konstantin, All,

On 2019-02-05 09:43 +0200, kostap at marvell.com spake thusly:
> From: Konstantin Porotchkin <kostap@marvell.com>
> 
> Add cross-compialtion ARM RM toolchain for supporting firmware
> builds for Armv8-based SoCs utilizing Cortex-M/Cortex-R
> service CPUs.
> The cross-toolchain used for building Armv8 application CPU
> code cannot be used for Cortex-M/Cortex-R 32-bit THUMB code
> generation.
> This patch installs pre-built bate metal ARM GNU-RM toolchain
> into the host file system folder $(HOST_DIR)/opt/gcc-arm-none-eabi
> for covering the above mentioned cases.
> 
> Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
> ---
>  .../arm-gnu-rm-toolchain.hash                    |  2 ++
>  .../arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk | 16 ++++++++++++++++
>  2 files changed, 18 insertions(+)
>  create mode 100644 package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
>  create mode 100644 package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> 
> 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..a08e8e6208
> --- /dev/null
> +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
> @@ -0,0 +1,2 @@
> +# Locally calculated
> +sha256 bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69 gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2
> diff --git a/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> new file mode 100644
> index 0000000000..a72a172fce
> --- /dev/null
> +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> @@ -0,0 +1,16 @@
> +################################################################################
> +#
> +# arm-gnu-rm-toolchain
> +#
> +################################################################################
> +
> +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

You also need to provide the liense, and the URL to the source
tarball(s), like:

    ARM_GNU_RM_TOOLCHAIN_LICENSE = so-and-so
    ARM_GNU_RM_TOOLCHAIN_LICENSE_FILES = some/file some/other/file
    ARM_GNU_RM_TOOLCHAIN_ACTUAL_SOURCE_TARBALL = http://URL/of/source.tar

Note that you will need to also add a hash for the actual source tarball
as well.

> +define HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_CMDS
> +	mkdir -p $(HOST_DIR)/opt/gcc-arm-none-eabi/
> +	cp -a $(@D)/* $(HOST_DIR)/opt/gcc-arm-none-eabi/

You should rather use a mv to avoid the size duplication, like we do in
the external-toolchain infra for the main toolchain.

Also, why do you not install them in $(HOST_DIR)? As it is as you did,
other packages have to know about this specific location, which is not
entirely nice... However, if installing in $(HOST_DIR), maybe we have to
be carefull about not causing name-clashing with other host stuff...

Regards,
Yann E. MORIN.

> +endef
> +
> +$(eval $(host-generic-package))
> -- 
> 2.17.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [EXT] Re: [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package
  2019-02-05  9:19   ` [Buildroot] " Yann E. MORIN
@ 2019-02-05  9:34     ` Kostya Porotchkin
  2019-02-05 10:15       ` Thomas De Schampheleire
  0 siblings, 1 reply; 11+ messages in thread
From: Kostya Porotchkin @ 2019-02-05  9:34 UTC (permalink / raw)
  To: buildroot

Hi, Yann,

> -----Original Message-----
> From: Yann E. MORIN <yann.morin.1998@gmail.com> On Behalf Of Yann E.
> MORIN
> Sent: Tuesday, February 5, 2019 11:20
> To: Kostya Porotchkin <kostap@marvell.com>
> Cc: buildroot at buildroot.org
> Subject: [EXT] Re: [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain:
> new package
> 
> External Email
> 
> ----------------------------------------------------------------------
> Konstantin, All,
> 
> On 2019-02-05 09:43 +0200, kostap at marvell.com spake thusly:
> > From: Konstantin Porotchkin <kostap@marvell.com>
> >
> > Add cross-compialtion ARM RM toolchain for supporting firmware builds
> > for Armv8-based SoCs utilizing Cortex-M/Cortex-R service CPUs.
> > The cross-toolchain used for building Armv8 application CPU code
> > cannot be used for Cortex-M/Cortex-R 32-bit THUMB code generation.
> > This patch installs pre-built bate metal ARM GNU-RM toolchain into the
> > host file system folder $(HOST_DIR)/opt/gcc-arm-none-eabi for covering
> > the above mentioned cases.
> >
> > Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
> > ---
> >  .../arm-gnu-rm-toolchain.hash                    |  2 ++
> >  .../arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk | 16
> > ++++++++++++++++
> >  2 files changed, 18 insertions(+)
> >  create mode 100644
> > package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
> >  create mode 100644
> > package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> >
> > 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..a08e8e6208
> > --- /dev/null
> > +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
> > @@ -0,0 +1,2 @@
> > +# Locally calculated
> > +sha256
> >
> +bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69
> > +gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2
> > diff --git a/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> > b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> > new file mode 100644
> > index 0000000000..a72a172fce
> > --- /dev/null
> > +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> > @@ -0,0 +1,16 @@
> >
> +#########################################################
> ############
> > +###########
> > +#
> > +# arm-gnu-rm-toolchain
> > +#
> >
> +#########################################################
> ############
> > +###########
> > +
> > +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
> 
> You also need to provide the liense, and the URL to the source tarball(s), like:
> 
>     ARM_GNU_RM_TOOLCHAIN_LICENSE = so-and-so
>     ARM_GNU_RM_TOOLCHAIN_LICENSE_FILES = some/file some/other/file
>     ARM_GNU_RM_TOOLCHAIN_ACTUAL_SOURCE_TARBALL =
> http://URL/of/source.tar
> 
> Note that you will need to also add a hash for the actual source tarball as
> well.
[KP] OK, will work on it
> 
> > +define HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_CMDS
> > +	mkdir -p $(HOST_DIR)/opt/gcc-arm-none-eabi/
> > +	cp -a $(@D)/* $(HOST_DIR)/opt/gcc-arm-none-eabi/
> 
> You should rather use a mv to avoid the size duplication, like we do in the
> external-toolchain infra for the main toolchain.
[KP] Yes, already doing so following Thomas review
> 
> Also, why do you not install them in $(HOST_DIR)? As it is as you did, other
> packages have to know about this specific location, which is not entirely
> nice... However, if installing in $(HOST_DIR), maybe we have to be carefull
> about not causing name-clashing with other host stuff...
[KP] Again, after Thomas review I am adding symbolic links from the toolchain executables in "bin" folder to the $(HOST_DIR)/bin
Will it be enough? I am noty sure if it's good to just extract the entire package to the $(HOST_DIR)/.
Please correct me if I am wrong.

Regards
Kosta
> 
> Regards,
> Yann E. MORIN.
> 
> > +endef
> > +
> > +$(eval $(host-generic-package))
> > --
> > 2.17.1
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
> 
> --
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics'
> | conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [EXT] Re: [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package
  2019-02-05  9:34     ` [Buildroot] [EXT] " Kostya Porotchkin
@ 2019-02-05 10:15       ` Thomas De Schampheleire
  2019-02-05 10:32         ` Yann E. MORIN
  0 siblings, 1 reply; 11+ messages in thread
From: Thomas De Schampheleire @ 2019-02-05 10:15 UTC (permalink / raw)
  To: buildroot

El mar., 5 feb. 2019 a las 10:34, Kostya Porotchkin
(<kostap@marvell.com>) escribi?:
>
> Hi, Yann,
>
> > -----Original Message-----
> > From: Yann E. MORIN <yann.morin.1998@gmail.com> On Behalf Of Yann E.
> > MORIN
> > Sent: Tuesday, February 5, 2019 11:20
> > To: Kostya Porotchkin <kostap@marvell.com>
> > Cc: buildroot at buildroot.org
> > Subject: [EXT] Re: [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain:
> > new package
> >
> > External Email
> >
> > ----------------------------------------------------------------------
> > Konstantin, All,
> >
> > On 2019-02-05 09:43 +0200, kostap at marvell.com spake thusly:
> > > From: Konstantin Porotchkin <kostap@marvell.com>
> > >
> > > Add cross-compialtion ARM RM toolchain for supporting firmware builds
> > > for Armv8-based SoCs utilizing Cortex-M/Cortex-R service CPUs.
> > > The cross-toolchain used for building Armv8 application CPU code
> > > cannot be used for Cortex-M/Cortex-R 32-bit THUMB code generation.
> > > This patch installs pre-built bate metal ARM GNU-RM toolchain into the
> > > host file system folder $(HOST_DIR)/opt/gcc-arm-none-eabi for covering
> > > the above mentioned cases.
> > >
> > > Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
> > > ---
> > >  .../arm-gnu-rm-toolchain.hash                    |  2 ++
> > >  .../arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk | 16
> > > ++++++++++++++++
> > >  2 files changed, 18 insertions(+)
> > >  create mode 100644
> > > package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
> > >  create mode 100644
> > > package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> > >
> > > 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..a08e8e6208
> > > --- /dev/null
> > > +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.hash
> > > @@ -0,0 +1,2 @@
> > > +# Locally calculated
> > > +sha256
> > >
> > +bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69
> > > +gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2
> > > diff --git a/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> > > b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> > > new file mode 100644
> > > index 0000000000..a72a172fce
> > > --- /dev/null
> > > +++ b/package/arm-gnu-rm-toolchain/arm-gnu-rm-toolchain.mk
> > > @@ -0,0 +1,16 @@
> > >
> > +#########################################################
> > ############
> > > +###########
> > > +#
> > > +# arm-gnu-rm-toolchain
> > > +#
> > >
> > +#########################################################
> > ############
> > > +###########
> > > +
> > > +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
> >
> > You also need to provide the liense, and the URL to the source tarball(s), like:
> >
> >     ARM_GNU_RM_TOOLCHAIN_LICENSE = so-and-so
> >     ARM_GNU_RM_TOOLCHAIN_LICENSE_FILES = some/file some/other/file
> >     ARM_GNU_RM_TOOLCHAIN_ACTUAL_SOURCE_TARBALL =
> > http://URL/of/source.tar
> >
> > Note that you will need to also add a hash for the actual source tarball as
> > well.
> [KP] OK, will work on it
> >
> > > +define HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_CMDS
> > > +   mkdir -p $(HOST_DIR)/opt/gcc-arm-none-eabi/
> > > +   cp -a $(@D)/* $(HOST_DIR)/opt/gcc-arm-none-eabi/
> >
> > You should rather use a mv to avoid the size duplication, like we do in the
> > external-toolchain infra for the main toolchain.
> [KP] Yes, already doing so following Thomas review
> >
> > Also, why do you not install them in $(HOST_DIR)? As it is as you did, other
> > packages have to know about this specific location, which is not entirely
> > nice... However, if installing in $(HOST_DIR), maybe we have to be carefull
> > about not causing name-clashing with other host stuff...
> [KP] Again, after Thomas review I am adding symbolic links from the toolchain executables in "bin" folder to the $(HOST_DIR)/bin
> Will it be enough? I am noty sure if it's good to just extract the entire package to the $(HOST_DIR)/.
> Please correct me if I am wrong.
>

Yes, I think that we should only have symlinks there, not the actual
extracted tarball. This follows the same approach as the internal
toolchain.

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [EXT] Re: [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package
  2019-02-05 10:15       ` Thomas De Schampheleire
@ 2019-02-05 10:32         ` Yann E. MORIN
  0 siblings, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2019-02-05 10:32 UTC (permalink / raw)
  To: buildroot

Kostya, All,

On 2019-02-05 11:15 +0100, Thomas De Schampheleire spake thusly:
> El mar., 5 feb. 2019 a las 10:34, Kostya Porotchkin
> (<kostap@marvell.com>) escribi?:
[--SNIP--]
> > > > +define HOST_ARM_GNU_RM_TOOLCHAIN_INSTALL_CMDS
> > > > +   mkdir -p $(HOST_DIR)/opt/gcc-arm-none-eabi/
> > > > +   cp -a $(@D)/* $(HOST_DIR)/opt/gcc-arm-none-eabi/
> > >
> > > You should rather use a mv to avoid the size duplication, like we do in the
> > > external-toolchain infra for the main toolchain.
> > [KP] Yes, already doing so following Thomas review

Yeah, the guys were doing the review at the same tiem I was, I just got
sidetracked and did not notice before sending my mail. ;-)

> > > Also, why do you not install them in $(HOST_DIR)? As it is as you did, other
> > > packages have to know about this specific location, which is not entirely
> > > nice... However, if installing in $(HOST_DIR), maybe we have to be carefull
> > > about not causing name-clashing with other host stuff...
> > [KP] Again, after Thomas review I am adding symbolic links from the toolchain executables in "bin" folder to the $(HOST_DIR)/bin
> > Will it be enough? I am noty sure if it's good to just extract the entire package to the $(HOST_DIR)/.
> > Please correct me if I am wrong.
> Yes, I think that we should only have symlinks there, not the actual
> extracted tarball. This follows the same approach as the internal
> toolchain.

Yes, actually, symlinks will probably be enough, indeed. I was just
pointing out the usefulness of being able to call the tools from a known
location, even only if via symlinks.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-02-05 10:32 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-05  7:43 [Buildroot] [PATCH 0/3] Support 32-bit code generation for Armv8 targets kostap at marvell.com
2019-02-05  7:43 ` [Buildroot] [PATCH v2 1/3] package/arm-gnu-rm-toolchain: new package kostap at marvell.com
2019-02-05  8:46   ` Arnout Vandecappelle
2019-02-05  8:48   ` Thomas De Schampheleire
2019-02-05  8:52     ` [Buildroot] [EXT] " Kostya Porotchkin
2019-02-05  9:19   ` [Buildroot] " Yann E. MORIN
2019-02-05  9:34     ` [Buildroot] [EXT] " Kostya Porotchkin
2019-02-05 10:15       ` Thomas De Schampheleire
2019-02-05 10:32         ` Yann E. MORIN
2019-02-05  7:43 ` [Buildroot] [PATCH v2 2/3] boot: a3700-utils-marvell: Add Armada-3700 utilities kostap at marvell.com
2019-02-05  7:43 ` [Buildroot] [PATCH v2 3/3] boot: arm-trusted-firmware: add support for Marvell Armada 3700 kostap at marvell.com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox