Files
sousa-gecko/config/external/abseil-cpp
Ryan VanderMeulen a4fd02222d Bug 2038068 - Expose abseil-cpp as a Library so non-xul Programs can link it. r=firefox-build-system-reviewers,glandium,sergesanspaille
abseil-cpp's gn-derived moz.build subtree previously declared
FINAL_LIBRARY = "xul" on every *_gn target, folding objects directly
into xul. That works for xul-linked code but leaves no .a archive for
non-xul Program() targets to USE_LIBS. Restructure the wiring so absl
becomes its own Library:

- Flip FINAL_LIBRARY to "abseil" in gn-configs/abseil.json (the source
  of truth driving build/gn_processor.py output) and regenerate the
  generated *_gn/moz.build files.
- Add config/external/abseil-cpp/moz.build declaring Library("abseil")
  and DIRS-ing into the existing third_party/abseil-cpp tree, mirroring
  the ICU wrapper pattern.
- Move /third_party/abseil-cpp out of toolkit/toolkit.mozbuild's DIRS
  in favor of the new wrapper, and drop the now-redundant entry from
  the MOZ_WEBRTC_SIGNALING-gated DIRS in dom/media/webrtc/moz.build.
- Add "abseil" to Library("xul")'s USE_LIBS so absl symbols still reach
  xul-real (they no longer fold via FINAL_LIBRARY).

This unblocks future non-xul consumers - notably the
content_analysis_sdk_agent test fixture, which will start needing
absl symbols once newer protobuf releases land on top of this.

Differential Revision: https://phabricator.services.mozilla.com/D299290
2026-05-08 12:43:46 +00:00
..