Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ff440e936
|
+20
-70
@@ -48,7 +48,7 @@ package mrustc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
package rustc-bootstrap-source {
|
package rustc-bootstrap-source {
|
||||||
description = "unpatched bootstrap rust toolchain source tree";
|
description = "rustc source tree used by mrustc";
|
||||||
exclude = true;
|
exclude = true;
|
||||||
|
|
||||||
version# = "1.90.0";
|
version# = "1.90.0";
|
||||||
@@ -60,67 +60,22 @@ package rustc-bootstrap-source {
|
|||||||
chmod = true;
|
chmod = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
package rustc-bootstrap-llvm {
|
package rustc-bootstrap {
|
||||||
description = "bootstrap rustc-standalone LLVM build";
|
description = "rust toolchain bootstrapped via mrustc";
|
||||||
exclude = true;
|
exclude = true;
|
||||||
|
|
||||||
source = rustc-bootstrap-source;
|
source = mrustc-source;
|
||||||
exec = cmake {
|
extra = [ rustc-bootstrap-source ];
|
||||||
append = [ "src", "llvm-project", "llvm" ];
|
|
||||||
|
|
||||||
// Reference $(RUSTCSRC)src/bootstrap/native.rs for these values
|
|
||||||
cache = {
|
|
||||||
"CMAKE_C_COMPILER": "gcc";
|
|
||||||
"CMAKE_C_FLAGS": "-w";
|
|
||||||
"CMAKE_CXX_COMPILER": "g++";
|
|
||||||
"CMAKE_CXX_FLAGS": "-w";
|
|
||||||
"LLVM_LINK_LLVM_DYLIB": "OFF";
|
|
||||||
"LLVM_TARGETS_TO_BUILD": "'X86;ARM;AArch64'";
|
|
||||||
"LLVM_ENABLE_ASSERTIONS": "OFF";
|
|
||||||
"LLVM_INCLUDE_EXAMPLES": "OFF";
|
|
||||||
"LLVM_INCLUDE_TESTS": "OFF";
|
|
||||||
"LLVM_INCLUDE_DOCS": "OFF";
|
|
||||||
"LLVM_INCLUDE_BENCHMARKS": "OFF";
|
|
||||||
"LLVM_ENABLE_ZLIB": "OFF";
|
|
||||||
"LLVM_ENABLE_TERMINFO": "OFF";
|
|
||||||
"LLVM_ENABLE_LIBEDIT": "OFF";
|
|
||||||
"WITH_POLLY": "OFF";
|
|
||||||
"LIBUNWIND_ENABLE_SHARED": "OFF";
|
|
||||||
};
|
|
||||||
skipTest = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
inputs = [
|
|
||||||
python-early,
|
|
||||||
|
|
||||||
gcc,
|
|
||||||
kernel-headers,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
package rustc-mrustc {
|
|
||||||
description = "initial rustc stage compiled by mrustc";
|
|
||||||
exclude = true;
|
|
||||||
|
|
||||||
source = rustc-bootstrap-source;
|
|
||||||
extra = [
|
|
||||||
mrustc-source,
|
|
||||||
rustc-bootstrap-llvm,
|
|
||||||
];
|
|
||||||
|
|
||||||
|
enterSource = true;
|
||||||
writable = true;
|
writable = true;
|
||||||
early = "cd ../extra/mrustc-source";
|
|
||||||
minimal = true;
|
|
||||||
|
|
||||||
exec = make {
|
exec = make {
|
||||||
inPlace = true;
|
inPlace = true;
|
||||||
skipConfigure = true;
|
skipConfigure = true;
|
||||||
preMake = `
|
preMake = `
|
||||||
LLVM='../rustc-bootstrap-llvm/system/bin/llvm-config'
|
|
||||||
export CC=gcc CXX=g++
|
|
||||||
export PARLEVEL=`+jobsE+`
|
export PARLEVEL=`+jobsE+`
|
||||||
export RUSTC_TARGET="$(uname -m)-unknown-linux-musl"
|
export RUSTC_SOURCE='../extra/rustc-bootstrap-source'
|
||||||
export RUSTC_SOURCE='../../rustc-mrustc'
|
|
||||||
export RUSTC_VERSION="$(cut -d ' ' -f 1 "$RUSTC_SOURCE/version")"
|
export RUSTC_VERSION="$(cut -d ' ' -f 1 "$RUSTC_SOURCE/version")"
|
||||||
export MRUSTC_TARGET_VER="$(cut -d '.' -f 1,2 <<< "$RUSTC_VERSION")"
|
export MRUSTC_TARGET_VER="$(cut -d '.' -f 1,2 <<< "$RUSTC_VERSION")"
|
||||||
export OUTDIR_SUF="-$RUSTC_VERSION"
|
export OUTDIR_SUF="-$RUSTC_VERSION"
|
||||||
@@ -129,44 +84,39 @@ touch "$RUSTC_SOURCE/dl-version"
|
|||||||
|
|
||||||
ln -s "$RUSTC_SOURCE" "rustc-$RUSTC_VERSION-src"
|
ln -s "$RUSTC_SOURCE" "rustc-$RUSTC_VERSION-src"
|
||||||
mkdir bin && ln -s /system/bin/mrustc bin/
|
mkdir bin && ln -s /system/bin/mrustc bin/
|
||||||
ln -sf gcc /system/bin/cc
|
|
||||||
ln -sf g++ /system/bin/c++
|
|
||||||
`;
|
`;
|
||||||
make = [
|
make = [
|
||||||
"-f",
|
"-f",
|
||||||
"minicargo.mk",
|
"minicargo.mk",
|
||||||
|
"CC=gcc",
|
||||||
"CXX='g++ -w'",
|
"CXX='g++ -w'",
|
||||||
`LLVM_CONFIG="$LLVM"`,
|
|
||||||
"LIBS",
|
"LIBS",
|
||||||
];
|
];
|
||||||
check = [
|
check = [
|
||||||
|
"CC=gcc",
|
||||||
"CXX='g++ -w'",
|
"CXX='g++ -w'",
|
||||||
// run this first to avoid intermittent failures
|
"test",
|
||||||
"local_tests",
|
"local_tests",
|
||||||
];
|
];
|
||||||
|
|
||||||
install = `
|
install = `
|
||||||
make \
|
export CC=gcc CXX=g++
|
||||||
`+jobsFlagE+` \
|
|
||||||
`+loadFlagE+` \
|
|
||||||
CXX='g++ -w' \
|
|
||||||
test
|
|
||||||
|
|
||||||
OUTDIR="output-$RUSTC_VERSION"
|
OUTDIR="output-$RUSTC_VERSION"
|
||||||
make -f minicargo.mk LLVM_CONFIG="$LLVM" "$OUTDIR/rustc"
|
make -f minicargo.mk "$OUTDIR/rustc"
|
||||||
make -f minicargo.mk LLVM_CONFIG="$LLVM" "$OUTDIR/cargo"
|
make -f minicargo.mk "$OUTDIR/cargo"
|
||||||
mkdir -p /work/system/bin/
|
make -C run_rustc
|
||||||
(set -o braceexpand && cp "$OUTDIR"/{rustc,cargo} /work/system/bin/)
|
|
||||||
`;
|
`;
|
||||||
};
|
};
|
||||||
|
|
||||||
inputs = [
|
inputs = [
|
||||||
bash,
|
bash,
|
||||||
perl,
|
|
||||||
patch,
|
patch,
|
||||||
|
cmake,
|
||||||
|
pkg-config,
|
||||||
|
perl,
|
||||||
|
python,
|
||||||
mrustc,
|
mrustc,
|
||||||
llvm,
|
|
||||||
];
|
|
||||||
|
|
||||||
runtime = [ gcc, llvm ];
|
kernel-headers,
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
diff --git a/Makefile b/Makefile
|
diff --git a/Makefile b/Makefile
|
||||||
index bb8e64a4..6bc951a7 100644
|
index 4317d2c0..415427b4 100644
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -188,7 +188,7 @@ $(OBJDIR)%.o: src/%.cpp
|
@@ -187,7 +187,7 @@ $(OBJDIR)%.o: src/%.cpp
|
||||||
$(OBJDIR)version.o: $(OBJDIR)%.o: src/%.cpp $(filter-out $(OBJDIR)version.o,$(OBJ)) Makefile
|
$(OBJDIR)version.o: $(OBJDIR)%.o: src/%.cpp $(filter-out $(OBJDIR)version.o,$(OBJ)) Makefile
|
||||||
@+mkdir -p $(dir $@)
|
@+mkdir -p $(dir $@)
|
||||||
@echo [CXX] -o $@
|
@echo [CXX] -o $@
|
||||||
- $V$(CXX) -o $@ -c $< $(CXXFLAGS) $(CPPFLAGS) -MMD -MP -MF $@.dep -D VERSION_GIT_FULLHASH=\"$(shell git show --pretty=%H -s --no-show-signature)\" -D VERSION_GIT_BRANCH="\"$(shell git symbolic-ref -q --short HEAD || git describe --tags --exact-match)\"" -D VERSION_GIT_SHORTHASH=\"$(shell git show -s --pretty=%h --no-show-signature)\" -D VERSION_BUILDTIME="\"$(shell env LC_TIME=C date -u +"%a, %e %b %Y %T +0000")\"" -D VERSION_GIT_ISDIRTY=$(shell git diff-index --quiet HEAD; echo $$?)
|
- $V$(CXX) -o $@ -c $< $(CXXFLAGS) $(CPPFLAGS) -MMD -MP -MF $@.dep -D VERSION_GIT_FULLHASH=\"$(shell git show --pretty=%H -s --no-show-signature)\" -D VERSION_GIT_BRANCH="\"$(shell git symbolic-ref -q --short HEAD || git describe --tags --exact-match)\"" -D VERSION_GIT_SHORTHASH=\"$(shell git show -s --pretty=%h --no-show-signature)\" -D VERSION_BUILDTIME="\"$(shell env LC_TIME=C date -u +"%a, %e %b %Y %T +0000")\"" -D VERSION_GIT_ISDIRTY=$(shell git diff-index --quiet HEAD; echo $$?)
|
||||||
+ $V$(CXX) -o $@ -c $< $(CXXFLAGS) $(CPPFLAGS) -MMD -MP -MF $@.dep -D VERSION_GIT_FULLHASH=\"unknown\" -D VERSION_GIT_BRANCH="\"v0.12.0\"" -D VERSION_GIT_SHORTHASH=\"unknown\" -D VERSION_BUILDTIME="\"Nya, 0 Jan -1 25:71:99 +2928\"" -D VERSION_GIT_ISDIRTY=0
|
+ $V$(CXX) -o $@ -c $< $(CXXFLAGS) $(CPPFLAGS) -MMD -MP -MF $@.dep -D VERSION_GIT_FULLHASH=\"unknown\" -D VERSION_GIT_BRANCH="\"v0.12.0\"" -D VERSION_GIT_SHORTHASH=\"unknown\" -D VERSION_BUILDTIME="\"Thu, 1 Jan 1970 00:00:00 +0000\"" -D VERSION_GIT_ISDIRTY=0
|
||||||
|
|
||||||
src/main.cpp: $(PCHS:%=src/%.gch)
|
src/main.cpp: $(PCHS:%=src/%.gch)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user