chore(build): use mold linker instead of lld if available

This commit is contained in:
Michael Aaron Murphy 2023-12-12 15:06:46 +01:00 committed by Michael Murphy
parent 7017901dec
commit b2a5649290
3 changed files with 19 additions and 19 deletions

View file

@ -8,7 +8,7 @@ To compile, a stable Rust compiler and [just](https://github.com/casey/just) are
- cargo
- just
- lld
- mold
Some C libraries are also required for font support at the moment.

14
debian/control vendored
View file

@ -4,18 +4,18 @@ Priority: optional
Maintainer: Michael Murphy <mmstick@pm.me>
Build-Depends:
debhelper-compat (=13),
just (>= 1.13.0),
rust-all,
cmake,
just (>= 1.13.0),
libexpat1-dev,
libfontconfig-dev,
libfreetype-dev,
lld,
libwayland-dev,
pkg-config,
libxkbcommon-dev,
libinput-dev,
libudev-dev,
libinput-dev
libwayland-dev,
libxkbcommon-dev,
mold,
pkg-config,
rust-all,
Standards-Version: 4.6.2
Homepage: https://github.com/pop-os/cosmic-settings

View file

@ -1,21 +1,21 @@
name := 'cosmic-settings'
appid := 'com.system76.CosmicSettings'
# Use lld linker if available
ld-args := if `which lld || true` != '' {
'-C link-arg=-fuse-ld=lld -C link-arg=-Wl,--build-id=sha1'
# Use mold linker if clang and mold exists.
clang-path := `which clang || true`
mold-path := `which mold || true`
linker-arg := if clang-path != '' {
if mold-path != '' {
'-C linker=' + clang-path + ' -C link-arg=--ld-path=' + mold-path + ' '
} else {
''
}
} else {
''
}
# Use the x86-64-v2 target by default on x86-64 systems.
target-cpu := if arch() == 'x86_64' { 'x86-64-v2' } else { '' }
export RUSTFLAGS := if target-cpu != '' {
ld-args + ' -C target-cpu=' + target-cpu + ' ' + env_var_or_default('RUSTFLAGS', '')
} else {
ld-args + ' ' + env_var_or_default('RUSTFLAGS', '')
}
export RUSTFLAGS := linker-arg + env_var_or_default('RUSTFLAGS', '')
rootdir := ''
prefix := '/usr'