Skip to content
rubenvb edited this page Feb 10, 2013 · 7 revisions

The Ambrosia Project#

What is Ambrosia

Ambrosia is the nectar of the gods, said to give eternal life to any mortal who drinks from it. ... No, seriously: Ambrosia is a fresh build system that will blow your mind away (once it's finished...).

Ambrosia is written entirely in C++, and external dependencies have been kept to a minimum (currently: none).

It uses a clean and simple syntax, loosely inspired by Qt's qmake.

Features planned#

Note that some of the below features are either work-in-progress or planned. Ambrosia will support:

  • GNU, LLVM, Microsoft, Intel and other toolchains supported.
  • Cross-compiling by GNU triple and toolchain prefix
  • External dependencies through transparent --with-<dependency>[=<location>].
  • pkg-config support.
  • Parallellized build process.
  • Quick rebuilds.
  • Header dependency tracking for toolchains supporting include file dependency output (GNU, Intel, Microsoft, LLVM all support this).
  • C, C++, Fortran, Java... source support
  • Support for x86, AMD64, ARM, ...

Ambrosia is not finished!#

Feel free to contact me through github if you're interested in helping.

It hopefully never will be finished, but work better than anything you've used before that. For a roadmap of sorts, see Release Goals.

Documentation

Syntax

Invoking Ambrosia

Internals

Building Ambrosia

Clone this wiki locally