diff options
| author | Jakub Beránek <berykubik@gmail.com> | 2025-03-12 13:14:11 +0100 |
|---|---|---|
| committer | Jakub Beránek <berykubik@gmail.com> | 2025-03-13 21:29:20 +0100 |
| commit | c4371786d623a56072d048b9dea64abccbf4a113 (patch) | |
| tree | 46d024871efcabba8aa59c6055cdc5fec5c0fede | |
| parent | 52daa7d835e7ff51cb387340082bf9a59b949738 (diff) | |
| download | rust-c4371786d623a56072d048b9dea64abccbf4a113.tar.gz rust-c4371786d623a56072d048b9dea64abccbf4a113.zip | |
Create libgccjit.so.0 alias also for CI-downloaded GCC
| -rw-r--r-- | src/bootstrap/src/core/build_steps/gcc.rs | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/bootstrap/src/core/build_steps/gcc.rs b/src/bootstrap/src/core/build_steps/gcc.rs index 5a4bc9bdbcb..ea5a312a716 100644 --- a/src/bootstrap/src/core/build_steps/gcc.rs +++ b/src/bootstrap/src/core/build_steps/gcc.rs @@ -63,11 +63,7 @@ impl Step for Gcc { } build_gcc(&metadata, builder, target); - - let lib_alias = metadata.install_dir.join("lib/libgccjit.so.0"); - if !lib_alias.exists() { - t!(builder.symlink_file(&libgccjit_path, lib_alias)); - } + create_lib_alias(builder, &libgccjit_path); t!(metadata.stamp.write()); @@ -75,6 +71,15 @@ impl Step for Gcc { } } +/// Creates a libgccjit.so.0 alias next to libgccjit.so if it does not +/// already exist +fn create_lib_alias(builder: &Builder<'_>, libgccjit: &PathBuf) { + let lib_alias = libgccjit.parent().unwrap().join("libgccjit.so.0"); + if !lib_alias.exists() { + t!(builder.symlink_file(libgccjit, lib_alias)); + } +} + pub struct Meta { stamp: BuildStamp, out_dir: PathBuf, @@ -109,8 +114,11 @@ fn try_download_gcc(builder: &Builder<'_>, target: TargetSelection) -> Option<Pa builder.config.download_ci_gcc(&sha, &root); t!(gcc_stamp.write()); } + // FIXME: put libgccjit.so into a lib directory in dist::Gcc - Some(root.join("libgccjit.so")) + let libgccjit = root.join("libgccjit.so"); + create_lib_alias(builder, &libgccjit); + Some(libgccjit) } #[cfg(test)] |
