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() import os txt = "0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0" if ("SCRIPT_AES256_ENCRYPTION_KEY" in os.environ): e=os.environ["SCRIPT_AES256_ENCRYPTION_KEY"] txt = "" ec_valid=True if (len(e)!=64): ec_valid=False else: for i in range(len(e)>>1): if (i>0): txt+="," txts="0x"+e[i*2:i*2+2] try: int(txts,16) except: ec_valid=False txt+=txts if (not ec_valid): txt = "0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0" print("Invalid AES256 encryption key, not 64 bits hex: "+e) f = open("script_encryption_key.cpp", "wb") f.write("#include \"globals.h\"\nuint8_t script_encryption_key[32]={" + txt + "};\n") 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, LIBSUFFIX=env['platform_libsuffix']) env.Prepend(LIBS=[lib])