Skip to content

Commit

Permalink
toolchain/wrapper: fill and reference info.mk in staging_dir ext tool…
Browse files Browse the repository at this point in the history
…chain

Currently when external toolchain is used, a info.mk is created (with
to-be-filled values) but is never actually filled with real values and
is never actually used in rules.mk.

This info.mk is used down the code with special packages like libgcc to
reference info like gcc version and package special library.

To mimic what is done with internal toolchain, add the include in
rules.mk for info.mk also for external library and in fix
toolchain/wrapper to fill the staging_dir info.mk.

The logic is to check if the external toolchain provide an info.mk and
if it doesn't we at least fill the GCC_VERSION with the value set in the
.config file.

With this special library like libgcc correctly reference and have set the
GCC_VERSION variable.

Signed-off-by: Christian Marangi <[email protected]>
  • Loading branch information
Ansuel committed Apr 21, 2024
1 parent 4a81d86 commit 0e16196
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
1 change: 1 addition & 0 deletions rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ ifndef DUMP
endif
else
ifeq ($(CONFIG_NATIVE_TOOLCHAIN),)
-include $(TOOLCHAIN_DIR)/info.mk
TARGET_CROSS:=$(call qstrip,$(CONFIG_TOOLCHAIN_PREFIX))
TOOLCHAIN_ROOT_DIR:=$(call qstrip,$(CONFIG_TOOLCHAIN_ROOT))
TOOLCHAIN_BIN_DIRS:=$(patsubst ./%,$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_BIN_PATH)))
Expand Down
10 changes: 10 additions & 0 deletions toolchain/wrapper/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,14 @@ $$(if $$($(1)), \
endef


define Host/SetToolchainInfo
if [ -f $(CONFIG_TOOLCHAIN_ROOT)/info.mk ]; then \
$(CP) $(CONFIG_TOOLCHAIN_ROOT)/info.mk $(TOOLCHAIN_DIR)/; \
else \
$(SED) 's,GCC_VERSION=.*,GCC_VERSION=$(CONFIG_GCC_VERSION),' $(TOOLCHAIN_DIR)/info.mk; \
fi
endef

define Host/Prepare
$(call toolchain_test,CONFIG_SOFT_FLOAT,softfloat)
$(call toolchain_test,CONFIG_IPV6,ipv6)
Expand All @@ -53,10 +61,12 @@ endef

define Host/Install
$(call toolchain_util,--wrap "$(TOOLCHAIN_DIR)/bin")
$(call Host/SetToolchainInfo)
endef

define Host/Clean
rm -rf $(TOOLCHAIN_DIR)/bin
rm -rf $(TOOLCHAIN_DIR)/info.mk
endef

$(eval $(call HostBuild))

0 comments on commit 0e16196

Please sign in to comment.