about summary refs log tree commit diff
path: root/x.py
AgeCommit message (Collapse)AuthorLines
2024-12-04Reformat Python code with `ruff`Jakub Beránek-3/+6
2023-08-02Fix recent python linting errorsTrevor Gross-1/+1
- Remove unneeded imports in 'fuscia-test-runner.py' - Add explicit stacklevel to 'x.py' - Fix mutable types as default args in `bootstrap.py` and `bootstrap_test.py`
2023-06-24Fix old python deprecation check in x.pyNilstrieb-1/+1
The warning suppression variable was not checked correctly.
2023-06-09Add deprecation warning for python <3.6 in x.pyTrevor Gross-1/+19
Soft deprecate old python versions to give users a warning that eventually it may not be supported.
2023-05-01Make x.py work again in most (all?) casesAlbert Larsan-18/+21
Wrap all of x.py in `if __name__ == '__main__':` to avoid problems with `multiprocessing` Make the pool sizing better
2023-01-31assert that `should_fix_bins_and_dylibs` has been runKaDiWa-1/+2
2023-01-30bootstrap script: slight cleanupKaDiWa-1/+1
2022-08-12Use an extensionless `x` script for non-WindowsJosh Stone-1/+1
2022-08-08Add `x.sh` and `x.ps1` shell scriptsJoshua Nelson-25/+5
This is a more ambitious version of https://github.com/rust-lang/rust/pull/98716. It still changes the shebang back to python3, for compatibility with non-Unix systems, but also adds alternative entrypoints for systems without `python3` installed. These scripts will be necessary for the rust entrypoint (#94829), so I see little downside in adding them early.
2022-06-24x.py: Support systems with only `python3` not `python`David Tolnay-4/+25
2021-01-14Choose the version of python at runtime (portable version)Joshua Nelson-0/+16
- Try `py -3` first for windows compatibility - Fall back to `python3` if `py` doesn't work
2018-12-25Remove licensesMark Rousskov-9/+0
2017-04-30Rename os variable in bootstrap.py to avoid shadowing os module.Titus Barik-1/+1
2017-03-04bootstrap.py: Report build statusVadim Petrochenkov-8/+6
Move some code from x.py to bootstrap.py
2016-12-11Handle Ctrl+C in the build scriptAbhishek Chanda-1/+4
2016-11-02rustbuild: Rewrite user-facing interfaceAlex Crichton-0/+19
This commit is a rewrite of the user-facing interface to the rustbuild build system. The intention here is to make it much easier to compile/test the project without having to remember weird rule names and such. An overall view of the new interface is: # build everything ./x.py build # document everyting ./x.py doc # test everything ./x.py test # test libstd ./x.py test src/libstd # build libcore stage0 ./x.py build src/libcore --stage 0 # run stage1 run-pass tests ./x.py test src/test/run-pass --stage 1 The `src/bootstrap/bootstrap.py` script is now aliased as a top-level `x.py` script. This `x` was chosen to be both short and easily tab-completable (no collisions in that namespace!). The build system now accepts a "subcommand" of what to do next, the main ones being build/doc/test. Each subcommand then receives an optional list of arguments. These arguments are paths in the source repo of what to work with. That is, if you want to test a directory, you just pass that directory as an argument. The purpose of this rewrite is to do away with all of the arcane renames like "rpass" is the "run-pass" suite, "cfail" is the "compile-fail" suite, etc. By simply working with directories and files it's much more intuitive of how to run a test (just pass it as an argument). The rustbuild step/dependency management was also rewritten along the way to make this easy to work with and define, but that's largely just a refactoring of what was there before. The *intention* is that this support is extended for arbitrary files (e.g. `src/test/run-pass/my-test-case.rs`), but that isn't quite implemented just yet. Instead directories work for now but we can follow up with stricter path filtering logic to plumb through all the arguments.