From 4d3ef2d1a2fe9a8fd2f51b1af4f36bde9fbb354e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 16 Mar 2023 15:36:26 +0100 Subject: meson: move bpf hookup into main meson build file This way we can use it in systemd-userdbd later on, too. --- src/core/bpf/meson.build | 113 ----------------------------------------------- src/core/meson.build | 2 - 2 files changed, 115 deletions(-) delete mode 100644 src/core/bpf/meson.build (limited to 'src/core') diff --git a/src/core/bpf/meson.build b/src/core/bpf/meson.build deleted file mode 100644 index ea9539bc47..0000000000 --- a/src/core/bpf/meson.build +++ /dev/null @@ -1,113 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later - -if conf.get('BPF_FRAMEWORK') != 1 - subdir_done() -endif - -bpf_clang_flags = [ - '-std=gnu11', - '-Wno-compare-distinct-pointer-types', - '-fno-stack-protector', - '-O2', - '-target', - 'bpf', - '-g', - '-c', -] - -bpf_gcc_flags = [ - '-std=gnu11', - '-fno-stack-protector', - '-O2', - '-mkernel=5.2', - '-mcpu=v3', - '-mco-re', - '-gbtf', - '-c', -] - -# Generate defines that are appropriate to tell the compiler what architecture -# we're compiling for. By default we just map meson's cpu_family to ____. -# This dictionary contains the exceptions where this doesn't work. -# -# C.f. https://mesonbuild.com/Reference-tables.html#cpu-families -# and src/basic/missing_syscall_def.h. -cpu_arch_defines = { - 'ppc' : ['-D__powerpc__'], - 'ppc64' : ['-D__powerpc64__', '-D_CALL_ELF=2'], - 'riscv32' : ['-D__riscv', '-D__riscv_xlen=32'], - 'riscv64' : ['-D__riscv', '-D__riscv_xlen=64'], - 'x86' : ['-D__i386__'], - - # For arm, assume hardware fp is available. - 'arm' : ['-D__arm__', '-D__ARM_PCS_VFP'], -} - -bpf_arch_flags = cpu_arch_defines.get(host_machine.cpu_family(), - ['-D__@0@__'.format(host_machine.cpu_family())]) -if bpf_compiler == 'gcc' - bpf_arch_flags += ['-m' + host_machine.endian() + '-endian'] -endif - -libbpf_include_dir = libbpf.get_variable(pkgconfig : 'includedir') - -bpf_o_unstripped_cmd = [] -if bpf_compiler == 'clang' - bpf_o_unstripped_cmd += [ - clang, - bpf_clang_flags, - bpf_arch_flags, - ] -elif bpf_compiler == 'gcc' - bpf_o_unstripped_cmd += [ - bpf_gcc, - bpf_gcc_flags, - bpf_arch_flags, - ] -endif - -bpf_o_unstripped_cmd += ['-I.'] - -if not meson.is_cross_build() and bpf_compiler == 'clang' - target_triplet_cmd = run_command('gcc', '-dumpmachine', check: false) - if target_triplet_cmd.returncode() == 0 - target_triplet = target_triplet_cmd.stdout().strip() - bpf_o_unstripped_cmd += [ - '-isystem', - '/usr/include/@0@'.format(target_triplet) - ] - endif -endif - -bpf_o_unstripped_cmd += [ - '-idirafter', - libbpf_include_dir, - '@INPUT@', - '-o', - '@OUTPUT@' -] - -if bpftool_strip - bpf_o_cmd = [ - bpftool, - 'gen', - 'object', - '@OUTPUT@', - '@INPUT@' - ] -elif bpf_compiler == 'clang' - bpf_o_cmd = [ - llvm_strip, - '-g', - '@INPUT@', - '-o', - '@OUTPUT@' - ] -endif - -skel_h_cmd = [ - bpftool, - 'gen', - 'skeleton', - '@INPUT@' -] diff --git a/src/core/meson.build b/src/core/meson.build index af3eaa52d2..ac0107a753 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -74,8 +74,6 @@ if conf.get('BPF_FRAMEWORK') == 1 ) endif -subdir('bpf') - subdir('bpf/socket_bind') if conf.get('BPF_FRAMEWORK') == 1 libcore_sources += [socket_bind_skel_h] -- cgit v1.2.1 From 906dff812ed444c032e4bc5ad6fbf59e3c133ed9 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 16 Mar 2023 15:37:04 +0100 Subject: pid1: simplify bpf meson import --- src/core/meson.build | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src/core') diff --git a/src/core/meson.build b/src/core/meson.build index ac0107a753..1a1b8b310d 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -75,15 +75,14 @@ if conf.get('BPF_FRAMEWORK') == 1 endif subdir('bpf/socket_bind') -if conf.get('BPF_FRAMEWORK') == 1 - libcore_sources += [socket_bind_skel_h] - subdir('bpf/restrict_fs') - libcore_sources += [restrict_fs_skel_h] -endif - +subdir('bpf/restrict_fs') subdir('bpf/restrict_ifaces') + if conf.get('BPF_FRAMEWORK') == 1 - libcore_sources += [restrict_ifaces_skel_h] + libcore_sources += [ + socket_bind_skel_h, + restrict_fs_skel_h, + restrict_ifaces_skel_h] endif load_fragment_gperf_gperf = custom_target( -- cgit v1.2.1