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

Unified Diff: native_client_sdk/src/build_tools/build_sdk.py

Issue 247143007: Revert of SDK building script now uses package_version to extract. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: native_client_sdk/src/build_tools/build_sdk.py
diff --git a/native_client_sdk/src/build_tools/build_sdk.py b/native_client_sdk/src/build_tools/build_sdk.py
index 1d8086f00e89db51b67c2649821e27df22afba39..e90a142708479621dc24d168617a01cba2eddae6 100755
--- a/native_client_sdk/src/build_tools/build_sdk.py
+++ b/native_client_sdk/src/build_tools/build_sdk.py
@@ -49,12 +49,7 @@
import getos
import oshelpers
-BUILD_DIR = os.path.join(NACL_DIR, 'build')
-NACL_TOOLCHAIN_DIR = os.path.join(NACL_DIR, 'toolchain')
-NACL_TOOLCHAINTARS_DIR = os.path.join(NACL_TOOLCHAIN_DIR, '.tars')
-
-CYGTAR = os.path.join(BUILD_DIR, 'cygtar.py')
-PKGVER = os.path.join(BUILD_DIR, 'package_version', 'package_version.py')
+CYGTAR = os.path.join(NACL_DIR, 'build', 'cygtar.py')
NACLPORTS_URL = 'https://naclports.googlecode.com/svn/trunk/src'
NACLPORTS_REV = 1226
@@ -63,14 +58,29 @@
options = None
- # Map of: ToolchainName: (PackageName, SDKDir).
-TOOLCHAIN_PACKAGE_MAP = {
- 'newlib': ('nacl_x86_newlib', '%(platform)s_x86_newlib'),
- 'bionic': ('nacl_arm_bionic', '%(platform)s_arm_bionic'),
- 'arm': ('nacl_arm_newlib', '%(platform)s_arm_newlib'),
- 'glibc': ('nacl_x86_glibc', '%(platform)s_x86_glibc'),
- 'pnacl': ('pnacl_newlib', '%(platform)s_pnacl')
- }
+
+def GetGlibcToolchain():
+ tcdir = os.path.join(NACL_DIR, 'toolchain', '.tars')
+ tcname = 'toolchain_%s_x86.tar.bz2' % getos.GetPlatform()
+ return os.path.join(tcdir, tcname)
+
+
+def GetNewlibToolchain():
+ tcdir = os.path.join(NACL_DIR, 'toolchain', '.tars')
+ tcname = 'naclsdk_%s_x86.tgz' % getos.GetPlatform()
+ return os.path.join(tcdir, tcname)
+
+
+def GetBionicToolchain():
+ tcdir = os.path.join(NACL_DIR, 'toolchain', '.tars')
+ tcname = 'naclsdk_%s_arm_bionic.tgz' % getos.GetPlatform()
+ return os.path.join(tcdir, tcname)
+
+
+def GetPNaClToolchain():
+ tcdir = os.path.join(NACL_DIR, 'toolchain', '.tars')
+ tcname = 'naclsdk_pnacl_%s_x86.tgz' % getos.GetPlatform()
+ return os.path.join(tcdir, tcname)
def GetToolchainNaClInclude(tcname, tcpath, arch):
@@ -121,14 +131,8 @@
def GetGypToolchainLib(tcname, xarch):
- if xarch == 'arm':
- toolchain = xarch
- else:
- toolchain = tcname
-
- tcpath = os.path.join(GetGypGenDir(xarch), 'sdk',
- '%s_x86' % getos.GetPlatform(),
- TOOLCHAIN_PACKAGE_MAP[toolchain][0])
+ tcpath = os.path.join(GetGypGenDir(xarch), 'sdk', 'toolchain',
+ GetToolchainDirName(tcname, xarch))
return GetToolchainNaClLib(tcname, tcpath, xarch)
@@ -145,12 +149,12 @@
def BuildStepDownloadToolchains(toolchains):
- buildbot_common.BuildStep('Running package_version.py')
- args = [sys.executable, PKGVER, '--exclude', 'arm_trusted']
+ buildbot_common.BuildStep('Running download_toolchains.py')
+ download_script = os.path.join('build', 'download_toolchains.py')
+ args = [sys.executable, download_script, '--no-arm-trusted',
+ '--arm-untrusted', '--keep']
if 'bionic' in toolchains:
- build_platform = '%s_x86' % getos.GetPlatform()
- args.extend(['--append', os.path.join(build_platform, 'nacl_arm_bionic')])
- args.append('sync')
+ args.append('--allow-bionic')
buildbot_common.Run(args, cwd=NACL_DIR)
@@ -195,39 +199,66 @@
def BuildStepUntarToolchains(pepperdir, toolchains):
buildbot_common.BuildStep('Untar Toolchains')
platform = getos.GetPlatform()
- build_platform = '%s_x86' % platform
tmpdir = os.path.join(OUT_DIR, 'tc_temp')
buildbot_common.RemoveDir(tmpdir)
buildbot_common.MakeDir(tmpdir)
- # Create a list of extract packages tuples, the first part should be
- # "$PACKAGE_TARGET/$PACKAGE". The second part should be the destination
- # directory relative to pepperdir/toolchain.
- extract_packages = []
- for toolchain in toolchains:
- toolchain_map = TOOLCHAIN_PACKAGE_MAP.get(toolchain, None)
- if toolchain_map:
- package_name, tcname = toolchain_map
- package_tuple = (os.path.join(build_platform, package_name),
- tcname % {'platform': platform})
- extract_packages.append(package_tuple)
-
- if extract_packages:
- # Extract all of the packages into the temp directory.
- package_names = [package_tuple[0] for package_tuple in extract_packages]
- buildbot_common.Run([sys.executable, PKGVER,
- '--packages', ','.join(package_names),
- '--tar-dir', NACL_TOOLCHAINTARS_DIR,
- '--dest-dir', tmpdir,
- 'extract'])
-
- # Move all the packages we extracted to the correct destination.
- for package_name, dest_dir in extract_packages:
- full_src_dir = os.path.join(tmpdir, package_name)
- full_dst_dir = os.path.join(pepperdir, 'toolchain', dest_dir)
- buildbot_common.Move(full_src_dir, full_dst_dir)
-
- # Cleanup the temporary directory we are no longer using.
+ if 'newlib' in toolchains:
+ # Untar the newlib toolchains
+ tarfile = GetNewlibToolchain()
+ buildbot_common.Run([sys.executable, CYGTAR, '-C', tmpdir, '-xf', tarfile],
+ cwd=NACL_DIR)
+
+ # Then rename/move it to the pepper toolchain directory
+ srcdir = os.path.join(tmpdir, 'sdk', 'nacl-sdk')
+ tcname = platform + '_x86_newlib'
+ newlibdir = os.path.join(pepperdir, 'toolchain', tcname)
+ buildbot_common.Move(srcdir, newlibdir)
+
+ if 'bionic' in toolchains:
+ # Untar the bionic toolchains
+ tarfile = GetBionicToolchain()
+ tcname = platform + '_arm_bionic'
+ buildbot_common.Run([sys.executable, CYGTAR, '-C', tmpdir, '-xf', tarfile],
+ cwd=NACL_DIR)
+ srcdir = os.path.join(tmpdir, tcname)
+ bionicdir = os.path.join(pepperdir, 'toolchain', tcname)
+ buildbot_common.Move(srcdir, bionicdir)
+
+ if 'arm' in toolchains:
+ # Copy the existing arm toolchain from native_client tree
+ tcname = platform + '_arm_newlib'
+ arm_toolchain = os.path.join(NACL_DIR, 'toolchain', '%s_x86' % platform,
+ 'nacl_arm_newlib' )
+ arm_toolchain_sdk = os.path.join(pepperdir, 'toolchain', tcname)
+ buildbot_common.CopyDir(arm_toolchain, arm_toolchain_sdk)
+
+ if 'glibc' in toolchains:
+ # Untar the glibc toolchains
+ tarfile = GetGlibcToolchain()
+ tcname = platform + '_x86_glibc'
+ buildbot_common.Run([sys.executable, CYGTAR, '-C', tmpdir, '-xf', tarfile],
+ cwd=NACL_DIR)
+
+ # Then rename/move it to the pepper toolchain directory
+ srcdir = os.path.join(tmpdir, 'toolchain', platform + '_x86')
+ glibcdir = os.path.join(pepperdir, 'toolchain', tcname)
+ buildbot_common.Move(srcdir, glibcdir)
+
+ # Untar the pnacl toolchains
+ if 'pnacl' in toolchains:
+ tmpdir = os.path.join(tmpdir, 'pnacl')
+ buildbot_common.RemoveDir(tmpdir)
+ buildbot_common.MakeDir(tmpdir)
+ tarfile = GetPNaClToolchain()
+ tcname = platform + '_pnacl'
+ buildbot_common.Run([sys.executable, CYGTAR, '-C', tmpdir, '-xf', tarfile],
+ cwd=NACL_DIR)
+
+ # Then rename/move it to the pepper toolchain directory
+ pnacldir = os.path.join(pepperdir, 'toolchain', tcname)
+ buildbot_common.Move(tmpdir, pnacldir)
+
buildbot_common.RemoveDir(tmpdir)

Powered by Google App Engine
This is Rietveld 408576698