mirror of
https://github.com/Nexoniarz/Finch.git
synced 2026-11-03 00:44:27 +00:00
boot/ is src/ now. The C++ compiler and CMake are gone from this branch (they are on before-bootstrap). bootstrap/build.sh builds the compiler from bootstrap/<system>.ll -- the compiler's own LLVM IR -- then builds it with itself and checks the two come out identical. bootstrap/build.sh seed writes the seed anew. The driver is complete: the runtime is compiled once and kept in ~/.cache/finch; a program's own C files, .o and .a files and frameworks link along; a linker failure is read and answered with link "lib" or the library that is missing. The old tests/fail diagnostics are all in again (a missing import, a str compared with null, 'write just the library's name', a map key that is a float, non-ASCII names, ...). tests/run.sh is the one test runner: programs, refusals, -g builds and the shared library. 106 passed.
17 lines
459 B
Nix
17 lines
459 B
Nix
{ pkgs ? import <nixpkgs> {} }:
|
|
|
|
pkgs.mkShell {
|
|
packages = with pkgs; [
|
|
# building Finch (the clang wrapper first, so `clang` finds the system headers)
|
|
llvmPackages.clang
|
|
llvmPackages.libclang # reads C headers for `import "stdio.h"`
|
|
pkg-config # finds the right flags for `link "..."`
|
|
|
|
# for the graphics examples (window, opengl, raylib, vulkan)
|
|
glfw
|
|
libGL
|
|
raylib
|
|
vulkan-headers
|
|
vulkan-loader
|
|
];
|
|
}
|