about summary refs log tree commit diff
path: root/x.py
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-06-06 04:32:56 +0000
committerbors <bors@rust-lang.org>2025-06-06 04:32:56 +0000
commitd00435f223dc3a88d8c5f472b10ba948b7959cc6 (patch)
treef87b5c08e345fd781c756a812db308ea26fc6172 /x.py
parentcf423712b9e95e9f6ec84b1ecb3d125e55ac8d56 (diff)
parent3667dbd5f9480bcf114a06d1093385a77211085d (diff)
downloadrust-d00435f223dc3a88d8c5f472b10ba948b7959cc6.tar.gz
rust-d00435f223dc3a88d8c5f472b10ba948b7959cc6.zip
Auto merge of #141272 - Shourya742:2025-05-18-modularize-config-module, r=Kobzol
modularize the config module bootstrap

Currently, our `config` module is quite large over 3,000 lines, and handles a wide range of responsibilities. This PR aims to break it down into smaller, more focused submodules to improve readability and maintainability:

* **`toml`**: Introduces a dedicated `toml` submodule within the `config` module. Its sole purpose is to define configuration-related structs along with their corresponding deserialization logic. It also contains the `parse_inner` method, which serves as the central function for extracting relevant information from the TOML structs and constructing the final configuration.

* **`rust`, `dist`, `install`, `llvm`, `build`, `gcc`, and others**: Each of these modules contains TOML subsections specific to their domain, along with the logic necessary to convert them into parts of the final configuration struct.

* **`config/mod.rs`**: Contains shared types and enums used across multiple TOML subsections.

* **`config/config.rs`**: Houses the logic that integrates all the TOML subsections into the complete configuration struct.

r? `@kobzol`
Diffstat (limited to 'x.py')
0 files changed, 0 insertions, 0 deletions