obt-build

Explain Orkid codebase builds using OBT and ork.build.py.

35|16|Updated Feb 10, 2013
One-click install
npx skills add https://github.com/tweakoz/orkid --skill obt-build
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: obt-build
Source: https://github.com/tweakoz/orkid/tree/main/.claude/skills/obt-build
Command: npx skills add https://github.com/tweakoz/orkid --skill obt-build

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill consolidates authoritative information for answering questions about building the Orkid engine using the OBT build system, providing quick access to build commands, CMake structure, module layout, Python extension details, staging layout, and environment variables.

Core Features & Use Cases

  • Build Command Reference: Lists common ork.build.py flags and usage patterns for parallel, serial, clean, debug, verbose, sanitizer, and Xcode generation builds.
  • CMake & Module Layout: Explains root CMake, module CMakeLists, automatic source discovery, and module build order to help troubleshoot build and linkage issues.
  • Python Extensions & Environment: Describes pyext layout, where built shared libraries are staged, the ork.python isolated environment, and key environment variables and staging directories.
  • Use Case: Use when diagnosing build failures, locating CMake macros, preparing a staging install, building Python bindings, or configuring the Orkid development environment.

Quick Start

From the repository root run the ork.build.py wrapper with the flag that matches your intent, for example use ork.build.py --cmakeenv to inspect CMake flags or ork.build.py --debug to perform a debug build.

Frequently Asked Questions about obt-build

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build the Orkid engine using the OBT build system?

To build the Orkid engine, run the ork.build.py wrapper from the repository root with flags matching your intent, such as --debug for a debug build or --cmakeenv to inspect CMake flags.

How does the CMake structure and module layout work in Orkid?

The Orkid CMake structure features a root CMake file and module CMakeLists that use automatic source discovery. Understanding the module build order helps troubleshoot linkage and build failures.

Where do Python extension builds get staged and how does ork.python work?

Python extension builds are staged in specific staging directories, and ork.python provides an isolated environment for building Python bindings without requiring manual source list edits.

What environment variables do I need to configure for Orkid staging directories?

Configuring Orkid staging directories requires setting specific environment variables that define staging paths and build semantics, ensuring pyext shared libraries are located correctly during packaging.

Can I do a clean or sanitizer build with ork.build.py?

Yes, ork.build.py supports parallel, serial, clean, debug, verbose, sanitizer, and Xcode generation builds through specific command line flags.

Why should I avoid manual source list edits when building pyext?

Manual source list edits are discouraged because the CMake structure uses automatic source discovery, making manual changes unsafe and prone to breaking pyext installation and linkage.