Building
Task is the public build interface. Its Bazel-backed targets use bzlmod and fetch pinned Bootlin cross-compilation toolchains on first use. Run every command below from the repository root.
Targets describe what to build. Configs describe how to build it.
Build a single platform
task bazel:build -- --config=linux_x86_64 //modules/picblobs/release:full
task bazel:build -- --config=linux_x86_64 --config=debug //modules/picblobs/release:full
Build a single blob
task bazel:build -- --config=linux_aarch64 //modules/picblobs/src/payload:hello
task bazel:build -- --config=windows_x86_64 //modules/picblobs/src/payload:hello_windows
Build and stage all platforms
task picblobs:stage
The Task invokes the declared Bazel materializer, which builds all supported
blobs, FreeBSD and Windows runners, and Linux ul_exec verifier
fixtures. It then stages only declared outputs into the package trees and
regenerates the runtime sidecar catalogue:
modules/picblobs/python/picblobs/_blobs/{os}/{arch}/{name}.so
modules/picblobs/python/picblobs/blobs/{name}.{os}.{arch}.{bin,json}
modules/picblobs/python/picblobs/manifest.json
modules/picblobs/python_cli/picblobs_cli/_runners/{freebsd,windows}/{arch}/runner
modules/picblobs/python_cli/picblobs_cli/_test_binaries/ul_exec/linux/{arch}/hello_et_exec
Build specific targets or platforms:
task picblobs:stage -- --targets hello --configs linux:x86_64
task picblobs:stage -- --configs windows:x86_64 windows:i686 windows:aarch64
Available platform configs
modules/picblobs/tools/generate.py derives these configs from the
typed registry. Use task picblobs:generate-check to verify that the
generated declarations are current.
linux_x86_64 linux_i686 linux_aarch64 linux_armv5_arm linux_armv5_thumb
linux_armv7_thumb linux_s390x linux_mipsel32 linux_mipsbe32
linux_sparcv8 linux_powerpc linux_ppc64le linux_riscv64
freebsd_x86_64 freebsd_i686 freebsd_aarch64 freebsd_armv5_arm
freebsd_armv5_thumb freebsd_armv7_thumb freebsd_mipsel32 freebsd_mipsbe32
windows_x86_64 windows_i686 windows_aarch64
Build mode configs
| Config | Effect |
|---|---|
| (default) | Optimized (-Os from the selected toolchain) |
--config=debug |
Adds debug symbols and -DPIC_LOG_ENABLE; disables stripping |
--config=release |
Explicitly strips release outputs |
Platform and build mode are orthogonal: --config=linux_x86_64 --config=debug.