Files
platform-external-webrtc/webrtc/modules/video_render/video_render.gypi
Henrik Kjellander d6d27e7340 Update isolate.gypi to support Swarming + move .isolate files
This updates the isolate.gypi copies we have to maintain in our
code repo to Chromium's revision 310ea93.
The changes about generating .isolated.gen.json files are needed
to support running with Swarming (https://www.chromium.org/developers/testing/isolated-testing)

Since isolated testing is now using a new launch script
in tools: isolate_driver.py, that's added to our links
script.

In order to use isolate_driver.py, the .isolate files must be in the
same directory as the test_name_run target is defined, which meant
I had to move around some of the isolate files and targets below
webrtc/modules.

BUG=497757
R=maruel@chromium.org
TBR=henrik.lundin@webrtc.org, mflodman@webrtc.org, niklas.enbom@webrtc.org
TESTED=Clobbered trybots:
git cl try -c --bot=linux_compile_rel --bot=mac_compile_rel --bot=win_compile_rel --bot=android_compile_rel --bot=ios_rel -m tryserver.webrtc

Review URL: https://codereview.webrtc.org/1373513002 .

Cr-Commit-Position: refs/heads/master@{#10081}
2015-09-25 20:19:21 +00:00

204 lines
6.9 KiB
Python

# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
{
'targets': [
{
# Note this library is missing an implementation for the video render.
# For that targets must link with 'video_render' or
# 'video_render_module_internal_impl' if they want to compile and use
# the internal render as the default renderer.
'target_name': 'video_render_module',
'type': 'static_library',
'dependencies': [
'webrtc_utility',
'<(webrtc_root)/common.gyp:webrtc_common',
'<(webrtc_root)/common_video/common_video.gyp:common_video',
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
],
'sources': [
'external/video_render_external_impl.cc',
'external/video_render_external_impl.h',
'i_video_render.h',
'include/video_render.h',
'include/video_render_defines.h',
'video_render_impl.h',
],
},
{
# Default video_render_module implementation that only supports external
# renders.
'target_name': 'video_render',
'type': 'static_library',
'dependencies': [
'video_render_module',
],
'sources': [
'video_render_impl.cc',
],
},
], # targets
'conditions': [
['build_with_chromium==0', {
'targets': [
{
# video_render_module implementation that supports the internal
# video_render implementation.
'target_name': 'video_render_module_internal_impl',
'type': 'static_library',
'dependencies': [
'<(webrtc_root)/common.gyp:webrtc_common',
'video_render_module',
],
'sources': [
'video_render_internal_impl.cc',
],
# TODO(andrew): with the proper suffix, these files will be excluded
# automatically.
'conditions': [
['OS=="android"', {
'sources': [
'android/video_render_android_impl.h',
'android/video_render_android_native_opengl2.h',
'android/video_render_android_surface_view.h',
'android/video_render_opengles20.h',
'android/video_render_android_impl.cc',
'android/video_render_android_native_opengl2.cc',
'android/video_render_android_surface_view.cc',
'android/video_render_opengles20.cc',
],
'link_settings': {
'libraries': [
'-lGLESv2',
],
},
}],
['OS=="ios"', {
'sources': [
# iOS
'ios/open_gles20.h',
'ios/open_gles20.mm',
'ios/video_render_ios_channel.h',
'ios/video_render_ios_channel.mm',
'ios/video_render_ios_gles20.h',
'ios/video_render_ios_gles20.mm',
'ios/video_render_ios_impl.h',
'ios/video_render_ios_impl.mm',
'ios/video_render_ios_view.h',
'ios/video_render_ios_view.mm',
],
'xcode_settings': {
'CLANG_ENABLE_OBJC_ARC': 'YES',
},
'all_dependent_settings': {
'xcode_settings': {
'OTHER_LDFLAGS': [
'-framework OpenGLES',
'-framework QuartzCore',
'-framework UIKit',
],
},
},
}],
['OS=="linux"', {
'sources': [
'linux/video_render_linux_impl.h',
'linux/video_x11_channel.h',
'linux/video_x11_render.h',
'linux/video_render_linux_impl.cc',
'linux/video_x11_channel.cc',
'linux/video_x11_render.cc',
],
'link_settings': {
'libraries': [
'-lXext',
],
},
}],
['OS=="mac"', {
'sources': [
'mac/cocoa_full_screen_window.h',
'mac/cocoa_render_view.h',
'mac/video_render_agl.h',
'mac/video_render_mac_carbon_impl.h',
'mac/video_render_mac_cocoa_impl.h',
'mac/video_render_nsopengl.h',
'mac/video_render_nsopengl.mm',
'mac/video_render_mac_cocoa_impl.mm',
'mac/video_render_agl.cc',
'mac/video_render_mac_carbon_impl.cc',
'mac/cocoa_render_view.mm',
'mac/cocoa_full_screen_window.mm',
],
}],
['OS=="win"', {
'sources': [
'windows/i_video_render_win.h',
'windows/video_render_direct3d9.h',
'windows/video_render_windows_impl.h',
'windows/video_render_direct3d9.cc',
'windows/video_render_windows_impl.cc',
],
'include_dirs': [
'<(directx_sdk_path)/Include',
],
}],
] # conditions
},
],
}], # build_with_chromium==0
['include_tests==1', {
'targets': [
{
'target_name': 'video_render_tests',
'type': 'executable',
'dependencies': [
'video_render_module_internal_impl',
'webrtc_utility',
'<(webrtc_root)/common.gyp:webrtc_common',
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
'<(webrtc_root)/common_video/common_video.gyp:common_video',
],
'sources': [
'test/testAPI/testAPI.cc',
'test/testAPI/testAPI.h',
'test/testAPI/testAPI_android.cc',
'test/testAPI/testAPI_mac.mm',
],
'conditions': [
['OS=="mac" or OS=="linux"', {
'cflags': [
'-Wno-write-strings',
],
'ldflags': [
'-lpthread -lm',
],
}],
['OS=="linux"', {
'link_settings': {
'libraries': [
'-lX11',
],
},
}],
['OS=="mac"', {
'xcode_settings': {
'OTHER_LDFLAGS': [
'-framework Foundation -framework AppKit -framework Cocoa -framework OpenGL',
],
},
}],
] # conditions
}, # video_render_module_test
], # targets
}], # include_tests==1
], # conditions
}