Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(405)

Side by Side Diff: native_client_sdk/src/build_tools/build_sdk.py

Issue 22686004: [NaCl SDK] Prune some unneeded parts of the PNaCl toolchain. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Entry point for both build and try bots. 6 """Entry point for both build and try bots.
7 7
8 This script is invoked from XXX, usually without arguments 8 This script is invoked from XXX, usually without arguments
9 to package an SDK. It automatically determines whether 9 to package an SDK. It automatically determines whether
10 this SDK is for mac, win, linux. 10 this SDK is for mac, win, linux.
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 readme_text = readme_text.replace('${NACL_REVISION}', nacl_revision) 179 readme_text = readme_text.replace('${NACL_REVISION}', nacl_revision)
180 180
181 # Year/Month/Day Hour:Minute:Second 181 # Year/Month/Day Hour:Minute:Second
182 time_format = '%Y/%m/%d %H:%M:%S' 182 time_format = '%Y/%m/%d %H:%M:%S'
183 readme_text = readme_text.replace('${DATE}', 183 readme_text = readme_text.replace('${DATE}',
184 datetime.datetime.now().strftime(time_format)) 184 datetime.datetime.now().strftime(time_format))
185 185
186 open(os.path.join(pepperdir, 'README'), 'w').write(readme_text) 186 open(os.path.join(pepperdir, 'README'), 'w').write(readme_text)
187 187
188 188
189 def PrunePNaClToolchain(root):
190 dirs_to_prune = [
191 'newlib/lib-bc-x86-64',
192 'newlib/usr-bc-x86-64'
193 # TODO(sbc): remove this once its really not needed.
194 # Currently we seem to rely on it at least for <bits/stat.h>
eliben 2013/08/10 00:49:08 Hmm, this is weird :-/
195 #'newlib/sysroot',
196 ]
197 for dirname in dirs_to_prune:
198 buildbot_common.RemoveDir(os.path.join(root, dirname))
199
200
189 def BuildStepUntarToolchains(pepperdir, arch, toolchains): 201 def BuildStepUntarToolchains(pepperdir, arch, toolchains):
190 buildbot_common.BuildStep('Untar Toolchains') 202 buildbot_common.BuildStep('Untar Toolchains')
191 platform = getos.GetPlatform() 203 platform = getos.GetPlatform()
192 tcname = platform + '_' + arch 204 tcname = platform + '_' + arch
193 tmpdir = os.path.join(OUT_DIR, 'tc_temp') 205 tmpdir = os.path.join(OUT_DIR, 'tc_temp')
194 buildbot_common.RemoveDir(tmpdir) 206 buildbot_common.RemoveDir(tmpdir)
195 buildbot_common.MakeDir(tmpdir) 207 buildbot_common.MakeDir(tmpdir)
196 208
197 if 'newlib' in toolchains: 209 if 'newlib' in toolchains:
198 # Untar the newlib toolchains 210 # Untar the newlib toolchains
(...skipping 30 matching lines...) Expand all
229 tmpdir = os.path.join(tmpdir, 'pnacl') 241 tmpdir = os.path.join(tmpdir, 'pnacl')
230 buildbot_common.RemoveDir(tmpdir) 242 buildbot_common.RemoveDir(tmpdir)
231 buildbot_common.MakeDir(tmpdir) 243 buildbot_common.MakeDir(tmpdir)
232 tarfile = GetPNaClToolchain(arch) 244 tarfile = GetPNaClToolchain(arch)
233 buildbot_common.Run([sys.executable, CYGTAR, '-C', tmpdir, '-xf', tarfile], 245 buildbot_common.Run([sys.executable, CYGTAR, '-C', tmpdir, '-xf', tarfile],
234 cwd=NACL_DIR) 246 cwd=NACL_DIR)
235 247
236 # Then rename/move it to the pepper toolchain directory 248 # Then rename/move it to the pepper toolchain directory
237 pnacldir = os.path.join(pepperdir, 'toolchain', tcname + '_pnacl') 249 pnacldir = os.path.join(pepperdir, 'toolchain', tcname + '_pnacl')
238 buildbot_common.Move(tmpdir, pnacldir) 250 buildbot_common.Move(tmpdir, pnacldir)
251 PrunePNaClToolchain(pnacldir)
239 252
240 buildbot_common.RemoveDir(tmpdir) 253 buildbot_common.RemoveDir(tmpdir)
241 254
242 if options.gyp and platform != 'win': 255 if options.gyp and platform != 'win':
243 # If the gyp options is specified we install a toolchain 256 # If the gyp options is specified we install a toolchain
244 # wrapper so that gyp can switch toolchains via a commandline 257 # wrapper so that gyp can switch toolchains via a commandline
245 # option. 258 # option.
246 bindir = os.path.join(pepperdir, 'toolchain', tcname, 'bin') 259 bindir = os.path.join(pepperdir, 'toolchain', tcname, 'bin')
247 wrapper = os.path.join(SDK_SRC_DIR, 'tools', 'compiler-wrapper.py') 260 wrapper = os.path.join(SDK_SRC_DIR, 'tools', 'compiler-wrapper.py')
248 buildbot_common.MakeDir(bindir) 261 buildbot_common.MakeDir(bindir)
(...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 BuildStepArchiveSDKTools() 951 BuildStepArchiveSDKTools()
939 952
940 return 0 953 return 0
941 954
942 955
943 if __name__ == '__main__': 956 if __name__ == '__main__':
944 try: 957 try:
945 sys.exit(main(sys.argv)) 958 sys.exit(main(sys.argv))
946 except KeyboardInterrupt: 959 except KeyboardInterrupt:
947 buildbot_common.ErrorExit('build_sdk: interrupted') 960 buildbot_common.ErrorExit('build_sdk: interrupted')
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698