catala/build_system
Louis Gesbert ff06ddf40c Fixing linking across modules for backends
- This adds a `catala depends` command that recursively tracks module dependency.
It can then be used by Clerk for linking.

- Generation of cmo object files are added for OCaml (we only built native
objects, but jsoo requires bytecode).

- Some fixes to the generation of value embed/deembed shims (related to types
coming from different modules ; add support for options ; etc.)
2024-03-08 17:36:00 +01:00
..
clerk_driver.ml Fixing linking across modules for backends 2024-03-08 17:36:00 +01:00
clerk_driver.mli Reformat 2023-09-27 13:19:04 +02:00
clerk_runtest.ml Clerk: skip unchanged tests when running with '--test-flags' 2024-02-26 14:56:43 +01:00
clerk_runtest.mli Tests: add catala test-scope pseudo-command for inline tests 2024-02-26 14:56:43 +01:00
clerk_scan.ml Document and first test for externals 2023-12-06 11:06:54 +01:00
clerk_scan.mli Document and first test for externals 2023-12-06 11:06:54 +01:00
clerk.ml Big reformatting 2022-03-08 15:03:14 +01:00
dune Install Python and R runtimes 2024-01-16 11:54:28 +01:00
README.md docs(clerk): add documentation about clerk and the Ninja_utils module 2022-02-24 14:05:05 +01:00

Clerk

The build system for Catala built on top of ninja.

Usage

Use clerk --help if you have installed it to get more information about the command line options available. To get the development version of the help, run make help_clerk after make build. The clerk binary corresponds to the Catala build system, responsible for testing among other things.

Under the hood

To perform tests, Clerk will first generate a build.ninja file with required rules and build statements retrieved from the given input path(s), before executing the command ninja test.

The handling of the ninja structure is done with the module Ninja_utils.