diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-10-29 23:41:07 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-10-29 23:41:07 +0900 |
| commit | aa07c2b1a60531ed902b96abb9873ded22d04d59 (patch) | |
| tree | d36f2626ccb2b42238aea55846c7937a558cc523 | |
| parent | b3355a0f580a3d53120d37b4c70e40abe56c8185 (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>
| -rw-r--r-- | internal/rosa/meson.go | 20 |
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+`'] |
