ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/SConscript
Revision: 1.16
Committed: Tue Dec 23 15:04:01 2008 UTC (15 years, 4 months ago) by schorsch
Branch: MAIN
CVS Tags: rad4R0
Changes since 1.15: +2 -3 lines
Log Message:
SCons now uses installed libtiff, if a compatible one is available. Added platform/README to explain config files.

File Contents

# User Rev Content
1 schorsch 1.1 import os
2    
3     Import('env') # inherit from parent
4    
5 schorsch 1.7 mlib = ['$RAD_MLIB']
6     progs = []
7 schorsch 1.1
8     # compose paths
9 schorsch 1.7 def radbin(name): return os.path.join('$RAD_BUILDBIN', name)
10     def radlib(name): return os.path.join('$RAD_BUILDLIB', name)
11 schorsch 1.1
12 schorsch 1.15 Version = env.Object(source='#src/rt/Version.c')
13 schorsch 1.2
14 schorsch 1.1 # standard targets
15     PROGS = [
16 schorsch 1.10 ('findglare', Split('findglare.c glareval.c glaresrc.c setscan.c'),
17 schorsch 1.2 ['rtpic','rtargs','rtio','rtproc','rtmath','rtpath','rtmem','rterror']),
18 schorsch 1.14 ('glarendx', Split('glarendx.c'), ['rtpic','rtargs','rtio','rtmath']),
19     ('vwright', Split('vwright.c'), ['rtpic','rtargs','rtio','rtmath']),
20     ('vwrays', Split('vwrays.c'), ['rtpic','rtargs','rtio','rtmath']),
21 schorsch 1.2 ('rad', Split('rad.c'),
22 schorsch 1.14 ['rtpic','rtproc','rtpath','rtmath','rtargs','rtio','rtcont','rtmem','rterror']),
23 schorsch 1.5 ('rpiece', Split('rpiece.c') + [Version],
24 schorsch 1.2 ['rtpic','rtargs','rtio','rtproc','rtmath','rtpath','rtmem']),
25 schorsch 1.12 ('ranimate', ['ranimate.c', '$RAD_NETCOMPAT'],
26     ['rtpic','rtargs','rtio','rtproc','rtcont','rtmem','rtpath','rtmath',
27     'rtnet','rterror','$RAD_SOCKETLIB']),
28     ('rtcontrib', ['rtcontrib.c', Version],
29     ['rtpic','rtargs','rtfunc','rtio','rtproc','rtcont','rtmem','rtpath',
30     'rtmath','rtnet','rterror','$RAD_SOCKETLIB'])
31 schorsch 1.1 ]
32 schorsch 1.12
33 schorsch 1.1 for p in PROGS:
34 schorsch 1.2 prog = env.Program(target=radbin(p[0]), source=p[1], LIBS=p[2]+mlib)
35 schorsch 1.7 progs.append(prog)
36 schorsch 1.1
37 schorsch 1.14 #if os.name != 'nt': # XXX pending Windows version of raypcalls.c
38     if True: # experimental raypwin.c
39 schorsch 1.1 # targets with different includes/libs
40     rs = Split('ranimove.c ranimove1.c ranimove2.c')
41 schorsch 1.2 ranimove = env.Program(target=radbin('ranimove'), source=rs,
42     CPPPATH=env.get('CPPPATH', [])+ ['#src/rt'],
43 schorsch 1.14 LIBS=['raycalls','rttrace','rtscene','rtpic','rtfunc','rtmath',
44     'rtcont','rtmem','rtargs','rtio','rtproc','rtpath','rterror']
45     + mlib)
46 schorsch 1.7 progs.append(ranimove)
47 schorsch 1.14 rsensor = env.Program(target=radbin('rsensor'), source='rsensor.c',
48     CPPPATH=env.get('CPPPATH', [])+ ['#src/rt'],
49     LIBS=['raycalls','rttrace','rtscene','rtpic','rtfunc','rtmath',
50     'rtcont','rtmem','rtargs','rtio','rtpath','rterror','rtproc',
51     'rtlamps'] + mlib)
52     progs.append(rsensor)
53 schorsch 1.1
54 schorsch 1.2 getinfo = env.Program(target=radbin('getinfo'), source='getinfo.c',
55     LIBS=['rtio'])
56 schorsch 1.7 progs.append(getinfo)
57 schorsch 1.1
58    
59     # X11 targets
60 schorsch 1.2 if env.has_key('X11LIB'):
61 schorsch 1.7 xincl = env.get('CPPPATH', []) + ['$X11INCLUDE']
62     xlibp = env.get('LIBPATH', []) + ['$X11LIB']
63 schorsch 1.2 xglaresrc = env.Program(target=radbin('xglaresrc'),
64 schorsch 1.16 source=Split('xglaresrc.c') + [env.x11findwind], # XXX remote magic
65 schorsch 1.2 LIBPATH=xlibp, CPPPATH=xincl,
66     LIBS=['rtpic','rtmath','rtargs','rtio','X11']+ mlib)
67 schorsch 1.7 progs.append(xglaresrc)
68 schorsch 1.2
69     # OpenGL targets that also depend on X11
70     if env.has_key('OGL'):
71     glrad = env.Program(target=radbin('glrad'), source=Split('glrad.c'),
72 schorsch 1.7 CPPFLAGS=env.get('CPPFLAGS', []) + ['$RAD_STEREO'],
73 schorsch 1.2 LIBPATH=xlibp, CPPPATH=xincl,
74 schorsch 1.14 LIBS=['rgl','rtpic','rtscene','rtproc','rtpath','rtargs','rtio',
75 schorsch 1.16 'rtmath','rtcont','rtmem','rterror','rtdummy',
76 schorsch 1.2 'GL', 'GLU','X11'],)
77 schorsch 1.7 progs.append(glrad)
78 schorsch 1.1
79 schorsch 1.7 if os.name == 'posix': # XXX ignoring trad.wsh
80 schorsch 1.13 for s in Split('''objview objline objpict glare dayfact
81     debugcal rlux raddepend compamb vinfo genambpos fieldcomb'''):
82 schorsch 1.7 Default(env.InstallCsh(radbin(s), s + '.csh'))
83 schorsch 1.8 # Those don't really work yet
84     #else:
85     # for s in Split('''objview glare rlux '''):
86     # prog = env.Program(target=radbin(s), source=s+'.c')
87     # progs.append(prog)
88 schorsch 1.7
89     Default('#src/util')
90     env.Install('$RAD_BINDIR', progs)
91 schorsch 1.1