- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / native_client / src / untrusted / pnacl_support_extension / pnacl_support_extension.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   # re: untrusted.gypi -- Though this doesn't really use build_nexe.py or
7   # anything, it depends on untrusted nexes from the toolchain and for the shim.
8   'includes': [
9     '../../../../../build/common_untrusted.gypi',
10   ],
11   'targets': [
12   {
13     'target_name': 'pnacl_support_extension',
14     'type': 'none',
15     'conditions': [
16       ['disable_nacl==0 and disable_pnacl==0 and disable_nacl_untrusted==0', {
17         'dependencies': [
18           '../../../../../ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:pnacl_irt_shim',
19           '../../../../../native_client/tools.gyp:prep_toolchain',
20         ],
21         'sources': [
22           'pnacl_component_crx_gen.py',
23         ],
24         # We could use 'copies', but we want to rename the files
25         # in a white-listed way first.  Thus use a script.
26         'actions': [
27           {
28             'action_name': 'generate_pnacl_support_extension',
29             'inputs': [
30               'pnacl_component_crx_gen.py',
31               # A stamp file representing the contents of pnacl_translator.
32               '<(DEPTH)/native_client/toolchain/pnacl_translator/SOURCE_SHA1',
33               '<(DEPTH)/native_client/pnacl/driver/pnacl_info_template.json',
34               '<(DEPTH)/native_client/TOOL_REVISIONS',
35             ],
36             'conditions': [
37                 # On windows we need both ia32 and x64.
38                 ['OS=="win"', {
39                     'outputs': [
40                       '<(PRODUCT_DIR)/pnacl/pnacl_public_pnacl_json',
41                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_crtbegin_o',
42                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_crtbeginS_o',
43                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_ld_nexe',
44                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libcrt_platform_a',
45                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libgcc_a',
46                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libgcc_eh_a',
47                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libpnacl_irt_shim_a',
48                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_pnacl_llc_nexe',
49                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_crtbegin_o',
50                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_crtbeginS_o',
51                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_ld_nexe',
52                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libcrt_platform_a',
53                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libgcc_a',
54                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libgcc_eh_a',
55                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libpnacl_irt_shim_a',
56                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_pnacl_llc_nexe',
57                     ],
58                     'inputs': [
59                       '>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
60                       '>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
61                     ],
62                     'variables': {
63                       'lib_overrides': [
64                         # Use the two freshly generated shims.
65                         '--lib_override=ia32,>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
66                         '--lib_override=x64,>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
67                       ],
68                     },
69                 }],
70                 # Non-windows installers only need the matching architecture.
71                 ['OS!="win"', {
72                    'conditions': [
73                       ['target_arch=="arm"', {
74                         'outputs': [
75                           '<(PRODUCT_DIR)/pnacl/pnacl_public_pnacl_json',
76                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_crtbegin_o',
77                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_crtbeginS_o',
78                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_ld_nexe',
79                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_libcrt_platform_a',
80                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_libgcc_a',
81                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_libgcc_eh_a',
82                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_libpnacl_irt_shim_a',
83                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_pnacl_llc_nexe',
84                         ],
85                         'inputs': [
86                           '>(tc_lib_dir_pnacl_translate)/lib-arm/libpnacl_irt_shim.a',
87                         ],
88                         'variables': {
89                           'lib_overrides': [
90                             # Use the freshly generated shim.
91                             '--lib_override=arm,>(tc_lib_dir_pnacl_translate)/lib-arm/libpnacl_irt_shim.a',
92                           ],
93                         },
94                       }],
95                       ['target_arch=="ia32"', {
96                         'outputs': [
97                           '<(PRODUCT_DIR)/pnacl/pnacl_public_pnacl_json',
98                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_crtbegin_o',
99                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_crtbeginS_o',
100                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_ld_nexe',
101                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libcrt_platform_a',
102                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libgcc_a',
103                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libgcc_eh_a',
104                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libpnacl_irt_shim_a',
105                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_pnacl_llc_nexe',
106                         ],
107                         'inputs': [
108                           '>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
109                         ],
110                         'variables': {
111                           'lib_overrides': [
112                             # Use the freshly generated shim.
113                             '--lib_override=ia32,>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
114                           ],
115                         },
116                       }],
117                       ['target_arch=="x64"', {
118                         'outputs': [
119                           '<(PRODUCT_DIR)/pnacl/pnacl_public_pnacl_json',
120                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_crtbegin_o',
121                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_crtbeginS_o',
122                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_ld_nexe',
123                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libcrt_platform_a',
124                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libgcc_a',
125                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libgcc_eh_a',
126                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libpnacl_irt_shim_a',
127                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_pnacl_llc_nexe',
128                         ],
129                         'inputs': [
130                           '>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
131                         ],
132                         'variables': {
133                           'lib_overrides': [
134                             # Use the freshly generated shim.
135                             '--lib_override=x64,>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
136                           ],
137                         },
138                       }],
139                   ],
140                }],
141             ],
142             'action': [
143               'python', 'pnacl_component_crx_gen.py',
144               '--dest=<(PRODUCT_DIR)/pnacl',
145               '<@(lib_overrides)',
146               '--target_arch=<(target_arch)',
147               '--info_template_path=<(DEPTH)/native_client/pnacl/driver/pnacl_info_template.json',
148               '--tool_revisions_path=<(DEPTH)/native_client/TOOL_REVISIONS',
149               # ABI Version Number.
150               '1',
151             ],
152           },
153         ],
154       }],
155     ],
156   }],
157 }