| # 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': [ |
| { |
| 'target_name': 'video_render_module', |
| 'type': '<(library)', |
| 'dependencies': [ |
| 'webrtc_utility', |
| '<(webrtc_root)/common_video/common_video.gyp:common_video', |
| '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', |
| ], |
| 'include_dirs': [ |
| '.', |
| '../interface', |
| '../../../interface', |
| ], |
| 'direct_dependent_settings': { |
| 'include_dirs': [ |
| '../interface', |
| '../../../interface', |
| ], |
| }, |
| 'sources': [ |
| # interfaces |
| '../interface/video_render.h', |
| '../interface/video_render_defines.h', |
| |
| # headers |
| 'incoming_video_stream.h', |
| 'video_render_frames.h', |
| 'video_render_impl.h', |
| 'i_video_render.h', |
| # Android |
| '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', |
| # Linux |
| 'linux/video_render_linux_impl.h', |
| 'linux/video_x11_channel.h', |
| 'linux/video_x11_render.h', |
| # Mac |
| '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', |
| # Windows |
| 'windows/i_video_render_win.h', |
| 'windows/video_render_direct3d9.h', |
| 'windows/video_render_windows_impl.h', |
| # External |
| 'external/video_render_external_impl.h', |
| |
| # PLATFORM INDEPENDENT SOURCE FILES |
| 'incoming_video_stream.cc', |
| 'video_render_frames.cc', |
| 'video_render_impl.cc', |
| # PLATFORM SPECIFIC SOURCE FILES - Will be filtered below |
| # Android |
| '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', |
| # Linux |
| 'linux/video_render_linux_impl.cc', |
| 'linux/video_x11_channel.cc', |
| 'linux/video_x11_render.cc', |
| # Mac |
| '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', |
| # Windows |
| 'windows/video_render_direct3d9.cc', |
| 'windows/video_render_windows_impl.cc', |
| # External |
| 'external/video_render_external_impl.cc', |
| ], |
| # TODO(andrew): with the proper suffix, these files will be excluded |
| # automatically. |
| 'conditions': [ |
| ['include_internal_video_render==1', { |
| 'defines': [ |
| 'WEBRTC_INCLUDE_INTERNAL_VIDEO_RENDER', |
| ], |
| }], |
| ['OS!="android" or include_internal_video_render==0', { |
| 'sources!': [ |
| # Android |
| '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', |
| ], |
| }], |
| ['OS!="linux" or include_internal_video_render==0', { |
| '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', |
| ], |
| }], |
| ['OS!="mac" or include_internal_video_render==0', { |
| '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=="mac"', { |
| 'direct_dependent_settings': { |
| 'include_dirs': [ |
| 'mac', |
| ], |
| }, |
| }], |
| ['OS!="win" or include_internal_video_render==0', { |
| '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', |
| ], |
| }], |
| ] # conditions |
| }, # video_render_module |
| ], # targets |
| |
| # Exclude the test target when building with chromium. |
| 'conditions': [ |
| ['include_internal_video_render==1', { |
| 'defines': [ |
| 'WEBRTC_INCLUDE_INTERNAL_VIDEO_RENDER', |
| ], |
| }], |
| ['include_tests==1', { |
| 'targets': [ |
| { |
| 'target_name': 'video_render_module_test', |
| 'type': 'executable', |
| 'dependencies': [ |
| 'video_render_module', |
| 'webrtc_utility', |
| '<(webrtc_root)/system_wrappers/source/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"', { |
| 'libraries': [ |
| '-lrt', |
| '-lXext', |
| '-lX11', |
| ], |
| }], |
| ['OS=="mac"', { |
| 'xcode_settings': { |
| 'OTHER_LDFLAGS': [ |
| '-framework Foundation -framework AppKit -framework Cocoa -framework OpenGL', |
| ], |
| }, |
| }], |
| ] # conditions |
| }, # video_render_module_test |
| ], # targets |
| }], # include_tests==0 |
| ], # conditions |
| } |
| |
| # Local Variables: |
| # tab-width:2 |
| # indent-tabs-mode:nil |
| # End: |
| # vim: set expandtab tabstop=2 shiftwidth=2: |