Move action_runner.py out of actions folder prior to moving actions to internal.
[chromium-blink-merge.git] / ppapi / native_client / native_client.gyp
blob41b74f796d46b7bfadeaab1e35af36cdcd9217c7
1 # Copyright (c) 2012 The Chromium 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.
6   'includes': [
7     '../../build/common_untrusted.gypi',
8   ],
9   'conditions': [
10     ['disable_nacl==0 and disable_nacl_untrusted==0', {
11       'targets': [
12         {
13           'target_name': 'ppapi_lib',
14           'type': 'none',
15           'dependencies': [
16              '../../native_client/src/untrusted/pthread/pthread.gyp:pthread_lib',
17              'src/untrusted/irt_stub/irt_stub.gyp:ppapi_stub_lib',
18           ],
19           'include_dirs': [
20             '..',
21           ],
22           'copies': [
23             {
24               'destination': '>(tc_include_dir_newlib)/nacl',
25               'files': [
26                 'src/shared/ppapi_proxy/ppruntime.h',
27               ],
28             },
30             {
31               'destination': '>(tc_lib_dir_pnacl_newlib)',
32               'files': [
33                 'src/untrusted/irt_stub/libppapi.a',
34               ],
35             },
36           ],
37           'conditions': [
38             ['target_arch=="ia32" or target_arch=="x64"', {
39               'copies': [
40                 {
41                   'destination': '>(tc_include_dir_glibc)/include/nacl',
42                   'files': [
43                     'src/shared/ppapi_proxy/ppruntime.h',
44                   ],
45                 },
46               ],
47             }],
48             ['target_arch=="ia32"', {
49               'copies': [
50                 # Here we copy linker scripts out of the Native Client repo..
51                 # These are source, not build artifacts.
52                 {
53                   'destination': '>(tc_lib_dir_newlib32)',
54                   'files': [
55                     'src/untrusted/irt_stub/libppapi.a',
56                   ],
57                 },
58                 {
59                   'destination': '>(tc_lib_dir_glibc32)',
60                   'files': [
61                     'src/untrusted/irt_stub/libppapi.a',
62                     'src/untrusted/irt_stub/libppapi.so',
63                   ],
64                 },
65               ],
66             }],
67             ['target_arch=="x64" or (target_arch=="ia32" and OS=="win")', {
68               'copies': [
69                 {
70                   'destination': '>(tc_lib_dir_newlib64)',
71                   'files': [
72                     'src/untrusted/irt_stub/libppapi.a',
73                   ],
74                 },
75                 {
76                   'destination': '>(tc_lib_dir_glibc64)',
77                   'files': [
78                     'src/untrusted/irt_stub/libppapi.a',
79                     'src/untrusted/irt_stub/libppapi.so',
80                   ],
81                 },
82               ]
83             }],
84             ['target_arch=="arm"', {
85               'copies': [
86                 {
87                   'destination': '>(tc_lib_dir_newlib_arm)',
88                   'files': [
89                     'src/untrusted/irt_stub/libppapi.a',
90                   ],
91                 },
92               ]
93             }],
94             ['target_arch=="mipsel"', {
95               'copies': [
96                 {
97                   'destination': '>(tc_lib_dir_newlib_mips)',
98                   'files': [
99                     'src/untrusted/irt_stub/libppapi.a',
100                   ],
101                 },
102               ]
103             }]
104           ],
105         },
106         {
107           'target_name': 'nacl_irt',
108           'type': 'none',
109           'variables': {
110             'nexe_target': 'nacl_irt',
111             # These out_* fields override the default filenames, which
112             # include a "_newlib" suffix and places them in the target
113             # directory.
114             'out_newlib64': '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
115             'out_newlib32': '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
116             'out_newlib_arm': '<(PRODUCT_DIR)/nacl_irt_arm.nexe',
117             'out_newlib_mips': '<(PRODUCT_DIR)/nacl_irt_mips32.nexe',
118             'build_glibc': 0,
119             'build_newlib': 0,
120             'build_irt': 1,
121             'include_dirs': [
122               '..',
123             ],
124             'link_flags': [
125               '-Wl,--start-group',
126               '-lirt_browser',
127               '-llatency_info_nacl',
128               '-lpnacl_irt_shim_for_irt',
129               '-lppapi_proxy_nacl',
130               '-lmojo_irt',
131               '-lppapi_ipc_nacl',
132               '-lppapi_shared_nacl',
133               '-lgles2_implementation_nacl',
134               '-lgles2_cmd_helper_nacl',
135               '-lgles2_utils_nacl',
136               '-lcommand_buffer_client_nacl',
137               '-lcommand_buffer_common_nacl',
138               '-ltracing_nacl',
139               '-lgpu_ipc_nacl',
140               '-lipc_nacl',
141               '-lbase_nacl',
142               '-lshared_memory_support_nacl',
143               '-lsrpc',
144               '-limc_syscalls',
145               '-lplatform',
146               '-lgio',
147               '-Wl,--end-group',
148               '-lm',
149             ],
150             'extra_args': [
151               '--strip-all',
152             ],
153             'conditions': [
154               # untrusted.gypi and build_nexe.py currently build
155               # both x86-32 and x86-64 whenever target_arch is some
156               # flavor of x86.  However, on non-windows platforms
157               # we only need one architecture.
158               ['OS!="win" and target_arch=="ia32"',
159                 {
160                   'enable_x86_64': 0
161                 }
162               ],
163               ['target_arch=="x64"',
164                 {
165                   'enable_x86_32': 0
166                 }
167               ],
168               ['target_arch=="ia32" or target_arch=="x64"', {
169                 'extra_deps_newlib64': [
170                   '>(tc_lib_dir_irt64)/libppapi_proxy_nacl.a',
171                   '>(tc_lib_dir_irt64)/libmojo_irt.a',
172                   '>(tc_lib_dir_irt64)/libppapi_ipc_nacl.a',
173                   '>(tc_lib_dir_irt64)/libppapi_shared_nacl.a',
174                   '>(tc_lib_dir_irt64)/libgles2_implementation_nacl.a',
175                   '>(tc_lib_dir_irt64)/libcommand_buffer_client_nacl.a',
176                   '>(tc_lib_dir_irt64)/libcommand_buffer_common_nacl.a',
177                   '>(tc_lib_dir_irt64)/libgpu_ipc_nacl.a',
178                   '>(tc_lib_dir_irt64)/libtracing_nacl.a',
179                   '>(tc_lib_dir_irt64)/libgles2_cmd_helper_nacl.a',
180                   '>(tc_lib_dir_irt64)/libgles2_utils_nacl.a',
181                   '>(tc_lib_dir_irt64)/libipc_nacl.a',
182                   '>(tc_lib_dir_irt64)/libbase_nacl.a',
183                   '>(tc_lib_dir_irt64)/libirt_browser.a',
184                   '>(tc_lib_dir_irt64)/libpnacl_irt_shim_for_irt.a',
185                   '>(tc_lib_dir_irt64)/libshared_memory_support_nacl.a',
186                   '>(tc_lib_dir_irt64)/libsrpc.a',
187                   '>(tc_lib_dir_irt64)/libplatform.a',
188                   '>(tc_lib_dir_irt64)/libimc_syscalls.a',
189                   '>(tc_lib_dir_irt64)/libgio.a',
190                 ],
191                 'extra_deps_newlib32': [
192                   '>(tc_lib_dir_irt32)/libppapi_proxy_nacl.a',
193                   '>(tc_lib_dir_irt32)/libmojo_irt.a',
194                   '>(tc_lib_dir_irt32)/libppapi_ipc_nacl.a',
195                   '>(tc_lib_dir_irt32)/libppapi_shared_nacl.a',
196                   '>(tc_lib_dir_irt32)/libgles2_implementation_nacl.a',
197                   '>(tc_lib_dir_irt32)/libcommand_buffer_client_nacl.a',
198                   '>(tc_lib_dir_irt32)/libcommand_buffer_common_nacl.a',
199                   '>(tc_lib_dir_irt32)/libgpu_ipc_nacl.a',
200                   '>(tc_lib_dir_irt32)/libtracing_nacl.a',
201                   '>(tc_lib_dir_irt32)/libgles2_cmd_helper_nacl.a',
202                   '>(tc_lib_dir_irt32)/libgles2_utils_nacl.a',
203                   '>(tc_lib_dir_irt32)/libipc_nacl.a',
204                   '>(tc_lib_dir_irt32)/libbase_nacl.a',
205                   '>(tc_lib_dir_irt32)/libirt_browser.a',
206                   '>(tc_lib_dir_irt32)/libpnacl_irt_shim_for_irt.a',
207                   '>(tc_lib_dir_irt32)/libshared_memory_support_nacl.a',
208                   '>(tc_lib_dir_irt32)/libsrpc.a',
209                   '>(tc_lib_dir_irt32)/libplatform.a',
210                   '>(tc_lib_dir_irt32)/libimc_syscalls.a',
211                   '>(tc_lib_dir_irt32)/libgio.a',
212                 ],
213               }],
214               ['target_arch=="arm"', {
215                 'extra_deps_arm': [
216                   '>(tc_lib_dir_irt_arm)/libppapi_proxy_nacl.a',
217                   '>(tc_lib_dir_irt_arm)/libmojo_irt.a',
218                   '>(tc_lib_dir_irt_arm)/libppapi_ipc_nacl.a',
219                   '>(tc_lib_dir_irt_arm)/libppapi_shared_nacl.a',
220                   '>(tc_lib_dir_irt_arm)/libgles2_implementation_nacl.a',
221                   '>(tc_lib_dir_irt_arm)/libcommand_buffer_client_nacl.a',
222                   '>(tc_lib_dir_irt_arm)/libcommand_buffer_common_nacl.a',
223                   '>(tc_lib_dir_irt_arm)/libgpu_ipc_nacl.a',
224                   '>(tc_lib_dir_irt_arm)/libtracing_nacl.a',
225                   '>(tc_lib_dir_irt_arm)/libgles2_cmd_helper_nacl.a',
226                   '>(tc_lib_dir_irt_arm)/libgles2_utils_nacl.a',
227                   '>(tc_lib_dir_irt_arm)/libipc_nacl.a',
228                   '>(tc_lib_dir_irt_arm)/libbase_nacl.a',
229                   '>(tc_lib_dir_irt_arm)/libirt_browser.a',
230                   '>(tc_lib_dir_irt_arm)/libpnacl_irt_shim_for_irt.a',
231                   '>(tc_lib_dir_irt_arm)/libshared_memory_support_nacl.a',
232                   '>(tc_lib_dir_irt_arm)/libsrpc.a',
233                   '>(tc_lib_dir_irt_arm)/libplatform.a',
234                   '>(tc_lib_dir_irt_arm)/libimc_syscalls.a',
235                   '>(tc_lib_dir_irt_arm)/libgio.a',
236                 ],
237               }],
238               ['target_arch=="mipsel"', {
239                 'extra_deps_mips': [
240                   '>(tc_lib_dir_irt_mips)/libppapi_proxy_nacl.a',
241                   '>(tc_lib_dir_irt_mips)/libmojo_irt.a',
242                   '>(tc_lib_dir_irt_mips)/libppapi_ipc_nacl.a',
243                   '>(tc_lib_dir_irt_mips)/libppapi_shared_nacl.a',
244                   '>(tc_lib_dir_irt_mips)/libgles2_implementation_nacl.a',
245                   '>(tc_lib_dir_irt_mips)/libcommand_buffer_client_nacl.a',
246                   '>(tc_lib_dir_irt_mips)/libcommand_buffer_common_nacl.a',
247                   '>(tc_lib_dir_irt_mips)/libgpu_ipc_nacl.a',
248                   '>(tc_lib_dir_irt_mips)/libtracing_nacl.a',
249                   '>(tc_lib_dir_irt_mips)/libgles2_cmd_helper_nacl.a',
250                   '>(tc_lib_dir_irt_mips)/libgles2_utils_nacl.a',
251                   '>(tc_lib_dir_irt_mips)/libipc_nacl.a',
252                   '>(tc_lib_dir_irt_mips)/libbase_nacl.a',
253                   '>(tc_lib_dir_irt_mips)/libirt_browser.a',
254                   '>(tc_lib_dir_irt_mips)/libpnacl_irt_shim_for_irt.a',
255                   '>(tc_lib_dir_irt_mips)/libshared_memory_support_nacl.a',
256                   '>(tc_lib_dir_irt_mips)/libsrpc.a',
257                   '>(tc_lib_dir_irt_mips)/libplatform.a',
258                   '>(tc_lib_dir_irt_mips)/libimc_syscalls.a',
259                   '>(tc_lib_dir_irt_mips)/libgio.a',
260                 ],
261               }],
262             ],
263           },
264           'dependencies': [
265             'src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:irt',
266             '../ppapi_proxy_nacl.gyp:ppapi_proxy_nacl',
267             '../ppapi_ipc_nacl.gyp:ppapi_ipc_nacl',
268             '../ppapi_shared_nacl.gyp:ppapi_shared_nacl',
269             '../../gpu/command_buffer/command_buffer_nacl.gyp:gles2_utils_nacl',
270             '../../gpu/gpu_nacl.gyp:command_buffer_client_nacl',
271             '../../gpu/gpu_nacl.gyp:command_buffer_common_nacl',
272             '../../gpu/gpu_nacl.gyp:gles2_implementation_nacl',
273             '../../gpu/gpu_nacl.gyp:gles2_cmd_helper_nacl',
274             '../../gpu/gpu_nacl.gyp:gpu_ipc_nacl',
275             '../../components/tracing_nacl.gyp:tracing_nacl',
276             '../../ipc/ipc_nacl.gyp:ipc_nacl',
277             '../../base/base_nacl.gyp:base_nacl',
278             '../../media/media_nacl.gyp:shared_memory_support_nacl',
279             '../../mojo/mojo_nacl_untrusted.gyp:libmojo_irt',
280             '../../native_client/src/untrusted/irt/irt.gyp:irt_browser_lib',
281             '../../native_client/src/shared/srpc/srpc.gyp:srpc_lib',
282             '../../native_client/src/shared/platform/platform.gyp:platform_lib',
283             '../../native_client/src/tools/tls_edit/tls_edit.gyp:tls_edit#host',
284             '../../native_client/src/untrusted/nacl/nacl.gyp:imc_syscalls_lib',
285             '../../native_client/src/shared/gio/gio.gyp:gio_lib',
286           ],
287         },
288       ],
289     }],
290   ],