('BATCH', 'Use batch pool for build and tests', False),
('BATCH_CMD', 'Batch pool submission command name', 'qdo'),
('EXTRAS', 'Add Extra directories to the compilation', '',
- PathListAllExist, PathListMakeAbsolute)
- )
+ PathListAllExist, PathListMakeAbsolute),
+ BoolVariable('RUBY', 'Build with Ruby', False),
+ )
# base help text
help_text = '''
SimObject('Bus.py')
SimObject('MemObject.py')
SimObject('PhysicalMemory.py')
-SimObject('RubyMemory.py')
+
+if env['RUBY']:
+ SimObject('RubyMemory.py')
Source('bridge.cc')
Source('bus.cc')
Source('port.cc')
Source('tport.cc')
Source('mport.cc')
-Source('rubymem.cc')
+
+if env['RUBY']:
+ Source('rubymem.cc')
if env['FULL_SYSTEM']:
Source('vport.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
#benv['LEXCOM'] = "$LEX $LEXFLAGS -o$TARGET $SOURCES"
benv = env.Clone()
benv.Append(YACCFLAGS=["-pat"])
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('confio.cc')
Source('initvar.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
slicc_dir = Dir('../slicc')
protocol_dir = Dir('.')
html_dir = Dir('html')
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('init.cc')
def do_embed_text(target, source, env):
Import('*')
+if not main['RUBY']:
+ Return()
+
sticky_vars.AddVariables(
BoolVariable('NO_VECTOR_BOUNDS_CHECKS', "Don't do bounds checks", True),
BoolVariable('RUBY_DEBUG', "Add debugging stuff to Ruby", False))
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('MessageBuffer.cc')
Source('MessageBufferNode.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('Address.cc')
Source('DataBlock.cc')
Source('Debug.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('RubyConfig.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('RubyEventQueue.cc')
Source('RubyEventQueueNode.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('GarnetNetwork_d.cc')
Source('InputUnit_d.cc')
Source('NetworkInterface_d.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('GarnetNetwork.cc')
Source('InVcState.cc')
Source('NetworkInterface.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('NetworkPower.cc', Werror=False)
Source('power_arbiter.cc')
Source('power_array.cc', Werror=False)
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('PerfectSwitch.cc')
Source('SimpleNetwork.cc')
Source('Switch.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('AccessTraceForAddress.cc')
Source('AddressProfiler.cc')
Source('CacheProfiler.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('TraceRecord.cc', Werror=False)
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('AbstractCacheEntry.cc')
Source('AbstractChip.cc')
Source('RubySlicc_Profiler_interface.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('DirectoryMemory.cc')
Source('MemoryControl.cc')
Source('MemoryNode.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
Source('Check.cc')
Source('CheckTable.cc')
Source('DetermGETXGenerator.cc')
Import('*')
+if not env['RUBY']:
+ Return()
+
common_dir = Dir('../gems_common')
#
configs += ['simple-atomic', 'simple-timing', 'o3-timing', 'memtest',
'simple-atomic-mp', 'simple-timing-mp', 'o3-timing-mp']
-# Hack for Ruby
-configs += [c + '-ruby' for c in configs]
+if env['RUBY']:
+ # Hack for Ruby
+ configs += [c + '-ruby' for c in configs]
cwd = os.getcwd()
os.chdir(str(Dir('.').srcdir))