Commit 671bd046 authored by Mischa Jonker's avatar Mischa Jonker Committed by Peter Korsgaard
Browse files

toolchain/gcc: make sure to pass $(HOST_DIR)/usr/bin in the PATH



Since gcc doesn't use the package infrastructure, it doesn't get all
the good generic environment variables, and forgets to get
$(HOST_DIR)/usr/bin in its PATH. This prevents gcc from finding and
using host tools built by Buildroot.

This patch therefore ensures that $(HOST_MAKE_ENV) or
$(TARGET_MAKE_ENV) are passed at the appropriate locations. It will be
useful for a later patch that makes gcc depend on host-flex/host-bison
in some situations.

Original patch by Thomas Petazzoni.

Signed-off-by: default avatarMischa Jonker <mjonker@synopsys.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent 61232f80
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -299,16 +299,16 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched
$(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured
	$(Q)$(call MESSAGE,"Building gcc pass-1")
ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y)
	$(GCC_CONF_ENV) $(MAKE) -C $(GCC_BUILD_DIR1) all-gcc
	$(GCC_CONF_ENV) $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR1) all-gcc
else
	$(MAKE) -C $(GCC_BUILD_DIR1) all-gcc
	$(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR1) all-gcc
endif
	touch $@

gcc_initial=$(GCC_BUILD_DIR1)/.installed
$(gcc_initial) $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-gcc: $(GCC_BUILD_DIR1)/.compiled
	$(Q)$(call MESSAGE,"Installing gcc pass-1")
	PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) install-gcc
	$(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR1) install-gcc
	touch $(gcc_initial)

gcc_initial: $(GCC_HOST_PREREQ) host-binutils $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-gcc
@@ -370,9 +370,9 @@ $(GCC_BUILD_DIR2)/.compiled: $(GCC_BUILD_DIR2)/.configured
	$(Q)$(call MESSAGE,"Building gcc pass-2")
	# gcc >= 4.3.0 have to also build all-target-libgcc
ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y)
	$(GCC_CONF_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) all-gcc all-target-libgcc
	$(GCC_CONF_ENV) $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) all-gcc all-target-libgcc
else
	$(MAKE) -C $(GCC_BUILD_DIR2) all-gcc
	$(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) all-gcc
endif
	touch $@

@@ -381,9 +381,9 @@ $(gcc_intermediate): $(GCC_BUILD_DIR2)/.compiled
	$(Q)$(call MESSAGE,"Installing gcc pass-2")
	# gcc >= 4.3.0 have to also install install-target-libgcc
ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y)
	PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR2) install-gcc install-target-libgcc
	$(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) install-gcc install-target-libgcc
else
	PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR2) install-gcc
	$(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) install-gcc
endif
	touch $(gcc_intermediate)

@@ -449,12 +449,12 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_SRC_DIR)/.patched $(GCC_STAGING_PREREQ)

$(GCC_BUILD_DIR3)/.compiled: $(GCC_BUILD_DIR3)/.configured
	$(Q)$(call MESSAGE,"Building gcc final")
	$(GCC_CONF_ENV) $(MAKE) -C $(GCC_BUILD_DIR3) all
	$(GCC_CONF_ENV) $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR3) all
	touch $@

$(GCC_BUILD_DIR3)/.installed: $(GCC_BUILD_DIR3)/.compiled
	$(Q)$(call MESSAGE,"Installing gcc final")
	PATH=$(TARGET_PATH) $(MAKE) \
	$(HOST_MAKE_ENV) $(MAKE) \
		-C $(GCC_BUILD_DIR3) install
	if [ -d "$(STAGING_DIR)/lib64" ]; then \
		if [ ! -e "$(STAGING_DIR)/lib" ]; then \
@@ -582,8 +582,8 @@ $(GCC_BUILD_DIR4)/.configured: $(GCC_BUILD_DIR4)/.prepared

$(GCC_BUILD_DIR4)/.compiled: $(GCC_BUILD_DIR4)/.configured
	$(Q)$(call MESSAGE,"Building gcc on target")
	PATH=$(TARGET_PATH) \
	$(MAKE) -C $(GCC_BUILD_DIR4) all
	$(TARGET_MAKE_ENV) \
	$(TARGET_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR4) all
	touch $@

GCC_LIB_SUBDIR=lib/gcc/$(GNU_TARGET_NAME)/$(GCC_VERSION)
@@ -595,7 +595,7 @@ endif

$(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR4)/.compiled
	$(Q)$(call MESSAGE,"Installing gcc on target")
	PATH=$(TARGET_PATH) DESTDIR=$(TARGET_DIR) \
	$(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) \
		$(MAKE1) -C $(GCC_BUILD_DIR4) install
	# Remove broken specs file (cross compile flag is set).
	rm -f $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/specs