Installation

Quelltext holen

Der Quelltext liegt auf github.com/heikozim/hilde. Alle folgenden Schritte laufen im geklonten Verzeichnis:

git clone https://github.com/heikozim/hilde.git
cd hilde

Hilde wird aus den Quellen gebaut. Der Compiler ist in OCaml geschrieben. Die Schritte unten sind dieselben, mit denen das Projekt selbst unter Linux, OpenBSD und FreeBSD baut und testet. Die Laufzeit lässt sich auch unter macOS bauen und ausführen.

Linux (Debian 13)

Sie brauchen OCaml 5.5.1 mit den Paketen aus hilde.opam, einen C-Compiler, Python 3 und bash. Für die Standardbibliothek kommen die Entwicklungspakete libssl-dev, libsqlite3-dev, libsqlcipher-dev, libtls-dev und libargon2-dev sowie PCRE2 hinzu.

make
make test
python3 test-programs/runner.py
bash run-examples.sh
./hilde test standard/src lib/builtin

make baut den Compiler ./hilde. make test führt seine Unit-Tests aus, test-programs/runner.py die End-to-End-Tests, run-examples.sh die Beispiele und hilde test die Tests der Standardbibliothek. Mit hilde test --memory laufen die Tests unter AddressSanitizer und UndefinedBehaviorSanitizer, mit --race unter ThreadSanitizer und mit --valgrind unter valgrind.

OpenBSD 8.0

Sie brauchen OCaml 5.5.1 mit den Paketen aus hilde.opam, gmake, Python 3, bash und die Pakete sqlite3, pcre2 und sqlcipher. LibreSSL mit libcrypto und libtls ist Teil des Basissystems. Weil beide Makefiles für GNU make geschrieben sind, verwenden Sie dieselben fünf Befehle mit gmake statt make. Der C-Compiler von OpenBSD baut keine Sanitizer, und valgrind gibt es dort nicht. Deshalb lehnt hilde test unter OpenBSD die Optionen --memory, --race und --valgrind ab (H1021).

FreeBSD 15.1

Sie brauchen die Pakete ocaml-opam, gmake, bash, python3, pcre2, sqlite3, sqlcipher, libargon2 und libretls. Der Paketkatalog enthält nur OCaml 4.14, deshalb baut opam einen Switch mit OCaml 5.5.1 aus den Quellen. Auch hier verwenden Sie gmake und dieselben Befehle. Hilde findet die Bibliotheken unter /usr/local über pkg-config.

Release-Archive

Die Releases liegen auf github.com/heikozim/hilde/releases. Zu jedem Archiv hilde-X.Y.Z.tar.gz gehört die Signatur hilde-X.Y.Z.tar.gz.sig, erstellt mit signify(1). Den öffentlichen Schlüssel hilde-1.0.pub finden Sie im Hauptverzeichnis des Repositorys. So prüfen Sie ein Archiv:

signify -V -p hilde-1.0.pub -m hilde-1.0.1.tar.gz

Wie es weitergeht