// Manifest file for the ciabatta build. // Platform sections describe available platforms and // which files they need to include to function // API sections describe API subsets and their TinyRT // dependencies. If an API requires TinyRT module that // isn't implemented by the platform that API won't be included // in the final build // This file is used to auto-generate ciabatta.c // `include` section specifies the header files that ciabatta // implements // `platform` sections describe platforms, the directories // where the source code for these platforms resides and the // files that should be included in the build for that platform // (relative to "src" dir) as well as the location of TinyRT // implementation. // `api` sections describe modules, where the implementation resides, // the source files and the TinyRT modules, on which this module // depends. If the platform doesn't implement one of the dependencies // this module will not be included in the final build includes: [ "stdlib.h", "stdio.h", "cia-mem.h", ], platforms: [ { name: "linux", path: "linux", includes: [ "syscall.c", "entry.c" ], tinyrt: [ "tinyrt.c" ] }, { name: "windows", path: "windows", includes: [ "windows.c" ], tinyrt: [ "tinyrt.c", "cia-init.c" ], }, ], apis: [ { name: "cia_memory", path: "impl/cia-mem", includes: [ "util.c", "allocator.c", "arena.c", "pool.c", ], reqs: [ "rt_api_memory" ] }, { name: "stdlib_program", path: "impl/stdlib-program", includes: [ "program.c", ], reqs: [ "rt_api_program", "cia_memory", ] }, { name: "stdlib_file", path: "impl/stdlib-file", includes: [ "file.c" ], reqs: [ "rt_api_file", "cia_memory", ] } ]