1.. _module-pw_third_party_abseil_cpp: 2 3========== 4Abseil C++ 5========== 6The ``$dir_pw_third_party/abseil-cpp/`` module provides build files to allow 7optionally including upstream Abseil C++. 8 9.. _module-pw_third_party_abseil_cpp-using_upstream: 10 11------------------------- 12Using upstream Abseil C++ 13------------------------- 14If you want to use Abseil C++, you must do the following: 15 16Submodule 17========= 18Add Abseil C++ to your workspace with the following command. 19 20.. code-block:: sh 21 22 git submodule add https://github.com/abseil/abseil-cpp.git \ 23 third_party/abseil-cpp/src 24 25GN 26== 27* Set the GN var ``dir_pw_third_party_abseil-cpp`` to the location of the 28 Abseil C++ source. 29 30 If you used the command above, this will be 31 ``//third_party/abseil-cpp/src`` 32 33 This can be set in your args.gn or .gn file like: 34 ``dir_pw_third_party_abseil_cpp = "//third_party/abseil-cpp/src"`` 35 36Updating 37======== 38The GN build files are generated from the third-party Bazel build files using 39$dir_pw_build/py/pw_build/generate_3p_gn.py. 40 41The script uses data taken from ``$dir_pw_third_party/abseil-cpp/repo.json``. 42 43The script should be re-run whenever the submodule is updated or the JSON file 44is modified. Specify the location of the Bazel repository can be specified using 45the ``-w`` option, e.g. 46 47.. code-block:: sh 48 49 python pw_build/py/pw_build/generate_3p_gn.py \ 50 -w third_party/abseil-cpp/src 51 52Version 53======= 54The update script was last run for revision `67f9650`_. 55 56.. _67f9650: https://github.com/abseil/abseil-cpp/tree/67f9650c93a4fa04728a5b754ae8297d2c55d898 57.. DO NOT EDIT BELOW THIS LINE. Generated section. 58 59Version 60======= 61The update script was last run for revision `3ab97e72`_. 62 63.. _3ab97e72: https://github.com/abseil/abseil-cpp/tree/3ab97e7212bff931a201c794fa1331960158bbfa 64