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_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',
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',
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',
70 # Non-windows installers only need the matching architecture.
73 ['target_arch=="arm"', {
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',
86 '>(tc_lib_dir_pnacl_translate)/lib-arm/libpnacl_irt_shim.a',
90 # Use the freshly generated shim.
91 '--lib_override=arm,>(tc_lib_dir_pnacl_translate)/lib-arm/libpnacl_irt_shim.a',
95 ['target_arch=="ia32"', {
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',
108 '>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
112 # Use the freshly generated shim.
113 '--lib_override=ia32,>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
117 ['target_arch=="x64"', {
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',
130 '>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
134 # Use the freshly generated shim.
135 '--lib_override=x64,>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
143 'python', 'pnacl_component_crx_gen.py',
144 '--dest=<(PRODUCT_DIR)/pnacl',
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.