From ae6f80eb9b4170d20aab49aaaaf4db059b700002 Mon Sep 17 00:00:00 2001 From: "Satadru Pramanik, DO, MPH, MEng" Date: Mon, 10 Jul 2023 13:29:48 -0400 Subject: [PATCH] Use 'mold -run' in builtsystems when mold is CREW_LINKER (#8468) * Use 'mold -run' in builtsystems when mold is CREW_LINKER * simplify logic --- lib/buildsystems/autotools.rb | 3 ++- lib/buildsystems/cmake.rb | 3 ++- lib/buildsystems/meson.rb | 3 ++- lib/const.rb | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/buildsystems/autotools.rb b/lib/buildsystems/autotools.rb index 12957adc7..d2dcf6ede 100644 --- a/lib/buildsystems/autotools.rb +++ b/lib/buildsystems/autotools.rb @@ -28,7 +28,8 @@ class Autotools < Package puts 'Using filefix.'.orange system 'filefix' end - system "./configure #{CREW_OPTIONS} #{@configure_options}" + @mold_linker_prefix_cmd = CREW_LINKER == 'mold' ? 'mold -run ' : '' + system "#{@mold_linker_prefix_cmd}./configure #{CREW_OPTIONS} #{@configure_options}" system 'make' end diff --git a/lib/buildsystems/cmake.rb b/lib/buildsystems/cmake.rb index 72814d86a..9147aaa9f 100644 --- a/lib/buildsystems/cmake.rb +++ b/lib/buildsystems/cmake.rb @@ -12,7 +12,8 @@ class CMake < Package def self.build puts "Additional cmake_options being used: #{@cmake_options.nil? || @cmake_options.empty? ? '' : @cmake_options}".orange @crew_cmake_options = no_lto ? CREW_CMAKE_FNO_LTO_OPTIONS : CREW_CMAKE_OPTIONS - system "cmake -B builddir -G Ninja #{@crew_cmake_options} #{@cmake_options}" + @mold_linker_prefix_cmd = CREW_LINKER == 'mold' ? 'mold -run ' : '' + system "#{@mold_linker_prefix_cmd}cmake -B builddir -G Ninja #{@crew_cmake_options} #{@cmake_options}" system "#{CREW_NINJA} -C builddir" end diff --git a/lib/buildsystems/meson.rb b/lib/buildsystems/meson.rb index bf2ae6da9..d09d6d1e8 100644 --- a/lib/buildsystems/meson.rb +++ b/lib/buildsystems/meson.rb @@ -12,7 +12,8 @@ class Meson < Package def self.build puts "Additional meson_options being used: #{@meson_options.nil? || @meson_options.empty? ? '' : @meson_options}".orange @crew_meson_options = no_lto ? CREW_MESON_FNO_LTO_OPTIONS : CREW_MESON_OPTIONS - system "meson setup #{@crew_meson_options} #{@meson_options} builddir" + @mold_linker_prefix_cmd = CREW_LINKER == 'mold' ? 'mold -run ' : '' + system "#{@mold_linker_prefix_cmd}meson setup #{@crew_meson_options} #{@meson_options} builddir" system 'meson configure builddir' system "#{CREW_NINJA} -C builddir" end diff --git a/lib/const.rb b/lib/const.rb index fd2831904..d8ad0c990 100644 --- a/lib/const.rb +++ b/lib/const.rb @@ -1,5 +1,5 @@ # Defines common constants used in different parts of crew -CREW_VERSION = '1.35.0' +CREW_VERSION = '1.35.1' # kernel architecture KERN_ARCH = `uname -m`.chomp