Make building with X11 libraries optional.
Desktop capturing on Linux will be disabled in this case, but everything
can be built without any X11 development libraries installed.
BUG=webrtc:5716,webrtc:8319
Change-Id: I01bd6a4b02816b407be19476e22ff073d264b496
Reviewed-on: https://webrtc-review.googlesource.com/32360
Reviewed-by: Henrik Andreassson (OOO until Jan 2) <henrika@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Joachim Bauch <jbauch@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21462}
diff --git a/modules/BUILD.gn b/modules/BUILD.gn
index 33394f4..1f93e99 100644
--- a/modules/BUILD.gn
+++ b/modules/BUILD.gn
@@ -17,7 +17,6 @@
"audio_processing",
"bitrate_controller",
"congestion_controller",
- "desktop_capture",
"media_file",
"pacing",
"remote_bitrate_estimator",
@@ -26,6 +25,10 @@
"video_coding",
"video_processing",
]
+
+ if (rtc_desktop_capture_supported) {
+ deps += [ "desktop_capture" ]
+ }
}
rtc_source_set("module_api_public") {
@@ -83,13 +86,16 @@
"../test:test_main",
"../test:video_test_common",
"audio_coding:audio_coding_modules_tests",
- "desktop_capture:desktop_capture_modules_tests",
"rtp_rtcp:rtp_rtcp_modules_tests",
"video_coding:video_coding_modules_tests",
"//testing/gmock",
"//testing/gtest",
]
+ if (rtc_desktop_capture_supported) {
+ deps += [ "desktop_capture:desktop_capture_modules_tests" ]
+ }
+
data = modules_tests_resources
if (is_android) {
@@ -253,7 +259,6 @@
"audio_processing:audio_processing_unittests",
"bitrate_controller:bitrate_controller_unittests",
"congestion_controller:congestion_controller_unittests",
- "desktop_capture:desktop_capture_unittests",
"media_file:media_file_unittests",
"pacing:pacing_unittests",
"remote_bitrate_estimator:remote_bitrate_estimator_unittests",
@@ -264,6 +269,10 @@
"video_processing:video_processing_unittests",
]
+ if (rtc_desktop_capture_supported) {
+ deps += [ "desktop_capture:desktop_capture_unittests" ]
+ }
+
data = modules_unittests_resources
if (is_android) {
diff --git a/modules/audio_device/BUILD.gn b/modules/audio_device/BUILD.gn
index ef48180..46cac11 100644
--- a/modules/audio_device/BUILD.gn
+++ b/modules/audio_device/BUILD.gn
@@ -195,8 +195,9 @@
]
defines += [ "LINUX_ALSA" ]
libs = [ "dl" ]
- if (use_x11) {
+ if (rtc_use_x11) {
libs += [ "X11" ]
+ defines += [ "WEBRTC_USE_X11" ]
}
if (rtc_include_pulse_audio) {
sources += [
diff --git a/modules/audio_device/linux/audio_device_alsa_linux.cc b/modules/audio_device/linux/audio_device_alsa_linux.cc
index 68d3311..afa54b7 100644
--- a/modules/audio_device/linux/audio_device_alsa_linux.cc
+++ b/modules/audio_device/linux/audio_device_alsa_linux.cc
@@ -149,7 +149,7 @@
if (_initialized) {
return InitStatus::OK;
}
-#if defined(USE_X11)
+#if defined(WEBRTC_USE_X11)
// Get X display handle for typing detection
_XDisplay = XOpenDisplay(NULL);
if (!_XDisplay) {
@@ -193,7 +193,7 @@
_critSect.Enter();
}
-#if defined(USE_X11)
+#if defined(WEBRTC_USE_X11)
if (_XDisplay) {
XCloseDisplay(_XDisplay);
_XDisplay = NULL;
@@ -1624,7 +1624,7 @@
}
bool AudioDeviceLinuxALSA::KeyPressed() const {
-#if defined(USE_X11)
+#if defined(WEBRTC_USE_X11)
char szKey[32];
unsigned int i = 0;
char state = 0;
diff --git a/modules/audio_device/linux/audio_device_alsa_linux.h b/modules/audio_device/linux/audio_device_alsa_linux.h
index 602da01..60e5743 100644
--- a/modules/audio_device/linux/audio_device_alsa_linux.h
+++ b/modules/audio_device/linux/audio_device_alsa_linux.h
@@ -18,7 +18,7 @@
#include "rtc_base/criticalsection.h"
#include "rtc_base/platform_thread.h"
-#if defined(USE_X11)
+#if defined(WEBRTC_USE_X11)
#include <X11/Xlib.h>
#endif
#include <alsa/asoundlib.h>
@@ -192,7 +192,7 @@
snd_pcm_sframes_t _playoutDelay;
char _oldKeyState[32];
-#if defined(USE_X11)
+#if defined(WEBRTC_USE_X11)
Display* _XDisplay;
#endif
};
diff --git a/modules/desktop_capture/BUILD.gn b/modules/desktop_capture/BUILD.gn
index 8e8d92d..fa414b7 100644
--- a/modules/desktop_capture/BUILD.gn
+++ b/modules/desktop_capture/BUILD.gn
@@ -296,7 +296,7 @@
"window_finder_win.h",
]
- if (use_x11) {
+ if (rtc_use_x11) {
sources += [
"mouse_cursor_monitor_x11.cc",
"screen_capturer_x11.cc",
@@ -317,7 +317,7 @@
configs += [ "//build/config/linux:x11" ]
}
- if (!is_win && !is_mac && !use_x11) {
+ if (!is_win && !is_mac && !rtc_use_x11) {
sources += [
"mouse_cursor_monitor_null.cc",
"screen_capturer_null.cc",