Import('env')

env.core_sources=[]


gd_call=""
gd_inc=""

for x in env.global_defaults:
	env.core_sources.append("#platform/"+x+"/globals/global_defaults.cpp")
	gd_inc+='#include "platform/'+x+'/globals/global_defaults.h"\n'
	gd_call+="\tregister_"+x+"_global_defaults();\n"

gd_cpp='#include "globals.h"\n'
gd_cpp+=gd_inc
gd_cpp+="void Globals::register_global_defaults() {\n"+gd_call+"\n}\n"

f = open("global_defaults.cpp","wb")
f.write(gd_cpp)
f.close()


env.add_source_files(env.core_sources,"*.cpp")

Export('env')

import make_binders
env.Command('method_bind.inc', 'make_binders.py', make_binders.run)

SConscript('os/SCsub');
SConscript('math/SCsub');
SConscript('io/SCsub');
SConscript('bind/SCsub');

lib = env.Library("core",env.core_sources)

env.Prepend(LIBS=[lib])