Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / webrtc / modules / video_render / BUILD.gn
1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2 #
3 # Use of this source code is governed by a BSD-style license
4 # that can be found in the LICENSE file in the root of the source
5 # tree. An additional intellectual property rights grant can be found
6 # in the file PATENTS.  All contributing project authors may
7 # be found in the AUTHORS file in the root of the source tree.
8
9 import("../../build/webrtc.gni")
10
11 source_set("video_render") {
12   sources = [
13     "external/video_render_external_impl.cc",
14     "external/video_render_external_impl.h",
15     "i_video_render.h",
16     "include/video_render.h",
17     "include/video_render_defines.h",
18     "incoming_video_stream.cc",
19     "incoming_video_stream.h",
20     "video_render_frames.cc",
21     "video_render_frames.h",
22     "video_render_impl.h",
23   ]
24
25   deps = [
26     "../../common_video",
27     "../../system_wrappers",
28     "../utility",
29   ]
30
31   if (is_clang) {
32     # Suppress warnings from Chrome's Clang plugins.
33     # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
34     configs -= [ "//build/config/clang:find_bad_constructs" ]
35   }
36 }
37
38 source_set("video_render_impl") {
39   sources = [
40     "video_render_impl.cc",
41   ]
42   deps = [
43     ":video_render",
44     "../../system_wrappers",
45   ]
46
47   if (is_clang) {
48     # Suppress warnings from Chrome's Clang plugins.
49     # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
50     configs -= [ "//build/config/clang:find_bad_constructs" ]
51   }
52 }
53
54 config("video_render_internal_impl_config") {
55   if (is_ios) {
56     libs = [
57       "OpenGLES.framework",
58       "QuartzCore.framework",
59     ]
60   }
61 }
62
63 source_set("video_render_internal_impl") {
64   libs = []
65   sources = [
66     "video_render_internal_impl.cc",
67   ]
68   deps = [
69     ":video_render",
70     "../../system_wrappers",
71   ]
72
73   if (is_linux) {
74     sources += [
75       "linux/video_render_linux_impl.cc",
76       "linux/video_render_linux_impl.h",
77       "linux/video_x11_channel.cc",
78       "linux/video_x11_channel.h",
79       "linux/video_x11_render.cc",
80       "linux/video_x11_render.h",
81     ]
82
83     libs += [ "Xext" ]
84   }
85   if (is_mac) {
86     sources += [
87       "mac/cocoa_full_screen_window.h",
88       "mac/cocoa_full_screen_window.mm",
89       "mac/cocoa_render_view.h",
90       "mac/cocoa_render_view.mm",
91       "mac/video_render_agl.cc",
92       "mac/video_render_agl.h",
93       "mac/video_render_mac_carbon_impl.cc",
94       "mac/video_render_mac_carbon_impl.h",
95       "mac/video_render_mac_cocoa_impl.h",
96       "mac/video_render_mac_cocoa_impl.mm",
97       "mac/video_render_nsopengl.h",
98       "mac/video_render_nsopengl.mm",
99     ]
100
101     libs += [
102       "CoreVideo.framework",
103       "QTKit.framework",
104     ]
105   }
106   if (is_win) {
107     sources += [
108       "windows/i_video_render_win.h",
109       "windows/video_render_direct3d9.cc",
110       "windows/video_render_direct3d9.h",
111       "windows/video_render_windows_impl.cc",
112       "windows/video_render_windows_impl.h",
113     ]
114
115     directxsdk_exists =
116       (exec_script("//build/dir_exists.py",
117                    [ rebase_path("//third_party/directxsdk/files",
118                                  root_build_dir) ],
119                    "trim string") == "True")
120     if (directxsdk_exists) {
121       directxsdk_path = "//third_party/directxsdk/files"
122     } else {
123       directxsdk_path = getenv("DXSDK_DIR")
124     }
125     include_dirs = [ directxsdk_path +  "/Include" ]
126   }
127   if (is_android) {
128     sources += [
129       "android/video_render_android_impl.cc",
130       "android/video_render_android_impl.h",
131       "android/video_render_android_native_opengl2.cc",
132       "android/video_render_android_native_opengl2.h",
133       "android/video_render_android_surface_view.cc",
134       "android/video_render_android_surface_view.h",
135       "android/video_render_opengles20.cc",
136       "android/video_render_opengles20.h",
137     ]
138
139     libs += [ "GLESv2" ]
140   }
141   if (is_ios) {
142     sources += [
143       "ios/open_gles20.h",
144       "ios/open_gles20.mm",
145       "ios/video_render_ios_channel.h",
146       "ios/video_render_ios_channel.mm",
147       "ios/video_render_ios_gles20.h",
148       "ios/video_render_ios_gles20.mm",
149       "ios/video_render_ios_impl.h",
150       "ios/video_render_ios_impl.mm",
151       "ios/video_render_ios_view.h",
152       "ios/video_render_ios_view.mm",
153     ]
154
155     cflags += [ "-fobjc-arc" ]  # CLANG_ENABLE_OBJC_ARC = YES.
156   }
157
158   all_dependent_configs = [ ":video_render_internal_impl_config"]
159
160   if (is_clang) {
161     # Suppress warnings from Chrome's Clang plugins.
162     # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
163     configs -= [ "//build/config/clang:find_bad_constructs" ]
164   }
165 }