SConstruct (2716:b9114064d77a) SConstruct (2733:e0eac8fc5774)
1# -*- mode:python -*-
2
3# Copyright (c) 2004-2005 The Regents of The University of Michigan
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions are
8# met: redistributions of source code must retain the above copyright

--- 246 unchanged lines hidden (view full) ---

255
256env = conf.Finish()
257
258# Define the universe of supported ISAs
259env['ALL_ISA_LIST'] = ['alpha', 'sparc', 'mips']
260
261# Define the universe of supported CPU models
262env['ALL_CPU_LIST'] = ['AtomicSimpleCPU', 'TimingSimpleCPU',
1# -*- mode:python -*-
2
3# Copyright (c) 2004-2005 The Regents of The University of Michigan
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions are
8# met: redistributions of source code must retain the above copyright

--- 246 unchanged lines hidden (view full) ---

255
256env = conf.Finish()
257
258# Define the universe of supported ISAs
259env['ALL_ISA_LIST'] = ['alpha', 'sparc', 'mips']
260
261# Define the universe of supported CPU models
262env['ALL_CPU_LIST'] = ['AtomicSimpleCPU', 'TimingSimpleCPU',
263 'FullCPU', 'AlphaFullCPU',
264 'OzoneSimpleCPU', 'OzoneCPU', 'CheckerCPU']
263 'FullCPU', 'AlphaO3CPU',
264 'OzoneSimpleCPU', 'OzoneCPU']
265
266# Sticky options get saved in the options file so they persist from
267# one invocation to the next (unless overridden, in which case the new
268# value becomes sticky).
269sticky_opts = Options(args=ARGUMENTS)
270sticky_opts.AddOptions(
271 EnumOption('TARGET_ISA', 'Target ISA', 'alpha', env['ALL_ISA_LIST']),
272 BoolOption('FULL_SYSTEM', 'Full-system support', False),

--- 11 unchanged lines hidden (view full) ---

284 BoolOption('SS_COMPATIBLE_FP',
285 'Make floating-point results compatible with SimpleScalar',
286 False),
287 BoolOption('USE_SSE2',
288 'Compile for SSE2 (-msse2) to get IEEE FP on x86 hosts',
289 False),
290 BoolOption('USE_MYSQL', 'Use MySQL for stats output', have_mysql),
291 BoolOption('USE_FENV', 'Use <fenv.h> IEEE mode control', have_fenv),
265
266# Sticky options get saved in the options file so they persist from
267# one invocation to the next (unless overridden, in which case the new
268# value becomes sticky).
269sticky_opts = Options(args=ARGUMENTS)
270sticky_opts.AddOptions(
271 EnumOption('TARGET_ISA', 'Target ISA', 'alpha', env['ALL_ISA_LIST']),
272 BoolOption('FULL_SYSTEM', 'Full-system support', False),

--- 11 unchanged lines hidden (view full) ---

284 BoolOption('SS_COMPATIBLE_FP',
285 'Make floating-point results compatible with SimpleScalar',
286 False),
287 BoolOption('USE_SSE2',
288 'Compile for SSE2 (-msse2) to get IEEE FP on x86 hosts',
289 False),
290 BoolOption('USE_MYSQL', 'Use MySQL for stats output', have_mysql),
291 BoolOption('USE_FENV', 'Use <fenv.h> IEEE mode control', have_fenv),
292 BoolOption('USE_CHECKER', 'Use checker for detailed CPU models', False),
292 ('CC', 'C compiler', os.environ.get('CC', env['CC'])),
293 ('CXX', 'C++ compiler', os.environ.get('CXX', env['CXX'])),
294 BoolOption('BATCH', 'Use batch pool for build and tests', False),
295 ('BATCH_CMD', 'Batch pool submission command name', 'qdo')
296 )
297
298# Non-sticky options only apply to the current build.
299nonsticky_opts = Options(args=ARGUMENTS)
300nonsticky_opts.AddOptions(
301 BoolOption('update_ref', 'Update test reference outputs', False)
302 )
303
304# These options get exported to #defines in config/*.hh (see m5/SConscript).
305env.ExportOptions = ['FULL_SYSTEM', 'ALPHA_TLASER', 'USE_FENV', \
293 ('CC', 'C compiler', os.environ.get('CC', env['CC'])),
294 ('CXX', 'C++ compiler', os.environ.get('CXX', env['CXX'])),
295 BoolOption('BATCH', 'Use batch pool for build and tests', False),
296 ('BATCH_CMD', 'Batch pool submission command name', 'qdo')
297 )
298
299# Non-sticky options only apply to the current build.
300nonsticky_opts = Options(args=ARGUMENTS)
301nonsticky_opts.AddOptions(
302 BoolOption('update_ref', 'Update test reference outputs', False)
303 )
304
305# These options get exported to #defines in config/*.hh (see m5/SConscript).
306env.ExportOptions = ['FULL_SYSTEM', 'ALPHA_TLASER', 'USE_FENV', \
306 'USE_MYSQL', 'NO_FAST_ALLOC', 'SS_COMPATIBLE_FP']
307 'USE_MYSQL', 'NO_FAST_ALLOC', 'SS_COMPATIBLE_FP', \
308 'USE_CHECKER']
307
308# Define a handy 'no-op' action
309def no_action(target, source, env):
310 return 0
311
312env.NoAction = Action(no_action, None)
313
314###################################################

--- 150 unchanged lines hidden (view full) ---

465 print "Warning: MySQL not available; " \
466 "forcing USE_MYSQL to False in", build_dir + "."
467 env['USE_MYSQL'] = False
468 else:
469 print "Compiling in", build_dir, "with MySQL support."
470 env.ParseConfig(mysql_config_libs)
471 env.ParseConfig(mysql_config_include)
472
309
310# Define a handy 'no-op' action
311def no_action(target, source, env):
312 return 0
313
314env.NoAction = Action(no_action, None)
315
316###################################################

--- 150 unchanged lines hidden (view full) ---

467 print "Warning: MySQL not available; " \
468 "forcing USE_MYSQL to False in", build_dir + "."
469 env['USE_MYSQL'] = False
470 else:
471 print "Compiling in", build_dir, "with MySQL support."
472 env.ParseConfig(mysql_config_libs)
473 env.ParseConfig(mysql_config_include)
474
475 # Check if the Checker is being used. If so append it to env['CPU_MODELS']
476 if env['USE_CHECKER']:
477 env['CPU_MODELS'].append('CheckerCPU')
478
473 # Save sticky option settings back to current options file
474 sticky_opts.Save(current_opts_file, env)
475
476 # Do this after we save setting back, or else we'll tack on an
477 # extra 'qdo' every time we run scons.
478 if env['BATCH']:
479 env['CC'] = env['BATCH_CMD'] + ' ' + env['CC']
480 env['CXX'] = env['BATCH_CMD'] + ' ' + env['CXX']

--- 25 unchanged lines hidden ---
479 # Save sticky option settings back to current options file
480 sticky_opts.Save(current_opts_file, env)
481
482 # Do this after we save setting back, or else we'll tack on an
483 # extra 'qdo' every time we run scons.
484 if env['BATCH']:
485 env['CC'] = env['BATCH_CMD'] + ' ' + env['CC']
486 env['CXX'] = env['BATCH_CMD'] + ' ' + env['CXX']

--- 25 unchanged lines hidden ---