xref: /petsc/src/sys/yaml/README.md (revision 2f613bf53f46f9356e00a2ca2bd69453be72fc31)
1This directory contains a partial and slightly modified copy of
2(LibYAML)[https://pyyaml.org/wiki/LibYAML] sources corresponding to
3release 0.2.5. A copy of the LibYAML [license](License) is also included.
4
5A list of the modifications follow:
6
7* The emitter API and other output-related parts have been removed,
8  as we are only interested in the input-related parts.
9* `yaml_get_version()` and `yaml_get_version_string()` have been
10  removed, as we do not need them.
11* The constant `0` as been replaced by `NULL` in a few places to
12  silence `-Wzero-as-null-pointer-constant` when using C++ compilers.
13* The macro `YAML_DECLARE()` in `yaml.h` has been modified to specify
14  `static` visibility for all LibYAML symbols.
15
16Thanks to the exceptionally good source code organization in LibYAML,
17the removals and minor modifications occur in large contiguous blocks
18of code. This will make it quite easy to merge back upstream changes
19to keep this copy properly synchronized and maintained, or even
20incorporate some of the removed features if such need ever arises. We
21recommend using a merge tool like [`meld`](https://meldmerge.org/) to
22perform these future maintenance updates.
23