Skip to content

Commit

Permalink
doc: better chameleon notes
Browse files Browse the repository at this point in the history
  • Loading branch information
c-dilks committed Jul 23, 2024
1 parent 3be1119 commit 41d46af
Showing 1 changed file with 20 additions and 6 deletions.
26 changes: 20 additions & 6 deletions src/chameleon/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,26 @@
# Chameleon

Given a `yaml` action function specification, `chameleon` generates:
- language bindings
- action function tests, for all languages
Chameleon is a code generator. Given a `yaml` action function specification,
a file named `Action.yaml` in an algorithm's source code directory, Chameleon
generates:

`chameleon` is run automatically by `meson` at build-time; all generated
code is produced in the build tree. If you want to test `chameleon`, you
may also run it locally:
| Language | Bindings | Tests |
| --- | --- | --- |
| Fortran | :heavy_check_mark: | :heavy_multiplication_x: |
| Java | :heavy_multiplication_x: | :heavy_multiplication_x: |
| Python | :heavy_multiplication_x: | :heavy_multiplication_x: |

where
- :heavy_check_mark: means fully supported (as long as the algorithm has an `Action.yaml` file)
- :heavy_multiplication_x: means this is not _yet_ supported

The main script is [`chameleon`](chameleon). For usage, run
```bash
chameleon --help
```
There is no need to run `chameleon` yourself unless you are developing or debugging it.
`chameleon` is run automatically by `meson` at build time and all generated
code is produced in the build tree at
```
src/iguana/algorithms/chameleon_*
```

0 comments on commit 41d46af

Please sign in to comment.