diff options
Diffstat (limited to 'src/systemc/SConsopts')
-rw-r--r-- | src/systemc/SConsopts | 23 |
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') |