- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / native_client / native_client.gyp
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.
4
5 {
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/trusted/weak_ref/call_on_main_thread.h',
27                 'src/shared/ppapi_proxy/ppruntime.h',
28               ],
29             },
30
31             {
32               'destination': '>(tc_lib_dir_pnacl_newlib)',
33               'files': [
34                 'src/untrusted/irt_stub/libppapi.a',
35               ],
36             },
37           ],
38           'conditions': [
39             ['target_arch!="arm"', {
40               'copies': [
41                 {
42                   'destination': '>(tc_include_dir_glibc)/include/nacl',
43                   'files': [
44                     'src/trusted/weak_ref/call_on_main_thread.h',
45                     'src/shared/ppapi_proxy/ppruntime.h',
46                   ],
47                 },
48                 # Here we copy linker scripts out of the Native Client repo..
49                 # These are source, not build artifacts.
50                 {
51                   'destination': '>(tc_lib_dir_newlib32)',
52                   'files': [
53                     'src/untrusted/irt_stub/libppapi.a',
54                   ],
55                 },
56                 {
57                   'destination': '>(tc_lib_dir_newlib64)',
58                   'files': [
59                     'src/untrusted/irt_stub/libppapi.a',
60                   ],
61                 },
62                 {
63                   'destination': '>(tc_lib_dir_glibc32)',
64                   'files': [
65                     'src/untrusted/irt_stub/libppapi.a',
66                     'src/untrusted/irt_stub/libppapi.so',
67                   ],
68                 },
69                 {
70                   'destination': '>(tc_lib_dir_glibc64)',
71                   'files': [
72                     'src/untrusted/irt_stub/libppapi.a',
73                     'src/untrusted/irt_stub/libppapi.so',
74                   ],
75                 },
76               ]
77             }],
78             ['target_arch=="arm"', {
79               'copies': [
80                 {
81                   'destination': '>(tc_lib_dir_newlib_arm)',
82                   'files': [
83                     'src/untrusted/irt_stub/libppapi.a',
84                   ],
85                 },
86               ]
87             }]
88           ],
89         },
90         {
91           'target_name': 'nacl_irt',
92           'type': 'none',
93           'variables': {
94             'nexe_target': 'nacl_irt',
95             # These out_* fields override the default filenames, which
96             # include a "_newlib" suffix.
97             'out_newlib64': '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
98             'out_newlib32': '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
99             'out_newlib_arm': '<(PRODUCT_DIR)/nacl_irt_arm.nexe',
100             'build_glibc': 0,
101             'build_newlib': 0,
102             'build_irt': 1,
103             'include_dirs': [
104               'lib/gl/include',
105               '..',
106             ],
107             'link_flags': [
108               '-Wl,--start-group',
109               '-lirt_browser',
110               '-lppapi_proxy_untrusted',
111               '-lppapi_ipc_untrusted',
112               '-lppapi_shared_untrusted',
113               '-lgles2_implementation_untrusted',
114               '-lgles2_cmd_helper_untrusted',
115               '-lgles2_utils_untrusted',
116               '-lcommand_buffer_client_untrusted',
117               '-lcommand_buffer_common_untrusted',
118               '-ltracing_untrusted',
119               '-lgpu_ipc_untrusted',
120               '-lipc_untrusted',
121               '-lbase_untrusted',
122               '-lshared_memory_support_untrusted',
123               '-lsrpc',
124               '-limc_syscalls',
125               '-lplatform',
126               '-lgio',
127               '-Wl,--end-group',
128               '-lm',
129             ],
130             'extra_args': [
131               '--strip-all',
132             ],
133             'conditions': [
134               # untrusted.gypi and build_nexe.py currently build
135               # both x86-32 and x86-64 whenever target_arch is some
136               # flavor of x86.  However, on non-windows platforms
137               # we only need one architecture.
138               ['OS!="win" and target_arch=="ia32"',
139                 {
140                   'enable_x86_64': 0
141                 }
142               ],
143               ['target_arch=="x64"',
144                 {
145                   'enable_x86_32': 0
146                 }
147               ],
148               ['target_arch!="arm"', {
149                 'extra_deps_newlib64': [
150                   '>(tc_lib_dir_irt64)/libppapi_proxy_untrusted.a',
151                   '>(tc_lib_dir_irt64)/libppapi_ipc_untrusted.a',
152                   '>(tc_lib_dir_irt64)/libppapi_shared_untrusted.a',
153                   '>(tc_lib_dir_irt64)/libgles2_implementation_untrusted.a',
154                   '>(tc_lib_dir_irt64)/libcommand_buffer_client_untrusted.a',
155                   '>(tc_lib_dir_irt64)/libcommand_buffer_common_untrusted.a',
156                   '>(tc_lib_dir_irt64)/libgpu_ipc_untrusted.a',
157                   '>(tc_lib_dir_irt64)/libtracing_untrusted.a',
158                   '>(tc_lib_dir_irt64)/libgles2_cmd_helper_untrusted.a',
159                   '>(tc_lib_dir_irt64)/libgles2_utils_untrusted.a',
160                   '>(tc_lib_dir_irt64)/libipc_untrusted.a',
161                   '>(tc_lib_dir_irt64)/libbase_untrusted.a',
162                   '>(tc_lib_dir_irt64)/libirt_browser.a',
163                   '>(tc_lib_dir_irt64)/libshared_memory_support_untrusted.a',
164                   '>(tc_lib_dir_irt64)/libsrpc.a',
165                   '>(tc_lib_dir_irt64)/libplatform.a',
166                   '>(tc_lib_dir_irt64)/libimc_syscalls.a',
167                   '>(tc_lib_dir_irt64)/libgio.a',
168                 ],
169                 'extra_deps_newlib32': [
170                   '>(tc_lib_dir_irt32)/libppapi_proxy_untrusted.a',
171                   '>(tc_lib_dir_irt32)/libppapi_ipc_untrusted.a',
172                   '>(tc_lib_dir_irt32)/libppapi_shared_untrusted.a',
173                   '>(tc_lib_dir_irt32)/libgles2_implementation_untrusted.a',
174                   '>(tc_lib_dir_irt32)/libcommand_buffer_client_untrusted.a',
175                   '>(tc_lib_dir_irt32)/libcommand_buffer_common_untrusted.a',
176                   '>(tc_lib_dir_irt32)/libgpu_ipc_untrusted.a',
177                   '>(tc_lib_dir_irt32)/libtracing_untrusted.a',
178                   '>(tc_lib_dir_irt32)/libgles2_cmd_helper_untrusted.a',
179                   '>(tc_lib_dir_irt32)/libgles2_utils_untrusted.a',
180                   '>(tc_lib_dir_irt32)/libipc_untrusted.a',
181                   '>(tc_lib_dir_irt32)/libbase_untrusted.a',
182                   '>(tc_lib_dir_irt32)/libirt_browser.a',
183                   '>(tc_lib_dir_irt32)/libshared_memory_support_untrusted.a',
184                   '>(tc_lib_dir_irt32)/libsrpc.a',
185                   '>(tc_lib_dir_irt32)/libplatform.a',
186                   '>(tc_lib_dir_irt32)/libimc_syscalls.a',
187                   '>(tc_lib_dir_irt32)/libgio.a',
188                 ],
189               }],
190               ['target_arch=="arm"', {
191                 'extra_deps_arm': [
192                   '>(tc_lib_dir_irt_arm)/libppapi_proxy_untrusted.a',
193                   '>(tc_lib_dir_irt_arm)/libppapi_ipc_untrusted.a',
194                   '>(tc_lib_dir_irt_arm)/libppapi_shared_untrusted.a',
195                   '>(tc_lib_dir_irt_arm)/libgles2_implementation_untrusted.a',
196                   '>(tc_lib_dir_irt_arm)/libcommand_buffer_client_untrusted.a',
197                   '>(tc_lib_dir_irt_arm)/libcommand_buffer_common_untrusted.a',
198                   '>(tc_lib_dir_irt_arm)/libgpu_ipc_untrusted.a',
199                   '>(tc_lib_dir_irt_arm)/libtracing_untrusted.a',
200                   '>(tc_lib_dir_irt_arm)/libgles2_cmd_helper_untrusted.a',
201                   '>(tc_lib_dir_irt_arm)/libgles2_utils_untrusted.a',
202                   '>(tc_lib_dir_irt_arm)/libipc_untrusted.a',
203                   '>(tc_lib_dir_irt_arm)/libbase_untrusted.a',
204                   '>(tc_lib_dir_irt_arm)/libirt_browser.a',
205                   '>(tc_lib_dir_irt_arm)/libshared_memory_support_untrusted.a',
206                   '>(tc_lib_dir_irt_arm)/libsrpc.a',
207                   '>(tc_lib_dir_irt_arm)/libplatform.a',
208                   '>(tc_lib_dir_irt_arm)/libimc_syscalls.a',
209                   '>(tc_lib_dir_irt_arm)/libgio.a',
210                 ],
211               }],
212             ],
213           },
214           'dependencies': [
215             '../ppapi_proxy_untrusted.gyp:ppapi_proxy_untrusted',
216             '../ppapi_ipc_untrusted.gyp:ppapi_ipc_untrusted',
217             '../ppapi_shared_untrusted.gyp:ppapi_shared_untrusted',
218             '../../gpu/command_buffer/command_buffer_untrusted.gyp:gles2_utils_untrusted',
219             '../../gpu/gpu_untrusted.gyp:command_buffer_client_untrusted',
220             '../../gpu/gpu_untrusted.gyp:command_buffer_common_untrusted',
221             '../../gpu/gpu_untrusted.gyp:gles2_implementation_untrusted',
222             '../../gpu/gpu_untrusted.gyp:gles2_cmd_helper_untrusted',
223             '../../gpu/gpu_untrusted.gyp:gpu_ipc_untrusted',
224             '../../components/tracing_untrusted.gyp:tracing_untrusted',
225             '../../ipc/ipc_untrusted.gyp:ipc_untrusted',
226             '../../base/base_untrusted.gyp:base_untrusted',
227             '../../media/media_untrusted.gyp:shared_memory_support_untrusted',
228             '../../native_client/src/untrusted/irt/irt.gyp:irt_browser_lib',
229             '../../native_client/src/shared/srpc/srpc.gyp:srpc_lib',
230             '../../native_client/src/shared/platform/platform.gyp:platform_lib',
231             '../../native_client/src/untrusted/nacl/nacl.gyp:imc_syscalls_lib',
232             '../../native_client/src/shared/gio/gio.gyp:gio_lib',
233           ],
234         },
235       ],
236     }],
237   ],
238 }