mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-25 07:05:13 +00:00
92c77733ac
mrustc is mostly patched to use shared LLVM sources but still uses in-tree source for compiler-rt from LLVM 7. This needs to be patched to compile under glibc 2.31 or later. It's easy enough to reapply all our compiler-rt patches here.
29 lines
2.2 KiB
Diff
29 lines
2.2 KiB
Diff
--- a/run_rustc/Makefile
|
|
+++ b/run_rustc/Makefile
|
|
@@ -79,14 +79,14 @@
|
|
@mkdir -p $(OUTDIR)build-std
|
|
@mkdir -p $(LIBDIR)
|
|
@echo [CARGO] $(RUST_SRC)libstd/Cargo.toml
|
|
- $VCARGO_TARGET_DIR=$(OUTDIR)build-std RUSTC=$(BINDIR_S)rustc $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)libstd/Cargo.toml -j 1 --release --features panic-unwind
|
|
+ $VCARGO_TARGET_DIR=$(OUTDIR)build-std RUSTC=$(BINDIR_S)rustc $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)libstd/Cargo.toml -j $(NIX_BUILD_CORES) --release --features panic-unwind
|
|
$Vcp --remove-destination $(OUTDIR)build-std/release/deps/*.rlib $(LIBDIR)
|
|
$Vcp --remove-destination $(OUTDIR)build-std/release/deps/*.so $(LIBDIR)
|
|
# libtest
|
|
$(LIBDIR)libtest.rlib: $(BINDIR)rustc_m $(LIBDIR)libstd.rlib $(CARGO_HOME)config
|
|
@mkdir -p $(OUTDIR)build-test
|
|
@echo [CARGO] $(RUST_SRC)libtest/Cargo.toml
|
|
- $VCARGO_TARGET_DIR=$(OUTDIR)build-test RUSTC=$(BINDIR)rustc_m $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)libtest/Cargo.toml -j 1 --release
|
|
+ $VCARGO_TARGET_DIR=$(OUTDIR)build-test RUSTC=$(BINDIR)rustc_m $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)libtest/Cargo.toml -j $(NIX_BUILD_CORES) --release
|
|
@mkdir -p $(LIBDIR)
|
|
$Vcp --remove-destination $(OUTDIR)build-test/release/deps/*.rlib $(LIBDIR)
|
|
$Vcp --remove-destination $(OUTDIR)build-test/release/deps/*.so $(LIBDIR)
|
|
@@ -95,7 +95,7 @@
|
|
$(BINDIR)rustc: $(BINDIR)rustc_m $(BINDIR)cargo $(CARGO_HOME)config $(LIBDIR)libtest.rlib
|
|
@mkdir -p $(PREFIX)tmp
|
|
@echo [CARGO] $(RUST_SRC)rustc/Cargo.toml
|
|
- $V$(RUSTC_ENV_VARS) TMPDIR=$(abspath $(PREFIX)tmp) CARGO_TARGET_DIR=$(OUTDIR)build-rustc RUSTC=$(BINDIR)rustc_m RUSTC_ERROR_METADATA_DST=$(abspath $(PREFIX)) $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)rustc/Cargo.toml --release -j 1
|
|
+ $V$(RUSTC_ENV_VARS) TMPDIR=$(abspath $(PREFIX)tmp) CARGO_TARGET_DIR=$(OUTDIR)build-rustc RUSTC=$(BINDIR)rustc_m RUSTC_ERROR_METADATA_DST=$(abspath $(PREFIX)) $(CARGO_ENV) $(BINDIR)cargo build --manifest-path $(RUST_SRC)rustc/Cargo.toml --release -j $(NIX_BUILD_CORES)
|
|
cp $(OUTDIR)build-rustc/release/deps/*.so $(LIBDIR)
|
|
cp $(OUTDIR)build-rustc/release/deps/*.rlib $(LIBDIR)
|
|
ifeq ($(RUSTC_VERSION),1.19.0)
|