From cf6b4ef734293e1efdfa015519230703be5d324a Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Mon, 11 May 2009 10:38:46 -0700 Subject: [PATCH] ruby: add RUBY sticky option that must be set to add ruby to the build Default is false --- SConstruct | 5 +++-- src/mem/SConscript | 8 ++++++-- src/mem/gems_common/SConscript | 3 +++ src/mem/gems_common/ioutil/SConscript | 3 +++ src/mem/protocol/SConscript | 3 +++ src/mem/ruby/SConscript | 3 +++ src/mem/ruby/SConsopts | 3 +++ src/mem/ruby/buffers/SConscript | 3 +++ src/mem/ruby/common/SConscript | 3 +++ src/mem/ruby/config/SConscript | 3 +++ src/mem/ruby/eventqueue/SConscript | 3 +++ src/mem/ruby/network/garnet-fixed-pipeline/SConscript | 3 +++ src/mem/ruby/network/garnet-flexible-pipeline/SConscript | 3 +++ src/mem/ruby/network/orion/SConscript | 3 +++ src/mem/ruby/network/simple/SConscript | 3 +++ src/mem/ruby/profiler/SConscript | 3 +++ src/mem/ruby/recorder/SConscript | 3 +++ src/mem/ruby/slicc_interface/SConscript | 3 +++ src/mem/ruby/system/SConscript | 3 +++ src/mem/ruby/tester/SConscript | 3 +++ src/mem/slicc/SConscript | 3 +++ tests/SConscript | 5 +++-- 22 files changed, 69 insertions(+), 6 deletions(-) diff --git a/SConstruct b/SConstruct index 5cbb50dce..85c5de142 100644 --- a/SConstruct +++ b/SConstruct @@ -345,8 +345,9 @@ global_sticky_vars.AddVariables( ('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 = ''' diff --git a/src/mem/SConscript b/src/mem/SConscript index 87498d21d..21335a709 100644 --- a/src/mem/SConscript +++ b/src/mem/SConscript @@ -34,7 +34,9 @@ SimObject('Bridge.py') SimObject('Bus.py') SimObject('MemObject.py') SimObject('PhysicalMemory.py') -SimObject('RubyMemory.py') + +if env['RUBY']: + SimObject('RubyMemory.py') Source('bridge.cc') Source('bus.cc') @@ -45,7 +47,9 @@ Source('physical.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') diff --git a/src/mem/gems_common/SConscript b/src/mem/gems_common/SConscript index bd29a3737..69e7f88a3 100644 --- a/src/mem/gems_common/SConscript +++ b/src/mem/gems_common/SConscript @@ -30,6 +30,9 @@ Import('*') +if not env['RUBY']: + Return() + #benv['LEXCOM'] = "$LEX $LEXFLAGS -o$TARGET $SOURCES" benv = env.Clone() benv.Append(YACCFLAGS=["-pat"]) diff --git a/src/mem/gems_common/ioutil/SConscript b/src/mem/gems_common/ioutil/SConscript index 4c9357dfc..1cbab34b9 100644 --- a/src/mem/gems_common/ioutil/SConscript +++ b/src/mem/gems_common/ioutil/SConscript @@ -30,5 +30,8 @@ Import('*') +if not env['RUBY']: + Return() + Source('confio.cc') Source('initvar.cc') diff --git a/src/mem/protocol/SConscript b/src/mem/protocol/SConscript index 3a2e22151..17701e403 100644 --- a/src/mem/protocol/SConscript +++ b/src/mem/protocol/SConscript @@ -40,6 +40,9 @@ import SCons Import('*') +if not env['RUBY']: + Return() + slicc_dir = Dir('../slicc') protocol_dir = Dir('.') html_dir = Dir('html') diff --git a/src/mem/ruby/SConscript b/src/mem/ruby/SConscript index 5ad6bd08f..4c52d8688 100644 --- a/src/mem/ruby/SConscript +++ b/src/mem/ruby/SConscript @@ -37,6 +37,9 @@ import SCons Import('*') +if not env['RUBY']: + Return() + Source('init.cc') def do_embed_text(target, source, env): diff --git a/src/mem/ruby/SConsopts b/src/mem/ruby/SConsopts index 7278558fc..a17b23237 100644 --- a/src/mem/ruby/SConsopts +++ b/src/mem/ruby/SConsopts @@ -30,6 +30,9 @@ 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)) diff --git a/src/mem/ruby/buffers/SConscript b/src/mem/ruby/buffers/SConscript index 3b4873c6b..2608d5e23 100644 --- a/src/mem/ruby/buffers/SConscript +++ b/src/mem/ruby/buffers/SConscript @@ -30,5 +30,8 @@ Import('*') +if not env['RUBY']: + Return() + Source('MessageBuffer.cc') Source('MessageBufferNode.cc') diff --git a/src/mem/ruby/common/SConscript b/src/mem/ruby/common/SConscript index 8313aa7ad..15df8312e 100644 --- a/src/mem/ruby/common/SConscript +++ b/src/mem/ruby/common/SConscript @@ -30,6 +30,9 @@ Import('*') +if not env['RUBY']: + Return() + Source('Address.cc') Source('DataBlock.cc') Source('Debug.cc') diff --git a/src/mem/ruby/config/SConscript b/src/mem/ruby/config/SConscript index d01c9236b..05ed2d27d 100644 --- a/src/mem/ruby/config/SConscript +++ b/src/mem/ruby/config/SConscript @@ -30,4 +30,7 @@ Import('*') +if not env['RUBY']: + Return() + Source('RubyConfig.cc') diff --git a/src/mem/ruby/eventqueue/SConscript b/src/mem/ruby/eventqueue/SConscript index 523d71c09..0312df4e4 100644 --- a/src/mem/ruby/eventqueue/SConscript +++ b/src/mem/ruby/eventqueue/SConscript @@ -30,5 +30,8 @@ Import('*') +if not env['RUBY']: + Return() + Source('RubyEventQueue.cc') Source('RubyEventQueueNode.cc') diff --git a/src/mem/ruby/network/garnet-fixed-pipeline/SConscript b/src/mem/ruby/network/garnet-fixed-pipeline/SConscript index bcd1b09ac..0814df2f5 100644 --- a/src/mem/ruby/network/garnet-fixed-pipeline/SConscript +++ b/src/mem/ruby/network/garnet-fixed-pipeline/SConscript @@ -30,6 +30,9 @@ Import('*') +if not env['RUBY']: + Return() + Source('GarnetNetwork_d.cc') Source('InputUnit_d.cc') Source('NetworkInterface_d.cc') diff --git a/src/mem/ruby/network/garnet-flexible-pipeline/SConscript b/src/mem/ruby/network/garnet-flexible-pipeline/SConscript index 039ef41c2..a376bf10f 100644 --- a/src/mem/ruby/network/garnet-flexible-pipeline/SConscript +++ b/src/mem/ruby/network/garnet-flexible-pipeline/SConscript @@ -30,6 +30,9 @@ Import('*') +if not env['RUBY']: + Return() + Source('GarnetNetwork.cc') Source('InVcState.cc') Source('NetworkInterface.cc') diff --git a/src/mem/ruby/network/orion/SConscript b/src/mem/ruby/network/orion/SConscript index efa9025d6..99b38bc22 100644 --- a/src/mem/ruby/network/orion/SConscript +++ b/src/mem/ruby/network/orion/SConscript @@ -30,6 +30,9 @@ Import('*') +if not env['RUBY']: + Return() + Source('NetworkPower.cc', Werror=False) Source('power_arbiter.cc') Source('power_array.cc', Werror=False) diff --git a/src/mem/ruby/network/simple/SConscript b/src/mem/ruby/network/simple/SConscript index b12bfc854..3df736c00 100644 --- a/src/mem/ruby/network/simple/SConscript +++ b/src/mem/ruby/network/simple/SConscript @@ -30,6 +30,9 @@ Import('*') +if not env['RUBY']: + Return() + Source('PerfectSwitch.cc') Source('SimpleNetwork.cc') Source('Switch.cc') diff --git a/src/mem/ruby/profiler/SConscript b/src/mem/ruby/profiler/SConscript index b27d1da0c..008a36a29 100644 --- a/src/mem/ruby/profiler/SConscript +++ b/src/mem/ruby/profiler/SConscript @@ -30,6 +30,9 @@ Import('*') +if not env['RUBY']: + Return() + Source('AccessTraceForAddress.cc') Source('AddressProfiler.cc') Source('CacheProfiler.cc') diff --git a/src/mem/ruby/recorder/SConscript b/src/mem/ruby/recorder/SConscript index 5b225edc6..e56fc8722 100644 --- a/src/mem/ruby/recorder/SConscript +++ b/src/mem/ruby/recorder/SConscript @@ -30,4 +30,7 @@ Import('*') +if not env['RUBY']: + Return() + Source('TraceRecord.cc', Werror=False) diff --git a/src/mem/ruby/slicc_interface/SConscript b/src/mem/ruby/slicc_interface/SConscript index d54b2dbc3..0cb453209 100644 --- a/src/mem/ruby/slicc_interface/SConscript +++ b/src/mem/ruby/slicc_interface/SConscript @@ -30,6 +30,9 @@ Import('*') +if not env['RUBY']: + Return() + Source('AbstractCacheEntry.cc') Source('AbstractChip.cc') Source('RubySlicc_Profiler_interface.cc') diff --git a/src/mem/ruby/system/SConscript b/src/mem/ruby/system/SConscript index 5ce612107..ee9b359c5 100644 --- a/src/mem/ruby/system/SConscript +++ b/src/mem/ruby/system/SConscript @@ -30,6 +30,9 @@ Import('*') +if not env['RUBY']: + Return() + Source('DirectoryMemory.cc') Source('MemoryControl.cc') Source('MemoryNode.cc') diff --git a/src/mem/ruby/tester/SConscript b/src/mem/ruby/tester/SConscript index e1a489106..6409b4f50 100644 --- a/src/mem/ruby/tester/SConscript +++ b/src/mem/ruby/tester/SConscript @@ -30,6 +30,9 @@ Import('*') +if not env['RUBY']: + Return() + Source('Check.cc') Source('CheckTable.cc') Source('DetermGETXGenerator.cc') diff --git a/src/mem/slicc/SConscript b/src/mem/slicc/SConscript index 39a6ac387..64a199347 100644 --- a/src/mem/slicc/SConscript +++ b/src/mem/slicc/SConscript @@ -40,6 +40,9 @@ import SCons Import('*') +if not env['RUBY']: + Return() + common_dir = Dir('../gems_common') # diff --git a/tests/SConscript b/tests/SConscript index a44a9a593..b9c08cb14 100644 --- a/tests/SConscript +++ b/tests/SConscript @@ -265,8 +265,9 @@ else: 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))