Make it possible to exclude device management code from rtc_media target.
Chromium doesn't use the device managment code in webrtc/media
so we need a way to turn it off in order to eliminate Chromium's
src/third_party/libjingle/libjingle.gyp
BUG=webrtc:4256
NOTRY=True
TESTED=Trybots + successfully compiled with
GYP_DEFINES=include_internal_device_management=0 webrtc/build/gyp_webrtc
ninja -C out/Debug rtc_media
Review URL: https://codereview.webrtc.org/1693803002
Cr-Commit-Position: refs/heads/master@{#11816}
diff --git a/webrtc/build/common.gypi b/webrtc/build/common.gypi
index 3459a55..bab0cec 100644
--- a/webrtc/build/common.gypi
+++ b/webrtc/build/common.gypi
@@ -181,6 +181,9 @@
# Exclude internal ADM since Chromium uses its own IO handling.
'include_internal_audio_device%': 0,
+ # Exclude device management code since Chromium has its own.
+ 'include_internal_device_management%': 0,
+
# Remove tests for Chromium to avoid slowing down GYP generation.
'include_tests%': 0,
'restrict_webrtc_logging%': 1,
@@ -193,6 +196,7 @@
'include_pulse_audio%': 1,
'include_internal_audio_device%': 1,
+ 'include_internal_device_management%': 1,
'include_tests%': 1,
'restrict_webrtc_logging%': 0,
}],
diff --git a/webrtc/media/media.gyp b/webrtc/media/media.gyp
index e4960e1..2a52957 100644
--- a/webrtc/media/media.gyp
+++ b/webrtc/media/media.gyp
@@ -77,9 +77,6 @@
'base/yuvframegenerator.cc',
'base/yuvframegenerator.h',
'devices/deviceinfo.h',
- 'devices/devicemanager.cc',
- 'devices/devicemanager.h',
- 'devices/dummydevicemanager.h',
'devices/videorendererfactory.h',
'engine/nullwebrtcvideoengine.h',
'engine/simulcast.cc',
@@ -124,6 +121,17 @@
4389, # signed/unsigned mismatch.
],
'conditions': [
+ ['include_internal_device_management==1', {
+ 'sources': [
+ 'devices/devicemanager.cc',
+ 'devices/devicemanager.h',
+ ],
+ }, {
+ 'sources': [
+ 'devices/dummydevicemanager.cc',
+ 'devices/dummydevicemanager.h',
+ ],
+ }],
['build_libyuv==1', {
'dependencies': ['<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv',],
}],
@@ -158,7 +166,7 @@
'<(webrtc_root)/modules/modules.gyp:video_render_module_internal_impl',
],
}],
- ['OS=="linux"', {
+ ['OS=="linux" and include_internal_device_management==1', {
'sources': [
'devices/libudevsymboltable.cc',
'devices/libudevsymboltable.h',
@@ -168,17 +176,6 @@
'devices/v4llookup.cc',
'devices/v4llookup.h',
],
- 'conditions': [
- ['use_gtk==1', {
- 'sources': [
- 'devices/gtkvideorenderer.cc',
- 'devices/gtkvideorenderer.h',
- ],
- 'cflags': [
- '<!@(pkg-config --cflags gobject-2.0 gthread-2.0 gtk+-2.0)',
- ],
- }],
- ],
'include_dirs': [
'third_party/libudev'
],
@@ -186,13 +183,19 @@
'-lrt',
],
}],
+ ['OS=="linux" and use_gtk==1', {
+ 'sources': [
+ 'devices/gtkvideorenderer.cc',
+ 'devices/gtkvideorenderer.h',
+ ],
+ 'cflags': [
+ '<!@(pkg-config --cflags gobject-2.0 gthread-2.0 gtk+-2.0)',
+ ],
+ }],
['OS=="win"', {
'sources': [
'devices/gdivideorenderer.cc',
'devices/gdivideorenderer.h',
- 'devices/win32deviceinfo.cc',
- 'devices/win32devicemanager.cc',
- 'devices/win32devicemanager.h',
],
'msvs_settings': {
'VCLibrarianTool': {
@@ -200,36 +203,34 @@
'd3d9.lib',
'gdi32.lib',
'strmiids.lib',
+ ],
+ },
+ },
+ }],
+ ['OS=="win" and include_internal_device_management==1', {
+ 'sources': [
+ 'devices/win32deviceinfo.cc',
+ 'devices/win32devicemanager.cc',
+ 'devices/win32devicemanager.h',
+ ],
+ 'msvs_settings': {
+ 'VCLibrarianTool': {
+ 'AdditionalDependencies': [
'winmm.lib',
],
},
},
}],
- ['OS=="mac"', {
+ ['OS=="mac" and include_internal_device_management==1', {
'sources': [
'devices/macdeviceinfo.cc',
'devices/macdevicemanager.cc',
'devices/macdevicemanager.h',
'devices/macdevicemanagermm.mm',
],
- 'conditions': [
- ['target_arch=="ia32"', {
- 'sources': [
- 'devices/carbonvideorenderer.cc',
- 'devices/carbonvideorenderer.h',
- ],
- 'link_settings': {
- 'xcode_settings': {
- 'OTHER_LDFLAGS': [
- '-framework Carbon',
- ],
- },
- },
- }],
- ],
'xcode_settings': {
'WARNING_CFLAGS': [
- # TODO(ronghuawu): Update macdevicemanager.cc to stop using
+ # TODO(perkj): Update macdevicemanager.cc to stop using
# deprecated functions and remove this flag.
'-Wno-deprecated-declarations',
],
@@ -251,7 +252,20 @@
},
},
}],
- ['OS=="ios"', {
+ ['OS=="mac" and target_arch=="ia32"', {
+ 'sources': [
+ 'devices/carbonvideorenderer.cc',
+ 'devices/carbonvideorenderer.h',
+ ],
+ 'link_settings': {
+ 'xcode_settings': {
+ 'OTHER_LDFLAGS': [
+ '-framework Carbon',
+ ],
+ },
+ },
+ }],
+ ['OS=="ios" and include_internal_device_management==1', {
'sources': [
'devices/mobiledevicemanager.cc',
],
@@ -276,7 +290,7 @@
'CARBON_DEPRECATED=YES',
],
}],
- ['OS=="android"', {
+ ['OS=="android" and include_internal_device_management==1', {
'sources': [
'devices/mobiledevicemanager.cc',
],