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

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

Issue 10539082: Add DSC files for the various examples. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 6 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
===================================================================
--- native_client_sdk/src/build_tools/build_sdk.py (revision 141376)
+++ native_client_sdk/src/build_tools/build_sdk.py (working copy)
@@ -17,6 +17,7 @@
# std python includes
+import generate_make
import optparse
import os
import platform
@@ -55,29 +56,6 @@
CYGTAR = os.path.join(NACL_DIR, 'build', 'cygtar.py')
-def AddMakeBat(pepperdir, makepath):
- """Create a simple batch file to execute Make.
-
- Creates a simple batch file named make.bat for the Windows platform at the
- given path, pointing to the Make executable in the SDK."""
-
- makepath = os.path.abspath(makepath)
- if not makepath.startswith(pepperdir):
- buildbot_common.ErrorExit('Make.bat not relative to Pepper directory: ' +
- makepath)
-
- makeexe = os.path.abspath(os.path.join(pepperdir, 'tools'))
- relpath = os.path.relpath(makeexe, makepath)
-
- fp = open(os.path.join(makepath, 'make.bat'), 'wb')
- outpath = os.path.join(relpath, 'make.exe')
-
- # Since make.bat is only used by Windows, for Windows path style
- outpath = outpath.replace(os.path.sep, '\\')
- fp.write('@%s %%*\n' % outpath)
- fp.close()
-
-
def BuildOutputDir(*paths):
return os.path.join(OUT_DIR, *paths)
@@ -369,47 +347,13 @@
],
'glibc': [
'dlopen',
- 'hello_world_glibc',
],
'pnacl': [
'hello_world_pnacl',
],
}
-def GenerateExamplesMakefile(in_path, out_path, examples):
- """Generate a Makefile that includes only the examples supported by this
- SDK."""
- # Line wrap the PROJECTS variable
- wrap_width = 80
- projects_text = ''
- projects_line = 'PROJECTS:='
- for example in examples:
- if len(projects_line + example + ' ') > wrap_width:
- projects_text += projects_line + '\n'
- projects_line = 'PROJECTS+='
- projects_line += example + ' '
- # Add the last unwrapped line
- projects_text += projects_line + '\n'
-
- out_makefile_text = ''
- wrote_projects_text = False
- snipping = False
- for line in open(in_path, 'r'):
- if line.startswith('# =SNIP='):
- snipping = not snipping
- continue
-
- if snipping:
- if not wrote_projects_text:
- out_makefile_text += projects_text
- wrote_projects_text = True
- else:
- out_makefile_text += line
-
- open(out_path, 'w').write(out_makefile_text)
-
-
def CopyExamples(pepperdir, toolchains):
buildbot_common.BuildStep('Copy examples')
@@ -421,7 +365,6 @@
exampledir = os.path.join(pepperdir, 'examples')
buildbot_common.RemoveDir(exampledir)
buildbot_common.MakeDir(exampledir)
- AddMakeBat(pepperdir, exampledir)
# Copy individual files
files = ['favicon.ico', 'httpd.cmd', 'httpd.py', 'index.html']
@@ -432,15 +375,14 @@
examples = []
for tc in toolchains:
examples.extend(EXAMPLE_MAP[tc])
+
+ print 'Process: ' + ' '.join(examples)
+ args = ['--dstroot=%s' % pepperdir, '--master']
for example in examples:
- buildbot_common.CopyDir(os.path.join(SDK_EXAMPLE_DIR, example), exampledir)
- AddMakeBat(pepperdir, os.path.join(exampledir, example))
+ dsc = os.path.join(SDK_EXAMPLE_DIR, example, 'example.dsc')
+ args.append(dsc)
+ generate_make.main(args)
- # Generate a root Makefile that only includes supported examples
- out_makefile = os.path.join(exampledir, 'Makefile')
- print 'Generating %s' % (out_makefile,)
- GenerateExamplesMakefile(os.path.join(SDK_EXAMPLE_DIR, 'Makefile'),
- out_makefile, examples)
def main(args):
parser = optparse.OptionParser()

Powered by Google App Engine
This is Rietveld 408576698