llvm-project/libc/docs/dev/cmake_build_rules.rst
Jeff Bailey f0b58c16e1
[libc][docs][NFC] Expand entrypoints technical reference (#4) (#188255)
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
2026-03-25 07:05:52 +00:00

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.