From 00f98e6810f71fe306100dbd1ddba9666f22453b Mon Sep 17 00:00:00 2001 From: Alex Huang Date: Fri, 3 Mar 2023 17:27:29 -0500 Subject: [PATCH] ./configure script should only show blocks (and associated comments) where it is not default --- config.toml.example | 1 + src/bootstrap/configure.py | 22 ++++++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/config.toml.example b/config.toml.example index 69eb228a2d5a0..3aaeb09d4c005 100644 --- a/config.toml.example +++ b/config.toml.example @@ -164,6 +164,7 @@ changelog-seen = 2 # General build configuration options # ============================================================================= [build] + # The default stage to use for the `check` subcommand #check-stage = 0 diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py index 04e798e3949d9..573d864600d64 100755 --- a/src/bootstrap/configure.py +++ b/src/bootstrap/configure.py @@ -486,6 +486,22 @@ def configure_top_level_key(lines, top_level_key, value): else: configure_section(sections[section_key], section_config) +def write_uncommented(target, f): + block = [] + is_comment = True + + for line in target: + block.append(line) + if len(line) == 0: + if not is_comment: + for l in block: + f.write(l + "\n") + block = [] + is_comment = True + continue + is_comment = is_comment and line.startswith('#') + return f + # Now that we've built up our `config.toml`, write it all out in the same # order that we read it in. p("") @@ -494,11 +510,9 @@ def configure_top_level_key(lines, top_level_key, value): for section in section_order: if section == 'target': for target in targets: - for line in targets[target]: - f.write(line + "\n") + f = write_uncommented(targets[target], f) else: - for line in sections[section]: - f.write(line + "\n") + f = write_uncommented(sections[section], f) with bootstrap.output('Makefile') as f: contents = os.path.join(rust_dir, 'src', 'bootstrap', 'mk', 'Makefile.in')