about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Beránek <berykubik@gmail.com>2025-02-20 21:06:25 +0100
committerJakub Beránek <berykubik@gmail.com>2025-02-20 21:06:25 +0100
commitc0bea5d92d69c93ec8b6d4374df6863ff312e20f (patch)
tree3f08f1319c87c612f0270f0cb7a4b9c45f944181
parent953515131b32deaf26410cb78b7eb6fe93d4d9b4 (diff)
downloadrust-c0bea5d92d69c93ec8b6d4374df6863ff312e20f.tar.gz
rust-c0bea5d92d69c93ec8b6d4374df6863ff312e20f.zip
Add a notice about missing GCC sources in source tarballs
-rw-r--r--src/bootstrap/src/core/build_steps/dist.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs
index 85b224771bb..795f9506a25 100644
--- a/src/bootstrap/src/core/build_steps/dist.rs
+++ b/src/bootstrap/src/core/build_steps/dist.rs
@@ -1029,6 +1029,17 @@ impl Step for PlainSourceTarball {
             ],
             plain_dst_src,
         );
+        // We keep something in src/gcc because it is a registered submodule,
+        // and if it misses completely it can cause issues elsewhere
+        // (see https://github.com/rust-lang/rust/issues/137332).
+        // We can also let others know why is the source code missing.
+        if !builder.config.dry_run() {
+            builder.create_dir(&plain_dst_src.join("src/gcc"));
+            t!(std::fs::write(
+                plain_dst_src.join("src/gcc/notice.txt"),
+                "The GCC source code is not included due to unclear licensing implications\n"
+            ));
+        }
 
         // Copy the files normally
         for item in &src_files {