Compare commits
30 Commits
5e0f69387b
...
d173ccf8fc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d173ccf8fc | ||
|
|
c29329310c | ||
|
|
8cf7a25a9f | ||
|
|
b35a91576d | ||
|
|
848c3f9ec1 | ||
|
|
690e4a7b7e | ||
|
|
b0365d4ed3 | ||
|
|
6a2e05a42e | ||
|
|
3e447e27ae | ||
|
|
97cab676c1 | ||
|
|
0dbd0ee4d6 | ||
|
|
ae78a96ddf | ||
|
|
dcd2b348c2 | ||
|
|
901108353f | ||
|
|
ef39bf42cd | ||
|
|
e047a07cab | ||
|
|
87467401fa | ||
|
|
d55ed885ad | ||
|
|
5efd463c73 | ||
|
|
22a2b49a26 | ||
|
|
c51b164549 | ||
|
|
aad25f5f7c | ||
|
|
a38bcdd20b | ||
|
|
bfcff323aa | ||
|
|
e656b2930a | ||
|
|
473d68255b | ||
|
|
071143e78b | ||
|
|
4cb1a67337 | ||
|
|
e10a7adf18 | ||
|
|
20b15789bc |
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -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
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 1d201c4435ebad73e0248d02c8b254783b75eca5
|
||||
Subproject commit c96eb83d18ba15e758d896bfba3c35700416f669
|
||||
@ -1 +1 @@
|
||||
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
|
||||
}
|
||||
|
||||
######################################################################
|
||||
|
||||
2
cookbook
2
cookbook
@ -1 +1 @@
|
||||
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:
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 150d65c31ba05c829ba239a3febe1e44b6e512e8
|
||||
Subproject commit 70a2dc7532111a9df436cf17d3e7a6fdbdacee72
|
||||
2
kernel
2
kernel
@ -1 +1 @@
|
||||
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" && \
|
||||
|
||||
15
mk/prefix.mk
15
mk/prefix.mk
@ -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)"
|
||||
|
||||
2
redoxfs
2
redoxfs
@ -1 +1 @@
|
||||
Subproject commit f1b88c38c0a9b6bf9e24f82397a8a9505c9a2df2
|
||||
Subproject commit 25be3a82bd881d6e778e72ed1451f2b2a10369a8
|
||||
2
relibc
2
relibc
@ -1 +1 @@
|
||||
Subproject commit 031194b999df38169ea2dacb6fa105a5e65bbb22
|
||||
Subproject commit 98c60c357f8a4ff29c00334469efff56a22cf12c
|
||||
2
rust
2
rust
@ -1 +1 @@
|
||||
Subproject commit fb4ac5ad6ecbde2d46c021b1c7efe55a049475c3
|
||||
Subproject commit 81082578bfbcd2d366440185084204d8fb269977
|
||||
Reference in New Issue
Block a user