Skip to content

forgezero-cli/ForgeZero

Repository files navigation

ForgeZero
=========

ForgeZero is a zero-overhead build tool for assembly, C, C++, Objective-C,
and Gloria. It wraps NASM, GAS, FASM, GCC, Clang, Zig, and LD behind a
single command-line interface, and provides fast, allocation-free builds
without Makefiles or configuration.

Quick Start
-----------

* Report a bug: https://github.com/forgezero-cli/ForgeZero/issues
* Get the latest release: https://github.com/forgezero-cli/ForgeZero
* Build ForgeZero: See INSTALL
* Build your project with fz: See QUICKSTART

Essential Documentation
------------------------

All users should be familiar with:

* Build modes & languages: LANGUAGES
* CLI reference: CLI-REFERENCE
* Configuration file: TOML_CONFIG
* License: See LICENSE

Full documentation index: INDEX


Who Are You?
============

Find your role below:

* New User - Building a project with fz for the first time
* Assembly Developer - Writing NASM, GAS, or FASM sources
* C / C++ / Objective-C Developer - Building with GCC, Clang, or Zig
* Gloria Developer - Writing and compiling Gloria sources
* Security Auditor - SBOM generation and SAST review
* Release Engineer - Reproducible and verifiable builds
* Cross-Compilation / Embedded Engineer - Targeting non-host platforms
* WebAssembly Developer - Building WASM targets
* Contributor - Extending or fixing ForgeZero itself


For Specific Users
===================

New User
--------

Start here:

* Installation: INSTALL
* Quick Start & Usage: QUICKSTART
* Exit Codes & Troubleshooting: ERROR_HANDLING

Assembly Developer
-------------------

* Build Modes & Extensions: LANGUAGES
* Assembler Backends: SPECS
* CLI Build Reference: CLI-REFERENCE

C / C++ / Objective-C Developer
---------------------------------

* Language Guide: LANGUAGES
* Build Modes & Extensions: LANGUAGES
* CLI Build Reference, Profiles & Linking: CLI-REFERENCE
* Zig Backend: SPECS

Gloria Developer
------------------

* Gloria Language: LANGUAGES
* Build Modes & Extensions: LANGUAGES

Security Auditor
------------------

* Supply Chain Security (SBOM + SAST): SECURITY
* Aegis Security Core: INTERNALS
* Virtual Filesystem Layer (Aegis): INTERNALS

Release Engineer
------------------

* Reproducible Builds, Verify, Bench: PERFORMANCE
* Supply Chain Security: SECURITY

Cross-Compilation / Embedded Engineer
----------------------------------------

* Cross-Compilation Targets: WORKFLOW
* Configuration File Reference: TOML_CONFIG

WebAssembly Developer
------------------------

* WASM & Web Targets: WORKFLOW

Contributor
-------------

* Project Tools (init, contribute, LSP, update): WORKFLOW
* Doctor, Platform Readiness, Testing Standards: INTERNALS
* HADES Engine, Contributing, License: INTERNALS
* Roadmap: ARCHITECTURE


Performance
===========

Measured against `nasm -f elf64 && ld` and `make -j4`, via hyperfine
(warmup 3, >= 10 runs). Test system: Intel Core i5-10310U (4C/8T,
1.7 GHz base), Arch Linux, NVMe SSD.

    modules     fz              make -j4          speedup
    -------     --------------  ----------------  -------
    20          19.3 +- 1.2 ms  45.4  +- 2.3  ms   2.35x
    50          31.1 +- 1.3 ms  85.0  +- 2.1  ms   2.73x
    100         57.0 +- 5.3 ms  185.5 +- 7.7  ms   3.25x
    150         73.1 +- 4.3 ms  229.3 +- 3.6  ms   3.14x
    200         82.2 +- 4.2 ms  291.1 +- 11.2 ms   3.54x
    400         223.1 +- 9.8 ms 1105.0 +- 24.1 ms  4.95x

Stress test, 5000 C files, AMD Ryzen 7 PRO 4750U (16 threads):

    ninja -j16    ~28.9 s
    fz            ~597 ms   (47.3x; 98% utilization across
                              16 threads; ~47 MB resident)

Full benchmark methodology and reproduction steps: PERFORMANCE


Communication and Support
==========================

* Issues: https://github.com/forgezero-cli/ForgeZero/issues
* Source: https://github.com/forgezero-cli/ForgeZero
* Author: alexvoste <https://github.com/alexvoste>
* License: GPLv3 - see LICENSE

About

Hardened cross-platform build toolchain for assembly and C developers. Unified CLI for NASM, GAS, FASM, GCC, Clang, LD, and Zig.

Topics

Resources

License

Contributing

Security policy

Stars

36 stars

Watchers

6 watching

Forks

Packages

 
 
 

Contributors

Languages