aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/meson.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-10-29 23:41:07 +0900
committerOphestra <cat@gensokyo.uk>2026-10-29 23:41:07 +0900
commitaa07c2b1a60531ed902b96abb9873ded22d04d59 (patch)
treed36f2626ccb2b42238aea55846c7937a558cc523 /internal/rosa/meson.go
parentb3355a0f580a3d53120d37b4c70e40abe56c8185 (diff)
internal/rosa/meson: specify -rpath-link for cross
Of course, meson fails to add standard flags like these, despite knowing the sysroot via the mfile. This fixes libraries like libdrm. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/meson.go')
-rw-r--r--internal/rosa/meson.go20
1 files changed, 18 insertions, 2 deletions
diff --git a/internal/rosa/meson.go b/internal/rosa/meson.go
index 5e64bf62..1b71c317 100644
--- a/internal/rosa/meson.go
+++ b/internal/rosa/meson.go
@@ -60,8 +60,24 @@ func (*MesonHelper) paths(t Toolchain) []pkg.ExecPath {
false, pkg.NewFile("mfile-"+arch, []byte(`# meson env2mfile
[binaries]
# Compilers
-c = ['clang', '--target=`+target+`', '--sysroot=`+Prefix+`/`+arch+`']
-cpp = ['clang++', '--target=`+target+`', '--sysroot=`+Prefix+`/`+arch+`']
+c = [
+ 'clang',
+ '--target=`+target+`',
+ '--sysroot=`+Prefix+`/`+arch+`',
+
+ '--start-no-unused-arguments',
+ '-Wl,-rpath-link=`+Prefix+`/`+arch+`/system/lib',
+ '--end-no-unused-arguments'
+ ]
+cpp = [
+ 'clang++',
+ '--target=`+target+`',
+ '--sysroot=`+Prefix+`/`+arch+`',
+
+ '--start-no-unused-arguments',
+ '-Wl,-rpath-link=`+Prefix+`/`+arch+`/system/lib',
+ '--end-no-unused-arguments'
+ ]
pkg-config = ['pkg-config']
exe_wrapper = ['qemu-`+t.linuxArch()+`', '-L', '`+Prefix+`/`+arch+`']