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

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

Issue 11825003: Move headers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rename include path var Created 7 years, 11 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 | native_client_sdk/src/libraries/ppapi_cpp/library.dsc » ('j') | 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 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 'glibc': { 267 'glibc': {
268 'nacl/dynamic_annotations.h': 268 'nacl/dynamic_annotations.h':
269 'src/untrusted/valgrind/dynamic_annotations.h', 269 'src/untrusted/valgrind/dynamic_annotations.h',
270 'nacl/nacl_dyncode.h': 'src/untrusted/nacl/nacl_dyncode.h', 270 'nacl/nacl_dyncode.h': 'src/untrusted/nacl/nacl_dyncode.h',
271 'nacl/nacl_startup.h': 'src/untrusted/nacl/nacl_startup.h', 271 'nacl/nacl_startup.h': 'src/untrusted/nacl/nacl_startup.h',
272 'nacl/nacl_thread.h': 'src/untrusted/nacl/nacl_thread.h', 272 'nacl/nacl_thread.h': 'src/untrusted/nacl/nacl_thread.h',
273 'pnacl.h': 'src/untrusted/nacl/pnacl.h', 273 'pnacl.h': 'src/untrusted/nacl/pnacl.h',
274 'irt.h': 'src/untrusted/irt/irt.h', 274 'irt.h': 'src/untrusted/irt/irt.h',
275 'irt_ppapi.h': 'src/untrusted/irt/irt_ppapi.h', 275 'irt_ppapi.h': 'src/untrusted/irt/irt_ppapi.h',
276 }, 276 },
277 'libs': { 277 'host': {
278 }, 278 },
279 } 279 }
280 280
281 281 def InstallCommonHeaders(inc_path):
282 def InstallHeaders(tc_dst_inc, pepper_ver, tc_name):
283 """Copies NaCl headers to expected locations in the toolchain."""
284 if tc_name == 'arm':
285 # arm toolchain header should be the same as the x86 newlib
286 # ones
287 tc_name = 'newlib'
288 tc_map = HEADER_MAP[tc_name]
289 for filename in tc_map:
290 src = os.path.join(NACL_DIR, tc_map[filename])
291 dst = os.path.join(tc_dst_inc, filename)
292 buildbot_common.MakeDir(os.path.dirname(dst))
293 buildbot_common.CopyFile(src, dst)
294
295 # Clean out per toolchain ppapi directory 282 # Clean out per toolchain ppapi directory
296 ppapi = os.path.join(tc_dst_inc, 'ppapi') 283 ppapi = os.path.join(inc_path, 'ppapi')
297 buildbot_common.RemoveDir(ppapi) 284 buildbot_common.RemoveDir(ppapi)
298 285
299 # Copy in c and c/dev headers 286 # Copy in c and c/dev headers
300 buildbot_common.MakeDir(os.path.join(ppapi, 'c', 'dev')) 287 buildbot_common.MakeDir(os.path.join(ppapi, 'c', 'dev'))
301 buildbot_common.CopyDir(os.path.join(PPAPI_DIR, 'c', '*.h'), 288 buildbot_common.CopyDir(os.path.join(PPAPI_DIR, 'c', '*.h'),
302 os.path.join(ppapi, 'c')) 289 os.path.join(ppapi, 'c'))
303 buildbot_common.CopyDir(os.path.join(PPAPI_DIR, 'c', 'dev', '*.h'), 290 buildbot_common.CopyDir(os.path.join(PPAPI_DIR, 'c', 'dev', '*.h'),
304 os.path.join(ppapi, 'c', 'dev')) 291 os.path.join(ppapi, 'c', 'dev'))
305 292
306 # Run the generator to overwrite IDL files
binji 2013/01/08 21:51:25 not needed/desired anymore?
noelallen1 2013/01/08 23:28:22 We never use the single version forms of the heade
307 generator_args = [sys.executable, 'generator.py', '--wnone', '--cgen',
308 '--verbose', '--dstroot=%s/c' % ppapi]
309 if pepper_ver:
310 generator_args.append('--release=M' + pepper_ver)
311 buildbot_common.Run(generator_args,
312 cwd=os.path.join(PPAPI_DIR, 'generators'))
313
314 # Remove private and trusted interfaces 293 # Remove private and trusted interfaces
315 buildbot_common.RemoveDir(os.path.join(ppapi, 'c', 'private')) 294 buildbot_common.RemoveDir(os.path.join(ppapi, 'c', 'private'))
316 buildbot_common.RemoveDir(os.path.join(ppapi, 'c', 'trusted')) 295 buildbot_common.RemoveDir(os.path.join(ppapi, 'c', 'trusted'))
317 296
318 # Copy in the C++ headers 297 # Copy in the C++ headers
319 buildbot_common.MakeDir(os.path.join(ppapi, 'cpp', 'dev')) 298 buildbot_common.MakeDir(os.path.join(ppapi, 'cpp', 'dev'))
320 buildbot_common.CopyDir(os.path.join(PPAPI_DIR, 'cpp', '*.h'), 299 buildbot_common.CopyDir(os.path.join(PPAPI_DIR, 'cpp', '*.h'),
321 os.path.join(ppapi, 'cpp')) 300 os.path.join(ppapi, 'cpp'))
322 buildbot_common.CopyDir(os.path.join(PPAPI_DIR, 'cpp', 'dev', '*.h'), 301 buildbot_common.CopyDir(os.path.join(PPAPI_DIR, 'cpp', 'dev', '*.h'),
323 os.path.join(ppapi, 'cpp', 'dev')) 302 os.path.join(ppapi, 'cpp', 'dev'))
(...skipping 10 matching lines...) Expand all
334 buildbot_common.CopyDir( 313 buildbot_common.CopyDir(
335 os.path.join(PPAPI_DIR, 'utility', 'websocket', '*.h'), 314 os.path.join(PPAPI_DIR, 'utility', 'websocket', '*.h'),
336 os.path.join(ppapi, 'utility', 'websocket')) 315 os.path.join(ppapi, 'utility', 'websocket'))
337 316
338 # Copy in the gles2 headers 317 # Copy in the gles2 headers
339 buildbot_common.MakeDir(os.path.join(ppapi, 'gles2')) 318 buildbot_common.MakeDir(os.path.join(ppapi, 'gles2'))
340 buildbot_common.CopyDir(os.path.join(PPAPI_DIR, 'lib', 'gl', 'gles2', '*.h'), 319 buildbot_common.CopyDir(os.path.join(PPAPI_DIR, 'lib', 'gl', 'gles2', '*.h'),
341 os.path.join(ppapi, 'gles2')) 320 os.path.join(ppapi, 'gles2'))
342 321
343 # Copy the EGL headers 322 # Copy the EGL headers
344 buildbot_common.MakeDir(os.path.join(tc_dst_inc, 'EGL')) 323 buildbot_common.MakeDir(os.path.join(inc_path, 'EGL'))
345 buildbot_common.CopyDir( 324 buildbot_common.CopyDir(
346 os.path.join(PPAPI_DIR, 'lib', 'gl', 'include', 'EGL', '*.h'), 325 os.path.join(PPAPI_DIR, 'lib', 'gl', 'include', 'EGL', '*.h'),
347 os.path.join(tc_dst_inc, 'EGL')) 326 os.path.join(inc_path, 'EGL'))
348 327
349 # Copy the GLES2 headers 328 # Copy the GLES2 headers
350 buildbot_common.MakeDir(os.path.join(tc_dst_inc, 'GLES2')) 329 buildbot_common.MakeDir(os.path.join(inc_path, 'GLES2'))
351 buildbot_common.CopyDir( 330 buildbot_common.CopyDir(
352 os.path.join(PPAPI_DIR, 'lib', 'gl', 'include', 'GLES2', '*.h'), 331 os.path.join(PPAPI_DIR, 'lib', 'gl', 'include', 'GLES2', '*.h'),
353 os.path.join(tc_dst_inc, 'GLES2')) 332 os.path.join(inc_path, 'GLES2'))
354 333
355 # Copy the KHR headers 334 # Copy the KHR headers
356 buildbot_common.MakeDir(os.path.join(tc_dst_inc, 'KHR')) 335 buildbot_common.MakeDir(os.path.join(inc_path, 'KHR'))
357 buildbot_common.CopyDir( 336 buildbot_common.CopyDir(
358 os.path.join(PPAPI_DIR, 'lib', 'gl', 'include', 'KHR', '*.h'), 337 os.path.join(PPAPI_DIR, 'lib', 'gl', 'include', 'KHR', '*.h'),
359 os.path.join(tc_dst_inc, 'KHR')) 338 os.path.join(inc_path, 'KHR'))
360 339
361 # Copy the lib files 340 # Copy the lib files
362 buildbot_common.CopyDir(os.path.join(PPAPI_DIR, 'lib'), 341 buildbot_common.CopyDir(os.path.join(PPAPI_DIR, 'lib'),
363 os.path.join(tc_dst_inc, 'ppapi')) 342 os.path.join(inc_path, 'ppapi'))
343
344
345 def InstallNaClHeaders(tc_dst_inc, pepper_ver, tc_name):
346 """Copies NaCl headers to expected locations in the toolchain."""
347 if tc_name == 'arm':
348 # arm toolchain header should be the same as the x86 newlib
349 # ones
350 tc_name = 'newlib'
351 tc_map = HEADER_MAP[tc_name]
352
353 for filename in tc_map:
354 src = os.path.join(NACL_DIR, tc_map[filename])
355 dst = os.path.join(tc_dst_inc, filename)
356 buildbot_common.MakeDir(os.path.dirname(dst))
357 buildbot_common.CopyFile(src, dst)
364 358
365 359
366 def MakeNinjaRelPath(path): 360 def MakeNinjaRelPath(path):
367 return os.path.join(os.path.relpath(OUT_DIR, SRC_DIR), path) 361 return os.path.join(os.path.relpath(OUT_DIR, SRC_DIR), path)
368 362
369 363
370 def GypNinjaInstall(pepperdir, platform, toolchains): 364 def GypNinjaInstall(pepperdir, platform, toolchains):
371 build_dir = 'gypbuild' 365 build_dir = 'gypbuild'
372 ninja_out_dir = os.path.join(OUT_DIR, build_dir, 'Release') 366 ninja_out_dir = os.path.join(OUT_DIR, build_dir, 'Release')
373 # src_file, dst_file, is_host_exe? 367 # src_file, dst_file, is_host_exe?
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
539 # Run scons TC build steps 533 # Run scons TC build steps
540 if set(toolchains) & set(['glibc', 'newlib']): 534 if set(toolchains) & set(['glibc', 'newlib']):
541 GypNinjaBuild_Chrome('ia32', 'gypbuild') 535 GypNinjaBuild_Chrome('ia32', 'gypbuild')
542 536
543 if 'arm' in toolchains: 537 if 'arm' in toolchains:
544 GypNinjaBuild_Chrome('arm', 'gypbuild-arm') 538 GypNinjaBuild_Chrome('arm', 'gypbuild-arm')
545 539
546 GypNinjaInstall(pepperdir, platform, toolchains) 540 GypNinjaInstall(pepperdir, platform, toolchains)
547 541
548 if 'newlib' in toolchains: 542 if 'newlib' in toolchains:
549 InstallHeaders(GetToolchainNaClInclude('newlib', newlibdir, 'x86'), 543 InstallNaClHeaders(GetToolchainNaClInclude('newlib', newlibdir, 'x86'),
550 pepper_ver, 544 pepper_ver,
551 'newlib') 545 'newlib')
552 546
553 if 'glibc' in toolchains: 547 if 'glibc' in toolchains:
554 InstallHeaders(GetToolchainNaClInclude('glibc', glibcdir, 'x86'), 548 InstallNaClHeaders(GetToolchainNaClInclude('glibc', glibcdir, 'x86'),
555 pepper_ver, 549 pepper_ver,
556 'glibc') 550 'glibc')
557 551
558 if 'arm' in toolchains: 552 if 'arm' in toolchains:
559 tcname = platform + '_arm_newlib' 553 tcname = platform + '_arm_newlib'
560 armdir = os.path.join(pepperdir, 'toolchain', tcname) 554 armdir = os.path.join(pepperdir, 'toolchain', tcname)
561 InstallHeaders(GetToolchainNaClInclude('newlib', armdir, 'arm'), 555 InstallNaClHeaders(GetToolchainNaClInclude('newlib', armdir, 'arm'),
562 pepper_ver, 'arm') 556 pepper_ver, 'arm')
563 557
564 if 'pnacl' in toolchains: 558 if 'pnacl' in toolchains:
565 shell = platform == 'win' 559 shell = platform == 'win'
566 buildbot_common.Run( 560 buildbot_common.Run(
567 GetBuildArgs('pnacl', pnacldir, pepperdir, 'x86', '32'), 561 GetBuildArgs('pnacl', pnacldir, pepperdir, 'x86', '32'),
568 cwd=NACL_DIR, shell=shell) 562 cwd=NACL_DIR, shell=shell)
569 buildbot_common.Run( 563 buildbot_common.Run(
570 GetBuildArgs('pnacl', pnacldir, pepperdir, 'x86', '64'), 564 GetBuildArgs('pnacl', pnacldir, pepperdir, 'x86', '64'),
571 cwd=NACL_DIR, shell=shell) 565 cwd=NACL_DIR, shell=shell)
572 566
573 for arch in ('ia32', 'arm'): 567 for arch in ('ia32', 'arm'):
574 # Fill in the latest native pnacl shim library from the chrome build. 568 # Fill in the latest native pnacl shim library from the chrome build.
575 build_dir = 'gypbuild-pnacl-' + arch 569 build_dir = 'gypbuild-pnacl-' + arch
576 GypNinjaBuild_Pnacl(build_dir, arch) 570 GypNinjaBuild_Pnacl(build_dir, arch)
577 pnacl_libdir_map = { 'ia32': 'x86-64', 'arm': 'arm' } 571 pnacl_libdir_map = { 'ia32': 'x86-64', 'arm': 'arm' }
578 release_build_dir = os.path.join(OUT_DIR, build_dir, 'Release', 572 release_build_dir = os.path.join(OUT_DIR, build_dir, 'Release',
579 'gen', 'tc_pnacl_translate', 573 'gen', 'tc_pnacl_translate',
580 'lib-' + pnacl_libdir_map[arch]) 574 'lib-' + pnacl_libdir_map[arch])
581 575
582 buildbot_common.CopyFile( 576 buildbot_common.CopyFile(
583 os.path.join(release_build_dir, 'libpnacl_irt_shim.a'), 577 os.path.join(release_build_dir, 'libpnacl_irt_shim.a'),
584 GetPNaClNativeLib(pnacldir, pnacl_libdir_map[arch])) 578 GetPNaClNativeLib(pnacldir, pnacl_libdir_map[arch]))
585 579
586 InstallHeaders(GetToolchainNaClInclude('pnacl', pnacldir, 'x86'), 580 InstallNaClHeaders(GetToolchainNaClInclude('pnacl', pnacldir, 'x86'),
587 pepper_ver, 581 pepper_ver,
588 'newlib') 582 'newlib')
589 583
590 584
591 def BuildStepCopyBuildHelpers(pepperdir, platform): 585 def BuildStepCopyBuildHelpers(pepperdir, platform):
592 buildbot_common.BuildStep('Copy build helpers') 586 buildbot_common.BuildStep('Copy build helpers')
593 buildbot_common.CopyDir(os.path.join(SDK_SRC_DIR, 'tools', '*.py'), 587 buildbot_common.CopyDir(os.path.join(SDK_SRC_DIR, 'tools', '*.py'),
594 os.path.join(pepperdir, 'tools')) 588 os.path.join(pepperdir, 'tools'))
595 if platform == 'win': 589 if platform == 'win':
596 buildbot_common.BuildStep('Add MAKE') 590 buildbot_common.BuildStep('Add MAKE')
597 http_download.HttpDownload(GSTORE + MAKE, 591 http_download.HttpDownload(GSTORE + MAKE,
598 os.path.join(pepperdir, 'tools', 'make.exe')) 592 os.path.join(pepperdir, 'tools', 'make.exe'))
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
921 915
922 BuildStepCleanPepperDirs(pepperdir, pepperdir_old) 916 BuildStepCleanPepperDirs(pepperdir, pepperdir_old)
923 BuildStepMakePepperDirs(pepperdir, ['include', 'toolchain', 'tools']) 917 BuildStepMakePepperDirs(pepperdir, ['include', 'toolchain', 'tools'])
924 918
925 if not options.skip_toolchain: 919 if not options.skip_toolchain:
926 BuildStepDownloadToolchains(platform) 920 BuildStepDownloadToolchains(platform)
927 BuildStepUntarToolchains(pepperdir, platform, arch, toolchains) 921 BuildStepUntarToolchains(pepperdir, platform, arch, toolchains)
928 922
929 BuildStepCopyTextFiles(pepperdir, pepper_ver, clnumber) 923 BuildStepCopyTextFiles(pepperdir, pepper_ver, clnumber)
930 BuildStepBuildToolchains(pepperdir, platform, pepper_ver, toolchains) 924 BuildStepBuildToolchains(pepperdir, platform, pepper_ver, toolchains)
931 InstallHeaders(os.path.join(pepperdir, 'include'), None, 'libs') 925 InstallCommonHeaders(os.path.join(pepperdir, 'include'))
932 BuildStepCopyBuildHelpers(pepperdir, platform) 926 BuildStepCopyBuildHelpers(pepperdir, platform)
933 BuildStepCopyExamples(pepperdir, toolchains, options.build_experimental, True) 927 BuildStepCopyExamples(pepperdir, toolchains, options.build_experimental, True)
934 928
935 # Ship with libraries prebuilt, so run that first. 929 # Ship with libraries prebuilt, so run that first.
936 BuildStepBuildLibraries(pepperdir, platform, 'src') 930 BuildStepBuildLibraries(pepperdir, platform, 'src')
937 BuildStepGenerateNotice(pepperdir) 931 BuildStepGenerateNotice(pepperdir)
938 932
939 if not options.skip_tar: 933 if not options.skip_tar:
940 BuildStepTarBundle(pepper_ver, tarfile) 934 BuildStepTarBundle(pepper_ver, tarfile)
941 935
942 if options.run_tests: 936 if options.run_tests:
943 BuildStepRunTests() 937 BuildStepRunTests()
944 938
945 # Archive on non-trybots. 939 # Archive on non-trybots.
946 if options.archive: 940 if options.archive:
947 BuildStepArchiveBundle(pepper_ver, clnumber, tarfile) 941 BuildStepArchiveBundle(pepper_ver, clnumber, tarfile)
948 BuildStepArchiveSDKTools() 942 BuildStepArchiveSDKTools()
949 943
950 return 0 944 return 0
951 945
952 946
953 if __name__ == '__main__': 947 if __name__ == '__main__':
954 sys.exit(main(sys.argv)) 948 sys.exit(main(sys.argv))
OLDNEW
« no previous file with comments | « no previous file | native_client_sdk/src/libraries/ppapi_cpp/library.dsc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698