* [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add multiple tuple support
@ 2025-02-14 16:53 Neal Frager via buildroot
2025-02-14 16:54 ` [Buildroot] [PATCH v2 2/4] package/gcc-bare-metal: " Neal Frager via buildroot
` (3 more replies)
0 siblings, 4 replies; 14+ messages in thread
From: Neal Frager via buildroot @ 2025-02-14 16:53 UTC (permalink / raw)
To: buildroot
Cc: ibai.erkiaga-elorza, luca.ceresoli, brandon.maier, ju.o,
thomas.petazzoni, Neal Frager, romain.naour, michal.simek
Add support to binutils-bare-metal to support multiple architecture tuples
with the BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH string.
Signed-off-by: Neal Frager <neal.frager@amd.com>
---
V1->V2:
- no changes
---
.../binutils-bare-metal.mk | 61 ++++++++++++++++---
1 file changed, 52 insertions(+), 9 deletions(-)
diff --git a/package/binutils-bare-metal/binutils-bare-metal.mk b/package/binutils-bare-metal/binutils-bare-metal.mk
index 3525e9fdf2..0a90560471 100644
--- a/package/binutils-bare-metal/binutils-bare-metal.mk
+++ b/package/binutils-bare-metal/binutils-bare-metal.mk
@@ -21,14 +21,57 @@ HOST_BINUTILS_BARE_METAL_CONF_ENV += MAKEINFO=true
HOST_BINUTILS_BARE_METAL_MAKE_OPTS += MAKEINFO=true
HOST_BINUTILS_BARE_METAL_INSTALL_OPTS += MAKEINFO=true install
-HOST_BINUTILS_BARE_METAL_CONF_OPTS = \
- --target=$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE) \
- --disable-gprof \
- --disable-shared \
- --enable-lto \
- --enable-static \
- --disable-initfini-array \
- --disable-multilib \
- --disable-werror
+# to build for multiple arch tuples, it is necesssary to build out of the
+# source tree, so that each arch tuple can have its own build location
+define HOST_BINUTILS_BARE_METAL_CONFIGURE_SYMLINKS
+ $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
+ mkdir -p $(@D)/build-$(arch_tuple) && \
+ ln -sf ../configure $(@D)/build-$(arch_tuple)/configure;)
+endef
+
+HOST_BINUTILS_BARE_METAL_PRE_CONFIGURE_HOOKS += HOST_BINUTILS_BARE_METAL_CONFIGURE_SYMLINKS
+
+define HOST_BINUTILS_BARE_METAL_CONFIGURE_CMDS
+ $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
+ cd $(@D)/build-$(arch_tuple) && \
+ $(HOST_CONFIGURE_OPTS) \
+ $(HOST_BINUTILS_BARE_METAL_CONF_ENV) \
+ ./configure \
+ --prefix=$(HOST_DIR) \
+ --sysconfdir=$(HOST_DIR)/etc \
+ --localstatedir=$(HOST_DIR)/var \
+ --enable-shared --disable-static \
+ --disable-gtk-doc \
+ --disable-gtk-doc-html \
+ --disable-doc \
+ --disable-docs \
+ --disable-documentation \
+ --disable-debug \
+ --with-xmlto=no \
+ --with-fop=no \
+ --disable-nls \
+ --disable-dependency-tracking \
+ --target=$(arch_tuple) \
+ --disable-gprof \
+ --enable-lto \
+ --disable-initfini-array \
+ --disable-multilib \
+ --disable-werror; \
+ )
+endef
+
+define HOST_BINUTILS_BARE_METAL_BUILD_CMDS
+ $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
+ $(HOST_MAKE_ENV) $(MAKE) \
+ $(HOST_BINUTILS_BARE_METAL_MAKE_OPTS) \
+ -C $(@D)/build-$(arch_tuple);)
+endef
+
+define HOST_BINUTILS_BARE_METAL_INSTALL_CMDS
+ $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
+ $(HOST_MAKE_ENV) $(MAKE) \
+ $(HOST_BINUTILS_BARE_METAL_INSTALL_OPTS) \
+ -C $(@D)/build-$(arch_tuple);)
+endef
$(eval $(host-autotools-package))
--
2.25.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 2/4] package/gcc-bare-metal: add multiple tuple support
2025-02-14 16:53 [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add multiple tuple support Neal Frager via buildroot
@ 2025-02-14 16:54 ` Neal Frager via buildroot
2025-02-14 21:59 ` Thomas Petazzoni via buildroot
2025-02-14 16:54 ` [Buildroot] [PATCH v2 3/4] package/newlib-bare-metal: " Neal Frager via buildroot
` (2 subsequent siblings)
3 siblings, 1 reply; 14+ messages in thread
From: Neal Frager via buildroot @ 2025-02-14 16:54 UTC (permalink / raw)
To: buildroot
Cc: ibai.erkiaga-elorza, luca.ceresoli, brandon.maier, ju.o,
thomas.petazzoni, Neal Frager, romain.naour, michal.simek
Add support to gcc-bare-metal to support multiple architecture tuples
with the BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH string.
Signed-off-by: Neal Frager <neal.frager@amd.com>
---
V1->V2:
- corrected sysroot configuration
---
package/gcc-bare-metal/gcc-bare-metal.mk | 90 ++++++++++++++++--------
1 file changed, 62 insertions(+), 28 deletions(-)
diff --git a/package/gcc-bare-metal/gcc-bare-metal.mk b/package/gcc-bare-metal/gcc-bare-metal.mk
index adaae6c307..66cebcf730 100644
--- a/package/gcc-bare-metal/gcc-bare-metal.mk
+++ b/package/gcc-bare-metal/gcc-bare-metal.mk
@@ -20,15 +20,15 @@ HOST_GCC_BARE_METAL_DEPENDENCIES = \
host-mpfr \
host-isl
-# gcc doesn't support in-tree build, so we create a 'build'
-# subdirectory in the gcc sources, and build from there.
-define HOST_GCC_BARE_METAL_CONFIGURE_SYMLINK
- mkdir -p $(@D)/build
- ln -sf ../configure $(@D)/build/configure
+# to build for multiple arch tuples, it is necesssary to build out of the
+# source tree, so that each arch tuple can have its own build location
+define HOST_GCC_BARE_METAL_CONFIGURE_SYMLINKS
+ $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
+ mkdir -p $(@D)/build-$(arch_tuple) && \
+ ln -sf ../configure $(@D)/build-$(arch_tuple)/configure;)
endef
-HOST_GCC_BARE_METAL_PRE_CONFIGURE_HOOKS += HOST_GCC_BARE_METAL_CONFIGURE_SYMLINK
-HOST_GCC_BARE_METAL_SUBDIR = build
+HOST_GCC_BARE_METAL_PRE_CONFIGURE_HOOKS += HOST_GCC_BARE_METAL_CONFIGURE_SYMLINKS
HOST_GCC_BARE_METAL_MAKE_OPTS = \
$(HOST_GCC_COMMON_MAKE_OPTS) \
@@ -37,26 +37,60 @@ HOST_GCC_BARE_METAL_MAKE_OPTS = \
HOST_GCC_BARE_METAL_INSTALL_OPTS = install-gcc install-target-libgcc
-HOST_GCC_BARE_METAL_CONF_OPTS = \
- --target=$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE) \
- --disable-initfini_array \
- --disable-__cxa_atexit \
- --disable-libstdcxx-pch \
- --with-newlib \
- --disable-threads \
- --enable-plugins \
- --with-gnu-as \
- --disable-libitm \
- --without-long-double-128 \
- --without-headers \
- --enable-languages=c \
- --disable-multilib \
- --with-gmp=$(HOST_DIR) \
- --with-mpc=$(HOST_DIR) \
- --with-mpfr=$(HOST_DIR) \
- --with-isl=$(HOST_DIR) \
- --with-sysroot=$(TOOLCHAIN_BARE_METAL_BUILDROOT_SYSROOT) \
- AR_FOR_TARGET=$(HOST_DIR)/bin/$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE)-ar \
- RANLIB_FOR_TARGET=$(HOST_DIR)/bin/$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE)-ranlib
+define HOST_GCC_BARE_METAL_CONFIGURE_CMDS
+ $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
+ cd $(@D)/build-$(arch_tuple) && \
+ $(HOST_CONFIGURE_OPTS) \
+ ./configure \
+ --prefix=$(HOST_DIR) \
+ --sysconfdir=$(HOST_DIR)/etc \
+ --localstatedir=$(HOST_DIR)/var \
+ --enable-shared --disable-static \
+ --disable-gtk-doc \
+ --disable-gtk-doc-html \
+ --disable-doc \
+ --disable-docs \
+ --disable-documentation \
+ --disable-debug \
+ --with-xmlto=no \
+ --with-fop=no \
+ --disable-nls \
+ --disable-dependency-tracking \
+ --target=$(arch_tuple) \
+ --disable-initfini_array \
+ --disable-__cxa_atexit \
+ --disable-libstdcxx-pch \
+ --with-newlib \
+ --disable-threads \
+ --enable-plugins \
+ --with-gnu-as \
+ --disable-libitm \
+ --without-long-double-128 \
+ --without-headers \
+ --enable-languages=c \
+ --disable-multilib \
+ --with-gmp=$(HOST_DIR) \
+ --with-mpc=$(HOST_DIR) \
+ --with-mpfr=$(HOST_DIR) \
+ --with-isl=$(HOST_DIR) \
+ --with-sysroot=$(HOST_DIR)/$(arch_tuple)/sysroot \
+ AR_FOR_TARGET=$(HOST_DIR)/bin/$(arch_tuple)-ar \
+ RANLIB_FOR_TARGET=$(HOST_DIR)/bin/$(arch_tuple)-ranlib; \
+ )
+endef
+
+define HOST_GCC_BARE_METAL_BUILD_CMDS
+ $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
+ $(HOST_MAKE_ENV) $(MAKE) \
+ $(HOST_GCC_BARE_METAL_MAKE_OPTS) \
+ -C $(@D)/build-$(arch_tuple);)
+endef
+
+define HOST_GCC_BARE_METAL_INSTALL_CMDS
+ $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
+ $(HOST_MAKE_ENV) $(MAKE) \
+ $(HOST_GCC_BARE_METAL_INSTALL_OPTS) \
+ -C $(@D)/build-$(arch_tuple);)
+endef
$(eval $(host-autotools-package))
--
2.25.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 3/4] package/newlib-bare-metal: add multiple tuple support
2025-02-14 16:53 [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add multiple tuple support Neal Frager via buildroot
2025-02-14 16:54 ` [Buildroot] [PATCH v2 2/4] package/gcc-bare-metal: " Neal Frager via buildroot
@ 2025-02-14 16:54 ` Neal Frager via buildroot
2025-02-14 22:00 ` Thomas Petazzoni
2025-02-14 16:54 ` [Buildroot] [PATCH v2 4/4] toolchain/toolchain-bare-metal-buildroot: update help text for " Neal Frager via buildroot
2025-02-14 21:58 ` [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add " Thomas Petazzoni via buildroot
3 siblings, 1 reply; 14+ messages in thread
From: Neal Frager via buildroot @ 2025-02-14 16:54 UTC (permalink / raw)
To: buildroot
Cc: ibai.erkiaga-elorza, luca.ceresoli, brandon.maier, ju.o,
thomas.petazzoni, Neal Frager, romain.naour, michal.simek
Add support to newlib-bare-metal to support multiple architecture tuples
with the BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH string.
Signed-off-by: Neal Frager <neal.frager@amd.com>
---
V1->V2:
- no changes
---
.../newlib-bare-metal/newlib-bare-metal.mk | 29 +++++++++++++++----
1 file changed, 23 insertions(+), 6 deletions(-)
diff --git a/package/newlib-bare-metal/newlib-bare-metal.mk b/package/newlib-bare-metal/newlib-bare-metal.mk
index e28e7a717c..4acc11deb2 100644
--- a/package/newlib-bare-metal/newlib-bare-metal.mk
+++ b/package/newlib-bare-metal/newlib-bare-metal.mk
@@ -22,28 +22,45 @@ NEWLIB_BARE_METAL_INSTALL_STAGING = YES
NEWLIB_BARE_METAL_INSTALL_TARGET = NO
NEWLIB_BARE_METAL_MAKE_OPTS = MAKEINFO=true
+# to build for multiple arch tuples, it is necesssary to build out of the
+# source tree, so that each arch tuple can have its own build location
+define NEWLIB_BARE_METAL_CONFIGURE_SYMLINKS
+ $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
+ mkdir -p $(@D)/build-$(arch_tuple) && \
+ ln -sf ../configure $(@D)/build-$(arch_tuple)/configure;)
+endef
+
+NEWLIB_BARE_METAL_PRE_CONFIGURE_HOOKS += NEWLIB_BARE_METAL_CONFIGURE_SYMLINKS
+
define NEWLIB_BARE_METAL_CONFIGURE_CMDS
- (cd $(@D) && \
+ $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
+ cd $(@D)/build-$(arch_tuple) && \
PATH=$(BR_PATH) \
./configure \
- --target=$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE) \
+ --target=$(arch_tuple) \
--prefix=/usr \
--enable-newlib-io-c99-formats \
--enable-newlib-io-long-long \
--enable-newlib-io-float \
--enable-newlib-io-long-double \
--disable-multilib \
- --with-tooldir=/usr \
+ --with-tooldir=/usr; \
)
endef
define NEWLIB_BARE_METAL_BUILD_CMDS
- PATH=$(BR_PATH) $(MAKE1) $(NEWLIB_BARE_METAL_MAKE_OPTS) -C $(@D)
+ $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
+ PATH=$(BR_PATH) $(MAKE1) \
+ $(NEWLIB_BARE_METAL_MAKE_OPTS) \
+ -C $(@D)/build-$(arch_tuple);)
endef
define NEWLIB_BARE_METAL_INSTALL_STAGING_CMDS
- PATH=$(BR_PATH) $(MAKE1) -C $(@D) $(NEWLIB_BARE_METAL_MAKE_OPTS) \
- DESTDIR=$(TOOLCHAIN_BARE_METAL_BUILDROOT_SYSROOT) install
+ $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
+ PATH=$(BR_PATH) $(MAKE1) \
+ $(NEWLIB_BARE_METAL_MAKE_OPTS) \
+ -C $(@D)/build-$(arch_tuple) \
+ DESTDIR=$(HOST_DIR)/$(arch_tuple)/sysroot install;)
endef
$(eval $(generic-package))
--
2.25.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2 4/4] toolchain/toolchain-bare-metal-buildroot: update help text for multiple tuple support
2025-02-14 16:53 [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add multiple tuple support Neal Frager via buildroot
2025-02-14 16:54 ` [Buildroot] [PATCH v2 2/4] package/gcc-bare-metal: " Neal Frager via buildroot
2025-02-14 16:54 ` [Buildroot] [PATCH v2 3/4] package/newlib-bare-metal: " Neal Frager via buildroot
@ 2025-02-14 16:54 ` Neal Frager via buildroot
2025-02-14 22:03 ` Thomas Petazzoni
2025-02-14 21:58 ` [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add " Thomas Petazzoni via buildroot
3 siblings, 1 reply; 14+ messages in thread
From: Neal Frager via buildroot @ 2025-02-14 16:54 UTC (permalink / raw)
To: buildroot
Cc: ibai.erkiaga-elorza, luca.ceresoli, brandon.maier, ju.o,
thomas.petazzoni, Neal Frager, romain.naour, michal.simek
Now that binutils-bare-metal, gcc-bare-metal and newlib-bare-metal packages
have been upgraded to support a list of architecture tuples, this patch
updates the toolchain-bare-metal-buildroot help text to describe the new
capability.
BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH is still backwards compatible with
its prior definition as defining a single tuple with this new definition
works exactly the same as before.
Signed-off-by: Neal Frager <neal.frager@amd.com>
---
V1->V2:
no changes
---
toolchain/Config.in | 2 +-
toolchain/toolchain-bare-metal-buildroot/Config.in | 11 ++++++++---
.../toolchain-bare-metal-buildroot.mk | 1 -
3 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/toolchain/Config.in b/toolchain/Config.in
index d6ed25ff96..94723da141 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -941,7 +941,7 @@ config BR2_TOOLCHAIN_HAS_LIBQUADMATH
comment "Bare metal toolchain"
config BR2_TOOLCHAIN_BARE_METAL_BUILDROOT
- bool "Build a bare metal toolchain"
+ bool "Build bare metal toolchains"
select BR2_PACKAGE_NEWLIB_BARE_METAL
help
Select if you need a bare-metal toolchain for building
diff --git a/toolchain/toolchain-bare-metal-buildroot/Config.in b/toolchain/toolchain-bare-metal-buildroot/Config.in
index 6fe969357f..ca3129444f 100644
--- a/toolchain/toolchain-bare-metal-buildroot/Config.in
+++ b/toolchain/toolchain-bare-metal-buildroot/Config.in
@@ -1,10 +1,15 @@
if BR2_TOOLCHAIN_BARE_METAL_BUILDROOT
config BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH
- string "architecture tuple"
+ string "list of architecture tuples"
help
- This option allows to define the architecture tuple for the
- bare-metal toolchain.
+ This option defines a list of architecture tuples for
+ building bare metal toolchains.
+
+ For example, to build both a microblaze and a riscv bare
+ metal toolchain for Xilinx platforms, use the following
+ definition:
+ "microblazeel-xilinx-elf riscv32-xilinx-elf"
source "package/newlib-bare-metal/Config.in"
diff --git a/toolchain/toolchain-bare-metal-buildroot/toolchain-bare-metal-buildroot.mk b/toolchain/toolchain-bare-metal-buildroot/toolchain-bare-metal-buildroot.mk
index dbfe30a910..71063fcee4 100644
--- a/toolchain/toolchain-bare-metal-buildroot/toolchain-bare-metal-buildroot.mk
+++ b/toolchain/toolchain-bare-metal-buildroot/toolchain-bare-metal-buildroot.mk
@@ -6,7 +6,6 @@
TOOLCHAIN_BARE_METAL_BUILDROOT_DEPENDENCIES = newlib-bare-metal
TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE = $(call qstrip,$(BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH))
-TOOLCHAIN_BARE_METAL_BUILDROOT_SYSROOT = $(HOST_DIR)/$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE)/sysroot
TOOLCHAIN_BARE_METAL_BUILDROOT_ADD_TOOLCHAIN_DEPENDENCY = NO
$(eval $(virtual-package))
--
2.25.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add multiple tuple support
2025-02-14 16:53 [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add multiple tuple support Neal Frager via buildroot
` (2 preceding siblings ...)
2025-02-14 16:54 ` [Buildroot] [PATCH v2 4/4] toolchain/toolchain-bare-metal-buildroot: update help text for " Neal Frager via buildroot
@ 2025-02-14 21:58 ` Thomas Petazzoni via buildroot
2025-02-15 11:02 ` Frager, Neal via buildroot
3 siblings, 1 reply; 14+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-02-14 21:58 UTC (permalink / raw)
To: Neal Frager via buildroot
Cc: Neal Frager, ibai.erkiaga-elorza, luca.ceresoli, brandon.maier,
ju.o, romain.naour, michal.simek
Hello Neal,
Thanks for your work on this topic. Overall, the approach you have
taken is exactly what I had in mind, so that's very good. I only have
some implementation details to comment on below.
On Fri, 14 Feb 2025 16:53:59 +0000
Neal Frager via buildroot <buildroot@buildroot.org> wrote:
> +# to build for multiple arch tuples, it is necesssary to build out of the
> +# source tree, so that each arch tuple can have its own build location
> +define HOST_BINUTILS_BARE_METAL_CONFIGURE_SYMLINKS
> + $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
> + mkdir -p $(@D)/build-$(arch_tuple) && \
> + ln -sf ../configure $(@D)/build-$(arch_tuple)/configure;)
> +endef
You don't need to create a symlink. We do that in gcc because we're
using <pkg>_SUBDIR, with which the default CONFIGURE_CMDS from
autotools-package assumes the configure script will be in the
<pkg>_SUBDIR. But here, since we are anyway implementing our custom
CONFIGURE_CMDS, creating this symlink is not needed. So I would drop
this HOST_BINUTILS_BARE_METAL_CONFIGURE_SYMLINKS entirely.
See below how things would work.
> +
> +HOST_BINUTILS_BARE_METAL_PRE_CONFIGURE_HOOKS += HOST_BINUTILS_BARE_METAL_CONFIGURE_SYMLINKS
> +
> +define HOST_BINUTILS_BARE_METAL_CONFIGURE_CMDS
> + $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
Add here:
mkdir -p $(@D)/build-$(arch_tuple) && \
> + cd $(@D)/build-$(arch_tuple) && \
> + $(HOST_CONFIGURE_OPTS) \
> + $(HOST_BINUTILS_BARE_METAL_CONF_ENV) \
> + ./configure \
Replace with:
../configure
or:
$(@D)/configure
whichever you prefer.
> + --prefix=$(HOST_DIR) \
> + --sysconfdir=$(HOST_DIR)/etc \
> + --localstatedir=$(HOST_DIR)/var \
> + --enable-shared --disable-static \
> + --disable-gtk-doc \
> + --disable-gtk-doc-html \
> + --disable-doc \
> + --disable-docs \
> + --disable-documentation \
> + --disable-debug \
> + --with-xmlto=no \
> + --with-fop=no \
> + --disable-nls \
> + --disable-dependency-tracking \
> + --target=$(arch_tuple) \
> + --disable-gprof \
> + --enable-lto \
> + --disable-initfini-array \
> + --disable-multilib \
> + --disable-werror; \
I think the final semi-colon here is not needed.
> + )
> +endef
> +
> +define HOST_BINUTILS_BARE_METAL_BUILD_CMDS
> + $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
> + $(HOST_MAKE_ENV) $(MAKE) \
> + $(HOST_BINUTILS_BARE_METAL_MAKE_OPTS) \
> + -C $(@D)/build-$(arch_tuple);)
Instead of this final semi-colon, put the closing parenthesis on the
next line, so that the loop looks like this:
$(foreach bla,$(list),
something
)
> +endef
> +
> +define HOST_BINUTILS_BARE_METAL_INSTALL_CMDS
> + $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
> + $(HOST_MAKE_ENV) $(MAKE) \
> + $(HOST_BINUTILS_BARE_METAL_INSTALL_OPTS) \
> + -C $(@D)/build-$(arch_tuple);)
Ditto here.
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2 2/4] package/gcc-bare-metal: add multiple tuple support
2025-02-14 16:54 ` [Buildroot] [PATCH v2 2/4] package/gcc-bare-metal: " Neal Frager via buildroot
@ 2025-02-14 21:59 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 14+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-02-14 21:59 UTC (permalink / raw)
To: Neal Frager via buildroot
Cc: Neal Frager, ibai.erkiaga-elorza, luca.ceresoli, brandon.maier,
ju.o, romain.naour, michal.simek
Hello Neal,
On Fri, 14 Feb 2025 16:54:00 +0000
Neal Frager via buildroot <buildroot@buildroot.org> wrote:
> Add support to gcc-bare-metal to support multiple architecture tuples
> with the BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH string.
>
> Signed-off-by: Neal Frager <neal.frager@amd.com>
I have the same comments as for the binutils-bare-metal patch, they are
also applicable to this gcc-bare-metal patch.
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2 3/4] package/newlib-bare-metal: add multiple tuple support
2025-02-14 16:54 ` [Buildroot] [PATCH v2 3/4] package/newlib-bare-metal: " Neal Frager via buildroot
@ 2025-02-14 22:00 ` Thomas Petazzoni
0 siblings, 0 replies; 14+ messages in thread
From: Thomas Petazzoni @ 2025-02-14 22:00 UTC (permalink / raw)
To: Neal Frager via buildroot
Cc: Neal Frager, ibai.erkiaga-elorza, luca.ceresoli, brandon.maier,
ju.o, romain.naour, michal.simek
On Fri, 14 Feb 2025 16:54:01 +0000
Neal Frager via buildroot <buildroot@buildroot.org> wrote:
> Add support to newlib-bare-metal to support multiple architecture tuples
> with the BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH string.
>
> Signed-off-by: Neal Frager <neal.frager@amd.com>
And same as binutils-bare-metal for this patch as well, for consistency
reasons.
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2 4/4] toolchain/toolchain-bare-metal-buildroot: update help text for multiple tuple support
2025-02-14 16:54 ` [Buildroot] [PATCH v2 4/4] toolchain/toolchain-bare-metal-buildroot: update help text for " Neal Frager via buildroot
@ 2025-02-14 22:03 ` Thomas Petazzoni
2025-02-15 12:35 ` Frager, Neal via buildroot
0 siblings, 1 reply; 14+ messages in thread
From: Thomas Petazzoni @ 2025-02-14 22:03 UTC (permalink / raw)
To: Neal Frager via buildroot
Cc: Neal Frager, ibai.erkiaga-elorza, luca.ceresoli, brandon.maier,
ju.o, romain.naour, michal.simek
Hello Neal,
On Fri, 14 Feb 2025 16:54:02 +0000
Neal Frager via buildroot <buildroot@buildroot.org> wrote:
> Now that binutils-bare-metal, gcc-bare-metal and newlib-bare-metal packages
> have been upgraded to support a list of architecture tuples, this patch
> updates the toolchain-bare-metal-buildroot help text to describe the new
> capability.
>
> BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH is still backwards compatible with
> its prior definition as defining a single tuple with this new definition
> works exactly the same as before.
>
> Signed-off-by: Neal Frager <neal.frager@amd.com>
Overall looks good. Maybe one minor wording comment.
> config BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH
> - string "architecture tuple"
> + string "list of architecture tuples"
> help
> - This option allows to define the architecture tuple for the
> - bare-metal toolchain.
> + This option defines a list of architecture tuples for
> + building bare metal toolchains.
This option allows to define the list of architecture tuples for which
bare-metal toolchains will be created. One toolchain will be built for
each of the architecture tuples specified in this option.
> +
> + For example, to build both a microblaze and a riscv bare
microblaze -> Microblaze
riscv -> RISC-V
> + metal toolchain for Xilinx platforms, use the following
I'm not sure the "Xilinx platforms" here is very relevant.
> + definition:
> + "microblazeel-xilinx-elf riscv32-xilinx-elf"
In fact, I'm not sure the "xilinx" parts of the tuples here are very
relevant/useful. It's the vendor part of the tuple, so it has basically
no effect. It would probably be even more logical to use
microblazel-none-elf, or even microblazeel-buildroot-elf.
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add multiple tuple support
2025-02-14 21:58 ` [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add " Thomas Petazzoni via buildroot
@ 2025-02-15 11:02 ` Frager, Neal via buildroot
2025-02-16 12:10 ` Arnout Vandecappelle via buildroot
0 siblings, 1 reply; 14+ messages in thread
From: Frager, Neal via buildroot @ 2025-02-15 11:02 UTC (permalink / raw)
To: Thomas Petazzoni, Neal Frager via buildroot
Cc: Erkiaga Elorza, Ibai, luca.ceresoli@bootlin.com,
brandon.maier@collins.com, ju.o@free.fr, romain.naour@smile.fr,
Simek, Michal
Hello Thomas,
> Hello Neal,
> Thanks for your work on this topic. Overall, the approach you have
> taken is exactly what I had in mind, so that's very good. I only have
> some implementation details to comment on below.
> On Fri, 14 Feb 2025 16:53:59 +0000
> Neal Frager via buildroot <buildroot@buildroot.org> wrote:
> +# to build for multiple arch tuples, it is necesssary to build out of the
> +# source tree, so that each arch tuple can have its own build location
> +define HOST_BINUTILS_BARE_METAL_CONFIGURE_SYMLINKS
> + $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
> + mkdir -p $(@D)/build-$(arch_tuple) && \
> + ln -sf ../configure $(@D)/build-$(arch_tuple)/configure;)
> +endef
> You don't need to create a symlink. We do that in gcc because we're
> using <pkg>_SUBDIR, with which the default CONFIGURE_CMDS from
> autotools-package assumes the configure script will be in the
> <pkg>_SUBDIR. But here, since we are anyway implementing our custom
> CONFIGURE_CMDS, creating this symlink is not needed. So I would drop
> this HOST_BINUTILS_BARE_METAL_CONFIGURE_SYMLINKS entirely.
Lovely!
> See below how things would work.
> +
> +HOST_BINUTILS_BARE_METAL_PRE_CONFIGURE_HOOKS += HOST_BINUTILS_BARE_METAL_CONFIGURE_SYMLINKS
> +
> +define HOST_BINUTILS_BARE_METAL_CONFIGURE_CMDS
> + $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
> Add here:
> mkdir -p $(@D)/build-$(arch_tuple) && \
> + cd $(@D)/build-$(arch_tuple) && \
> + $(HOST_CONFIGURE_OPTS) \
> + $(HOST_BINUTILS_BARE_METAL_CONF_ENV) \
> + ./configure \
> Replace with:
> ../configure
> or:
> $(@D)/configure
> whichever you prefer.
I confirm this works. Thank you!
> + --prefix=$(HOST_DIR) \
> + --sysconfdir=$(HOST_DIR)/etc \
> + --localstatedir=$(HOST_DIR)/var \
> + --enable-shared --disable-static \
> + --disable-gtk-doc \
> + --disable-gtk-doc-html \
> + --disable-doc \
> + --disable-docs \
> + --disable-documentation \
> + --disable-debug \
> + --with-xmlto=no \
> + --with-fop=no \
> + --disable-nls \
> + --disable-dependency-tracking \
> + --target=$(arch_tuple) \
> + --disable-gprof \
> + --enable-lto \
> + --disable-initfini-array \
> + --disable-multilib \
> + --disable-werror; \
> I think the final semi-colon here is not needed.
Without the semi-colon, I get the following configure error:
configure: WARNING: you should use --build, --host, --target
configure: error: unrecognized option: `-p'
It seems that the loop wraps around the next mkdir instruction with the
configure unless the instructions are separated with a semi-colon.
However, you are correct that the semi-colon is not needed for the
build and install steps since these are single instruction loops.
> + )
> +endef
> +
> +define HOST_BINUTILS_BARE_METAL_BUILD_CMDS
> + $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
> + $(HOST_MAKE_ENV) $(MAKE) \
> + $(HOST_BINUTILS_BARE_METAL_MAKE_OPTS) \
> + -C $(@D)/build-$(arch_tuple);)
> Instead of this final semi-colon, put the closing parenthesis on the
> next line, so that the loop looks like this:
> $(foreach bla,$(list),
> something
> )
Done. Thanks!
> +endef
> +
> +define HOST_BINUTILS_BARE_METAL_INSTALL_CMDS
> + $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
> + $(HOST_MAKE_ENV) $(MAKE) \
> + $(HOST_BINUTILS_BARE_METAL_INSTALL_OPTS) \
> + -C $(@D)/build-$(arch_tuple);)
> Ditto here.
Done. Thanks!
> Thanks!
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
Best regards,
Neal Frager
AMD
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2 4/4] toolchain/toolchain-bare-metal-buildroot: update help text for multiple tuple support
2025-02-14 22:03 ` Thomas Petazzoni
@ 2025-02-15 12:35 ` Frager, Neal via buildroot
0 siblings, 0 replies; 14+ messages in thread
From: Frager, Neal via buildroot @ 2025-02-15 12:35 UTC (permalink / raw)
To: Thomas Petazzoni, Neal Frager via buildroot
Cc: Erkiaga Elorza, Ibai, luca.ceresoli@bootlin.com,
brandon.maier@collins.com, ju.o@free.fr, romain.naour@smile.fr,
Simek, Michal
Hi Thomas,
> Now that binutils-bare-metal, gcc-bare-metal and newlib-bare-metal packages
> have been upgraded to support a list of architecture tuples, this patch
> updates the toolchain-bare-metal-buildroot help text to describe the new
> capability.
>
> BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH is still backwards compatible with
> its prior definition as defining a single tuple with this new definition
> works exactly the same as before.
>
> Signed-off-by: Neal Frager <neal.frager@amd.com>
> Overall looks good. Maybe one minor wording comment.
Thanks for the review.
> config BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH
> - string "architecture tuple"
> + string "list of architecture tuples"
> help
> - This option allows to define the architecture tuple for the
> - bare-metal toolchain.
> + This option defines a list of architecture tuples for
> + building bare metal toolchains.
> This option allows to define the list of architecture tuples for which
> bare-metal toolchains will be created. One toolchain will be built for
> each of the architecture tuples specified in this option.
Ok for me.
> +
> + For example, to build both a microblaze and a riscv bare
> microblaze -> Microblaze
> riscv -> RISC-V
I will change this.
> + metal toolchain for Xilinx platforms, use the following
> I'm not sure the "Xilinx platforms" here is very relevant.
Yes, you are right.
> + definition:
> + "microblazeel-xilinx-elf riscv32-xilinx-elf"
> In fact, I'm not sure the "xilinx" parts of the tuples here are very
> relevant/useful. It's the vendor part of the tuple, so it has basically
> no effect. It would probably be even more logical to use
> microblazel-none-elf, or even microblazeel-buildroot-elf.
Since we are using Buildroot to build these toolchains, I will use Buildroot
as the vendor. I will probably update the xilinx-embeddedsw package to use
Buildroot as the toolchain vendor as well.
> Thanks!
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
Thanks again!
Best regards,
Neal Frager
AMD
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add multiple tuple support
2025-02-15 11:02 ` Frager, Neal via buildroot
@ 2025-02-16 12:10 ` Arnout Vandecappelle via buildroot
2025-02-16 12:22 ` Frager, Neal
0 siblings, 1 reply; 14+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2025-02-16 12:10 UTC (permalink / raw)
To: Frager, Neal, Thomas Petazzoni, Neal Frager via buildroot
Cc: Erkiaga Elorza, Ibai, luca.ceresoli@bootlin.com,
brandon.maier@collins.com, ju.o@free.fr, romain.naour@smile.fr,
Simek, Michal
On 15/02/2025 12:02, Frager, Neal via buildroot wrote:
> Hello Thomas,
>
>> Hello Neal,
>
>> Thanks for your work on this topic. Overall, the approach you have
>> taken is exactly what I had in mind, so that's very good. I only have
>> some implementation details to comment on below.
>
>> On Fri, 14 Feb 2025 16:53:59 +0000
>> Neal Frager via buildroot <buildroot@buildroot.org> wrote:
[snip]
>> + --disable-initfini-array \
>> + --disable-multilib \
>> + --disable-werror; \
>
>> I think the final semi-colon here is not needed.
>
> Without the semi-colon, I get the following configure error:
>
> configure: WARNING: you should use --build, --host, --target
> configure: error: unrecognized option: `-p'
>
> It seems that the loop wraps around the next mkdir instruction with the
> configure unless the instructions are separated with a semi-colon.
>
> However, you are correct that the semi-colon is not needed for the
> build and install steps since these are single instruction loops.
That shouldn't make any difference though - the newline and the leading tab
tell make that this is a new command. It shouldn't make a difference to 'make'
if there are one or more commands on the line.
Also, where does that '-p' even come from? I don't see it anywhere in the
configure commands...
Regards,
Arnout
[snip]
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add multiple tuple support
2025-02-16 12:10 ` Arnout Vandecappelle via buildroot
@ 2025-02-16 12:22 ` Frager, Neal
2025-02-16 12:39 ` Arnout Vandecappelle via buildroot
0 siblings, 1 reply; 14+ messages in thread
From: Frager, Neal @ 2025-02-16 12:22 UTC (permalink / raw)
To: Arnout Vandecappelle, Thomas Petazzoni, Neal Frager via buildroot
Cc: Erkiaga Elorza, Ibai, luca.ceresoli@bootlin.com,
brandon.maier@collins.com, ju.o@free.fr, romain.naour@smile.fr,
Simek, Michal
[-- Attachment #1.1: Type: text/plain, Size: 1692 bytes --]
Hello Arnout,
> Hello Thomas,
>
>> Hello Neal,
>
>> Thanks for your work on this topic. Overall, the approach you have
>> taken is exactly what I had in mind, so that's very good. I only have
>> some implementation details to comment on below.
>
>> On Fri, 14 Feb 2025 16:53:59 +0000
>> Neal Frager via buildroot <buildroot@buildroot.org> wrote:
[snip]
>> + --disable-initfini-array \
>> + --disable-multilib \
>> + --disable-werror; \
>
>> I think the final semi-colon here is not needed.
>
> Without the semi-colon, I get the following configure error:
>
> configure: WARNING: you should use --build, --host, --target
> configure: error: unrecognized option: `-p'
>
> It seems that the loop wraps around the next mkdir instruction with the
> configure unless the instructions are separated with a semi-colon.
>
> However, you are correct that the semi-colon is not needed for the
> build and install steps since these are single instruction loops.
> That shouldn't make any difference though - the newline and the leading tab
> tell make that this is a new command. It shouldn't make a difference to 'make'
> if there are one or more commands on the line.
> Also, where does that '-p' even come from? I don't see it anywhere in the
> configure commands...
I agree it should not be needed.
But if you look at v3 of this series and remove
the semi-colon from the end of the configure
command, you will see this error with the -p
seeming to come from the mkdir command
which is the first command to run in the next
iteration of the loop.
Best regards,
Neal Frager
AMD
[snip]
[-- Attachment #1.2: Type: text/html, Size: 3618 bytes --]
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add multiple tuple support
2025-02-16 12:22 ` Frager, Neal
@ 2025-02-16 12:39 ` Arnout Vandecappelle via buildroot
2025-02-16 14:47 ` Frager, Neal via buildroot
0 siblings, 1 reply; 14+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2025-02-16 12:39 UTC (permalink / raw)
To: Frager, Neal, Thomas Petazzoni, Neal Frager via buildroot
Cc: Erkiaga Elorza, Ibai, luca.ceresoli@bootlin.com,
brandon.maier@collins.com, ju.o@free.fr, romain.naour@smile.fr,
Simek, Michal
On 16/02/2025 13:22, Frager, Neal wrote:
> Hello Arnout,
>
>> Hello Thomas,
>>
>>> Hello Neal,
>>
>>> Thanks for your work on this topic. Overall, the approach you have
>>> taken is exactly what I had in mind, so that's very good. I only have
>>> some implementation details to comment on below.
>>
>>> On Fri, 14 Feb 2025 16:53:59 +0000
>>> Neal Frager via buildroot <buildroot@buildroot.org> wrote:
> [snip]
>>> + --disable-initfini-array \
>>> + --disable-multilib \
>>> + --disable-werror; \
>>
>>> I think the final semi-colon here is not needed.
>>
>> Without the semi-colon, I get the following configure error:
>>
>> configure: WARNING: you should use --build, --host, --target
>> configure: error: unrecognized option: `-p'
>>
>> It seems that the loop wraps around the next mkdir instruction with the
>> configure unless the instructions are separated with a semi-colon.
>>
>> However, you are correct that the semi-colon is not needed for the
>> build and install steps since these are single instruction loops.
>
>> That shouldn't make any difference though - the newline and the leading tab
>> tell make that this is a new command. It shouldn't make a difference to 'make'
>> if there are one or more commands on the line.
>
>> Also, where does that '-p' even come from? I don't see it anywhere in the
>> configure commands...
>
> I agree it should not be needed.
>
> But if you look at v3 of this series and remove
> the semi-colon from the end of the configure
> command, you will see this error with the -p
> seeming to come from the mkdir command
> which is the first command to run in the next
> iteration of the loop.
The trailing \ puts the two commands on the same line. For the other two you
didn't add a trailing backslash so it's different lines...
Can be fixed while applying.
Regards,
Arnout
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add multiple tuple support
2025-02-16 12:39 ` Arnout Vandecappelle via buildroot
@ 2025-02-16 14:47 ` Frager, Neal via buildroot
0 siblings, 0 replies; 14+ messages in thread
From: Frager, Neal via buildroot @ 2025-02-16 14:47 UTC (permalink / raw)
To: Arnout Vandecappelle, Thomas Petazzoni, Neal Frager via buildroot
Cc: Erkiaga Elorza, Ibai, luca.ceresoli@bootlin.com,
brandon.maier@collins.com, ju.o@free.fr, romain.naour@smile.fr,
Simek, Michal
Hello Arnout,
> Hello Arnout,
>
>> Hello Thomas,
>>
>>> Hello Neal,
>>
>>> Thanks for your work on this topic. Overall, the approach you have
>>> taken is exactly what I had in mind, so that's very good. I only have
>>> some implementation details to comment on below.
>>
>>> On Fri, 14 Feb 2025 16:53:59 +0000
>>> Neal Frager via buildroot <buildroot@buildroot.org> wrote:
> [snip]
>>> + --disable-initfini-array \
>>> + --disable-multilib \
>>> + --disable-werror; \
>>
>>> I think the final semi-colon here is not needed.
>>
>> Without the semi-colon, I get the following configure error:
>>
>> configure: WARNING: you should use --build, --host, --target
>> configure: error: unrecognized option: `-p'
>>
>> It seems that the loop wraps around the next mkdir instruction with the
>> configure unless the instructions are separated with a semi-colon.
>>
>> However, you are correct that the semi-colon is not needed for the
>> build and install steps since these are single instruction loops.
>
>> That shouldn't make any difference though - the newline and the leading tab
>> tell make that this is a new command. It shouldn't make a difference to 'make'
>> if there are one or more commands on the line.
>
>> Also, where does that '-p' even come from? I don't see it anywhere in the
>> configure commands...
>
> I agree it should not be needed.
>
> But if you look at v3 of this series and remove
> the semi-colon from the end of the configure
> command, you will see this error with the -p
> seeming to come from the mkdir command
> which is the first command to run in the next
> iteration of the loop.
> The trailing \ puts the two commands on the same line. For the other two you
> didn't add a trailing backslash so it's different lines...
> Can be fixed while applying.
Thank you!!! I knew it had to be something obvious.
> Regards,
> Arnout
Best regards,
Neal Frager
AMD
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-02-16 14:47 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-14 16:53 [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add multiple tuple support Neal Frager via buildroot
2025-02-14 16:54 ` [Buildroot] [PATCH v2 2/4] package/gcc-bare-metal: " Neal Frager via buildroot
2025-02-14 21:59 ` Thomas Petazzoni via buildroot
2025-02-14 16:54 ` [Buildroot] [PATCH v2 3/4] package/newlib-bare-metal: " Neal Frager via buildroot
2025-02-14 22:00 ` Thomas Petazzoni
2025-02-14 16:54 ` [Buildroot] [PATCH v2 4/4] toolchain/toolchain-bare-metal-buildroot: update help text for " Neal Frager via buildroot
2025-02-14 22:03 ` Thomas Petazzoni
2025-02-15 12:35 ` Frager, Neal via buildroot
2025-02-14 21:58 ` [Buildroot] [PATCH v2 1/4] package/binutils-bare-metal: add " Thomas Petazzoni via buildroot
2025-02-15 11:02 ` Frager, Neal via buildroot
2025-02-16 12:10 ` Arnout Vandecappelle via buildroot
2025-02-16 12:22 ` Frager, Neal
2025-02-16 12:39 ` Arnout Vandecappelle via buildroot
2025-02-16 14:47 ` Frager, Neal via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox