blob: e2a8f66140f02472d209ac1ac7cb0f0cbe430b1e [file]
.. _module-pw_third_party_llvm_libcxx:
===========
LLVM libcxx
===========
The ``$pw_external_llvm_libcxx/`` module provides various helpers to
optionally use LLVM ``libcxx`` with :ref:`module-pw_libcxx`.
---------------------------
Using upstream LLVM libcxx
---------------------------
If you want to use LLVM ``libcxx``, you must do the following:
Submodule
=========
Add LLVM ``libcxx`` to your workspace with the following command.
.. code-block:: console
$ git submodule add https://llvm.googlesource.com/llvm-project/libcxx \
> third_party/llvm_libcxx/src
Note, this git repository is maintained by Google and is a slice of upstream
LLVM including only the ``libcxx`` subdirectory.
GN
==
* Set the GN var ``dir_pw_third_party_llvm_libcxx`` to the location of the LLVM
``libcxx`` source. If you used the command above, this will be
``//third_party/llvm_libcxx/src``.
This can be set in your ``args.gn`` or ``.gn`` file:
.. code-block:: text
dir_pw_third_party_llvm_libcxx = "//third_party/llvm_libcxx_src"
------
Status
------
The llvm_libcxx integration in ``pw_libcxx`` is under active development.