:: commit 9c16545862838bdd6b8af50b68279aeb19f30215

mintsuki <mintsuki@protonmail.com> — 2023-03-13 19:40

parents: db099aa213

misc: Use freestanding-toolchain instead of cross-detect

diff --git a/.gitignore b/.gitignore
index 067f4154..8bbd388d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,7 +25,7 @@
 /.vscode
 /test_image
 !/common/font.bin
-/cross-detect
+/freestanding-toolchain
 /configure
 /configure.ac.save
 /build-aux
diff --git a/GNUmakefile.in b/GNUmakefile.in
index 745938b3..4cbc8baf 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -303,13 +303,11 @@ dist:
 
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/limine-efi/.git"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/limine-efi/.gitignore"
-	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/cross-detect/.git"
-	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/cross-detect/.gitignore"
+	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/freestanding-toolchain"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/.git"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/.gitignore"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/.github"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/autom4te.cache"
-	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/cross-detect/autom4te.cache"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/test"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/screenshot.png"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/bochsrc"
@@ -324,12 +322,12 @@ distclean: clean
 
 .PHONY: maintainer-clean
 maintainer-clean: distclean
-	cd '$(call SHESCAPE,$(SRCDIR))' && rm -rf common/term common/stb/stb_image.h freestanding-headers libgcc-binaries limine-efi cross-detect configure build-aux *'~' autom4te.cache *.tar.xz *.tar.gz
+	cd '$(call SHESCAPE,$(SRCDIR))' && rm -rf common/term common/stb/stb_image.h freestanding-headers libgcc-binaries limine-efi freestanding-toolchain configure build-aux *'~' autom4te.cache *.tar.xz *.tar.gz
 
 .PHONY: common-uefi-x86-64
 common-uefi-x86-64:
 	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
-		CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/x86_64-elf-toolchain.mk' \
+		CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-x86_64-toolchain.mk' \
 		TARGET=uefi-x86-64 \
 		BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-uefi-x86-64'
 
@@ -340,7 +338,7 @@ common-uefi-x86-64-clean:
 .PHONY: common-uefi-aarch64
 common-uefi-aarch64:
 	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
-		CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/aarch64-elf-toolchain.mk' \
+		CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-aarch64-toolchain.mk' \
 		TARGET=uefi-aarch64 \
 		BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-uefi-aarch64'
 
@@ -351,7 +349,7 @@ common-uefi-aarch64-clean:
 .PHONY: common-uefi-ia32
 common-uefi-ia32:
 	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
-		CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/i686-elf-toolchain.mk' \
+		CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-i686-toolchain.mk' \
 		TARGET=uefi-ia32 \
 		BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-uefi-ia32'
 
@@ -362,7 +360,7 @@ common-uefi-ia32-clean:
 .PHONY: common-bios
 common-bios:
 	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
-		CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/i686-elf-toolchain.mk' \
+		CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/bios-i686-toolchain.mk' \
 		TARGET=bios \
 		BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-bios'
 
@@ -373,7 +371,7 @@ common-bios-clean:
 .PHONY: decompressor
 decompressor:
 	$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/decompressor' all \
-		CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/i686-elf-toolchain.mk' \
+		CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/bios-i686-toolchain.mk' \
 		BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/decompressor-build'
 
 .PHONY: decompressor-clean
@@ -416,7 +414,7 @@ ext2-test:
 	$(MAKE) test.hdd
 	$(MAKE) limine-bios
 	$(MAKE) limine-deploy
-	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/x86_64-elf-toolchain.mk'
+	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -439,7 +437,7 @@ fat12-test:
 	$(MAKE) test.hdd
 	$(MAKE) limine-bios
 	$(MAKE) limine-deploy
-	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/x86_64-elf-toolchain.mk'
+	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -462,7 +460,7 @@ fat16-test:
 	$(MAKE) test.hdd
 	$(MAKE) limine-bios
 	$(MAKE) limine-deploy
