blob: fb4321ff4ee275820e436adef090c46511c328f8 [file] [log] [blame]
#!/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()