bjorn3
0f4df8fb0e
Eliminate a couple of extra calls
...
This is an additional 17% improvement on ./y.rs compile --sysroot none
Benchmark 1: ./y_before.bin build --sysroot none
Time (mean ± σ): 1.533 s ± 0.022 s [User: 1.411 s, System: 0.471 s]
Range (min … max): 1.517 s … 1.589 s 10 runs
Benchmark 2: ./y_after.bin build --sysroot none
Time (mean ± σ): 1.311 s ± 0.020 s [User: 1.232 s, System: 0.428 s]
Range (min … max): 1.298 s … 1.366 s 10 runs
Summary
'./y_after.bin build --sysroot none' ran
1.17 ± 0.02 times faster than './y_before.bin build --sysroot none'
2023-01-15 15:20:36 +00:00
bjorn3
abcff71bec
Significantly speed up assembling of sysroots
...
By avoiding some redundant rustc calls and stripping debuginfo for
wrappers. ./y.rs build --sysroot none now runs 44% faster.
Benchmark 1: ./y_before.bin build --sysroot none
Time (mean ± σ): 2.200 s ± 0.038 s [User: 2.140 s, System: 0.653 s]
Range (min … max): 2.171 s … 2.303 s 10 runs
Benchmark 2: ./y_after.bin build --sysroot none
Time (mean ± σ): 1.528 s ± 0.020 s [User: 1.388 s, System: 0.490 s]
Range (min … max): 1.508 s … 1.580 s 10 runs
Summary
'./y_after.bin build --sysroot none' ran
1.44 ± 0.03 times faster than './y_before.bin build --sysroot none'
2023-01-15 14:14:13 +00:00
bjorn3
13197322ec
Skip creating sysroot target dir if it will be empty
2023-01-14 18:45:47 +00:00
bjorn3
280dffd82c
Build rtstartup for none sysroot too
...
Even mini_core needs it
2023-01-14 18:41:22 +00:00
bjorn3
fd83b27945
Port llvm sysroot building to SysrootTarget too and dedup some code
2023-01-14 18:25:43 +00:00
bjorn3
0ac4456351
Move rtstartup build to build_clif_sysroot_for_triple
...
Also pass build/rtstartup as sysroot when building the standard library
2023-01-14 17:51:54 +00:00
bjorn3
6f1e1775d3
Introduce SysrootTarget
2023-01-14 17:40:16 +00:00
bjorn3
c950f2265e
Build rtstartup for MinGW from scratch
...
Rather than copying it from an existing sysroot
2023-01-14 17:02:21 +00:00
bjorn3
629eab79c1
Avoid hard-coded rustc when building wrappers
2023-01-14 14:18:11 +00:00
bjorn3
22c5249f68
Don't hard-code rustc path in get_rustc_version and get_default_sysroot
2023-01-14 14:18:11 +00:00
bjorn3
4dbafefe74
Return Compiler from build_sysroot
2023-01-14 14:18:11 +00:00
bjorn3
bbb7a3b9b9
Rename Compiler variables for clarity
2023-01-14 14:18:11 +00:00
bjorn3
a3468770e3
Rustfmt
2023-01-13 16:13:26 +00:00
bjorn3
957d78c479
Fetch all cargo dependencies in ./y.rs prepare
2023-01-13 15:40:22 +00:00
bjorn3
f311ef5a2e
Share cross-compilation code between building and testing
2023-01-13 12:32:20 +00:00
bjorn3
70a1cb9e62
Pass around Compiler instead of target triples
2023-01-13 12:16:11 +00:00
bjorn3
4c97569a54
Move patched sysroot from build_sysroot/ to download/
2023-01-05 18:14:40 +00:00
Afonso Bordado
e12a882a67
S390X CI Support ( #1304 )
2022-12-04 00:23:01 +01:00
bjorn3
82b2d8e418
Introduce Dirs type to avoid hard coding src and dest locations
2022-12-01 19:00:32 +00:00
bjorn3
4529979330
Introduce RelPath
2022-12-01 19:00:32 +00:00
bjorn3
e75dfef4d4
Put all temporary build artifacts in build/
2022-12-01 19:00:32 +00:00
bjorn3
9c21990283
Rename target_dir to dist_dir in a couple of places
2022-11-28 15:02:08 +00:00
bjorn3
cdae9bab58
Introduce CargoProject type and use it where possible
2022-11-27 18:53:00 +00:00
bjorn3
f17dbfc933
Add rustdoc-clif wrapper
2022-10-28 12:51:15 +00:00
bjorn3
d422d50651
Pass --sysroot when building the new sysroot
...
To avoid accidentally loading the original libcore
2022-09-25 15:14:59 +02:00
bjorn3
be305c2b1f
Introduce cargo_command helper
2022-09-12 10:35:38 +00:00
bjorn3
b12286fec3
Let abi-checker take the full path to the cg_clif dylib
2022-09-12 10:35:38 +00:00
bjorn3
0db9094231
Rustfmt
2022-07-31 10:15:56 +00:00
Afonso Bordado
f588bfa095
Assume host target in get_file_name
2022-07-30 23:04:59 +01:00
Afonso Bordado
393613439a
Fix some cross compilation scenarios in test runner
2022-07-30 20:28:55 +01:00
Afonso Bordado
ae4fe1d57d
Use get_file_name in tests
2022-07-30 14:07:02 +01:00
Afonso Bordado
437b441ff5
Use get_file_name everywhere for better cross compilation support
2022-07-30 13:06:37 +01:00
Afonso Bordado
3ce83dc469
Move test.sh to y.rs test
2022-07-30 11:15:51 +01:00
bjorn3
c1ac2df0c3
Allow building the sysroot with --emit llvm-ir
2022-06-28 11:55:37 +02:00
bjorn3
88d058fef3
Don't unnecessarily copy rustc_std_workspace_std into the sysroot
2022-04-29 19:47:43 +02:00
bjorn3
2e65a8f2ca
Use -Zcodegen-backend instead of a rustc replacement in cargo-clif
2022-04-29 19:13:41 +02:00
bjorn3
617171e930
Remove cg_clif_build_sysroot
2022-04-29 19:07:32 +02:00
bjorn3
944a48d3af
Remove less of the sysroot build dir on recompilation
2022-04-27 17:31:07 +02:00
bjorn3
4dbd3196f9
Move most code from y.rs to build_system/mod.rs
...
y.rs can't be rustfmt'ed without making it no longer be a valid bash
script.
2022-01-09 19:30:07 +01:00
bjorn3
0dd3d28cff
Rename cargo executable to cargo-clif
...
This allows executing it like cargo clif build if you add it to your
PATH. It also fixes infinite recursion on Windows when invoking it as
Windows includes the current directory in PATH by default.
Fixes #971
2021-12-30 11:39:30 +01:00
bjorn3
dfbc7eb6c7
Version the prebuilt libstd again
...
__CARGO_DEFAULT_LIB_METADATA got lost in the rewrite of the build system
from bash to rust
2021-11-23 14:25:28 +01:00
bjorn3
1e5569d62c
Re-enable incremental compilation for the sysroot
...
rust-lang/rust#74946 for fixed
2021-10-17 15:29:57 +02:00
bjorn3
2abc12daad
Fix y.rs build --sysroot llvm
2021-07-26 16:11:24 +02:00
bjorn3
53478823e4
Refactor cg_clif building
2021-07-04 18:15:13 +02:00
bjorn3
0d531c3737
Better config parsing and allow specifying host and target triple in config
2021-07-04 15:10:06 +02:00
bjorn3
55e0779708
Check if the patched sysroot source is up to date before using it
...
Fixes #1181
2021-07-02 19:14:02 +02:00
bjorn3
cda811173e
Fix compilation for AArch64
2021-07-02 12:39:48 +02:00
bjorn3
80e9188fb1
Rewrite cargo.sh in rust
2021-06-20 12:56:47 +02:00
bjorn3
e5563b5077
Improve windows support
2021-06-19 13:58:32 +02:00
bjorn3
0d6b3dab65
Allow preserving the old sysroot
2021-06-19 13:58:32 +02:00