================== The LLVM C Library ================== .. note:: LLVM-libc is not fully complete right now. Some programs may fail to build due to missing functions. If you would like to help us finish LLVM-libc, check out "`Contributing to the libc project `__" in the sidebar or ask on `discord `__ (`invite link `__). Introduction ============ LLVM-libc is an implementation of the C standard library written in C++ focused on embodying three main principles: - Modular - Multiplatform - Community Oriented Our current goal is to support users who want to make libc part of their application. This can be through static linking libc into the application, which is common for containerized servers or embedded devices. It can also be through using the LLVM-libc internal sources as a library, such as through the :ref:`Hand-in-Hand interface`. For more details please watch the talk "`Climbing the ladder of Complete `__ by Michael Jones.". LLVM-libc is currently used in Google servers, Pixel Buds, and other Google projects. Through Project Hand-in-Hand LLVM-libc's code is used in other LLVM projects, specifically libc++ and the offloading runtime. There is an experiemental config to use LLVM-libc in Emscripten and the ARM embedded toolchain. Pieces of LLVM-libc are being used in Bionic (Android's libc) and Fuchsia. .. toctree:: :hidden: :maxdepth: 1 :caption: Status & Support headers/index.rst arch_support platform_support compiler_support .. toctree:: :hidden: :maxdepth: 1 :caption: Simple Usage getting_started .. toctree:: :hidden: :maxdepth: 1 :caption: Advanced Usage full_host_build full_cross_build overlay_mode gpu/index.rst uefi/index.rst configure hand_in_hand .. toctree:: :hidden: :maxdepth: 1 :caption: Development Maintainers build_and_test dev/index.rst porting contributing .. toctree:: :hidden: :maxdepth: 1 :caption: Useful Links talks Source Code Bug Reports Discourse Join the Discord Discord Channel Buildbot