meson: fix missing failure if bpf-framework was enabled
authorDominique Martinet <asmadeus@codewreck.org>
Sat, 20 Jul 2024 11:38:37 +0000 (20:38 +0900)
committerLuca Boccassi <bluca@debian.org>
Mon, 22 Jul 2024 10:05:08 +0000 (11:05 +0100)
If building with clang and clang does not support bpf, then enabling
-Dbpf-framework=enabled would silently drop the feature (even printing
bpf-framework: enabled in the meson build recap, and no message anywhere
that'd hint at the failure!)

This is unexpected, so add check to fail hard in this case.

All other code paths (gcc, missing bpftool) properly check for the
option, but it is not as easy for a custom command so check explicitly

(cherry picked from commit 8da20e3fe2a544979922cea457de3031aa74d64c)

meson.build

index 123bde50edc71f1018b4baa58f651fa97628203d..bb0348e729637d52b1adc5c182b9f5e5b2228b22 100644 (file)
@@ -1102,6 +1102,9 @@ else
                         # Check if 'clang -target bpf' is supported.
                         clang_supports_bpf = run_command(clang, '-target', 'bpf', '--print-supported-cpus', check : false).returncode() == 0
                 endif
+                if bpf_framework.enabled() and not clang_supports_bpf
+                        error('bpf-framework was enabled but clang does not support bpf')
+                endif
         elif bpf_compiler == 'gcc'
                 bpf_gcc = find_program('bpf-gcc',
                                        'bpf-none-gcc',