import os
import sys
-from os.path import isdir
# This file defines how to build a particular configuration of M5
# based on variable settings in the 'env' build environment.
extra_libraries = []
env.Append(LIBS=['z'])
-if isdir('/usr/lib64/mysql') or isdir('/usr/lib/mysql') or \
- isdir('/usr/local/lib/mysql'):
- env.Append(LIBPATH=['/usr/lib64/mysql', '/usr/local/lib/mysql/',
- '/usr/lib/mysql'])
- env.Append(CPPPATH=['/usr/local/include/mysql', '/usr/include/mysql'])
+if env['USE_MYSQL']:
sources += mysql_sources
env.Append(CPPDEFINES = 'USE_MYSQL')
env.Append(CPPDEFINES = 'STATS_BINNING')
+ env.Append(CPPPATH=['/usr/local/include/mysql', '/usr/include/mysql'])
+ if os.path.isdir('/usr/lib64'):
+ env.Append(LIBPATH=['/usr/lib64/mysql'])
+ else:
+ env.Append(LIBPATH=['/usr/lib/mysql/'])
env.Append(LIBS=['mysqlclient'])
+
###################################################
#
# Special build rules.
'KERNEL' : KernelConfig
}
+# Enable detailed full-system binning.
+def MeasureOpt(env):
+ env.Replace(USE_MYSQL = True)
+ env.Append(CPPDEFINES = 'FS_MEASURE')
+
+# Enable MySql database output for stats.
+def MySqlOpt(env):
+ env.Replace(USE_MYSQL = True)
+
# Disable FastAlloc object allocation.
def NoFastAllocOpt(env):
env.Append(CPPDEFINES = 'NO_FAST_ALLOC')
# Configuration options map.
options_map = {
+ 'MEASURE' : MeasureOpt,
+ 'MYSQL' : MySqlOpt,
'NO_FAST_ALLOC' : NoFastAllocOpt
}
os.symlink(joinpath(jobdir, 'output'), 'status.out')
- args = [ joinpath(basedir, 'm5'), '-d', '%s' % jobdir, joinpath(basedir, 'run.mpy') ]
+ args = [ joinpath(basedir, 'm5'), joinpath(basedir, 'run.mpy') ]
if not len(args):
sys.exit("no arguments")