blob: 9e850e40b315c5cba887dc5158f9d3d5bc121163 [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 {
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040096 'target_name': 'angle_util',
Yuly Novikove3352f92016-08-12 20:40:14 -040097 'type': 'shared_library',
Corentin Wallez7f07caa2016-10-25 07:43:33 -040098 'includes': [ '../gyp/common_defines.gypi', ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -040099 'dependencies':
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400100 [
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400101 '<(angle_path)/src/angle.gyp:angle_common',
102 '<(angle_path)/src/angle.gyp:libEGL',
103 '<(angle_path)/src/angle.gyp:libGLESv2',
104 ],
105 'export_dependent_settings':
106 [
107 '<(angle_path)/src/angle.gyp:angle_common',
108 ],
109 'include_dirs':
110 [
111 '<(angle_path)/include',
112 '<(angle_path)/util',
113 ],
114 'sources':
115 [
116 '<@(util_sources)',
117 ],
Geoff Langee483762015-09-15 13:12:07 -0400118 'defines':
119 [
120 'GL_GLEXT_PROTOTYPES',
121 'EGL_EGLEXT_PROTOTYPES',
Yuly Novikove3352f92016-08-12 20:40:14 -0400122 'LIBANGLE_UTIL_IMPLEMENTATION',
Geoff Langee483762015-09-15 13:12:07 -0400123 ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400124 'direct_dependent_settings':
125 {
126 'include_dirs':
127 [
128 '<(angle_path)/include',
129 '<(angle_path)/util',
130 ],
Geoff Langee483762015-09-15 13:12:07 -0400131 'defines':
132 [
133 'GL_GLEXT_PROTOTYPES',
134 'EGL_EGLEXT_PROTOTYPES',
135 ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400136 },
137 'conditions':
138 [
Austin Kinross9f2fd2b2015-09-02 12:29:07 -0700139 ['OS=="win" and angle_build_winrt==0',
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400140 {
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400141 'sources':
142 [
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400143 '<@(util_win32_sources)',
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400144 ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400145 }],
Austin Kinross9f2fd2b2015-09-02 12:29:07 -0700146 ['OS=="win" and angle_build_winrt==1',
147 {
148 'sources':
149 [
150 '<@(util_winrt_sources)',
151 ],
152 }],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400153 ['OS=="linux"',
154 {
155 'sources':
156 [
157 '<@(util_linux_sources)',
158 ],
Yuly Novikov87ae8cd2016-05-19 17:59:55 -0400159 'link_settings':
160 {
161 'libraries':
162 [
163 '-ldl',
164 ],
165 },
Corentin Wallez51e2ad12015-05-26 11:32:58 -0400166 }],
167 ['use_x11==1',
168 {
169 'sources':
170 [
171 '<@(util_x11_sources)',
172 ],
Geoff Lang4031b992015-05-29 10:57:55 -0400173 'link_settings':
174 {
175 'ldflags':
176 [
Sam Clegg31aabdf2015-12-16 10:53:46 -0800177 '<!@(<(pkg-config) --libs-only-L --libs-only-other x11 xi)',
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400178 ],
Geoff Lang4031b992015-05-29 10:57:55 -0400179 'libraries':
180 [
Frank Henigman7d52be02016-03-24 14:40:58 -0400181 '<!@(<(pkg-config) --libs-only-l x11 xi)',
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400182 ],
183 },
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400184 }],
Frank Henigman538281f2016-04-13 23:36:55 -0400185 ['use_ozone==1',
186 {
187 'sources':
188 [
189 '<@(util_ozone_sources)',
190 ],
191 }],
Corentin Wallez87bef772015-06-19 15:42:09 -0700192 ['OS=="mac"',
193 {
194 'sources':
195 [
196 '<@(util_osx_sources)',
197 ],
Corentin Wallezadaeb852016-09-14 10:54:24 -0400198 'xcode_settings':
199 {
200 'DYLIB_INSTALL_NAME_BASE': '@rpath',
201 },
Corentin Wallez31658f92015-07-15 12:57:34 -0700202 'link_settings':
203 {
204 'libraries':
205 [
Corentin Wallez2f29d782015-09-14 12:15:53 -0700206 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
207 '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
Corentin Wallez31658f92015-07-15 12:57:34 -0700208 ],
209 },
Corentin Wallez87bef772015-06-19 15:42:09 -0700210 }],
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400211 ],
Corentin Wallezfe2f3d62015-05-05 17:37:39 -0400212 },
Jamie Madill1cfaaf82014-08-21 10:04:04 -0400213 ],
214}