xref: /aosp_15_r20/external/pigweed/third_party/llvm_libcxx/docs.rst (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1.. _module-pw_third_party_llvm_libcxx:
2
3===========
4LLVM libcxx
5===========
6The ``$dir_pw_third_party/llvm_libcxx/`` module provides various helpers to
7optionally use LLVM libcxx with :ref:`module-pw_libcxx`.
8
9---------------------------
10Using upstream LLVM libcxx
11---------------------------
12If you want to use LLVM libcxx, you must do the following:
13
14Submodule
15=========
16Add LLVM libcxx to your workspace with the following command.
17
18.. code-block:: sh
19
20   git submodule add https://llvm.googlesource.com/llvm-project/libcxx \
21     third_party/llvm_libcxx/src
22
23Note, this git repository is maintained by Google and is a slice of upstream
24LLVM including only the libcxx subdirectory.
25
26GN
27==
28* Set the GN var ``dir_pw_third_party_llvm_libcxx`` to the location of the LLVM
29  libcxx source. If you used the command above, this will be
30  ``//third_party/llvm_libcxx/src``
31
32  This can be set in your args.gn or .gn file like:
33  ``dir_pw_third_party_llvm_libcxx = "//third_party/llvm_libcxx_src"``
34
35------
36Status
37------
38pw_libcxx's llvm_libcxx integration is under active development.
39