make all of the turbolaser stuff only compile if ALPHA_TLASER
[gem5.git] / build / SConstruct
index 5c4ae94a1f117eb9aee5fb34f4d393f1063e808c..89183f17d0902e0aec2d111e684bd52405060ff9 100644 (file)
@@ -37,7 +37,7 @@
 #
 # Then type 'scons' to build the default configuration (see below), or
 # 'scons <CONFIG>/<binary>' to build some other configuration (e.g.,
-# 'KERNEL/m5.opt' for the optimized full-system version).
+# 'ALPHA_FS/m5.opt' for the optimized full-system version).
 #
 ###################################################
 
@@ -62,6 +62,9 @@ if not os.path.isdir('ext'):
           % EXT_SRCDIR
     sys.exit(1)
 
+# tell python where to find m5 python code
+sys.path.append(os.path.join(SRCDIR, 'python'))
+
 
 ###################################################
 #
@@ -70,7 +73,7 @@ if not os.path.isdir('ext'):
 # The build system infers the build options from the subdirectory name
 # that the simulator is built under.  The subdirectory name must be of
 # the form <CONFIG>[.<OPT>]*, where <CONFIG> is a base configuration
-# (e.g., ALPHA or KERNEL) and OPT is an option (e.g., MYSQL).  The
+# (e.g., ALPHA_SE or ALPHA_FS) and OPT is an option (e.g., MYSQL).  The
 # following code defines the standard configurations and options.
 # Additional local configurations and options are read from the file
 # 'local_configs' if it exists.
@@ -85,29 +88,34 @@ if not os.path.isdir('ext'):
 ###################################################
 
 # Base non-full-system Alpha ISA configuration.
-def AlphaConfig(env):
+def AlphaSyscallEmulConfig(env):
     env.Replace(TARGET_ISA = 'alpha')
     env.Append(CPPDEFINES = 'SS_COMPATIBLE_FP')
 
 # Base full-system configuration.
-def KernelConfig(env):
+def AlphaFullSysConfig(env):
     env.Replace(TARGET_ISA = 'alpha')
     env.Replace(FULL_SYSTEM = True)
     env.Append(CPPDEFINES = ['FULL_SYSTEM'])
 
 # Base configurations map.
 configs_map = {
-    'ALPHA' : AlphaConfig,
-    'KERNEL' : KernelConfig
+    'ALPHA_SE' : AlphaSyscallEmulConfig,
+    'ALPHA_FS' : AlphaFullSysConfig
     }
 
 # Disable FastAlloc object allocation.
 def NoFastAllocOpt(env):
     env.Append(CPPDEFINES = 'NO_FAST_ALLOC')
 
+# Enable efence
+def EfenceOpt(env):
+    env.Append(LIBS=['efence'])
+
 # Configuration options map.
 options_map = {
-    'NO_FAST_ALLOC' : NoFastAllocOpt
+    'NO_FAST_ALLOC' : NoFastAllocOpt,
+    'EFENCE' : EfenceOpt
     }
 
 # The 'local_configs' file can be used to define additional base
@@ -133,7 +141,7 @@ def set_dir_options(dir, env):
 
 # Set the default configuration and binary.  The default target (if
 # scons is invoked at the top level with no command-line targets) is
-# 'ALPHA/m5.debug'.  If scons is invoked in a subdirectory with no
+# 'ALPHA_SE/m5.debug'.  If scons is invoked in a subdirectory with no
 # command-line targets, the configuration
 
 ###################################################
@@ -155,7 +163,7 @@ def set_dir_options(dir, env):
 #
 # 3. If there are no command-line targets and scons was invoked from
 #    the root build directory, a default configuration is used.  The
-#    built-in default is ALPHA, but this can be overridden by setting the
+#    built-in default is ALPHA_SE, but this can be overridden by setting the
 #    M5_DEFAULT_CONFIG shell environment veriable.
 #
 # In cases 2 & 3, the specific file target defaults to 'm5.debug', but
@@ -165,7 +173,7 @@ def set_dir_options(dir, env):
 ###################################################
 
 # Find default configuration & binary.
-default_config = os.environ.get('M5_DEFAULT_CONFIG', 'ALPHA')
+default_config = os.environ.get('M5_DEFAULT_CONFIG', 'ALPHA_SE')
 default_binary = os.environ.get('M5_DEFAULT_BINARY', 'm5.debug')
 
 # Ask SCons which directory it was invoked from.  If you invoke SCons
@@ -179,7 +187,7 @@ if launch_dir == ROOT:
         # easy: use specified targets as is
         my_targets = COMMAND_LINE_TARGETS
     else:
-        # default target (ALPHA/m5.debug, unless overridden)
+        # default target (ALPHA_SE/m5.debug, unless overridden)
         target = os.path.join(default_config, default_binary)
         my_targets = [target]
         Default(target)
@@ -226,6 +234,7 @@ default_env = Environment(ENV = os.environ,  # inherit user's enviroment vars
                           EXT_SRCDIR = EXT_SRCDIR,
                           CPPDEFINES = [],
                           FULL_SYSTEM = False,
+                          ALPHA_TLASER = False,
                           USE_MYSQL = False)
 
 default_env.SConsignFile("sconsign")
@@ -278,7 +287,7 @@ for build_dir in build_dirs:
 ###################################################
 #
 # Let SCons do its thing.  At this point SCons will use the defined
-# build enviornments to build the requested targets.
+# build environments to build the requested targets.
 #
 ###################################################