import os # setup pedi if not os.path.isfile("manifest.txt.config"): os.system(os.environ['PEDI_HOME']+'/pedi --setup -m manifest.txt -l turbo -l zafl -l ps -l zipr -l stratafier -l stars -i ' + os.environ['TURBO_INSTALL']) #setup a basic environment env = Environment( toolpath=[os.environ['TURBO_HOME']+"/tools"], ENV = {'PATH' : os.environ['PATH']}, TURBO_HOME = os.environ['TURBO_HOME'], tools=['default', 'protoc'] ) # setup protoc env['PROTOCCPPOUTDIR'] = env['TURBO_HOME'] + "/turbo-rpc" env['PROTOCGRPCOUTDIR'] = env['TURBO_HOME'] + "/turbo-rpc" env['PROTOCPROTOPATH'] = '.' env['PROTOCCOM'] = '$PROTOC ${["-I%s"%x for x in PROTOCPROTOPATH]} $PROTOCFLAGS --proto_path=$PWD --cpp_out='+env['TURBO_HOME']+' --grpc_out='+env['TURBO_HOME']+' --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` ${SOURCES} ; echo protoc complete' Export('env') rpc=SConscript("turbo-rpc/SConscript") env.Append(CPPPATH=Split(" $TURBO_HOME $TURBO_HOME/include ")) turbod=SConscript("turbod/SConscript"); cli=SConscript("cli/SConscript" ); prepd=SConscript("prepd/SConscript" ); zafl=SConscript("zafl/SConstruct" ); libyaml=SConscript("third-party/SConscript.yamlcpp"); inst=env.Install("lib/", libyaml) Depends(cli,libyaml) Depends(turbod, rpc) Depends(cli,rpc) ret=[]+rpc+turbod+cli+prepd+zafl+libyaml+ inst pedi = Command( target = "./turbo-install", source = [ret], action = 'echo Doing pedi in `pwd`; ' + os.environ['PEDI_HOME']+"/pedi -m manifest.txt " ) # decide whether to pedi if Dir('.').abspath == Dir('#.').abspath: ret=ret+pedi Default(ret) Return('ret')