Add fabrication.
[build-benchmarks.git] / scons.py
blob44c01efc55d615570ca8ee6070c1473f952e5bbd
1 #!/usr/bin/python
3 import os
4 import cppcodebase
5 import random
9 def CreateSConscript(lib_number, classes):
10 os.chdir(cppcodebase.lib_name(lib_number))
11 handle = file("SConscript", "w");
12 handle.write("Import('env')\n")
13 handle.write('list = Split("""\n');
14 for i in xrange(classes):
15 handle.write(' class_' + str(i) + '.cpp\n')
16 handle.write(' """)\n\n')
17 handle.write('env.StaticLibrary("lib_' + str(lib_number) + '", list)\n\n')
18 os.chdir('..')
21 def CreateSConstruct(libs):
22 handle = file("SConstruct", "w");
23 handle.write("""env = Environment(CPPFLAGS=['-Wall'], CPPDEFINES=['LINUX'], CPPPATH=[Dir('#')])\n""")
25 for i in xrange(libs):
26 handle.write("""env.SConscript("lib_%s/SConscript", exports=['env'])\n""" % str(i))
28 def CreateCodebase(libs, classes, internal_includes, external_includes):
29 cppcodebase.SetDir('scons')
30 cppcodebase.CreateSetOfLibraries(libs, classes, internal_includes, external_includes, CreateSConscript)
31 CreateSConstruct(libs)
32 os.chdir('..')