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': 'pnacl_support_extension',
16 ['disable_nacl==0 and disable_pnacl==0 and disable_nacl_untrusted==0', {
18 '../../../../../ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:pnacl_irt_shim',
19 '../../../../../native_client/tools.gyp:prep_toolchain',
22 'pnacl_component_crx_gen.py',
24 # We could use 'copies', but we want to rename the files
25 # in a white-listed way first. Thus use a script.
28 'action_name': 'generate_pnacl_support_extension',
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',
37 # On windows we need both ia32 and x64.
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',
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',
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',
68 # Non-windows installers only need the matching architecture.
71 ['target_arch=="arm"', {
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',
83 '>(tc_lib_dir_pnacl_translate)/lib-arm/libpnacl_irt_shim.a',
87 # Use the freshly generated shim.
88 '--lib_override=arm,>(tc_lib_dir_pnacl_translate)/lib-arm/libpnacl_irt_shim.a',
92 ['target_arch=="ia32"', {
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',
104 '>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
108 # Use the freshly generated shim.
109 '--lib_override=ia32,>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
113 ['target_arch=="x64"', {
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',
125 '>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
129 # Use the freshly generated shim.
130 '--lib_override=x64,>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
138 'python', 'pnacl_component_crx_gen.py',
139 '--dest=<(PRODUCT_DIR)/pnacl',
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.