summaryrefslogtreecommitdiffstats
path: root/ppapi
diff options
context:
space:
mode:
authordyen@chromium.org <dyen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-15 18:29:29 +0000
committerdyen@chromium.org <dyen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-15 18:29:29 +0000
commit3169d314dc974f01cbf39a9d5dc66b2a533cc57a (patch)
treebb7d5bd054f76a77abde711b2f0daf60942a7f0a /ppapi
parent1fb6cb3711616c2478deb91e1ae3b6264f148fb4 (diff)
downloadchromium_src-3169d314dc974f01cbf39a9d5dc66b2a533cc57a.zip
chromium_src-3169d314dc974f01cbf39a9d5dc66b2a533cc57a.tar.gz
chromium_src-3169d314dc974f01cbf39a9d5dc66b2a533cc57a.tar.bz2
Removed dependency of native_client/toolchain from chromium pnacl support.
R=dschuff@chromium.org, jvoung@chromium.org BUG= https://code.google.com/p/nativeclient/issues/detail?id=3816 Review URL: https://codereview.chromium.org/235923011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263935 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi')
-rwxr-xr-xppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_component_crx_gen.py30
-rw-r--r--ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_support_extension.gyp27
2 files changed, 47 insertions, 10 deletions
diff --git a/ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_component_crx_gen.py b/ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_component_crx_gen.py
index de416e0..db0a143 100755
--- a/ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_component_crx_gen.py
+++ b/ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_component_crx_gen.py
@@ -8,8 +8,7 @@
the result can then be packed into a multi-CRX zip file.
This script depends on and pulls in the translator nexes and libraries
- from the toolchain directory (so that must be downloaded first) and
- it depends on the pnacl_irt_shim.
+ from the PNaCl translator. It also depends on the pnacl_irt_shim.
"""
import json
@@ -180,12 +179,16 @@ class PnaclPackaging(object):
######################################################################
class PnaclDirs(object):
- toolchain_dir = J(NACL_ROOT, 'toolchain')
- output_dir = J(toolchain_dir, 'pnacl-package')
+ translator_dir = None
+ output_dir = None
+
+ @staticmethod
+ def SetTranslatorRoot(d):
+ PnaclDirs.translator_dir = d
@staticmethod
def TranslatorRoot():
- return J(PnaclDirs.toolchain_dir, 'pnacl_translator')
+ return PnaclDirs.translator_dir
@staticmethod
def LibDir(target_arch):
@@ -193,8 +196,7 @@ class PnaclDirs(object):
@staticmethod
def SandboxedCompilerDir(target_arch):
- return J(PnaclDirs.toolchain_dir,
- 'pnacl_translator', StandardArch(target_arch), 'bin')
+ return J(PnaclDirs.TranslatorRoot(), StandardArch(target_arch), 'bin')
@staticmethod
def SetOutputDir(d):
@@ -256,6 +258,9 @@ def CopyFlattenDirsAndPrefix(src_dir, arch, dest_dir):
When copying, also rename the files such that they match the white-listing
pattern in chrome/browser/nacl_host/nacl_file_host.cc.
"""
+ if not os.path.isdir(src_dir):
+ raise Exception('Copy dir failed, directory does not exist: %s' % src_dir)
+
for (root, dirs, files) in os.walk(src_dir, followlinks=True):
for f in files:
# Assume a flat directory.
@@ -331,6 +336,8 @@ def Main():
help='Path of the info template file')
parser.add_option('--tool_revisions_path', dest='tool_revisions_path',
default=None, help='Location of NaCl TOOL_REVISIONS file.')
+ parser.add_option('--pnacl_translator_path', dest='pnacl_translator_path',
+ default=None, help='Location of PNaCl translator.')
parser.add_option('-v', '--verbose', dest='verbose', default=False,
action='store_true',
help='Print verbose debug messages.')
@@ -344,12 +351,17 @@ def Main():
% (options, args))
# Set destination directory before doing any cleaning, etc.
- if options.dest:
- PnaclDirs.SetOutputDir(options.dest)
+ if options.dest is None:
+ raise Exception('Destination path must be set.')
+ PnaclDirs.SetOutputDir(options.dest)
if options.clean:
Clean()
+ if options.pnacl_translator_path is None:
+ raise Exception('PNaCl translator path must be set.')
+ PnaclDirs.SetTranslatorRoot(options.pnacl_translator_path)
+
if options.info_template_path:
PnaclPackaging.SetPnaclInfoTemplatePath(options.info_template_path)
diff --git a/ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_support_extension.gyp b/ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_support_extension.gyp
index 0cd6ed8..af1dec14 100644
--- a/ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_support_extension.gyp
+++ b/ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_support_extension.gyp
@@ -10,6 +10,29 @@
],
'targets': [
{
+ 'target_name': 'untar_pnacl_translator',
+ 'type': 'none',
+ 'actions': [{
+ 'action_name': 'Untar pnacl_translator',
+ 'description': 'Untar pnacl_translator',
+ 'inputs': [
+ '<(DEPTH)/native_client/build/cygtar.py',
+ '<(DEPTH)/native_client/toolchain/.tars/naclsdk_pnacl_translator.tgz',
+ ],
+ 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/pnacl_translator/stamp.untar'],
+ 'action': [
+ 'python',
+ '<(DEPTH)/native_client/build/untar_toolchain.py',
+ '--tool', 'pnacl',
+ '--tmp', '<(SHARED_INTERMEDIATE_DIR)/temp/untar',
+ '--sdk', '<(SHARED_INTERMEDIATE_DIR)/temp/sdk',
+ '--os', '<(OS)',
+ '--fin', '<(SHARED_INTERMEDIATE_DIR)/pnacl_translator',
+ '<(DEPTH)/native_client/toolchain/.tars/naclsdk_pnacl_translator.tgz',
+ ],
+ }],
+ },
+ {
'target_name': 'pnacl_support_extension',
'type': 'none',
'conditions': [
@@ -17,6 +40,7 @@
'dependencies': [
'../../../../../ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:pnacl_irt_shim_browser',
'../../../../../native_client/tools.gyp:prep_toolchain',
+ 'untar_pnacl_translator',
],
'sources': [
'pnacl_component_crx_gen.py',
@@ -29,7 +53,7 @@
'inputs': [
'pnacl_component_crx_gen.py',
# A stamp file representing the contents of pnacl_translator.
- '<(DEPTH)/native_client/toolchain/<(OS)_x86/pnacl_translator/SOURCE_SHA1',
+ '<(SHARED_INTERMEDIATE_DIR)/pnacl_translator/stamp.untar',
'<(DEPTH)/native_client/pnacl/driver/pnacl_info_template.json',
'<(DEPTH)/native_client/TOOL_REVISIONS',
],
@@ -161,6 +185,7 @@
'<@(lib_overrides)',
'--target_arch=<(target_arch)',
'--info_template_path=<(DEPTH)/native_client/pnacl/driver/pnacl_info_template.json',
+ '--pnacl_translator_path=<(SHARED_INTERMEDIATE_DIR)/pnacl_translator',
'--tool_revisions_path=<(DEPTH)/native_client/TOOL_REVISIONS',
# ABI Version Number.
'1',