ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/SConscript
Revision: 1.2
Committed: Mon Oct 27 10:35:43 2003 UTC (20 years, 6 months ago) by schorsch
Branch: MAIN
Changes since 1.1: +98 -83 lines
Log Message:
Experimental SCons update: Debug builds, split libraries, more Windows targets.

File Contents

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