ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/SConscript
(Generate patch)

Comparing ray/src/px/SConscript (file contents):
Revision 1.1 by schorsch, Tue Oct 21 19:27:29 2003 UTC vs.
Revision 1.2 by schorsch, Mon Oct 27 10:35:43 2003 UTC

# Line 2 | Line 2 | import os
2  
3   Import('env') # inherit from parent
4  
5 < # make a modified local copy
6 < px = env.Copy(LIBS=['rt'] + env['RAD_MLIB'])
5 > mlib = env['RAD_MLIB']
6  
7   # compose paths
8 < def radbin(name): return os.path.join(px['RAD_BUILDBIN'], name)
9 < def radlib(name): return os.path.join(px['RAD_BUILDLIB'], name)
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 < ('macbethcal', Split('macbethcal.c pmapgen.c mx3.c warp3d.c')),
21 < ('pcond',      Split('pcond.c pcond2.c pcond3.c pcond4.c warp3d.c')),
22 < ('pfilt',      Split('pfilt.c pf2.c pf3.c')),
23 < ('pcwarp',     Split('pcwarp.c warp3d.c')),
24 < ('pvalue',     Split('pvalue.c')),
25 < ('pcompos',    Split('pcompos.c')),
26 < ('psign',      Split('psign.c')),
27 < ('protate',    Split('protate.c')),
28 < ('pextrem',    Split('pextrem.c')),
29 < ('pflip',      Split('pflip.c')),
30 < ('pcomb',      Split('pcomb.c')),
31 < ('pinterp',    Split('pinterp.c')),
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',     Split('oki20c.c')),
42 < ('oki20',      Split('oki20.c')),
41 > ('oki20c',   ['oki20c.c'],['rtpic','rtproc','rtpath','rtio','rtmem','rterror']),
42 > ('oki20',    ['oki20.c'], ['rtpic','rtproc','rtpath','rtio','rtmem','rterror']),
43  
44 < ('ra_gif',     Split('ra_gif.c clrtab.c neuclrtab.c')),
45 < ('ra_pr',      Split('ra_pr.c ciq.c cut.c closest.c biq.c')),
46 < ('ra_pr24',    Split('ra_pr24.c')),
47 < ('ra_avs',     Split('ra_avs.c')),
48 < ('ra_ps',      Split('ra_ps.c')),
49 < ('ra_ppm',     Split('ra_ppm.c')),
50 < ('ra_t8',      Split('ra_t8.c clrtab.c neuclrtab.c')),
51 < ('ra_t16',     Split('ra_t16.c')),
52 < ('ra_bn',      Split('ra_bn.c')),
53 < ('ra_rgbe',    Split('ra_rgbe.c')),
54 < ('ra_pict',    Split('ra_pict.c')),
55 < ('ra_hexbit',  Split('ra_hexbit.c')),
56 < ('ra_xyze',    Split('ra_xyze.c')),
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',   Split('ttyimage.c')),
59 > ('ttyimage', ['ttyimage.c'],  ['rtpic','rtio','rtmem']),
60   )
61   for p in PROGS:
62 <    prog = px.Program(target=radbin(p[0]), source=p[1])
62 >    prog = env.Program(target=radbin(p[0]), source=p[1],
63 >                LIBS=p[2]+mlib)
64      Default(prog)
65 <    env.Append(RAD_BININSTALL=[px.Install(px['RAD_BINDIR'], prog)])
65 >    env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], prog)])
66  
67  
68   # special targets not normally built
69   SPECIAL = (
70 < #('psum',       Split('psum.c'), ['rt']),  # (errors)
71 < #('panim',      Split('panim.c'), px['LIBS]+['client','rpcsvc']),
70 > # name          files             libs
71 > ('psum',       ['psum.c'],       ['rtpic','rtio']),
72 > #('panim',      ['panim.c'],      ['client','rpcsvc']),# missing externals
73  
74 < ('ra_im',     Split('ra_im.c')),
74 > ('ra_im',      ['ra_im.c'],      ['rtproc','rtpath','rtio','rterror']),
75  
76 < #('aedimage',   Split('aedimage.c ciq.c cut.c closest.c'), []), # (errors)
77 < ('t4027',      Split('t4027.c'), ['rt']),
78 < ('paintjet',   Split('paintjet.c')),
79 < ('mt160r',     Split('mt160r.c')),
80 < ('greyscale',  Split('greyscale.c')),
81 < ('colorscale', Split('colorscale.c')),
82 < ('d48c',       Split('d48c.c'), ['rt']),   # (warnings)
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 <        if len(p) > 2:
71 <                prog = px.Program(target=radbin(p[0]), source=p[1],
72 <                        LIBS=p[2])
73 <        else:
74 <                prog = px.Program(target=radbin(p[0]), source=p[1])
87 >        prog = env.Program(target=radbin(p[0]), source=p[1], LIBS=p[2]+mlib)
88          specprogs.append(prog)
89 <        specinst.append(px.Install(px['RAD_BINDIR'], prog))
90 < px.Alias('px_special', specprogs)
91 < px.Alias('px_special_install', specinst)
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 = px.Command(radlib(px['LIBPREFIX'] + 'tiff' + px['LIBSUFFIX']),
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;'
# Line 89 | Line 102 | if os.name == 'posix':
102          'make install;' % os.path.join(cwd, 'tiff')])
103  
104          # tiff programs
105 <        ra_tiff = px.Program(target=radbin('ra_tiff'), source=Split('ra_tiff.c'),
106 <                LIBS=['tiff'] + px['LIBS'])
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=[px.Install(px['RAD_BINDIR'], ra_tiff)])
108 >        env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], ra_tiff)])
109  
110 <        normtiff = px.Program(target=radbin('normtiff'), source=Split('normtiff.c'),
111 <                LIBS=['tiff'] + px['LIBS'])
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=[px.Install(px['RAD_BINDIR'], normtiff)])
113 >        env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], normtiff)])
114  
115  
116   # pixar format requires extra lib
117 < if px.has_key('PIXAR_LIB'):
118 <    ra_pixar = px.Program(radbin('ra_pixar'), source=['ra_pixar.c'],
119 <                LIBS=['rt', px['PIXAR_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=[px.Install(px['RAD_BINDIR'], ra_pixar)])
121 >    env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], ra_pixar)])
122  
123  
124   # X11 targets
125 < if px.has_key('X11LIB'):
126 <    px.Append(CPPPATH=px['X11INCLUDE'])
127 <    px.Append(LIBS=['X11'])
128 <    px.Append(LIBPATH=px['X11LIB'])
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 = px.Program(target=radbin('ximage'),
131 <        source=Split('x11image.c x11raster.c clrtab.c'),)
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=[px.Install(px['RAD_BINDIR'], ximage)])
134 >    env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], ximage)])
135  
136 <    xshowtrace = px.Program(target=radbin('xshowtrace'),
137 <        source=Split('xshowtrace.c x11findwind.c'),)
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=[px.Install(px['RAD_BINDIR'], xshowtrace)])
140 >    env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], xshowtrace)])
141  
142   # NeWS ?!?
143 < #    if px.has_key('OGL'):
144 < #        glimage = px.Program(target=radbin('glimage'),
145 < #            CPPFLAGS=px.get('CPPFLAGS', []) + [px['RAD_STEREO']],
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']+px['LIBS'],)
147 > #            LIBS=['gl_s']+env['LIBS'],)
148   #        Default(glimage)
149 < #        env.Append(RAD_BININSTALL=[px.Install(px['RAD_BINDIR'], glimage)])
149 > #        env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], glimage)])
150  
151  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines