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