Skip to content
Haiku OSDeep Dive July 12, 2026 1 min readViews unavailable

Haiku's Jam Build System: Cross-Tools, Hybrid ABIs, Packages, and Images

Why building Haiku is more than invoking a compiler, especially for GCC2 compatibility and cross-host image generation.

Haiku uses a configure step plus Jam rules to build tools, target binaries, packages, bootloaders, and complete images. Cross-builds need host tools and target compilers; x86 hybrid builds may produce GCC2-compatible and modern-GCC components together.

The build also preserves Haiku concepts such as resources and extended attributes on hosts that may not support them natively. Package/image targets have different update semantics: rebuilding a binary, rebuilding its HPKG, and inserting that package into an image are separate steps.

Use an out-of-tree generated directory, record configure options, and follow current architecture instructions. A successful single target does not prove the installation image contains it.

Sources: Haiku build system, Jam build tool