-	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/x86_64-elf-toolchain.mk'
+	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -486,7 +484,7 @@ legacy-fat16-test:
 	fdisk -l mbrtest.hdd
 	$(MAKE) limine-bios
 	$(MAKE) limine-deploy
-	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/x86_64-elf-toolchain.mk'
+	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show mbrtest.hdd > loopback_dev
@@ -509,7 +507,7 @@ fat32-test:
 	$(MAKE) test.hdd
 	$(MAKE) limine-bios
 	$(MAKE) limine-deploy
-	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/x86_64-elf-toolchain.mk'
+	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -531,7 +529,7 @@ iso9660-test:
 	$(MAKE) test-clean
 	$(MAKE) test.hdd
 	$(MAKE) limine-bios
-	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/x86_64-elf-toolchain.mk'
+	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	$(MKDIR_P) test_image/boot
 	sudo cp -rv $(BINDIR)/* test_image/boot/
@@ -545,7 +543,7 @@ full-hybrid-test:
 	$(MAKE) ovmf-ia32
 	$(MAKE) test-clean
 	$(MAKE) all
-	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/x86_64-elf-toolchain.mk'
+	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	$(MKDIR_P) test_image/boot
 	sudo cp -rv $(BINDIR)/* test_image/boot/
@@ -563,7 +561,7 @@ full-hybrid-test:
 pxe-test:
 	$(MAKE) test-clean
 	$(MAKE) limine-bios
-	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/x86_64-elf-toolchain.mk'
+	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	$(MKDIR_P) test_image/boot
 	sudo cp -rv $(BINDIR)/* test_image/boot/
@@ -576,7 +574,7 @@ uefi-x86-64-test:
 	$(MAKE) test-clean
 	$(MAKE) test.hdd
 	$(MAKE) limine-uefi-x86-64
-	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/x86_64-elf-toolchain.mk'
+	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -600,7 +598,7 @@ uefi-aa64-test:
 	$(MAKE) test-clean
 	$(MAKE) test.hdd
 	$(MAKE) limine-uefi-aarch64
-	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/aarch64-elf-toolchain.mk'
+	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-aarch64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
@@ -624,7 +622,7 @@ uefi-ia32-test:
 	$(MAKE) test-clean
 	$(MAKE) test.hdd
 	$(MAKE) limine-uefi-ia32
-	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/x86_64-elf-toolchain.mk'
+	$(MAKE) -C test CROSS_FILE='$(call SHESCAPE,$(BUILDDIR))/cross-files/uefi-x86_64-toolchain.mk'
 	rm -rf test_image/
 	mkdir test_image
 	sudo losetup -Pf --show test.hdd > loopback_dev
diff --git a/bootstrap b/bootstrap
index 2b3bebdd..0cb236aa 100755
--- a/bootstrap
+++ b/bootstrap
@@ -9,7 +9,7 @@ cd "$srcdir"
 
 [ -d common/term ] || git clone https://github.com/limine-bootloader/terminal.git common/term
 [ -f common/stb/stb_image.h ] || ( curl -Lo common/stb/stb_image.h https://github.com/nothings/stb/raw/master/stb_image.h && patch -p0 < common/stb_image.patch )
-[ -d cross-detect ] || git clone https://github.com/mintsuki/cross-detect.git
+[ -d freestanding-toolchain ] || ( curl -Lo freestanding-toolchain https://github.com/mintsuki/freestanding-toolchain/raw/trunk/freestanding-toolchain && chmod +x freestanding-toolchain )
 [ -d freestanding-headers ] || git clone https://github.com/mintsuki/freestanding-headers.git
 [ -d limine-efi ] || git clone https://github.com/limine-bootloader/limine-efi.git
 [ -d libgcc-binaries ] || git clone https://github.com/mintsuki/libgcc-binaries.git
diff --git a/configure.ac b/configure.ac
index 8341ee4b..a3257687 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,6 @@ AC_INIT([Limine], [m4_esyscmd([./version.sh])], [https://github.com/limine-bootl
 AC_PREREQ([2.69])
 
 AC_CONFIG_AUX_DIR([build-aux])
-AC_CONFIG_SUBDIRS([cross-detect])
 
 SRCDIR="$(cd "$srcdir" && pwd -P)"
 BUILDDIR="$(pwd -P)"
@@ -102,7 +101,7 @@ else
     (
     $MKDIR_P "$BUILDDIR/cross-files"
     cd "$BUILDDIR/cross-files"
-    CC="$CC" TRIPLET=i686-elf WANT_CROSS_LD=yes WANT_CROSS_OBJCOPY=yes WANT_CROSS_OBJDUMP=yes WANT_CROSS_READELF=yes "$SRCDIR/cross-detect/configure"
+    CC="$CC" ARCHITECTURE=i686 WANT_CROSS_CC=yes WANT_CROSS_LD=yes WANT_CROSS_OBJCOPY=yes WANT_CROSS_OBJDUMP=yes WANT_CROSS_READELF=yes "$SRCDIR/freestanding-toolchain" >"$BUILDDIR/cross-files/bios-i686-toolchain.mk"
     ) || exit 1
     BUILD_BIOS="limine-bios"
     NEED_NASM=yes
@@ -124,7 +123,7 @@ else
     (
     $MKDIR_P "$BUILDDIR/cross-files"
     cd "$BUILDDIR/cross-files"
-    CC="$CC" TRIPLET=i686-elf WANT_CROSS_LD=yes WANT_CROSS_OBJCOPY=yes WANT_CROSS_OBJDUMP=yes "$SRCDIR/cross-detect/configure"
+    CC="$CC" ARCHITECTURE=i686 WANT_CROSS_CC=yes WANT_CROSS_LD=yes WANT_CROSS_OBJCOPY=yes WANT_CROSS_OBJDUMP=yes "$SRCDIR/freestanding-toolchain" >"$BUILDDIR/cross-files/uefi-i686-toolchain.mk"
     ) || exit 1
     BUILD_UEFI_IA32="limine-uefi-ia32"
     NEED_NASM=yes
@@ -144,7 +143,7 @@ else
     (
     $MKDIR_P "$BUILDDIR/cross-files"
     cd "$BUILDDIR/cross-files"
-    CC="$CC" TRIPLET=x86_64-elf WANT_CROSS_LD=yes WANT_CROSS_OBJCOPY=yes WANT_CROSS_OBJDUMP=yes "$SRCDIR/cross-detect/configure"
+    CC="$CC" ARCHITECTURE=x86_64 WANT_CROSS_CC=yes WANT_CROSS_LD=yes WANT_CROSS_OBJCOPY=yes WANT_CROSS_OBJDUMP=yes "$SRCDIR/freestanding-toolchain" >"$BUILDDIR/cross-files/uefi-x86_64-toolchain.mk"
     ) || exit 1
     BUILD_UEFI_X86_64="limine-uefi-x86-64"
     NEED_NASM=yes
@@ -164,7 +163,7 @@ else
     (
     mkdir -p "$BUILDDIR/cross-files"
     cd "$BUILDDIR/cross-files"
-    CC="$CC" TRIPLET=aarch64-elf WANT_CROSS_LD=yes WANT_CROSS_OBJCOPY=yes WANT_CROSS_OBJDUMP=yes "$SRCDIR/cross-detect/configure"
+    CC="$CC" ARCHITECTURE=aarch64 WANT_CROSS_CC=yes WANT_CROSS_LD=yes WANT_CROSS_OBJCOPY=yes WANT_CROSS_OBJDUMP=yes "$SRCDIR/freestanding-toolchain" >"$BUILDDIR/cross-files/uefi-aarch64-toolchain.mk"
     ) || exit 1
     BUILD_UEFI_AARCH64="limine-uefi-aarch64"
 fi
tab: 248 wrap: offon