ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/SConscript
Revision: 1.8
Committed: Sat Oct 23 18:55:52 2004 UTC (19 years, 6 months ago) by schorsch
Branch: MAIN
CVS Tags: rad3R6P1
Changes since 1.7: +6 -2 lines
Log Message:
Compatibility fixes as suggested by Siegbert Debatin.

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 radbin(name): return name
11     def radlib(name): return os.path.join('$RAD_BUILDLIB', name)
12 schorsch 1.2
13     warp3d = env.Object(source="warp3d.c")
14     clrtab = env.Object(source="clrtab.c")
15     neuclrtab = env.Object(source="neuclrtab.c")
16     ciq = env.Object(source="ciq.c")
17     cut = env.Object(source="cut.c")
18     closest = env.Object(source="closest.c")
19 schorsch 1.1
20     # standard targets
21     PROGS = (
22 schorsch 1.2 # name files libs
23     ('macbethcal', Split('macbethcal.c pmapgen.c mx3.c')+[warp3d],
24     ['rtpic','rtproc','rtpath','rtio','rtargs','rtcont','rtmem','rterror']),
25     ('pcond', Split('pcond.c pcond2.c pcond3.c pcond4.c')+[warp3d],
26     ['rtpic','rtproc','rtpath','rtio','rtargs','rtmath','rtcont','rtmem','rterror']),
27     ('pfilt', Split('pfilt.c pf2.c pf3.c'),
28     ['rtlamps','rtpic','rtio','rtpath','rtargs','rtmath']),
29     ('pcwarp', ['pcwarp.c', warp3d],
30     ['rtpic','rtio','rtcont','rtmem','rterror']),
31     ('pvalue', ['pvalue.c'], ['rtpic','rtio','rtargs','rtmath']),
32     ('pcompos', ['pcompos.c'], ['rtpic','rtproc','rtpath','rtio','rterror']),
33     ('psign', ['psign.c'],
34     ['rtpic','rtscene','rtio','rtpath','rtargs','rtcont','rtmem','rterror']),
35     ('protate', ['protate.c'], ['rtpic','rtio']),
36     ('pextrem', ['pextrem.c'], ['rtpic','rtio']),
37     ('pflip', ['pflip.c'], ['rtpic','rtio']),
38     ('pcomb', ['pcomb.c'],
39     ['rtpic','rtproc','rtpath','rtio','rtfunc','rtargs','rtmath','rtcont','rtmem']),
40     ('pinterp', ['pinterp.c'],
41     ['rtproc','rtpic','rtio','rtpath','rtargs','rtmath','rtmem','rterror']),
42    
43     ('oki20c', ['oki20c.c'],['rtpic','rtproc','rtpath','rtio','rtmem','rterror']),
44     ('oki20', ['oki20.c'], ['rtpic','rtproc','rtpath','rtio','rtmem','rterror']),
45    
46     ('ra_gif', ['ra_gif.c', clrtab, neuclrtab], ['rtpic','rtio','rtmem']),
47     ('ra_pr', Split('ra_pr.c biq.c')+ [ciq, cut, closest],
48     ['rtpic','rtio','rtmem']),
49     ('ra_pr24', ['ra_pr24.c'], ['rtpic','rtio','rtmem']),
50     ('ra_avs', ['ra_avs.c'], ['rtpic','rtio','rtmem']),
51     ('ra_ps', ['ra_ps.c'], ['rtpic','rtio','rtargs','rtmem']),
52     ('ra_ppm', ['ra_ppm.c'], ['rtpic','rtio','rtmem']),
53 schorsch 1.8 ('ra_bmp', ['ra_bmp.c'], ['rtpic','rtproc','rtio','rtmem']),
54 schorsch 1.2 ('ra_t8', ['ra_t8.c', clrtab, neuclrtab], ['rtpic','rtio','rtmem']),
55     ('ra_t16', ['ra_t16.c'], ['rtpic','rtio','rtmem']),
56     ('ra_bn', ['ra_bn.c'], ['rtpic','rtio','rtmem']),
57     ('ra_rgbe', ['ra_rgbe.c'],['rtpic','rtproc','rtpath','rtio','rtmem','rterror']),
58     ('ra_pict', ['ra_pict.c'], ['rtpic','rtio','rtmem']),
59     ('ra_hexbit',['ra_hexbit.c'], ['rtpic','rtio','rtmem']),
60     ('ra_xyze', ['ra_xyze.c'], ['rtpic','rtio','rtmem']),
61 schorsch 1.1
62 schorsch 1.2 ('ttyimage', ['ttyimage.c'], ['rtpic','rtio','rtmem']),
63 schorsch 1.1 )
64     for p in PROGS:
65 schorsch 1.2 prog = env.Program(target=radbin(p[0]), source=p[1],
66 schorsch 1.7 LIBS=p[2]+mlib)
67     progs.append(prog)
68 schorsch 1.1
69    
70     # special targets not normally built
71     SPECIAL = (
72 schorsch 1.2 # name files libs
73     ('psum', ['psum.c'], ['rtpic','rtio']),
74     #('panim', ['panim.c'], ['client','rpcsvc']),# missing externals
75    
76     ('ra_im', ['ra_im.c'], ['rtproc','rtpath','rtio','rterror']),
77    
78     #('aedimage', Split('aedimage.c')+[ciq, cut, closest],[]),# missing externals
79     ('t4027', ['t4027.c'], ['rtpic']),
80     ('paintjet', ['paintjet.c'], ['rtpic','rtio','rtmem']),
81     ('mt160r', ['mt160r.c'], ['rtpic','rtio','rtmem']),
82     ('greyscale', ['greyscale.c'], ['rtpic']),
83     ('colorscale', ['colorscale.c'], ['rtpic']),
84     ('d48c', ['d48c.c'], ['rtpic']),
85 schorsch 1.1 )
86     specprogs = []
87     specinst = []
88     for p in SPECIAL:
89 schorsch 1.2 prog = env.Program(target=radbin(p[0]), source=p[1], LIBS=p[2]+mlib)
90 schorsch 1.1 specprogs.append(prog)
91 schorsch 1.7 specinst.append(env.Install('$RAD_BINDIR', prog))
92 schorsch 1.2 env.Alias('px_special', specprogs)
93     env.Alias('px_special_install', specinst)
94 schorsch 1.1
95    
96     # tiff library (unix-specific for the moment)
97     if os.name == 'posix':
98     cwd = os.getcwd()
99 schorsch 1.2 libtiff = env.Command(radlib(env['LIBPREFIX'] + 'tiff' + env['LIBSUFFIX']),
100 schorsch 1.1 'tiff/config.local',
101 schorsch 1.3 [('cd "%s"; '
102     'sh ./configure -quiet -noninteractive '
103     '-with-CC="$CC" -with-ENVOPTS="$CCFLAGS"; '
104     'cd libtiff; '
105     'make install;') % os.path.join(cwd, 'tiff')])
106 schorsch 1.1
107     # tiff programs
108 schorsch 1.2 ra_tiff = env.Program(target=radbin('ra_tiff'), source=Split('ra_tiff.c'),
109     LIBS=['tiff','rtpic','rtio','rtmem'] + mlib)
110 schorsch 1.7 progs.append(ra_tiff)
111 schorsch 1.1
112 schorsch 1.2 normtiff = env.Program(target=radbin('normtiff'), source=Split('normtiff.c'),
113     LIBS=['tiff','rtpic','rtio','rtmem'] + mlib)
114 schorsch 1.7 progs.append(normtiff)
115 schorsch 1.1
116    
117     # pixar format requires extra lib
118 schorsch 1.2 if env.has_key('PIXAR_LIB'):
119 schorsch 1.8 ra_pixar = env.Program(radbin('ra_pixar'), source=['ra_pixar.c'],
120 schorsch 1.7 LIBS=['rtpic', '$PIXAR_LIB'])
121     progs.append(ra_pixar)
122 schorsch 1.1
123    
124     # X11 targets
125 schorsch 1.2 if env.has_key('X11LIB'):
126 schorsch 1.7 xincl = env.get('CPPPATH', []) + ['$X11INCLUDE']
127     xlibp = env.get('LIBPATH', []) + ['$X11LIB']
128 schorsch 1.2 xlibs = ['X11','rtpic','rtio','rtmath','rtargs','rtmem']
129 schorsch 1.6 x11findwind = env.Object(source='../common/x11findwind.c', # XXX ../not/nice
130 schorsch 1.7 CPPPATH=xincl)
131 schorsch 1.2
132     ximage = env.Program(target=radbin('ximage'),
133     source=Split('x11image.c x11raster.c')+[clrtab],
134 schorsch 1.6 CPPPATH=xincl, LIBPATH=xlibp, LIBS=xlibs + mlib)
135 schorsch 1.7 progs.append(ximage)
136 schorsch 1.1
137 schorsch 1.2 xshowtrace = env.Program(target=radbin('xshowtrace'),
138 schorsch 1.5 source=Split('xshowtrace.c') + [x11findwind],
139 schorsch 1.6 CPPPATH=xincl, LIBPATH=xlibp, LIBS=xlibs + mlib)
140 schorsch 1.7 progs.append(xshowtrace)
141 schorsch 1.1
142     # NeWS ?!?
143 schorsch 1.2 # if env.has_key('OGL'):
144     # glimage = env.Program(target=radbin('glimage'),
145     # CPPFLAGS=env.get('CPPFLAGS', []) + [env['RAD_STEREO']],
146 schorsch 1.1 # source=Split('glimage.c'),
147 schorsch 1.2 # LIBS=['gl_s']+env['LIBS'],)
148 schorsch 1.7 # progs.append(glimage)
149 schorsch 1.1
150    
151 schorsch 1.7 if os.name == 'posix': # XXX ignoring trad.wsh
152     for s in Split('''normpat falsecolor pdfblur
153     pmblur xyzimage phisto pdelta pgblur'''):
154     Default(env.InstallCsh(radbin(s), s + '.csh'))
155 schorsch 1.8 # XXX probably needs fixing
156     #else:
157     # for s in Split('''falsecolor'''):
158     # Default(env.InstallCsh(radbin(s), s + '.csh'))
159 schorsch 1.7
160     Default('#src/px')
161     env.Install('$RAD_BINDIR', progs)
162