Commit Graph

50 Commits

Author SHA1 Message Date
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