Upstream version 5.34.92.0
[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_ld_nexe',
43                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libcrt_platform_a',
44                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libgcc_a',
45                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libgcc_eh_a',
46                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libpnacl_irt_shim_a',
47                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_pnacl_llc_nexe',
48                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_crtbegin_o',
49                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_ld_nexe',
50                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libcrt_platform_a',
51                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libgcc_a',
52                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libgcc_eh_a',
53                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libpnacl_irt_shim_a',
54                       '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_pnacl_llc_nexe',
55                     ],
56                     'inputs': [
57                       '>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
58                       '>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
59                     ],
60                     'variables': {
61                       'lib_overrides': [
62                         # Use the two freshly generated shims.
63                         '--lib_override=ia32,>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
64                         '--lib_override=x64,>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
65                       ],
66                     },
67                 }],
68                 # Non-windows installers only need the matching architecture.
69                 ['OS!="win"', {
70                    'conditions': [
71                       ['target_arch=="arm"', {
72                         'outputs': [
73                           '<(PRODUCT_DIR)/pnacl/pnacl_public_pnacl_json',
74                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_crtbegin_o',
75                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_ld_nexe',
76                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_libcrt_platform_a',
77                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_libgcc_a',
78                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_libgcc_eh_a',
79                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_libpnacl_irt_shim_a',
80                           '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_pnacl_llc_nexe',
81                         ],
82                         'inputs': [
83                           '>(tc_lib_dir_pnacl_translate)/lib-arm/libpnacl_irt_shim.a',
84                         ],
85                         'variables': {
86                           'lib_overrides': [
87                             # Use the freshly generated shim.
88                             '--lib_override=arm,>(tc_lib_dir_pnacl_translate)/lib-arm/libpnacl_irt_shim.a',
89                           ],
90                         },
91                       }],
92                       ['target_arch=="ia32"', {
93                         'outputs': [
94                           '<(PRODUCT_DIR)/pnacl/pnacl_public_pnacl_json',
95                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_crtbegin_o',
96                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_ld_nexe',
97                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libcrt_platform_a',
98                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libgcc_a',
99                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libgcc_eh_a',
100                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libpnacl_irt_shim_a',
101                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_pnacl_llc_nexe',
102                         ],
103                         'inputs': [
104                           '>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
105                         ],
106                         'variables': {
107                           'lib_overrides': [
108                             # Use the freshly generated shim.
109                             '--lib_override=ia32,>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
110                           ],
111                         },
112                       }],
113                       ['target_arch=="x64"', {
114                         'outputs': [
115                           '<(PRODUCT_DIR)/pnacl/pnacl_public_pnacl_json',
116                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_crtbegin_o',
117                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_ld_nexe',
118                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libcrt_platform_a',
119                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libgcc_a',
120                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libgcc_eh_a',
121                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libpnacl_irt_shim_a',
122                           '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_pnacl_llc_nexe',
123                         ],
124                         'inputs': [
125                           '>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
126                         ],
127                         'variables': {
128                           'lib_overrides': [
129                             # Use the freshly generated shim.
130                             '--lib_override=x64,>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
131                           ],
132                         },
133                       }],
134                   ],
135                }],
136             ],
137             'action': [
138               'python', 'pnacl_component_crx_gen.py',
139               '--dest=<(PRODUCT_DIR)/pnacl',
140               '<@(lib_overrides)',
141               '--target_arch=<(target_arch)',
142               '--info_template_path=<(DEPTH)/native_client/pnacl/driver/pnacl_info_template.json',
143               '--tool_revisions_path=<(DEPTH)/native_client/TOOL_REVISIONS',
144               # ABI Version Number.
145               '1',
146             ],
147           },
148         ],
149       }],
150     ],
151   }],
152 }