Expanded entrypoints.rst with details about definitions, registration rules, and the lifecycle of an entrypoint. Updated multiple documents to remove redundant technical details and link to the centralized entrypoints reference: - libc/docs/dev/cmake_build_rules.rst - libc/docs/dev/implementation_standard.rst - libc/docs/porting.rst - libc/docs/dev/source_tree_layout.rst
29 lines
946 B
ReStructuredText
29 lines
946 B
ReStructuredText
.. _cmake_build_rules:
|
|
|
|
===========================
|
|
The libc CMake build system
|
|
===========================
|
|
|
|
At the cost of verbosity, we want to keep the build system of LLVM libc
|
|
as simple as possible. We also want to be highly modular with our build
|
|
targets. This makes picking and choosing desired pieces a straightforward
|
|
task.
|
|
|
|
Targets for entrypoints
|
|
-----------------------
|
|
|
|
Every entrypoint in LLVM-libc has its own build target, listed using the
|
|
``add_entrypoint_object`` rule. This rule generates a single object file
|
|
containing the implementation.
|
|
|
|
For more technical details on how to register entrypoints, see the
|
|
:ref:`entrypoints` documentation.
|
|
|
|
Targets for entrypoint libraries
|
|
--------------------------------
|
|
|
|
Standards like POSIX require that a libc provide certain library files like
|
|
``libc.a``, ``libm.a``, etc. The targets for such library files are listed in
|
|
the ``lib`` directory as ``add_entrypoint_library`` targets.
|
|
|