NINJA-UTILS.ECLASS

Section: eclass-manpages (5)
Updated: Nov 2025
Index Return to Main Contents

NAME

ninja-utils.eclass - common bits to run app-alternatives/ninja builder

DESCRIPTION

This eclass provides a single function -- eninja -- that can be used to run the ninja builder alike emake. It does not define any dependencies, you need to depend on app-alternatives/ninja yourself. Since ninja is rarely used stand-alone, most of the time this eclass will be used indirectly by the eclasses for other build systems (CMake, Meson).

SUPPORTED EAPIS

7 8

FUNCTIONS

_ninja_uses_jobserver
Return true if current ${NINJA} has jobserver support and we have one running (via MAKEFLAGS).
get_NINJAOPTS
Get the value of NINJAOPTS, inferring them from MAKEOPTS if unset.
eninja [<args>...]
Call Ninja, passing the NINJAOPTS (or converted MAKEOPTS), followed by the supplied arguments. This function dies if ninja fails. It also supports being called via 'nonfatal'.

ECLASS VARIABLES

NINJA ?= ninja (SET BEFORE INHERIT)
Specify a compatible ninja implementation to be used by eninja(). Accepts the following values:

- ninja -- use the "ninja" symlink per app-alternatives/ninja

- ninja-reference -- use "ninja-reference" for dev-build/ninja

- samu -- use "samu" for dev-build/samurai

The default is set to "ninja".

NINJA_DEPEND (GENERATED BY ECLASS)
Contains a set of build-time dependencies based on the NINJA setting.
NINJAOPTS
The default set of options to pass to Ninja. Similar to MAKEOPTS, supposed to be set in make.conf. If unset, eninja() will convert MAKEOPTS instead.
NINJA_VERBOSE ?= ON (USER VARIABLE)
Set to OFF to disable verbose messages during compilation

AUTHORS

Michał Górny <mgorny@gentoo.org>
Mike Gilbert <floppym@gentoo.org>

MAINTAINERS

base-system@gentoo.org

REPORTING BUGS

Please report bugs via https://bugs.gentoo.org/

FILES

ninja-utils.eclass

SEE ALSO

ebuild(5)
https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/ninja-utils.eclass


Index

NAME
DESCRIPTION
SUPPORTED EAPIS
FUNCTIONS
ECLASS VARIABLES
AUTHORS
MAINTAINERS
REPORTING BUGS
FILES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 03:27:01 GMT, November 18, 2025