Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Tools

Shared tooling that lives under tools/ in the source tree. Two things matter about this directory:

tools/
├── cmake/
│   └── project.cmake     # master build configuration, included by every module
└── agent/
    └── sync_binaries.py  # reconcile built yunos vs the agent's installed set

cmake/project.cmake — build infrastructure

project.cmake is the single build-configuration file included by every CMakeLists.txt in the project — kernel libraries, modules, yunos, utils, tests, performance, and stress. It gives them a consistent compiler setup, library definitions, and install paths, all driven by the Kconfig .config file generated by menuconfig.

What it provides:

Every module includes it with the same boilerplate:

cmake_minimum_required(VERSION 3.11)
project(my_module C)

if(DEFINED ENV{YUNETAS_BASE} AND IS_DIRECTORY "$ENV{YUNETAS_BASE}")
  set(YUNETAS_BASE "$ENV{YUNETAS_BASE}")
elseif(IS_DIRECTORY "/yuneta/development/yunetas")
  set(YUNETAS_BASE "/yuneta/development/yunetas")
else()
  message(FATAL_ERROR "YUNETAS_BASE not found.")
endif()

include("${YUNETAS_BASE}/tools/cmake/project.cmake")

The full reference (every variable, the conditional library table, the manual CMake invocation) lives in tools/README.md.

agent/ — operator helper scripts

Helpers for talking to a running yuneta_agent.