xref: /petsc/src/sys/yaml/README.md (revision 97c047f8306e861d004fa98651e63d4b3bca0606)
153efea5cSLisandro DalcinThis directory contains a partial and slightly modified copy of
253efea5cSLisandro Dalcin(LibYAML)[https://pyyaml.org/wiki/LibYAML] sources corresponding to
353efea5cSLisandro Dalcinrelease 0.2.5. A copy of the LibYAML [license](License) is also included.
453efea5cSLisandro Dalcin
5*a95bf149SBarry SmithThe source files are not compiled directly into the PETSc library. Rather they
6*a95bf149SBarry Smithare included in src/sys/objects/optionsyaml.c as static functions so they do not
7*a95bf149SBarry Smithpollute the public symbolic name space.
8*a95bf149SBarry Smith
953efea5cSLisandro DalcinA list of the modifications follow:
1053efea5cSLisandro Dalcin
1153efea5cSLisandro Dalcin* The emitter API and other output-related parts have been removed,
1253efea5cSLisandro Dalcin  as we are only interested in the input-related parts.
1353efea5cSLisandro Dalcin* `yaml_get_version()` and `yaml_get_version_string()` have been
1453efea5cSLisandro Dalcin  removed, as we do not need them.
1553efea5cSLisandro Dalcin* The constant `0` as been replaced by `NULL` in a few places to
1653efea5cSLisandro Dalcin  silence `-Wzero-as-null-pointer-constant` when using C++ compilers.
1753efea5cSLisandro Dalcin* The macro `YAML_DECLARE()` in `yaml.h` has been modified to specify
1853efea5cSLisandro Dalcin  `static` visibility for all LibYAML symbols.
1953efea5cSLisandro Dalcin
2053efea5cSLisandro DalcinThanks to the exceptionally good source code organization in LibYAML,
2153efea5cSLisandro Dalcinthe removals and minor modifications occur in large contiguous blocks
2253efea5cSLisandro Dalcinof code. This will make it quite easy to merge back upstream changes
2353efea5cSLisandro Dalcinto keep this copy properly synchronized and maintained, or even
2453efea5cSLisandro Dalcinincorporate some of the removed features if such need ever arises. We
2553efea5cSLisandro Dalcinrecommend using a merge tool like [`meld`](https://meldmerge.org/) to
2653efea5cSLisandro Dalcinperform these future maintenance updates.
27