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 # 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.
9 '../../../../../build/common_untrusted.gypi',
13 'target_name': 'untar_pnacl_translator',
16 'action_name': 'Untar pnacl_translator',
17 'description': 'Untar pnacl_translator',
19 '<(DEPTH)/native_client/build/package_version/package_version.py',
20 '<(DEPTH)/native_client/toolchain/.tars/<(TOOLCHAIN_OS)_x86/pnacl_translator.json',
22 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/<(TOOLCHAIN_OS)_x86/pnacl_translator/pnacl_translator.json'],
25 '<(DEPTH)/native_client/build/package_version/package_version.py',
27 '--packages', 'pnacl_translator',
28 '--tar-dir', '<(DEPTH)/native_client/toolchain/.tars',
29 '--dest-dir', '<(SHARED_INTERMEDIATE_DIR)',
35 'target_name': 'pnacl_support_extension',
38 ['disable_nacl==0 and disable_pnacl==0 and disable_nacl_untrusted==0', {
40 '../../../../../ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:browser',
41 '../../../../../native_client/tools.gyp:prep_toolchain',
42 'untar_pnacl_translator',
45 'pnacl_component_crx_gen.py',
47 # We could use 'copies', but we want to rename the files
48 # in a white-listed way first. Thus use a script.
51 'action_name': 'generate_pnacl_support_extension',
53 'pnacl_component_crx_gen.py',
54 # A stamp file representing the contents of pnacl_translator.
55 '<(SHARED_INTERMEDIATE_DIR)/<(TOOLCHAIN_OS)_x86/pnacl_translator/pnacl_translator.json',
56 '<(DEPTH)/native_client/pnacl/driver/pnacl_info_template.json',
57 '<(DEPTH)/native_client/toolchain_revisions/pnacl_newlib.json',
60 # On windows we need both ia32 and x64.
63 '<(PRODUCT_DIR)/pnacl/pnacl_public_pnacl_json',
64 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_crtbegin_o',
65 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_ld_nexe',
66 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libcrt_platform_a',
67 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libgcc_a',
68 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libgcc_eh_a',
69 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libpnacl_irt_shim_a',
70 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_pnacl_llc_nexe',
71 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_crtbegin_o',
72 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_ld_nexe',
73 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libcrt_platform_a',
74 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libgcc_a',
75 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libgcc_eh_a',
76 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libpnacl_irt_shim_a',
77 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_pnacl_llc_nexe',
80 '>(tc_lib_dir_pnacl_translate)/lib-x86-32/browser/libpnacl_irt_shim.a',
81 '>(tc_lib_dir_pnacl_translate)/lib-x86-64/browser/libpnacl_irt_shim.a',
85 # Use the two freshly generated shims.
86 '--lib_override=ia32,>(tc_lib_dir_pnacl_translate)/lib-x86-32/browser/libpnacl_irt_shim.a',
87 '--lib_override=x64,>(tc_lib_dir_pnacl_translate)/lib-x86-64/browser/libpnacl_irt_shim.a',
91 # Non-windows installers only need the matching architecture.
94 ['target_arch=="arm"', {
96 '<(PRODUCT_DIR)/pnacl/pnacl_public_pnacl_json',
97 '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_crtbegin_o',
98 '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_ld_nexe',
99 '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_libcrt_platform_a',
100 '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_libgcc_a',
101 '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_libgcc_eh_a',
102 '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_libpnacl_irt_shim_a',
103 '<(PRODUCT_DIR)/pnacl/pnacl_public_arm_pnacl_llc_nexe',
106 '>(tc_lib_dir_pnacl_translate)/lib-arm/browser/libpnacl_irt_shim.a',
110 # Use the freshly generated shim.
111 '--lib_override=arm,>(tc_lib_dir_pnacl_translate)/lib-arm/browser/libpnacl_irt_shim.a',
115 ['target_arch=="mipsel"', {
117 '<(PRODUCT_DIR)/pnacl/pnacl_public_pnacl_json',
118 '<(PRODUCT_DIR)/pnacl/pnacl_public_mips32_crtbegin_o',
119 '<(PRODUCT_DIR)/pnacl/pnacl_public_mips32_ld_nexe',
120 '<(PRODUCT_DIR)/pnacl/pnacl_public_mips32_libcrt_platform_a',
121 '<(PRODUCT_DIR)/pnacl/pnacl_public_mips32_libgcc_a',
122 '<(PRODUCT_DIR)/pnacl/pnacl_public_mips32_libgcc_eh_a',
123 '<(PRODUCT_DIR)/pnacl/pnacl_public_mips32_libpnacl_irt_shim_a',
124 '<(PRODUCT_DIR)/pnacl/pnacl_public_mips32_llc_nexe',
127 '>(tc_lib_dir_pnacl_translate)/lib-mips32/browser/libpnacl_irt_shim.a',
131 # Use the freshly generated shim.
132 '--lib_override=mipsel,>(tc_lib_dir_pnacl_translate)/lib-mips32/browser/libpnacl_irt_shim.a',
136 ['target_arch=="ia32"', {
138 '<(PRODUCT_DIR)/pnacl/pnacl_public_pnacl_json',
139 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_crtbegin_o',
140 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_ld_nexe',
141 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libcrt_platform_a',
142 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libgcc_a',
143 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libgcc_eh_a',
144 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_libpnacl_irt_shim_a',
145 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_32_pnacl_llc_nexe',
148 '>(tc_lib_dir_pnacl_translate)/lib-x86-32/browser/libpnacl_irt_shim.a',
152 # Use the freshly generated shim.
153 '--lib_override=ia32,>(tc_lib_dir_pnacl_translate)/lib-x86-32/browser/libpnacl_irt_shim.a',
157 ['target_arch=="x64"', {
159 '<(PRODUCT_DIR)/pnacl/pnacl_public_pnacl_json',
160 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_crtbegin_o',
161 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_ld_nexe',
162 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libcrt_platform_a',
163 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libgcc_a',
164 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libgcc_eh_a',
165 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_libpnacl_irt_shim_a',
166 '<(PRODUCT_DIR)/pnacl/pnacl_public_x86_64_pnacl_llc_nexe',
169 '>(tc_lib_dir_pnacl_translate)/lib-x86-64/browser/libpnacl_irt_shim.a',
173 # Use the freshly generated shim.
174 '--lib_override=x64,>(tc_lib_dir_pnacl_translate)/lib-x86-64/browser/libpnacl_irt_shim.a',
182 'python', 'pnacl_component_crx_gen.py',
183 '--dest=<(PRODUCT_DIR)/pnacl',
185 '--target_arch=<(target_arch)',
186 '--info_template_path=<(DEPTH)/native_client/pnacl/driver/pnacl_info_template.json',
187 '--pnacl_translator_path=<(SHARED_INTERMEDIATE_DIR)/<(TOOLCHAIN_OS)_x86/pnacl_translator',
188 '--package_version_path=<(DEPTH)/native_client/build/package_version/package_version.py',
189 '--pnacl_package_name=pnacl_newlib',
190 # ABI Version Number.