| Age | Commit message (Collapse) | Author | Lines |
|
parallel compilation
|
|
|
|
move common code to a helper function
Co-Authored-By: Kobzol <berykubik@gmail.com>
|
|
|
|
The loop that writes the keys in each section of bootstrap.toml
accumulates all the commented lines before a given key and emits them
when it reaches the next key in the section. This ends up dropping
lines accumulated for the last key
|
|
|
|
|
|
We intend to fix the outstanding issues on the target and eventually
promote it to tier 2. We have the capacity to maintain this target in
the future and already perform regular builds of rustc for this target.
Currently, all host tools except miri build fine, but I have a patch for
libffi-sys to make miri also compile fine for this target that is
pending review [1].
While at it, add an option for the musl root for this target.
[1]: https://github.com/tov/libffi-rs/pull/100
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
|
|
|
|
Interface
This commit does not patch libc, stdarch, or cc
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
$ ./configure
configure: processing command line
configure:
configure: build.configure-args := []
configure: profile := dist
configure:
configure: writing `config.toml` in current directory
configure:
configure: run `python /mnt/filling/store/nabijaczleweli/code/rust/x.py --help`
This is naturally not valid since I don't have a "python" executable
(and this will hopefully become more and more true as Python 2 dies out).
./configure knows this since it does try python3 "$@", then python2.7 &c.
After, this now says
configure: run `python3 /mnt/filling/store/nabijaczleweli/code/rust/x.py --help`
which is possible, and corresponds to the interpreter actually running.
|
|
(S)ccache can be useful for more things that just LLVM. For example, we will soon want to use it also for GCC, and theoretically also for building stage0 Rust tools.
|
|
MCP: https://github.com/rust-lang/compiler-team/issues/803
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
|
|
|
|
With this change, it is now possible to pass quotes to the configure
script, such as
`./configure.py --set=target.\"thumbv8m.main-none-eabi\".linker=/linker`
, which will treat `thumbv8.main-none-eabi` as a whole part. Currently,
the string would be split into two elements: `thumbv8`, and
`main-none-eabi`.
|
|
|
|
|
|
Updated helper docs via configure.py to make it clearer that users can control options with enable and disable
|
|
Co-authored-by: Lorenz Schmidt <bytesnake@mailbox.org>
|
|
This change makes `build.bootstrap-cache-path` option to be configurable with
`./configure` script, so it can be used like `./configure --bootstrap-cache-path=demo`.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
configure.py: add flag for loongarch64 musl-root
|
|
|
|
|
|
Setting the bootstrap cache path to an external location can help to
speed up builds in cases where the build directory is not kept between
builds, e.g. in CI or other automated build systems.
|
|
Adds initial support for DataFlowSanitizer to the Rust compiler. It
currently supports `-Zsanitizer-dataflow-abilist`. Additional options
for it can be passed to LLVM command line argument processor via LLVM
arguments using `llvm-args` codegen option (e.g.,
`-Cllvm-args=-dfsan-combine-pointer-labels-on-load=false`).
|
|
|
|
This should enhance the readability.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
|
|
PR #105716 added support for NDK r25b, and removed support for r15. Since
the switch to r25b would have broken existing r15 users anyway, let's
take the opportunity to make the interface more user friendly.
Firstly move the android-ndk property to [build] instead of the
targets. This is possible now that the NDK has obsoleted the concept of
target-specific toolchains.
Also make the property take the NDK root directory instead of the
"toolchains/llvm/prebuilt/<host tag>" subdirectory.
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Currently, having a dirty `obj/` directory is sufficient to abort CI
tests. This results in errors like the following:
```
...
== end clock drift check ==
sccache: Starting the server...
configure: error: Existing 'config.toml' detected.
== clock drift check ==
...
```
This is subtle and doesn't give a good idea as to what causes the issue.
With this patch, the error becomes more prominent and a resolution is
suggested:
```
== end clock drift check ==
sccache: Starting the server...
configure: ERROR: Existing 'config.toml' detected. Exiting
Is objdir '/home/tmgross/projects/rust/obj' clean?
== clock drift check ==
```
|
|
|
|
|
|
- fix tests when `--build` is set
- don't leak `config.example.toml` fd
- don't crash if `config.toml` doesn't exist yet
|
|
Before it would unconditionally print `configure-args = []`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fix various configure bugs
Fixes https://github.com/rust-lang/rust/issues/107050. Fixes https://github.com/rust-lang/rust/issues/108928. Closes https://github.com/rust-lang/rust/pull/108641.
I recommend reading this commit-by-commit to see the commit descriptions, but the code changes are small.
This also changes the README to suggest `configure` instead of `printf`, as well as a few other cleanups described in the commit message.
|
|
|
|
Before, it only worked for numbers, not strings.
|
|
exit code
|
|
destination
|
|
This also fixes a regression from
https://github.com/rust-lang/rust/pull/106085 which stopped testing that
we support python2 in PR CI.
|
|
- Separate out functions so that each unit test doesn't create a file on disk
- Add a few unit tests
Notably, verifying that we generate valid toml relies on python 3.11 so
we can use `tomllib`.
|
|
|