This repository contains the Agnostic compiler, standard library and tools.
cmake -S . -B build
cmake --build build -j$(nproc)Requires LLVM (found via find_package(LLVM CONFIG REQUIRED)). The
windows target also needs clang, llvm-lib, and llvm-dlltool at build
time and lld-link when linking. The resulting agnostic binary supports
--backend=llvm|gcc, --mem=arc|manual|orc, and --target-os=.
Examples can be found in the examples/* directory.
The original authors are Zennix and Noxzion
The compiler (src/, include/, old/, build/packaging scripts) is licensed under
GPL-3.0-or-later, because the gcc backend links against libgccjit
(GPLv3). The standard library, examples, and test fixtures (stdlib/, examples/,
scripts/testdata/) are licensed under Apache-2.0 — programs you compile
with Agnostic are not affected by the compiler's license. See each file's SPDX-License-Identifier
header for which license applies to it.