summaryrefslogtreecommitdiff
path: root/src/systemc/SConsopts
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/SConsopts')
-rw-r--r--src/systemc/SConsopts23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/systemc/SConsopts b/src/systemc/SConsopts
index fc0abb2ad..172de5724 100644
--- a/src/systemc/SConsopts
+++ b/src/systemc/SConsopts
@@ -27,8 +27,29 @@
Import('*')
+from m5.util import compareVersions
+from m5.util.terminal import termcap
+
+def use_systemc_check(env, warn=False):
+ if ('GCC_VERSION' in env and
+ compareVersions(env['GCC_VERSION'], '5.0') < 0):
+ if warn:
+ print(termcap.Yellow + termcap.Bold +
+ 'Warning: Systemc may not work on gcc versions less '
+ 'than 5.0.' + termcap.Normal)
+ return False
+ elif env['PLATFORM'] == 'darwin':
+ if warn:
+ print(termcap.Yellow + termcap.Bold +
+ 'Warning: Systemc may not work on Mac OS.' + termcap.Normal)
+ return False
+ return True
+
+main.AddMethod(use_systemc_check, 'UseSystemcCheck')
+
sticky_vars.AddVariables(
- BoolVariable('USE_SYSTEMC', 'Enable SystemC API support', True)
+ BoolVariable('USE_SYSTEMC', 'Enable SystemC API support',
+ main.UseSystemcCheck())
)
export_vars.append('USE_SYSTEMC')