Index: pydir/szbuild_spec2k.py |
diff --git a/pydir/szbuild_spec2k.py b/pydir/szbuild_spec2k.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..fb4321ff4ee275820e436adef090c46511c328f8 |
--- /dev/null |
+++ b/pydir/szbuild_spec2k.py |
@@ -0,0 +1,46 @@ |
+#!/usr/bin/env python2 |
+ |
+import argparse |
+import os |
+import sys |
+ |
+import szbuild |
+ |
+from utils import FindBaseNaCl |
+ |
+def main(): |
+ """Build native gcc-style executables for one or all Spec2K components. |
+ |
+ Afterwards, the executables can be run from the |
+ native_client/tests/spec2k/ directory as: |
+ './run_all.sh RunBenchmarks SetupGccX8632Opt {train|ref} ...' |
+ """ |
+ nacl_root = FindBaseNaCl() |
+ components = [ '164.gzip', '175.vpr', '176.gcc', '177.mesa', '179.art', |
+ '181.mcf', '183.equake', '186.crafty', '188.ammp', |
+ '197.parser', '252.eon', '253.perlbmk', '254.gap', |
+ '255.vortex', '256.bzip2', '300.twolf' ] |
+ |
+ argparser = argparse.ArgumentParser(description=main.__doc__) |
+ szbuild.AddOptionalArgs(argparser) |
+ argparser.add_argument('comps', nargs='*', default=components) |
+ args = argparser.parse_args() |
+ bad = set(args.comps) - set(components) |
+ if bad: |
+ print 'Unknown component{s}: '.format(s='s' if len(bad) > 1 else '') + \ |
+ ' '.join(x for x in bad) |
+ sys.exit(1) |
+ for comp in args.comps: |
+ name = os.path.splitext(comp)[1] or comp |
+ if name[0] == '.': |
+ name = name[1:] |
+ szbuild.ProcessPexe(args, |
+ ('{root}/tests/spec2k/{comp}/' + |
+ '{name}.opt.stripped.pexe' |
+ ).format(root=nacl_root, comp=comp, name=name), |
+ ('{root}/tests/spec2k/{comp}/' + |
+ '{name}.gcc.opt.x8632' |
+ ).format(root=nacl_root, comp=comp, name=name)) |
+ |
+if __name__ == '__main__': |
+ main() |