Home

etcsbuild

etcsbuild is a cross-platform build automation tool designed to streamline the compilation, testing, and packaging of software projects that implement the European Train Control System (ETCS) specifications. The project aims to provide reproducible builds, fast iteration, and strong compatibility with modern continuous integration pipelines, particularly for embedded and safety-critical software used in railway signaling.

Key features include a declarative manifest that describes targets, dependencies, and build steps, along with support

Etcsbuild is designed with a modular core and pluggable backends for file systems, test runners, artifact repositories,

Developed by a community of engineers and researchers, etcsbuild is distributed as open-source software. The project

In practice, etcsbuild is used to orchestrate large ETCS software stacks, integrate with CI/CD workflows, and

for
incremental
and
parallel
builds.
It
integrates
with
common
toolchains
and
supports
multiple
languages
frequently
used
in
ETCS
work,
such
as
C,
C++,
Ada,
and
Rust.
The
system
offers
cross-compilation
support
for
embedded
targets
and
caching
to
reduce
redundant
work.
and
environment
management.
Configuration
is
expressed
in
a
machine-readable
file
(for
example
etcsbuild.yaml),
detailing
modules,
dependencies,
and
partitions
of
the
build
graph.
The
tool
emphasizes
reproducibility
by
pinning
toolchains
and
environments.
maintains
an
issue
tracker,
a
public
code
repository,
and
regular
releases
that
include
bug
fixes,
performance
improvements,
and
new
plugins.
support
research
projects
exploring
railway
safety
software.
The
ecosystem
includes
documentation,
example
configurations,
and
a
growing
set
of
plugins
for
testing,
packaging,
and
deployment
tasks.