This CL performs the following renames of targets to make GYP and GN more unified and make the targets that have the same name as the module and include the external render/capture implementation (the internal one is only used by WebRTC tests). This makes it natural to declare dependencies in GN without having to specify the target. Summary of the renames: GYP: video_render_module_impl -> video_render (new target) video_capture_module_impl -> video_capture (new target) GN: video_capture -> video_capture_module (now identical to the GYP target) video_capture_impl -> video_capture video_render -> video_render_module (now identical to the GYP target) video_render_impl -> video_render BUG=456815 R=andresp@webrtc.org Review URL: https://webrtc-codereview.appspot.com/35099004 Cr-Commit-Position: refs/heads/master@{#8323} git-svn-id: http://webrtc.googlecode.com/svn/trunk@8323 4adac7df-926f-26a2-2b94-8c16560cd09d
234 lines
7.7 KiB
Python
234 lines
7.7 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_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',
|
|
'incoming_video_stream.cc',
|
|
'incoming_video_stream.h',
|
|
'video_render_frames.cc',
|
|
'video_render_frames.h',
|
|
'video_render_impl.h',
|
|
],
|
|
},
|
|
{
|
|
# TODO(kjellander): Remove this target as soon the
|
|
# video_render_module_impl -> video_render rename has been rolled into
|
|
# Chromium and src/third_party/libjingle/libjingle.gyp has been updated.
|
|
'target_name': 'video_render_module_impl',
|
|
'type': 'none',
|
|
'dependencies': [
|
|
'video_render',
|
|
],
|
|
},
|
|
{
|
|
# 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': [
|
|
'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)/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
|
|
'conditions': [
|
|
['test_isolation_mode != "noop"', {
|
|
'targets': [
|
|
{
|
|
'target_name': 'video_render_tests_run',
|
|
'type': 'none',
|
|
'dependencies': [
|
|
'video_render_tests',
|
|
],
|
|
'includes': [
|
|
'../../build/isolate.gypi',
|
|
],
|
|
'sources': [
|
|
'video_render_tests.isolate',
|
|
],
|
|
},
|
|
],
|
|
}],
|
|
],
|
|
}], # include_tests==1
|
|
], # conditions
|
|
}
|
|
|