39,60c39,61
< optparser.add_option('-v', '--verbose', dest='verbose', action='store_true',
< default=False,
< help='echo commands before executing')
< optparser.add_option('--builds', dest='builds',
< default='ALPHA_SE,ALPHA_SE_MOESI_hammer,' \
< 'ALPHA_SE_MESI_CMP_directory,' \
< 'ALPHA_SE_MOESI_CMP_directory,' \
< 'ALPHA_SE_MOESI_CMP_token,' \
< 'ALPHA_FS,MIPS_SE,' \
< 'POWER_SE,SPARC_SE,SPARC_FS,X86_SE,ARM_SE',
< help='comma-separated list of build targets to test '
< " (default: '%default')" )
< optparser.add_option('--variants', dest='variants',
< default='fast',
< help='comma-separated list of build variants to test '
< " (default: '%default')" )
< optparser.add_option('--scons-opts', dest='scons_opts', default='',
< help='scons options', metavar='OPTS')
< optparser.add_option('-j', '--jobs', type='int', default=1,
< help='number of parallel jobs to use')
< optparser.add_option('-k', '--keep-going', action='store_true',
< help='keep going after errors')
---
> add_option = optparser.add_option
> add_option('-v', '--verbose', dest='verbose', action='store_true',
> default=False,
> help='echo commands before executing')
> add_option('--builds', dest='builds',
> default='ALPHA_SE,ALPHA_SE_MOESI_hammer,' \
> 'ALPHA_SE_MESI_CMP_directory,' \
> 'ALPHA_SE_MOESI_CMP_directory,' \
> 'ALPHA_SE_MOESI_CMP_token,' \
> 'ALPHA_FS,MIPS_SE,POWER_SE,SPARC_SE,SPARC_FS,X86_SE,ARM_SE',
> help="comma-separated build targets to test (default: '%default')")
> add_option('--variants', dest='variants', default='fast',
> help="comma-separated build variants to test (default: '%default')")
> add_option('--scons-opts', dest='scons_opts', default='', metavar='OPTS',
> help='scons options')
> add_option('-j', '--jobs', type='int', default=1,
> help='number of parallel jobs to use')
> add_option('-k', '--keep-going', action='store_true',
> help='keep going after errors')
> add_option('-D', '--build-dir', default='',
> help='build directory location')
> add_option('-n', "--no-exec", default=False, action='store_true',
> help="don't actually invoke scons, just echo SCons command line")
68a70,71
> options.build_dir = os.path.join(options.build_dir, 'build')
>
94c97
< targets = ['build/%s/m5.%s' % (build, variant)
---
> targets = ['%s/%s/m5.%s' % (options.build_dir, build, variant)
98c101
< targets = ['build/%s/tests/%s' % (build, variant)
---
> targets = ['%s/%s/tests/%s' % (options.build_dir, build, variant)
106c109
< targets = ['build/%s/tests/%s/%s' % (build, variant, test)
---
> targets = ['%s/%s/tests/%s/%s' % (options.build_dir, build, variant, test)
110a114,127
> def cpu_count():
> if 'bsd' in sys.platform or sys.platform == 'darwin':
> try:
> return int(os.popen('sysctl -n hw.ncpu').read())
> except ValueError:
> pass
> else:
> try:
> return os.sysconf('SC_NPROCESSORS_ONLN')
> except (ValueError, OSError, AttributeError):
> pass
>
> raise NotImplementedError('cannot determine number of cpus')
>
112a130,131
> if options.jobs == 0:
> options.jobs = cpu_count()
117,119c136,141
< system('scons IGNORE_STYLE=True %s %s' % (scons_opts, ' '.join(targets)))
<
< sys.exit(0)
---
> cmd = 'scons IGNORE_STYLE=True %s %s' % (scons_opts, ' '.join(targets))
> if options.no_exec:
> print cmd
> else:
> system(cmd)
> sys.exit(0)