From 956d919732974f46023b8d50b31ba61309409d57 Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Fri, 23 Aug 2024 14:58:52 +0200 Subject: [PATCH] Fix the install-cross-compiler target. Run sysroot-base-headers so the headers are available when directly invoked. Use --build as the toolchain currently cannot guess Sortix. Set V=1 for a verbose binutils build. Pass --with-sysroot appropriately when doing a native non-cross build. Pass --with-system-zlib to the gcc build. --- Makefile | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 3a9f1fa8..1db1c59b 100644 --- a/Makefile +++ b/Makefile @@ -128,29 +128,40 @@ clean-cross-compiler: rm -rf ports/binutils/binutils.build rm -rf ports/gcc/gcc.build +ifeq ($(BUILD),$(TARGET)) +CROSS_COMPILER_WITH_SYSROOT=--with-sysroot=/ +else +CROSS_COMPILER_WITH_SYSROOT=--with-sysroot="$(SYSROOT)" +endif + .PHONY: install-cross-compiler install-cross-compiler: + $(MAKE) clean-sysroot + $(MAKE) sysroot-base-headers HOST=$(TARGET) PREFIX= PATH="$(PREFIX)/sbin:$(PREFIX)/bin:$(PATH)" \ $(MAKE) extract-ports PACKAGES='binutils gcc' rm -rf ports/binutils/binutils.build mkdir ports/binutils/binutils.build cd ports/binutils/binutils.build && \ ../binutils/configure \ + --build="$(BUILD)" \ --target="$(TARGET)" \ --prefix="$(PREFIX)" \ - --with-sysroot="$(SYSROOT)" \ + $(CROSS_COMPILER_WITH_SYSROOT) \ --disable-werror - $(MAKE) -C ports/binutils/binutils.build - $(MAKE) -C ports/binutils/binutils.build install + V=1 $(MAKE) -C ports/binutils/binutils.build + V=1 $(MAKE) -C ports/binutils/binutils.build install rm -rf ports/gcc/gcc.build mkdir ports/gcc/gcc.build cd ports/gcc/gcc.build && \ PATH="$(PREFIX)/bin:$(PATH)" \ ../gcc/configure \ + --build="$(BUILD)" \ --target="$(TARGET)" \ --prefix="$(PREFIX)" \ - --with-sysroot="$(SYSROOT)" \ - --enable-languages=c,c++ + $(CROSS_COMPILER_WITH_SYSROOT) \ + --enable-languages=c,c++ \ + --with-system-zlib PATH="$(PREFIX)/bin:$(PATH)" \ $(MAKE) -C ports/gcc/gcc.build all-gcc all-target-libgcc PATH="$(PREFIX)/bin:$(PATH)" \ @@ -162,8 +173,6 @@ clean-cross-toolchain: clean-sysroot clean-build-tools clean-cross-compiler .PHONY: install-cross-toolchain install-cross-toolchain: install-build-tools - $(MAKE) clean-sysroot - $(MAKE) sysroot-base-headers HOST=$(TARGET) PREFIX= $(MAKE) install-cross-compiler .PHONY: sysroot-fsh