# libyaml.ss ## The naming issue In the *1* version, this egg use libyaml as basic C library, hence many relative fields use `libyaml` string. After version *2*, libyaml had been replaced to libfyaml. Here is rules to clarify using `libyaml` or `libfyaml` in source code: - Only top-level module should be named `libyaml`, and only the top-level extension in .egg file should be named `libyaml` - Use `libfyaml` in all other cases ## Overview ```mermaid flowchart yaml/libfyaml[(https://github.com/pantoniou/libfyaml)] --submodule--> git/libfyaml --> git/libfyaml/src/*.c --> libyaml.egg libclang([libclang]) --link--> clang++[/clang++ -lclang/] style libclang stroke-dasharray: 5 5 2src/libfyaml.h.cc --> clang++[/clang++ -lclang/] style clang++ stroke-dasharray: 5 5 clang++[/$ clang++ -lclang/] --generate --> foreign[/$ foreign/] style foreign stroke-dasharray: 5 5 git/libfyaml --> git/libfyaml/include/libfyaml.h -. #include .-o 2src/libfyaml.h --input from command line arg-->foreign subgraph "run at libyaml.ss repo root path" foreign end foreign --generate--> 2src/libfyaml.h.ss 2src/libfyaml.h.ss ==> libyaml.egg style varg.ss stroke-dasharray: 5 5 varg.ss((varg.ss)) -. import .-o src/libfyaml/*.ss ==> libyaml.egg varg.ss -. installed by .-> chicken-install libyaml.egg ==> chicken-install[/chicken-install/] style chicken-install stroke-dasharray: 5 5 ```