RZ

01: # SConstruct
02: DefaultEnvironment(CCFLAGS="-O3 -Wall")
03: # LINKFLAGS="-static" # -O2 -Os -finline-functions.
04:
05: RZMagic = Object(source=['RZMagic.cc'])
06:
07: LocalScans = Object(
08:     source=['LocalScan%s.cc'%s for s in ['MMap','Stream','Circular']]\
09:           +['ExtractLocalLookup.cc']
10: )
11:
12: def gateway(source,*sources,**extras):
13:     NoClean(Program(source=[source+'.gateway.cc']+list(sources),**extras))
14:
15: for s in ['FileAnalyze','FileRealize']:
16:     gateway(s,s+'.cc',RZMagic,LIBS='z')
17:
18: gateway('Reconstitute','Reconstitute.cc',RZMagic,LIBS='z')
19:
20: DataPacketConstants = Object(source=['DataPackets.cc'])
21: RemoteCon=[
22:     Object(source=s+'.cc') for s in [
23:         'DataPackets','ExtractRemoteCon','ConReservation','ControlRemote',
24:     ]
25: ]
26:
27: Retriever=[Object(source='DataRemote%s.cc'%s) for s in ['Pack','Queue']]
28:
29: gateway('DemandMediator',
30:     'DataLocalScanner.cc', 'DataRemoteController.cc',
31:     Retriever,
32:     'DemandMediator.cc', 'DemandReconstituter.cc',
33:     RZMagic, RemoteCon, LocalScans,
34: )