]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
meson: prepend sys_root to bpf isystem
authorJames Hilliard <james.hilliard1@gmail.com>
Mon, 21 Jul 2025 19:04:49 +0000 (13:04 -0600)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 22 Jul 2025 23:49:02 +0000 (08:49 +0900)
These sort of absolute include paths are generally unsafe when cross compiling.

meson.build

index c2ced35c66dea301518aad9a2d0f69520f088c76..c5c08928f88d40692ac2eca6d4b7523082743349 100644 (file)
@@ -1775,11 +1775,21 @@ if conf.get('BPF_FRAMEWORK') == 1
                 target_triplet_cmd = run_command('gcc', '-print-multiarch', check: false)
         endif
         if target_triplet_cmd.returncode() == 0
+                sysroot = meson.get_external_property('sys_root', '/')
                 target_triplet = target_triplet_cmd.stdout().strip()
-                bpf_o_unstripped_cmd += [
-                        '-isystem',
-                        '/usr/include/@0@'.format(target_triplet)
-                ]
+                target_include_dir = sysroot / 'usr' / 'include'
+                target_triple_include_dir = target_include_dir / target_triplet
+                isystem_dir = ''
+                if fs.is_dir(target_triple_include_dir)
+                        isystem_dir = target_triple_include_dir
+                elif fs.is_dir(target_include_dir)
+                        isystem_dir = target_include_dir
+                endif
+                if isystem_dir != ''
+                        bpf_o_unstripped_cmd += [
+                                '-isystem', isystem_dir
+                        ]
+                endif
         endif
 
         bpf_o_unstripped_cmd += [