diff --git a/.gitmodules b/.gitmodules index ceb4bd4..e3b62df 100644 --- a/.gitmodules +++ b/.gitmodules @@ -25,7 +25,7 @@ [submodule "rust"] path = rust url = https://gitlab.redox-os.org/redox-os/rust.git - branch = redox-2020-07-27 + branch = redox-2021-06-15 [submodule "redoxfs"] path = redoxfs url = https://gitlab.redox-os.org/redox-os/redoxfs.git diff --git a/cookbook b/cookbook index 59779a5..6e25f34 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit 59779a5793ee8bf219801a1f2f201123a5c6a9eb +Subproject commit 6e25f3485bdc4e3f3a62f83c6eaec5ac3ef25cab diff --git a/installer b/installer index 150d65c..70a2dc7 160000 --- a/installer +++ b/installer @@ -1 +1 @@ -Subproject commit 150d65c31ba05c829ba239a3febe1e44b6e512e8 +Subproject commit 70a2dc7532111a9df436cf17d3e7a6fdbdacee72 diff --git a/kernel b/kernel index 0a79c17..6039026 160000 --- a/kernel +++ b/kernel @@ -1 +1 @@ -Subproject commit 0a79c17307d633bb6970502e1d2569879c132848 +Subproject commit 6039026349658bf3cd30669d36e76ce8f8d5a0a6 diff --git a/mk/config.mk b/mk/config.mk index 687d9a6..44a0987 100644 --- a/mk/config.mk +++ b/mk/config.mk @@ -19,6 +19,7 @@ ifeq ($(UNAME),Darwin) PREFIX_BINARY=0 VB_AUDIO=coreaudio VBM=/Applications/VirtualBox.app/Contents/MacOS/VBoxManage + HOST_TARGET ?= $(ARCH)-apple-darwin else ifeq ($(UNAME),FreeBSD) FUMOUNT=sudo umount export NPROC=sysctl -n hw.ncpu @@ -26,12 +27,14 @@ else ifeq ($(UNAME),FreeBSD) PREFIX_BINARY=0 VB_AUDIO=pulse # To check, will probaly be OSS on most setups VBM=VBoxManage + HOST_TARGET ?= $(ARCH)-unknown-freebsd else FUMOUNT=fusermount -u export NPROC=nproc export REDOX_MAKE=make VB_AUDIO=pulse VBM=VBoxManage + HOST_TARGET ?= $(ARCH)-unknown-linux-gnu endif # Automatic variables @@ -41,7 +44,7 @@ export RUST_TARGET_PATH=$(ROOT)/kernel/targets export XARGO_RUST_SRC=$(ROOT)/rust/src ## Kernel variables -KTARGET=$(ARCH)-unknown-none +KTARGET=$(ARCH)-unknown-kernel KBUILD=build/kernel ## Userspace variables diff --git a/mk/depends.mk b/mk/depends.mk index 5e616fd..74ad363 100644 --- a/mk/depends.mk +++ b/mk/depends.mk @@ -12,8 +12,3 @@ CARGO_CONFIG_VERSION=0.1.1 ifeq ($(shell env -u RUSTUP_TOOLCHAIN cargo install --list | grep '^cargo-config v$(CARGO_CONFIG_VERSION):$$'),) $(error cargo-config $(CARGO_CONFIG_VERSION) not found, run "cargo install --force --version $(CARGO_CONFIG_VERSION) cargo-config") endif - -XARGO_VERSION=0.3.20 -ifeq ($(shell env -u RUSTUP_TOOLCHAIN cargo install --list | grep '^xargo v$(XARGO_VERSION):$$'),) -$(error xargo $(XARGO_VERSION) not found, run "cargo install --force --version $(XARGO_VERSION) xargo") -endif diff --git a/mk/kernel.mk b/mk/kernel.mk index 1adbfa6..e6cb130 100644 --- a/mk/kernel.mk +++ b/mk/kernel.mk @@ -2,19 +2,19 @@ build/libkernel.a: kernel/Cargo.lock kernel/Cargo.toml kernel/src/* kernel/src/* export PATH="$(PREFIX_PATH):$$PATH" && \ export INITFS_FOLDER=$(ROOT)/build/initfs && \ cd kernel && \ - cargo rustc --lib --target=$(ROOT)/kernel/targets/$(KTARGET).json --release -Z build-std=core,alloc -- -C soft-float -C debuginfo=2 -C lto --emit link=../$@ + cargo rustc --lib --target=$(ROOT)/kernel/targets/$(KTARGET).json --release -- -C soft-float -C debuginfo=2 -C lto --emit link=../$@ build/libkernel_coreboot.a: kernel/Cargo.toml kernel/src/* kernel/src/*/* kernel/src/*/*/* kernel/src/*/*/*/* build/initfs_coreboot.tag export PATH="$(PREFIX_PATH):$$PATH" && \ export INITFS_FOLDER=$(ROOT)/build/initfs_coreboot && \ cd kernel && \ - cargo rustc --lib --target=$(ROOT)/kernel/targets/$(KTARGET).json --release --features live -Z build-std=core,alloc -- -C soft-float -C debuginfo=2 -C lto --emit link=../$@ + cargo rustc --lib --target=$(ROOT)/kernel/targets/$(KTARGET).json --release --features live -- -C soft-float -C debuginfo=2 -C lto --emit link=../$@ build/libkernel_live.a: kernel/Cargo.toml kernel/src/* kernel/src/*/* kernel/src/*/*/* kernel/src/*/*/*/* build/initfs_live.tag export PATH="$(PREFIX_PATH):$$PATH" && \ export INITFS_FOLDER=$(ROOT)/build/initfs_live && \ cd kernel && \ - cargo rustc --lib --target=$(ROOT)/kernel/targets/$(KTARGET).json --release --features live -Z build-std=core,alloc -- -C soft-float -C debuginfo=2 -C lto --emit link=../$@ + cargo rustc --lib --target=$(ROOT)/kernel/targets/$(KTARGET).json --release --features live -- -C soft-float -C debuginfo=2 -C lto --emit link=../$@ build/kernel: kernel/linkers/$(ARCH).ld mk/kernel_ld.sh build/libkernel.a export PATH="$(PREFIX_PATH):$$PATH" && \ diff --git a/mk/prefix.mk b/mk/prefix.mk index 47023ee..1529f41 100644 --- a/mk/prefix.mk +++ b/mk/prefix.mk @@ -20,16 +20,17 @@ $(PREFIX)/relibc-install: $(ROOT)/relibc | $(PREFIX)/rust-install cp -r "$(PREFIX)/rust-install" "$@.partial" rm -rf "$@.partial/$(TARGET)/include/"* cp -r "$(PREFIX)/rust-install/$(TARGET)/include/c++" "$@.partial/$(TARGET)/include/c++" + cp -r "$(PREFIX)/rust-freestanding-install/lib/rustlib/$(HOST_TARGET)/lib/" "$@.partial/lib/rustlib/$(HOST_TARGET)/" + mkdir $@.partial/lib/rustlib/src + ln -s $(ROOT)/rust $@.partial/lib/rustlib/src cd "$<" && \ export PATH="$(ROOT)/$@.partial/bin:$$PATH" && \ - export CARGO="env -u CARGO xargo" && \ + export CARGO="env -u CARGO cargo" && \ $(MAKE) -j `$(NPROC)` all && \ $(MAKE) -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial/$(TARGET)" cd "$@.partial" && $(PREFIX_STRIP) touch "$@.partial" mv "$@.partial" "$@" - mkdir $@/lib/rustlib/src - ln -s $(ROOT)/rust $@/lib/rustlib/src $(PREFIX)/relibc-install.tar.gz: $(PREFIX)/relibc-install tar \ @@ -144,13 +145,15 @@ $(PREFIX)/rust-freestanding-install: $(ROOT)/rust | $(PREFIX)/binutils-install cd "$@.partial" && $(PREFIX_STRIP) touch "$@.partial" mv "$@.partial" "$@" + mkdir $@/lib/rustlib/src + ln -s $(ROOT)/rust $@/lib/rustlib/src $(PREFIX)/relibc-freestanding-install: $(ROOT)/relibc | $(PREFIX_BASE_INSTALL) $(PREFIX_FREESTANDING_INSTALL) rm -rf "$@.partial" "$@" mkdir -p "$@.partial" cd "$<" && \ export PATH="$(PREFIX_BASE_PATH):$(PREFIX_FREESTANDING_PATH):$$PATH" && \ - export CARGO="env -u CARGO -u RUSTUP_TOOLCHAIN xargo" && \ + export CARGO="env -u CARGO -u RUSTUP_TOOLCHAIN cargo" && \ export CC_$(subst -,_,$(TARGET))="$(TARGET)-gcc -isystem $(ROOT)/$@.partial/$(TARGET)/include" && \ $(MAKE) -j `$(NPROC)` all && \ $(MAKE) -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial/$(TARGET)" diff --git a/redoxfs b/redoxfs index 6d9a53c..25be3a8 160000 --- a/redoxfs +++ b/redoxfs @@ -1 +1 @@ -Subproject commit 6d9a53c956a87a5fa02a3fdf71c80d8a025bd9cf +Subproject commit 25be3a82bd881d6e778e72ed1451f2b2a10369a8 diff --git a/relibc b/relibc index b472cb8..98c60c3 160000 --- a/relibc +++ b/relibc @@ -1 +1 @@ -Subproject commit b472cb87d103b4008318d67ae72ed5745a4ddc2e +Subproject commit 98c60c357f8a4ff29c00334469efff56a22cf12c diff --git a/rust b/rust index fb4ac5a..8108257 160000 --- a/rust +++ b/rust @@ -1 +1 @@ -Subproject commit fb4ac5ad6ecbde2d46c021b1c7efe55a049475c3 +Subproject commit 81082578bfbcd2d366440185084204d8fb269977