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

Unified Diff: chrome/build_nacl_irt.py

Issue 7685042: Switching IRT to be built inside the chrome build. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 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 side-by-side diff with in-line comments
Download patch
« DEPS ('K') | « DEPS ('k') | chrome/nacl.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/build_nacl_irt.py
===================================================================
--- chrome/build_nacl_irt.py (revision 97773)
+++ chrome/build_nacl_irt.py (working copy)
@@ -3,6 +3,17 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
noelallen_use_chromium 2011/08/23 21:42:05 Clean out plz.
bradn 2011/08/23 21:53:48 Done.
+#import sys
Mark Seaborn 2011/08/23 21:42:21 Don't forget to remove this.
bradn 2011/08/23 21:53:48 Done.
+#sys.stderr.write('AAAAAAA\n')
+#import os
+#print os.isatty(0)
+#print os.isatty(1)
+#print os.isatty(2)
+#print "here"
+#sys.stdout.flush()
+#import readline
+#sys.stderr.write('BBBBBBB\n')
+
import optparse
import os
import re
@@ -79,11 +90,16 @@
filename = GPU_CMD_BUFFER_DIR + filename[len(NACL_CMD_BUFFER_DIR):]
inputs.add(filename)
# Check that everything exists and make it script relative.
+ # Exclude things above SRC_DIR.
rel_inputs = set()
for f in inputs:
nf = os.path.join(NACL_DIR, f)
if not os.path.exists(nf):
raise Exception('missing input file "%s"' % nf)
+ # If the relative path from SRC_DIR to the file starts with ../ ignore it.
+ # (i.e. the file is outside the client).
+ if RelativePath(nf, SRC_DIR).startswith('..' + os.sep):
+ continue
rel_inputs.add(RelativePath(nf, SCRIPT_DIR))
# Print it sorted.
rel_inputs = sorted(list(rel_inputs))
@@ -98,6 +114,8 @@
platforms: list of platform names to build for.
out_dir: directory to output the IRT to.
"""
+ # Make out_dir absolute.
+ out_dir = os.path.abspath(out_dir)
# Clean.
scons_out = os.path.join(NACL_DIR, 'scons-out')
if os.path.exists(scons_out):
@@ -110,7 +128,15 @@
'scons-out/nacl_irt-' + platform + '/staging/irt.nexe',
]
print 'Running: ' + ' '.join(cmd)
- p = subprocess.Popen(cmd, cwd=NACL_DIR)
+ os.chdir(NACL_DIR)
+ # Work around the fact that python's readline module (used by scons),
+ # attempts to alter file handle state on stdin in a way that blocks if
+ # a process is not the primary owner of a terminal on OSX.
Mark Seaborn 2011/08/23 21:42:21 "not a member of a foreground job on a tty"? e.g.
bradn 2011/08/23 21:53:48 Done.
+ if sys.platform == 'darwin':
+ devnull = open(os.devnull, 'rb').fileno()
Mark Seaborn 2011/08/23 21:42:21 open(os.devnull, 'rb').fileno() is wrong: the file
bradn 2011/08/23 21:53:48 Done.
+ else:
+ devnull = None
+ p = subprocess.Popen(cmd, cwd=NACL_DIR, stdin=devnull)
Mark Seaborn 2011/08/23 21:42:21 Use either cwd= or chdir() but not both?
bradn 2011/08/23 21:53:48 Done.
p.wait()
if p.returncode != 0:
sys.exit(3)
Property changes on: chrome/build_nacl_irt.py
___________________________________________________________________
Added: svn:executable
+ *
« DEPS ('K') | « DEPS ('k') | chrome/nacl.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698