Verified Commit d173ccf8 authored by 4lDO2's avatar 4lDO2 🖖
Browse files

Merge branch 'master' into io_uring

parents 5e0f6938 c2932931
Pipeline #9432 failed with stage
in 13 seconds
......@@ -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
......
Subproject commit 1d201c4435ebad73e0248d02c8b254783b75eca5
Subproject commit c96eb83d18ba15e758d896bfba3c35700416f669
Subproject commit e147b413eeb9eb7d01c85cfe1b6b6eea39c47a57
Subproject commit d9f268facae3c2161da186c8a3d31f0ce9e37833
......@@ -286,7 +286,7 @@ fedora()
fi
fi
# Use rpm -q <package> to check if it's already installed
PKGS=$(for pkg in gcc gcc-c++ glibc-devel.i686 nasm make fuse-devel cmake texinfo gettext-devel bison flex perl-HTML-Parser po4a; do rpm -q $pkg > /dev/null || echo $pkg; done)
PKGS=$(for pkg in gcc gcc-c++ glibc-devel.i686 nasm make fuse-devel cmake texinfo gettext-devel bison flex perl-HTML-Parser po4a openssl patch automake libtool perl-Pod-Html perl-FindBin gperf libpng-devel; do rpm -q $pkg > /dev/null || echo $pkg; done)
# If the list of packages is not empty, install missing
COUNT=$(echo $PKGS | wc -w)
if [ $COUNT -ne 0 ]; then
......@@ -324,7 +324,7 @@ suse()
fi
fi
echo "Installing necessary build tools..."
sudo zypper install gcc gcc-c++ glibc-devel-32bit nasm make fuse-devel cmake
sudo zypper install gcc gcc-c++ glibc-devel-32bit nasm make fuse-devel cmake openssl automake gettext-tools libtool po4a patch flex gperf
}
##############################################################################
......@@ -389,7 +389,7 @@ solus()
echo "Installing necessary build tools..."
#if guards are not necessary with eopkg since it does nothing if latest version is already installed
sudo eopkg it fuse-devel git gcc g++ libgcc-32bit libstdc++-32bit nasm make cmake
sudo eopkg it fuse-devel git gcc g++ libgcc-32bit libstdc++-32bit nasm make cmake binutils-gold glibc-devel pkg-config fuse2-devel linux-headers rsync automake autoconf m4 libtool-devel po4a patch bison flex gperf libpng-devel perl-html-parser
}
######################################################################
......
Subproject commit 86ed70defdc02734d3627782dd88f169bb240508
Subproject commit 6e25f3485bdc4e3f3a62f83c6eaec5ac3ef25cab
......@@ -28,6 +28,7 @@ vesad T T G
stdio display:1
ps2d us
ramfs logging
acpid
# %NOFORK will prevent init from waiting forever for the process to fork, if it's not going to do that.
%NOFORK pcid --config=/etc/pcid/initfs.toml
......
......@@ -28,6 +28,7 @@ vesad T T G
stdio display:1
ps2d us
ramfs logging
acpid
pcid /etc/pcid/initfs.toml
redoxfs disk/live: file
cd file:
......
......@@ -28,6 +28,7 @@ vesad T T G
stdio display:1
ps2d us
ramfs logging
acpid
pcid /etc/pcid/initfs.toml
redoxfs disk/live: file
cd file:
......
Subproject commit 150d65c31ba05c829ba239a3febe1e44b6e512e8
Subproject commit 70a2dc7532111a9df436cf17d3e7a6fdbdacee72
Subproject commit 2776b05d1965e90975ed4bcc0b4d15ce270090f4
Subproject commit 34a3aa23ca4103e5363dcc9199d447a70a2a63ab
......@@ -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
......
......@@ -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
......@@ -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" && \
......
......@@ -20,16 +20,18 @@ $(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-install/lib/rustlib/$(HOST_TARGET)/lib/" "$@.partial/lib/rustlib/$(HOST_TARGET)/"
rm -rf $@.partial/lib/rustlib/src
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 \
......@@ -43,7 +45,8 @@ ifeq ($(PREFIX_BINARY),1)
$(PREFIX)/rust-install.tar.gz:
mkdir -p "$(@D)"
wget -O $@.partial "https://static.redox-os.org/toolchain/$(TARGET)/rust-install.tar.gz"
#TODO: figure out why rust-install.tar.gz is missing /lib/rustlib/$(HOST_TARGET)/lib
wget -O $@.partial "https://static.redox-os.org/toolchain/$(TARGET)/relibc-install.tar.gz"
mv $@.partial $@
$(PREFIX)/rust-install: $(PREFIX)/rust-install.tar.gz
......@@ -144,13 +147,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)"
......
Subproject commit f1b88c38c0a9b6bf9e24f82397a8a9505c9a2df2
Subproject commit 25be3a82bd881d6e778e72ed1451f2b2a10369a8
Subproject commit 031194b999df38169ea2dacb6fa105a5e65bbb22
Subproject commit 98c60c357f8a4ff29c00334469efff56a22cf12c
Subproject commit fb4ac5ad6ecbde2d46c021b1c7efe55a049475c3
Subproject commit 81082578bfbcd2d366440185084204d8fb269977
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment