1 # Copyright (c) 2011 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 ######################################################################
10 ######################################################################
16 'disable_glibc_untar%': 0,
17 'disable_newlib_untar%': 0,
18 'disable_arm_untar%': 0,
19 'disable_pnacl_untar%': 0,
22 'TOOLCHAIN_OS': 'linux',
24 'TOOLCHAIN_OS': '<(OS)',
30 'target_name': 'prep_toolchain',
37 ['target_arch=="ia32" or target_arch=="x64"', {
45 ['target_arch=="arm"', {
54 'target_name': 'untar_toolchains',
57 ['disable_newlib==0 and disable_newlib_untar==0', {
60 'action_name': 'Untar x86 newlib toolchain',
61 'msvs_cygwin_shell': 0,
62 'description': 'Untar x86 newlib toolchain',
64 '<(DEPTH)/native_client/build/package_version/package_version.py',
65 '<(DEPTH)/native_client/toolchain/.tars/<(TOOLCHAIN_OS)_x86/nacl_x86_newlib.json',
67 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/nacl_x86_newlib/nacl_x86_newlib.json'],
70 '<(DEPTH)/native_client/build/package_version/package_version.py',
72 '--packages', 'nacl_x86_newlib',
73 '--tar-dir', '<(DEPTH)/native_client/toolchain/.tars',
74 '--dest-dir', '<(SHARED_INTERMEDIATE_DIR)/sdk',
80 ['disable_glibc==0 and disable_glibc_untar==0', {
83 'action_name': 'Untar x86 glibc toolchain',
84 'msvs_cygwin_shell': 0,
85 'description': 'Untar x86 glibc toolchain',
87 '<(DEPTH)/native_client/build/package_version/package_version.py',
88 '<(DEPTH)/native_client/toolchain/.tars/<(TOOLCHAIN_OS)_x86/nacl_x86_glibc.json',
90 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/nacl_x86_glibc/nacl_x86_glibc.json'],
93 '<(DEPTH)/native_client/build/package_version/package_version.py',
95 '--packages', 'nacl_x86_glibc',
96 '--tar-dir', '<(DEPTH)/native_client/toolchain/.tars',
97 '--dest-dir', '<(SHARED_INTERMEDIATE_DIR)/sdk',
103 ['disable_pnacl==0 and disable_pnacl_untar==0', {
106 'action_name': 'Untar pnacl toolchain',
107 'msvs_cygwin_shell': 0,
108 'description': 'Untar pnacl toolchain',
110 '<(DEPTH)/native_client/build/package_version/package_version.py',
111 '<(DEPTH)/native_client/toolchain/.tars/<(TOOLCHAIN_OS)_x86/pnacl_newlib.json',
113 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl_newlib/pnacl_newlib.json'],
116 '<(DEPTH)/native_client/build/package_version/package_version.py',
118 '--packages', 'pnacl_newlib',
119 '--tar-dir', '<(DEPTH)/native_client/toolchain/.tars',
120 '--dest-dir', '<(SHARED_INTERMEDIATE_DIR)/sdk',
126 ['target_arch=="arm" and disable_arm==0 and disable_arm_untar==0', {
129 'action_name': 'Untar arm toolchain',
130 'msvs_cygwin_shell': 0,
131 'description': 'Untar arm toolchain',
133 '<(DEPTH)/native_client/build/package_version/package_version.py',
134 '<(DEPTH)/native_client/toolchain/.tars/<(TOOLCHAIN_OS)_x86/nacl_arm_newlib.json',
136 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/nacl_arm_newlib/nacl_arm_newlib.json'],
139 '<(DEPTH)/native_client/build/package_version/package_version.py',
141 '--packages', 'nacl_arm_newlib',
142 '--tar-dir', '<(DEPTH)/native_client/toolchain/.tars',
143 '--dest-dir', '<(SHARED_INTERMEDIATE_DIR)/sdk',
152 'target_name': 'prep_nacl_sdk',
158 'newlib_dir': '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/nacl_x86_newlib',
159 'glibc_dir': '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/nacl_x86_glibc',
160 'pnacl_dir': '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/pnacl_newlib',
161 'arm_dir': '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/nacl_arm_newlib',
164 ['disable_newlib==0', {
167 'action_name': 'Prep x86 newlib toolchain',
168 'msvs_cygwin_shell': 0,
169 'description': 'Prep x86 newlib toolchain',
171 '<(newlib_dir)/nacl_x86_newlib.json',
172 '>!@pymod_do_main(prep_nacl_sdk --inputs --tool x86_newlib)',
174 'outputs': ['<(newlib_dir)/stamp.prep'],
177 '<(DEPTH)/native_client/build/prep_nacl_sdk.py',
178 '--tool', 'x86_newlib',
179 '--path', '<(newlib_dir)',
184 ['disable_glibc==0', {
187 'action_name': 'Prep x86 glibc toolchain',
188 'msvs_cygwin_shell': 0,
189 'description': 'Prep x86 glibc toolchain',
191 '<(glibc_dir)/nacl_x86_glibc.json',
192 '>!@pymod_do_main(prep_nacl_sdk --inputs --tool x86_glibc)',
194 'outputs': ['<(glibc_dir)/stamp.prep'],
197 '<(DEPTH)/native_client/build/prep_nacl_sdk.py',
198 '--tool', 'x86_glibc',
199 '--path', '<(glibc_dir)',
204 ['target_arch=="arm" and disable_arm==0', {
207 'action_name': 'Prep arm toolchain',
208 'msvs_cygwin_shell': 0,
209 'description': 'Prep arm toolchain',
211 '<(arm_dir)/nacl_arm_newlib.json',
212 '>!@pymod_do_main(prep_nacl_sdk --inputs --tool arm_newlib)',
214 'outputs': ['<(arm_dir)/stamp.prep'],
217 '<(DEPTH)/native_client/build/prep_nacl_sdk.py',
218 '--tool', 'arm_newlib',
219 '--path', '<(arm_dir)',
224 ['disable_pnacl==0', {
227 'action_name': 'Prep pnacl toolchain',
228 'msvs_cygwin_shell': 0,
229 'description': 'Prep pnacl toolchain',
231 '<(pnacl_dir)/pnacl_newlib.json',
232 '>!@pymod_do_main(prep_nacl_sdk --inputs --tool pnacl)',
234 'outputs': ['<(pnacl_dir)/stamp.prep'],
237 '<(DEPTH)/native_client/build/prep_nacl_sdk.py',
239 '--path', '<(pnacl_dir)',
247 # The crt_init_* targets only need to be built for non-pnacl newlib-based
248 # toolchains (and for the IRT if the IRT is built with such a toolchain).
250 ['target_arch=="ia32" or target_arch=="x64"', {
253 'target_name': 'crt_init_64',
260 'nlib_target': 'crti.o',
261 'windows_asm_rule': 0,
273 'src/untrusted/stubs/crti_x86_64.S',
277 'target_name': 'crt_fini_64',
284 'nlib_target': 'crtn.o',
285 'windows_asm_rule': 0,
297 'src/untrusted/stubs/crtn_x86_64.S'
302 ['target_arch=="ia32" or target_arch=="x64"', {
305 'target_name': 'crt_init_32',
312 'nlib_target': 'crti.o',
313 'windows_asm_rule': 0,
325 'src/untrusted/stubs/crti_x86_32.S',
329 'target_name': 'crt_fini_32',
336 'nlib_target': 'crtn.o',
337 'windows_asm_rule': 0,
349 'src/untrusted/stubs/crtn_x86_32.S'
354 ['target_arch=="arm"', {
357 'target_name': 'crt_init_arm',
364 'nlib_target': 'crti.o',
365 'windows_asm_rule': 0,
376 'src/untrusted/stubs/crti_arm.S',
380 'target_name': 'crt_fini_arm',
387 'nlib_target': 'crtn.o',
388 'windows_asm_rule': 0,
399 'src/untrusted/stubs/crtn_arm.S'