nixctor: init a buildsystem written in nixlang

This commit is contained in:
Jeremy Baxter 2024-02-13 19:52:24 +13:00
parent a9e40e51dc
commit afa80b0937
5 changed files with 107 additions and 0 deletions

30
nixctor/README.md Normal file
View file

@ -0,0 +1,30 @@
## ctor.nix - C/C++/D buildsystem written in Nixlang
Here is a buildsystem I made that incrementally compiles a program and
then links it together at the end. The file default.nix shows an
example on how to use this code in a real derivation, it's as simple
as just adding your source files into the `sourceFiles` array and
ctor.nix will generate a build phase and an install phase for you. It
just calls `stdenv.mkDerivation` so you'll have to supply the required
arguments to that too.
To test:
nix-build
To use a different compiler or flags, you can use the `compiler` and
`cflags` arguments:
```nix
# Example for a D program
constructProgram {
pname = "hello-world";
version = "1.0.0";
src = fetchFromWhatever {};
compiler = "ldc2";
cflags = "-O -wi";
sourceFiles = [ "main.d" "lib.d" ];
}
```