--- ray/src/util/SConscript 2004/03/26 23:34:23 1.3 +++ ray/src/util/SConscript 2016/03/10 21:43:23 1.21 @@ -2,87 +2,94 @@ import os Import('env') # inherit from parent -mlib = env['RAD_MLIB'] +mlib = ['$RAD_MLIB'] +progs = [] # compose paths -def radbin(name): return os.path.join(env['RAD_BUILDBIN'], name) -def radlib(name): return os.path.join(env['RAD_BUILDLIB'], name) +def radbin(name): return os.path.join('$RAD_BUILDBIN', name) +def radlib(name): return os.path.join('$RAD_BUILDLIB', name) +def tclscr(name): return os.path.join('$RAD_BUILDRLIB', 'tcl', name) -setscan = env.Object(source='setscan.c') +cmatrix = env.Object(source='cmatrix.c') +cmbsdf = env.Object(source='cmbsdf.c') # standard targets PROGS = [ -('findglare', Split('findglare.c glareval.c glaresrc.c')+[setscan], - ['rtpic','rtargs','rtio','rtproc','rtmath','rtpath','rtmem','rterror']), -#('contour', Split('contour.c'), ['rtmath']), # XXX what is this? -('glarendx', Split('glarendx.c'), ['rtpic','rtio','rtargs','rtmath']), -('vwright', Split('vwright.c'), ['rtpic','rtio','rtargs','rtmath']), -('vwrays', Split('vwrays.c'), ['rtpic','rtio','rtargs','rtmath']), -('rad', Split('rad.c'), - ['rtpic','rtproc','rtpath','rtio','rtmath','rtargs','rtcont','rtmem','rterror']), -('rpiece', Split('rpiece.c Version.c'), - ['rtpic','rtargs','rtio','rtproc','rtmath','rtpath','rtmem']), +('findglare', Split('findglare.c glareval.c glaresrc.c setscan.c'), ['rtrad']), +('glarendx', Split('glarendx.c'), ['rtrad']), +('vwright', Split('vwright.c'), ['rtrad']), +('vwrays', Split('vwrays.c'), ['rtrad']), +('rad', Split('rad.c'), ['rtrad']), +('rpiece', Split('rpiece.c') + [env.version], ['rtrad']), +('ranimate', ['ranimate.c', '$RAD_NETCOMPAT'], ['rtrad', '$RAD_SOCKETLIB']), +('dctimestep', Split('dctimestep.c')+[cmatrix, cmbsdf], ['rtrad']), +('rttree_reduce', Split('rttree_reduce.c'), ['rtrad']), +('rcollate', Split('rcollate.c'), ['rtrad']), +('eplus_adduvf', Split('eplus_adduvf.c eplus_idf.c'), ['rtrad']), +('rfluxmtx', Split('rfluxmtx.c'), ['rtrad']), +('rmtxop', Split('rmtxop.c rmatrix.c')+[cmatrix, cmbsdf], ['rtrad']), +('wrapBSDF', Split('wrapBSDF.c'), ['rtrad']), +('evalglare', Split('evalglare.c pictool.c'), ['rtrad', 'reetz']), ] -if os.name == 'nt': # XXX should be set in a *.cfg file - netproc = 'win_netproc.c' - netlib = ['ws2_32'] -else: - netproc = 'netproc.c' - netlib = [] -PROGS.append(('ranimate', ['ranimate.c', netproc], - ['rtpic','rtargs','rtio','rtcont','rtmem','rtpath','rtmath','rtnet','rterror'] + netlib)) for p in PROGS: prog = env.Program(target=radbin(p[0]), source=p[1], LIBS=p[2]+mlib) - Default(prog) - env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], prog)]) + progs.append(prog) -if os.name != 'nt': # XXX pending Windows version of raypcalls.c - # targets with different includes/libs - rs = Split('ranimove.c ranimove1.c ranimove2.c') - ranimove = env.Program(target=radbin('ranimove'), source=rs, - CPPPATH=env.get('CPPPATH', [])+ ['#src/rt'], - LIBS=['raycalls','rttrace','rtscene','rtpic','rtfunc','rtio', - 'rtmath','rtcont','rtmem','rtargs','rtproc','rtpath','rterror'] + mlib) - Default(ranimove) - env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], ranimove)]) +# targets with different includes/libs +rs = Split('ranimove.c ranimove1.c ranimove2.c') +ranimove = env.Program(target=radbin('ranimove'), source=rs, + CPPPATH=env.get('CPPPATH', [])+ ['#src/rt'], + LIBS=['raycalls','rttrace','rtrad'] + mlib) +progs.append(ranimove) +rsensor = env.Program(target=radbin('rsensor'), source='rsensor.c', + CPPPATH=env.get('CPPPATH', [])+ ['#src/rt'], + LIBS=['raycalls','rttrace','rtrad'] + mlib) +progs.append(rsensor) getinfo = env.Program(target=radbin('getinfo'), source='getinfo.c', - LIBS=['rtio']) -Default(getinfo) -env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], getinfo)]) + LIBS=['rtrad']) +progs.append(getinfo) -# special targets not normally built -if os.name != 'nt': # XXX pending replacement of fork() and friends - scanner = env.Program(target=radbin('scanner'), source='scanner.c', - LIBS=mlib) - scanner_i = env.Install(env['RAD_BINDIR'], scanner) - makedist = env.Program(target=radbin('makedist'), - source=Split('makedist.c')+[setscan]) - makedist_i = env.Install(env['RAD_BINDIR'], makedist) - env.Alias('util_special', [scanner, makedist]) - env.Alias('util_special_install', [scanner_i, makedist_i]) # X11 targets if env.has_key('X11LIB'): - xlibp = env.get('LIBPATH',[]) + [env['X11LIB']] - xincl = env.get('CPPPATH',[]) + [env['X11INCLUDE']] + xincl = env.get('CPPPATH', []) + ['$X11INCLUDE'] + xlibp = env.get('LIBPATH', []) + ['$X11LIB'] xglaresrc = env.Program(target=radbin('xglaresrc'), - source=Split('xglaresrc.c x11findwind.c'), + source=Split('xglaresrc.c') + [env.x11findwind], # XXX remote magic LIBPATH=xlibp, CPPPATH=xincl, - LIBS=['rtpic','rtmath','rtargs','rtio','X11']+ mlib) - Default(xglaresrc) - env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], xglaresrc)]) + LIBS=['rtrad', 'X11']+ mlib) + progs.append(xglaresrc) # OpenGL targets that also depend on X11 if env.has_key('OGL'): glrad = env.Program(target=radbin('glrad'), source=Split('glrad.c'), - CPPFLAGS=env.get('CPPFLAGS', []) + [env['RAD_STEREO']], + CPPFLAGS=env.get('CPPFLAGS', []) + ['$RAD_STEREO'], LIBPATH=xlibp, CPPPATH=xincl, - LIBS=['rgl','rtpic','rtscene','rtio','rtproc','rtpath','rtargs', - 'rtmath','rtcont','rtmem','rterror', - 'GL', 'GLU','X11'],) - Default(glrad) - env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], glrad)]) + LIBS=['rgl','rtrad','rtdummy', 'GL', 'GLU','X11'] + mlib,) + progs.append(glrad) +if os.name == 'posix': # XXX ignoring trad.wsh + for s in Split('''objline glare dayfact + debugcal rlux raddepend compamb vinfo fieldcomb'''): + Default(env.InstallScript(radbin(s), s + '.csh')) + for s in Split('''objview objpict + genambpos genklemsamp genskyvec genBSDF ltview ltpict'''): + Default(env.InstallScript(radbin(s), s + '.pl')) + for s in Split('''do_action.tcl do_file.tcl do_options.tcl do_results.tcl + do_scene.tcl do_views.tcl do_zone.tcl file.hlp getfile.tcl gethelp.tcl + help.hlp tclIndex trad.hlp trad.icon util.tcl'''): + Default(env.InstallScript(tclscr(s), s)) + Default(env.InstallTCLScript(radbin('trad'), 'trad.wsh')) + +# Those don't really work yet +#else: +# for s in Split('''objview glare rlux '''): +# prog = env.Program(target=radbin(s), source=s+'.c') +# progs.append(prog) +Default('#src/util') +env.Install('$RAD_BINDIR', progs) + +# vim: set syntax=python: