diff --git a/mk/podman.mk b/mk/podman.mk index e79ba751..e30ddf49 100644 --- a/mk/podman.mk +++ b/mk/podman.mk @@ -57,12 +57,11 @@ container_kill: FORCE ## Must match the value of CONTAINER_TAG in config.mk build/container.tag: $(CONTAINERFILE) ifeq ($(PODMAN_BUILD),1) - rm -f build/container.tag + rm -f $@ $(FSTOOLS_TAG) -podman image rm --force $(IMAGE_TAG) || true mkdir -p $(PODMAN_HOME) @echo "Building Podman image. This may take some time." cat $(CONTAINERFILE) | podman build --file - $(PODMAN_VOLUMES) --tag $(IMAGE_TAG) - @echo "Mapping Podman user space. Please wait." $(PODMAN_RUN) bash -e podman/rustinstall.sh mkdir -p build touch $@ diff --git a/mk/prefix.mk b/mk/prefix.mk index 9b44ffba..7e3e2269 100644 --- a/mk/prefix.mk +++ b/mk/prefix.mk @@ -70,6 +70,10 @@ else export $(PREFIX_CONFIG) COOKBOOK_HOST_SYSROOT=/usr && \ ./target/release/repo cook host:libtool cp -r "$(LIBTOOL_TARGET)/stage/usr/". "$@.partial" + mv "$@.partial/bin/libtoolize" "$@.partial/bin/libtoolize.orig" +# adapt path for libtoolize + sed 's|/usr/share|$(ROOT)/$@/share|g' "$@.partial/bin/libtoolize.orig" > "$@.partial/bin/libtoolize" + chmod 0755 "$@.partial/bin/libtoolize" touch "$@.partial" mv "$@.partial" "$@" endif @@ -82,7 +86,8 @@ else cp -r "$(PREFIX)/relibc-install/" "$@" cp -r "$(PREFIX)/libtool-install/". "$@" # adapt path for libtoolize - $(SED) -i 's|/usr/share|$(ROOT)/$@/share|g' "$@/bin/libtoolize" + sed 's|/usr/share|$(ROOT)/$@/share|g' "$@/bin/libtoolize.orig" > "$@/bin/libtoolize" + chmod 0755 "$@/bin/libtoolize" touch "$@" endif @@ -127,15 +132,15 @@ else mv "$@.partial" "$@" endif -$(PREFIX)/gcc-freestanding-install: $(PREFIX)/binutils-install | $(FSTOOLS_TAG) $(CONTAINER_TAG) +$(PREFIX)/gcc-freestanding-install: $(PREFIX)/libtool-install $(PREFIX)/binutils-install | $(FSTOOLS_TAG) $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) $(PODMAN_RUN) make $@ else @echo "\033[1;36;49mBuilding gcc-freestanding-install\033[0m" rm -rf "$@.partial" "$@" $(PREFIX)/relibc-freestanding-install $(PREFIX)/sysroot mkdir -p "$@.partial" $(PREFIX)/relibc-freestanding-install/$(GNU_TARGET)/include - export $(PREFIX_CONFIG) PATH="$(ROOT)/$(PREFIX)/binutils-install/bin:$$PATH" \ - COOKBOOK_CROSS_TARGET=$(TARGET) COOKBOOK_CROSS_GNU_TARGET=$(GNU_TARGET) \ + export $(PREFIX_CONFIG) PATH="$(ROOT)/$(PREFIX)/libtool-install/bin:$(ROOT)/$(PREFIX)/binutils-install/bin:$$PATH" \ + COOKBOOK_LIBTOOL_DIR=$(ROOT)/$(PREFIX)/libtool-install COOKBOOK_CROSS_TARGET=$(TARGET) COOKBOOK_CROSS_GNU_TARGET=$(GNU_TARGET) \ COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_SYSROOT=$(ROOT)/$(PREFIX)/relibc-freestanding-install/$(GNU_TARGET) && \ ./target/release/repo cook host:gcc13 cp -r "$(GCC_TARGET)/stage/usr/". "$@.partial" diff --git a/recipes/dev/gcc13/recipe.toml b/recipes/dev/gcc13/recipe.toml index 2422b7fc..597f8baf 100644 --- a/recipes/dev/gcc13/recipe.toml +++ b/recipes/dev/gcc13/recipe.toml @@ -5,7 +5,8 @@ shallow_clone = true script = """ DYNAMIC_INIT COOKBOOK_AUTORECONF=autoreconf2.69 autotools_recursive_regenerate -I"$(realpath ./config)" -cp -fpv "${COOKBOOK_HOST_SYSROOT}"/share/libtool/build-aux/{config.sub,config.guess,install-sh} libiberty/ +LIBTOOL_BUILD_AUX="${COOKBOOK_LIBTOOL_DIR:-$COOKBOOK_HOST_SYSROOT}"/share/libtool/build-aux +cp -fpv "$LIBTOOL_BUILD_AUX"/{config.sub,config.guess,install-sh} libiberty/ """ [build]