Add `rtc_enable_symbol_export` to incrementally create a WebRTC component.
In order to implement a WebRTC component in Chromium, WebRTC needs to
export some symbols.
If RTC_EXPORT relies on COMPONENT_BUILD to mark symbols as exported
or imported, it will not be possible to incrementally add RTC_EXPORT
because the Chromium build will break (two Chromium components that
export a symbol or no component that exports it).
By using `rtc_enable_symbol_export` (which makes GN define
WEBRTC_ENABLE_SYMBOL_EXPORT), WebRTC will be able to incrementally mark
symbols with RTC_EXPORT and flip the value of `rtc_enable_symbol_export`
in the Chromium build when everything will be ready.
Bug: webrtc:9419
Change-Id: I57ab63c53545c500eaaefd75c112b4674aa7cf19
Reviewed-on: https://webrtc-review.googlesource.com/c/104980
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25087}
diff --git a/BUILD.gn b/BUILD.gn
index 3be28fe..107cde7 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -97,6 +97,10 @@
cflags = []
ldflags = []
+ if (rtc_enable_symbol_export) {
+ defines = [ "WEBRTC_ENABLE_SYMBOL_EXPORT" ]
+ }
+
if (build_with_mozilla) {
defines += [ "WEBRTC_MOZILLA_BUILD" ]
}