blob: 1131da44d3cdb850280dda01f96a6e4e129c085e [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 Wallezdb39e7f2015-05-25 09:51:24 -040055 'linux/Linux_system_utils.cpp',
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040056 'linux/LinuxTimer.cpp',
57 'linux/LinuxTimer.h',
Corentin Wallez5c798fe2015-05-25 10:03:35 -040058 'posix/Posix_system_utils.cpp',
Corentin Wallez51e2ad12015-05-26 11:32:58 -040059 ],
60 'util_x11_sources':
61 [
Corentin Wallez52445282015-06-09 09:15:54 +020062 'x11/X11Pixmap.cpp',
63 'x11/X11Pixmap.h',
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040064 'x11/X11Window.cpp',
65 'x11/X11Window.h',
Corentin Wallez51e2ad12015-05-26 11:32:58 -040066 ],
Frank Henigman538281f2016-04-13 23:36:55 -040067 'util_ozone_sources':
68 [
69 'ozone/OzonePixmap.cpp',
70 'ozone/OzoneWindow.cpp',
71 'ozone/OzoneWindow.h',
72 ],
Corentin Wallez87bef772015-06-19 15:42:09 -070073 'util_osx_sources':
74 [
75 'osx/OSX_system_utils.cpp',
76 'osx/OSXTimer.cpp',
77 'osx/OSXTimer.h',
Corentin Wallez27593e02015-09-15 08:19:09 -070078 'osx/OSXPixmap.mm',
79 'osx/OSXPixmap.h',
Corentin Wallez31658f92015-07-15 12:57:34 -070080 'osx/OSXWindow.mm',
Corentin Wallez87bef772015-06-19 15:42:09 -070081 'osx/OSXWindow.h',
82 'posix/Posix_system_utils.cpp',
83 ],
Yuly Novikova6426d62016-06-03 00:18:38 -040084 'util_android_sources':
85 [
Yuly Novikovca05a082016-08-12 14:46:30 -040086 'android/AndroidPixmap.cpp',
Yuly Novikova6426d62016-06-03 00:18:38 -040087 'android/AndroidWindow.cpp',
88 'android/AndroidWindow.h',
89 'android/third_party/android_native_app_glue.c',
90 'android/third_party/android_native_app_glue.h',
91 ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040092 },
93 'targets':
Jamie Madill1cfaaf82014-08-21 10:04:04 -040094 [
Jamie Madill1cfaaf82014-08-21 10:04:04 -040095 {
Jamie Madill80ab03c2017-01-03 11:03:23 -050096 'target_name': 'angle_util_config',
97 'type': 'none',
98 'direct_dependent_settings':
99 {
100 'include_dirs':
101 [
102 '<(angle_path)/include',
103 '<(angle_path)/util',
104 ],
105 'sources':
106 [
107 '<@(util_sources)',
108 ],
109 'defines':
110 [
111 'GL_GLEXT_PROTOTYPES',
112 'EGL_EGLEXT_PROTOTYPES',
113 'LIBANGLE_UTIL_IMPLEMENTATION',
114 ],
115 'conditions':
116 [
117 ['OS=="win" and angle_build_winrt==0',
118 {
119 'sources':
120 [
121 '<@(util_win32_sources)',
122 ],
123 }],
124 ['OS=="win" and angle_build_winrt==1',
125 {
126 'sources':
127 [
128 '<@(util_winrt_sources)',
129 ],
130 }],
131 ['OS=="linux"',
132 {
133 'sources':
134 [
135 '<@(util_linux_sources)',
136 ],
137 'link_settings':
138 {
139 'libraries':
140 [
141 '-ldl',
142 ],
143 },
144 }],
145 ['use_x11==1',
146 {
147 'sources':
148 [
149 '<@(util_x11_sources)',
150 ],
151 'link_settings':
152 {
153 'ldflags':
154 [
155 '<!@(<(pkg-config) --libs-only-L --libs-only-other x11 xi)',
156 ],
157 'libraries':
158 [
159 '<!@(<(pkg-config) --libs-only-l x11 xi)',
160 ],
161 },
162 }],
163 ['use_ozone==1',
164 {
165 'sources':
166 [
167 '<@(util_ozone_sources)',
168 ],
169 }],
170 ['OS=="mac"',
171 {
172 'sources':
173 [
174 '<@(util_osx_sources)',
175 ],
176 'xcode_settings':
177 {
178 'DYLIB_INSTALL_NAME_BASE': '@rpath',
179 },
180 'link_settings':
181 {
182 'libraries':
183 [
184 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
185 '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
186 ],
187 },
188 }],
189 ],
190 },
191 },
192
193 {
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400194 'target_name': 'angle_util',
Yuly Novikove3352f92016-08-12 20:40:14 -0400195 'type': 'shared_library',
Corentin Wallez7f07caa2016-10-25 07:43:33 -0400196 'includes': [ '../gyp/common_defines.gypi', ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400197 'dependencies':
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400198 [
Jamie Madill80ab03c2017-01-03 11:03:23 -0500199 'angle_util_config',
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400200 '<(angle_path)/src/angle.gyp:angle_common',
201 '<(angle_path)/src/angle.gyp:libEGL',
202 '<(angle_path)/src/angle.gyp:libGLESv2',
203 ],
204 'export_dependent_settings':
205 [
206 '<(angle_path)/src/angle.gyp:angle_common',
207 ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400208 'direct_dependent_settings':
209 {
210 'include_dirs':
211 [
212 '<(angle_path)/include',
213 '<(angle_path)/util',
214 ],
Geoff Langee483762015-09-15 13:12:07 -0400215 'defines':
216 [
217 'GL_GLEXT_PROTOTYPES',
218 'EGL_EGLEXT_PROTOTYPES',
219 ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400220 },
Jamie Madill80ab03c2017-01-03 11:03:23 -0500221 },
222
223 {
224 'target_name': 'angle_util_static',
225 'type': 'static_library',
226 'includes': [ '../gyp/common_defines.gypi', ],
227 'dependencies':
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400228 [
Jamie Madill80ab03c2017-01-03 11:03:23 -0500229 'angle_util_config',
230 '<(angle_path)/src/angle.gyp:angle_common',
231 '<(angle_path)/src/angle.gyp:libEGL_static',
232 '<(angle_path)/src/angle.gyp:libGLESv2_static',
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400233 ],
Jamie Madill80ab03c2017-01-03 11:03:23 -0500234 'export_dependent_settings':
235 [
236 '<(angle_path)/src/angle.gyp:angle_common',
237 ],
238 'direct_dependent_settings':
239 {
240 'include_dirs':
241 [
242 '<(angle_path)/include',
243 '<(angle_path)/util',
244 ],
245 'defines':
246 [
247 'GL_GLEXT_PROTOTYPES',
248 'EGL_EGLEXT_PROTOTYPES',
249 ],
250 },
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400251 },
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400252 ],
253}