2.2 KiB
GLOSSARY
Developing the Ledger software uses a number different tools, not all of which will be familiar to all developers.
Boost: a standard set of C++ libraries. Most Boost libraries consist of inline functions and templates in header files.
CMake: A cross platform system for building from source code. It uses the CMakeLists.txt files.
DOxygen: generates programming documentation from source code files. Primarly used on C++ sources, but works on all. Uses the doc/Doxyfile.in file.
GCC: Gnu Compiler Collection, which includes the gcc compiler and gcov coverage/profiler tool.
GMP: Gnu Multiple Precision Arithmetic Library provides arbitrary precision math.
Markdown: A typesetter format that produces html files from *.md files. Note that GitHub automatically renders .md files.
Texinfo: Gnu documentation typesetter that produces html and pdf files from the doc/*.texi files.
Travis CI: a hosted continuous integration service that builds and runs tests each commit posted to GitHub. Each build creates a log, updates a small graphic at the top left of the main project's README.md, and emails the author of the commit if any tests fail.
Orientation
The source tree can be confusing to a new developer. Here is a selective orientation:
./acprep: a custom thousand-line script to install dependencies, grab updates, and build. It also creates *.cmake, ./CmakeFiles/ and other CMake temporary files. Use ./acprep --help for more information.
./README.md: user readme file in markdown format, also used as the project discription on GitHub.
./contrib: contributed scripts of random quality and completion. They usually require editing to run.
./doc: documentation, licenses, and tools for generating documents such as the pdf manual.