bjorn3
a33f731df7
Couple of minor build system changes
2024-08-10 15:18:04 +00:00
bjorn3
0e20a762f1
Stop using a custom Cargo.toml and Cargo.lock for the standard library
...
The rust-src component now ships a working copy of both.
2024-08-09 15:59:30 +00:00
bjorn3
737421a25b
Rustup to rustc 1.79.0-nightly ( 385fa9d84
2024-04-04)
2024-04-05 12:15:41 +00:00
Ulrich Weigand
bc1bca798f
Fix download hash check on big-endian systems
...
Ensure the hash_file and hash_dir routines give identical results
on big- and little-endian systems. The default hash routines for
integer types are endian-dependent, so all such hash inputs need
to be byte-swapped.
This applies in particular to the file hashes used as input when
computing directory hashes.
In addition, the default hash routines for composite types use
a length prefix, which it itself an integer type (usize). In
order to be able to byte-swap that prefix, we have to re-implement
those bits of the standard library ourselves.
2024-02-19 14:08:49 +01:00
bjorn3
62bf33a9c6
Ensure we don't overwrite an existing Cargo.lock when fetching an external git repo
2023-10-14 12:41:44 +00:00
bjorn3
e759603da1
Consistently use eprintln inside the build system
2023-10-07 11:10:30 +00:00
bjorn3
e5197cf1de
Switch the build system from super:: to crate::
...
This was a left over from when build_system/main.rs was at ./y.rs.
2023-07-24 13:27:17 +00:00
bjorn3
932645473c
Fix warning about the cargo resolver to use
2023-06-19 17:36:32 +00:00
bjorn3
8c1c84d79e
Copy Cargo.lock over in ./y.sh prepare
...
This makes it easier for ./x.py to vendor all dependencies
2023-06-13 16:39:59 +00:00
bjorn3
bcac222013
Lazily patch the standard library
2023-06-13 16:39:59 +00:00
bjorn3
d0ea8bbc5e
Only copy library dir for stdlib
...
When building as part of rust, the sysroot source dir is symlinked to
the main source dir, which contains the build dir to which we are likely
copying.
2023-06-13 16:39:59 +00:00
bjorn3
eb3e8bb7d7
Move some profile settings out of the stdlib cargo workspace patch
2023-06-13 16:39:59 +00:00
bjorn3
8ad9e9f861
Ensure everything has a lockfile
2023-06-13 16:39:59 +00:00
bjorn3
d3da972441
Write stdlib workspace Cargo.toml directly in prepare.rs
2023-06-13 16:39:59 +00:00
bjorn3
67f9fe6863
Lazily patch all test projects
2023-06-13 16:39:59 +00:00
bjorn3
3baee66f9b
Rework standard library building
2023-06-13 16:39:59 +00:00
bjorn3
fc23a8a7e0
Lazily patch coretests
2023-06-13 16:39:59 +00:00
bjorn3
2c38effe28
Don't patch in place in apply_patches
...
This will make it easier to skip patching if unnecessary in the future
2023-06-13 16:39:59 +00:00
bjorn3
75327f8587
Reuse existing download in y.sh prepare if fresh
2023-06-13 16:39:59 +00:00
bjorn3
0e4139922e
Put patched sources in build/ instead of download/
2023-06-13 16:39:59 +00:00
bjorn3
22befab611
Avoid hard-coding rustc path in prepare.rs
2023-05-22 17:17:05 +00:00
bjorn3
b1d8b7186c
Only pass --frozen to cargo when it is passed to y.rs
2023-05-22 17:17:05 +00:00
bjorn3
a45a81a6a2
Patch coretests separately from the standard library source
2023-02-26 12:15:25 +00:00
bjorn3
3ba9b13490
Don't download abi-cafe and simple-raytracer in ./y.rs prepare
...
Instead download them on the fly
2023-01-27 18:44:19 +00:00
bjorn3
4e87f13054
Fix a couple of TOCTOU occurences
2023-01-19 15:58:40 +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
957d78c479
Fetch all cargo dependencies in ./y.rs prepare
2023-01-13 15:40:22 +00:00
bjorn3
9a15db6dd0
Add git_command helper
2023-01-13 15:28:47 +00:00
bjorn3
40745694a0
Add fixme
2023-01-13 14:33:14 +00:00
bjorn3
dbfbb29717
Move LLVM simple-raytracer build to ./y.rs bench
...
cc #1290
2023-01-13 11:41:40 +00:00
bjorn3
caacef29e6
Retry downloads on network failure
...
Fixes #1280
2023-01-11 14:14:14 +00:00
bjorn3
fb788e375a
Don't install hyperfine in y.rs prepare
...
Missed in #1338
Part of #1290
2023-01-11 13:59:14 +00:00
bjorn3
e14e5c2af1
Don't use hyperfine during testing
...
A new command ./y.rs bench is introduced for benchmarking. This change
allows skipping hyperfine installation in ./y.rs prepare and thus avoids
writing to ~/.cargo/bin.
2023-01-05 18:14:59 +00:00
bjorn3
4c97569a54
Move patched sysroot from build_sysroot/ to download/
2023-01-05 18:14:40 +00:00
bjorn3
2bb3996244
Remove unnecessary git init
2022-12-14 15:23:24 +00:00
bjorn3
a45924cc21
Explicitly provide dummy git author name and email
...
This avoids the need to tell git beforehand about your name and email
2022-12-14 15:22:56 +00:00
bjorn3
d7b02c307d
Fix installing hyperfine
2022-12-01 19:00:32 +00: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
cdae9bab58
Introduce CargoProject type and use it where possible
2022-11-27 18:53:00 +00:00
bjorn3
63d1bf9920
Rustfmt cg_clif's build system
2022-10-23 16:43:48 +02:00
bjorn3
9950bd1dc5
Merge commit '266e96785ab71834b917bf474f130a6d8fdecd4b' into sync_cg_clif-2022-10-23
2022-10-23 16:22:55 +02:00
bjorn3
cfef0a4f8d
Merge commit 'e9d1a0a7b0b28dd422f1a790ccde532acafbf193' into sync_cg_clif-2022-08-24
2022-08-24 18:40:58 +02:00
bjorn3
d1904e5855
Merge commit '370c397ec9169809e5ad270079712e0043514240' into sync_cg_clif-2022-03-20
2022-03-20 16:55:21 +01:00
bjorn3
b5cbb87e62
Merge commit '35d9c6bf256968e1b40e0d554607928bdf9cebea' into sync_cg_clif-2022-02-23
2022-02-23 11:49:34 +01:00
bjorn3
799e067912
Merge commit '97e504549371d7640cf011d266e3c17394fdddac' into sync_cg_clif-2021-12-20
2021-12-20 18:56:35 +01:00
bjorn3
5d3b8e7c1b
Merge commit '61667dedf55e3e5aa584f7ae2bd0471336b92ce9' into sync_cg_clif-2021-09-19
2021-09-19 13:56:58 +02:00
bjorn3
d220159810
Merge commit '05677b6bd6c938ed760835d9b1f6514992654ae3' into sync_cg_clif-2021-08-06
2021-08-06 16:26:56 +02:00
bjorn3
fb92375755
Merge commit '3a31c6d8272c14388a34622193baf553636fe470' into sync_cg_clif-2021-07-07
2021-07-07 11:14:20 +02:00