blob: f53eb6712ef162a32697efeb37c4ac866761248f [file] [log] [blame]
Jamie Madill1cfaaf82014-08-21 10:04:04 -04001# Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
Corentin Wallezbeb81582015-09-02 10:30:55 -04006 # Everything below this is duplicated in the GN build, except Mac support.
7 # If you change anything also change angle/BUILD.gn
Corentin Wallezfe2f3d62015-05-05 17:37:39 -04008 'variables':
9 {
10 'util_sources':
11 [
12 'com_utils.h',
13 'keyboard.h',
Jamie Madillad60e8e2015-09-22 12:40:31 -040014 'geometry_utils.cpp',
15 'geometry_utils.h',
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040016 'mouse.h',
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040017 'random_utils.cpp',
18 'random_utils.h',
19 'shader_utils.cpp',
20 'shader_utils.h',
Corentin Wallezdb39e7f2015-05-25 09:51:24 -040021 'system_utils.h',
22 'Event.h',
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040023 'EGLWindow.cpp',
24 'EGLWindow.h',
Jamie Madillad60e8e2015-09-22 12:40:31 -040025 'Matrix.cpp',
26 'Matrix.h',
Corentin Wallez52445282015-06-09 09:15:54 +020027 'OSPixmap.h',
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040028 'OSWindow.cpp',
29 'OSWindow.h',
30 'Timer.h',
31 ],
32 'util_win32_sources':
33 [
Austin Kinross9f2fd2b2015-09-02 12:29:07 -070034 'windows/win32/Win32_system_utils.cpp',
35 'windows/win32/Win32Pixmap.cpp',
36 'windows/win32/Win32Pixmap.h',
37 'windows/win32/Win32Window.cpp',
38 'windows/win32/Win32Window.h',
39 'windows/Windows_system_utils.cpp',
40 'windows/WindowsTimer.cpp',
41 'windows/WindowsTimer.h',
42 ],
43 'util_winrt_sources':
44 [
45 'windows/winrt/WinRT_system_utils.cpp',
46 'windows/winrt/WinRTPixmap.cpp',
47 'windows/winrt/WinRTWindow.cpp',
48 'windows/winrt/WinRTWindow.h',
49 'windows/Windows_system_utils.cpp',
50 'windows/WindowsTimer.cpp',
51 'windows/WindowsTimer.h',
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040052 ],
53 'util_linux_sources':
54 [
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040055 'linux/LinuxTimer.cpp',
56 'linux/LinuxTimer.h',
Corentin Wallez5c798fe2015-05-25 10:03:35 -040057 'posix/Posix_system_utils.cpp',
Corentin Wallez51e2ad12015-05-26 11:32:58 -040058 ],
59 'util_x11_sources':
60 [
Corentin Wallez52445282015-06-09 09:15:54 +020061 'x11/X11Pixmap.cpp',
62 'x11/X11Pixmap.h',
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040063 'x11/X11Window.cpp',
64 'x11/X11Window.h',
Corentin Wallez51e2ad12015-05-26 11:32:58 -040065 ],
Frank Henigman538281f2016-04-13 23:36:55 -040066 'util_ozone_sources':
67 [
68 'ozone/OzonePixmap.cpp',
69 'ozone/OzoneWindow.cpp',
70 'ozone/OzoneWindow.h',
71 ],
Corentin Wallez87bef772015-06-19 15:42:09 -070072 'util_osx_sources':
73 [
Corentin Wallez87bef772015-06-19 15:42:09 -070074 'osx/OSXTimer.cpp',
75 'osx/OSXTimer.h',
Corentin Wallez27593e02015-09-15 08:19:09 -070076 'osx/OSXPixmap.mm',
77 'osx/OSXPixmap.h',
Corentin Wallez31658f92015-07-15 12:57:34 -070078 'osx/OSXWindow.mm',
Corentin Wallez87bef772015-06-19 15:42:09 -070079 'osx/OSXWindow.h',
80 'posix/Posix_system_utils.cpp',
81 ],
Yuly Novikova6426d62016-06-03 00:18:38 -040082 'util_android_sources':
83 [
Yuly Novikovca05a082016-08-12 14:46:30 -040084 'android/AndroidPixmap.cpp',
Yuly Novikova6426d62016-06-03 00:18:38 -040085 'android/AndroidWindow.cpp',
86 'android/AndroidWindow.h',
87 'android/third_party/android_native_app_glue.c',
88 'android/third_party/android_native_app_glue.h',
89 ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040090 },
Frank Henigman5b1180d2017-10-10 20:26:52 -040091 'target_defaults':
92 {
93 'dependencies':
94 [
95 '../gyp/warnings.gyp:gyp_deprecation',
96 ],
97 },
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040098 'targets':
Jamie Madill1cfaaf82014-08-21 10:04:04 -040099 [
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400100 {
Jamie Madill80ab03c2017-01-03 11:03:23 -0500101 'target_name': 'angle_util_config',
102 'type': 'none',
103 'direct_dependent_settings':
104 {
105 'include_dirs':
106 [
107 '<(angle_path)/include',
108 '<(angle_path)/util',
109 ],
110 'sources':
111 [
112 '<@(util_sources)',
113 ],
114 'defines':
115 [
116 'GL_GLEXT_PROTOTYPES',
117 'EGL_EGLEXT_PROTOTYPES',
118 'LIBANGLE_UTIL_IMPLEMENTATION',
119 ],
120 'conditions':
121 [
122 ['OS=="win" and angle_build_winrt==0',
123 {
124 'sources':
125 [
126 '<@(util_win32_sources)',
127 ],
128 }],
129 ['OS=="win" and angle_build_winrt==1',
130 {
131 'sources':
132 [
133 '<@(util_winrt_sources)',
134 ],
135 }],
136 ['OS=="linux"',
137 {
138 'sources':
139 [
140 '<@(util_linux_sources)',
141 ],
142 'link_settings':
143 {
144 'libraries':
145 [
146 '-ldl',
147 ],
148 },
149 }],
150 ['use_x11==1',
151 {
152 'sources':
153 [
154 '<@(util_x11_sources)',
155 ],
156 'link_settings':
157 {
158 'ldflags':
159 [
160 '<!@(<(pkg-config) --libs-only-L --libs-only-other x11 xi)',
161 ],
162 'libraries':
163 [
164 '<!@(<(pkg-config) --libs-only-l x11 xi)',
165 ],
166 },
167 }],
168 ['use_ozone==1',
169 {
170 'sources':
171 [
172 '<@(util_ozone_sources)',
173 ],
174 }],
175 ['OS=="mac"',
176 {
177 'sources':
178 [
179 '<@(util_osx_sources)',
180 ],
181 'xcode_settings':
182 {
183 'DYLIB_INSTALL_NAME_BASE': '@rpath',
184 },
185 'link_settings':
186 {
187 'libraries':
188 [
189 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
190 '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
191 ],
192 },
193 }],
194 ],
195 },
196 },
197
198 {
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400199 'target_name': 'angle_util',
Yuly Novikove3352f92016-08-12 20:40:14 -0400200 'type': 'shared_library',
Corentin Wallez7f07caa2016-10-25 07:43:33 -0400201 'includes': [ '../gyp/common_defines.gypi', ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400202 'dependencies':
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400203 [
Jamie Madill80ab03c2017-01-03 11:03:23 -0500204 'angle_util_config',
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400205 '<(angle_path)/src/angle.gyp:angle_common',
206 '<(angle_path)/src/angle.gyp:libEGL',
207 '<(angle_path)/src/angle.gyp:libGLESv2',
208 ],
209 'export_dependent_settings':
210 [
211 '<(angle_path)/src/angle.gyp:angle_common',
212 ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400213 'direct_dependent_settings':
214 {
215 'include_dirs':
216 [
217 '<(angle_path)/include',
218 '<(angle_path)/util',
219 ],
Geoff Langee483762015-09-15 13:12:07 -0400220 'defines':
221 [
222 'GL_GLEXT_PROTOTYPES',
223 'EGL_EGLEXT_PROTOTYPES',
224 ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400225 },
Jamie Madill80ab03c2017-01-03 11:03:23 -0500226 },
227
228 {
229 'target_name': 'angle_util_static',
230 'type': 'static_library',
231 'includes': [ '../gyp/common_defines.gypi', ],
232 'dependencies':
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400233 [
Jamie Madill80ab03c2017-01-03 11:03:23 -0500234 'angle_util_config',
235 '<(angle_path)/src/angle.gyp:angle_common',
236 '<(angle_path)/src/angle.gyp:libEGL_static',
237 '<(angle_path)/src/angle.gyp:libGLESv2_static',
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400238 ],
Jamie Madill80ab03c2017-01-03 11:03:23 -0500239 'export_dependent_settings':
240 [
241 '<(angle_path)/src/angle.gyp:angle_common',
242 ],
243 'direct_dependent_settings':
244 {
245 'include_dirs':
246 [
247 '<(angle_path)/include',
248 '<(angle_path)/util',
249 ],
250 'defines':
251 [
252 'GL_GLEXT_PROTOTYPES',
253 'EGL_EGLEXT_PROTOTYPES',
254 ],
255 },
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400256 },
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400257 ],
258}