From b7ca0a02ec94f9788674db0fb5085ff91bc17c53 Mon Sep 17 00:00:00 2001 From: Ihor Solodrai Date: Fri, 16 Jan 2026 15:48:25 -0800 Subject: [PATCH] build-scx-scheds: collect BPF progs into $OUTPUT_DIR/bpf Update scx build script to explicitly collect BPF programs in addition to copying raw build directories. Signed-off-by: Ihor Solodrai --- build-scx-scheds/build-scheds.sh | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/build-scx-scheds/build-scheds.sh b/build-scx-scheds/build-scheds.sh index 0585c1cb..dce46ee3 100755 --- a/build-scx-scheds/build-scheds.sh +++ b/build-scx-scheds/build-scheds.sh @@ -15,15 +15,30 @@ fi pushd $SCX_ROOT -rm -rf $OUTPUT_DIR && mkdir -p $OUTPUT_DIR +rm -rf $OUTPUT_DIR && mkdir -p $OUTPUT_DIR/bpf + +extract_bpf_progs() { + build_dir=$1 + pattern=$2 + bpf_dir=$3 + find "${build_dir}" -type f -name "$pattern" -printf '%P\0' | \ + while IFS= read -r -d '' prog; do + obj_name=$(echo "${prog}" | tr / _) + cp -v "${build_dir}/${prog}" "${bpf_dir}/${obj_name}" + done +} # build C scheds +# .SECONDARY prevents make from deleting the intermediate .bpf.o files +echo '.SECONDARY:' >> scheds/c/Makefile make all -j$(nproc) -mv build $OUTPUT_DIR/c-scheds +mv build $OUTPUT_DIR/c-build +extract_bpf_progs $OUTPUT_DIR/c-build/scheds "*.bpf.o" $OUTPUT_DIR/bpf # build Rust scheds . $HOME/.cargo/env cargo build --release -mv target/release/build $OUTPUT_DIR/rust-scheds +mv target/release/build $OUTPUT_DIR/rust-build +extract_bpf_progs $OUTPUT_DIR/rust-build "bpf.bpf.o" $OUTPUT_DIR/bpf popd