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

Comparing ray/src/hd/SConscript (file contents):
Revision 1.1 by schorsch, Tue Oct 21 19:27:29 2003 UTC vs.
Revision 1.9 by schorsch, Thu Mar 10 01:49:56 2016 UTC

# Line 2 | Line 2 | import os
2  
3   Import('env')
4  
5
5   # math libs
6   mlib = env['RAD_MLIB']
7  
8 + # compose paths
9 + def radbin(name): return os.path.join('$RAD_BUILDBIN', name)
10 + def radlib(name): return os.path.join('$RAD_BUILDLIB', name)
11 +
12   # common objects
13   viewbeams = env.Object(source='viewbeams.c')
14   holo = env.Object(source='holo.c')
15 + holofile = env.Object(source='holofile.c')
16 + clumpbeams = env.Object(source='clumpbeams.c')
17  
18   # standard targets
19   PROGS = (
20 < ('rholo',    Split('''rholo.c rholo2.c rholo2l.c rholo3.c rholo4.c
21 <                                   holofile.c Version.c''') + [holo, viewbeams]),
22 < ('rhpict', Split('rhpict.c rhpict2.c holofile.c Version.c')+[holo, viewbeams]),
23 < ('rhcopy', Split('rhcopy.c clumpbeams.c holofile.c') + [holo]),
24 < ('rhinfo', Split('rhinfo.c holofile.c') + [holo]),
25 < #('genrhenv', Split('genrhenv.c holofile.c') + [holo]), # XXX broken
26 < ('genrhgrid', Split('genrhgrid.c') + [holo]),
20 > ('rholo', Split('''rholo.c rholo2.c rholo2l.c rholo3.c rholo4.c''')
21 >         + [env.version, holofile, holo, viewbeams],
22 >        ['rtpic','rtproc','rtpath','rtio','rtargs','rtmath','rtmem','rterror'],0),
23 > ('rhpict', Split('rhpict.c rhpict2.c')+[env.version, holofile, holo, viewbeams],
24 >        ['rtpic','rtproc','rtargs','rtio','rtmath','rtmem','rterror'],1),
25 > ('rhcopy', Split('rhcopy.c') + [clumpbeams, holofile, holo],
26 >        ['rtpic','rtproc','rtargs','rtio','rtmath','rtmem','rterror'],1),
27 > ('rhinfo', Split('rhinfo.c') + [holofile, holo],
28 >        ['rtio','rtproc', 'rtmath','rterror'],1),
29 > ('rhoptimize', Split('rhoptimize.c') + [clumpbeams, holofile, holo],
30 >        ['rtio','rtproc', 'rtmath','rterror'],1),
31 > ('genrhgrid', Split('genrhgrid.c') + [holofile, holo],
32 > ['rtio','rtmath','rtproc','rterror'],1),
33   )
34 < if os.name != 'nt': # pending some major work...
34 > if 1:
35          for p in PROGS:
36 <                prog = env.Program(target=os.path.join(env['RAD_BUILDBIN'], p[0]),
37 <                                source=p[1], LIBS=['rt'] + mlib)
36 >                print(p[0])
37 >                if not p[3] and os.name == 'nt': continue
38 >                prog = env.Program(target=radbin(p[0]),
39 >                                source=p[1], LIBS=p[2] + mlib)
40                  Default(prog)
41                  env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], prog)])
42  
43   # display drivers
44   if env.has_key('X11INCLUDE'):
45 <        xenv = env.Copy(CPPPATH=[env['X11INCLUDE']] + env['CPPPATH'],
45 >        xenv = env.Clone(CPPPATH=[env['X11INCLUDE']] + env['CPPPATH'],
46                          LIBPATH=[env['X11LIB']] + env['LIBPATH'],)
47          # common objects
48          rhdisp = xenv.Object(source='rhdisp.c')
# Line 44 | Line 57 | if env.has_key('X11INCLUDE'):
57          # XXX the .hdi extension will cause problems on Windows
58          xenv['PROGSUFFIX'] = '.hdi'
59  
60 +        dlibs = ['rtpic','rtmath','rtcont','rtmem','rtargs','rtio','rterror','rtdummy']
61          def make_hdi(p): # build them
62                  obj = xenv.Object(target=p[3], source=p[4], CPPFLAGS=ocppflags + p[5])
63 <                prog = xenv.Program(target=os.path.join(devdir, p[0]),
63 >                prog = xenv.Program(target=radbin(p[0]),
64                                  source=[obj] + p[1] + xcommon, LIBS=p[2])
65                  Default(prog)
66                  inst = xenv.Install(idevdir, prog)
67                  # XXX what are the alternative "<driver>h" names good for?
68 <                insth = xenv.InstallAs(target=os.path.join(idevdir,
68 >                insth = xenv.InstallAs(target=radbin(
69                                          p[0] + 'h' + xenv['PROGSUFFIX']), source=prog)
70                  env.Append(RAD_BININSTALL=[inst, insth])
71  
72          # (name, sources,   libs,   obj, objsrc, objflags)
73          XHDI = (('x11',  Split('rhd_ctab.c rhd_qtree2r.c') + [rhd_qtree],
74 <                                ['rt','X11'] + mlib,
74 >                                dlibs + ['X11'] + mlib,
75                                  'rhd_x11', 'rhd_x11.c', []),
76                     )
77          for p in XHDI:
78                  make_hdi(p)
79  
80          if env.has_key('OGL'):
81 <                # XXX There's a BITS(x) macro missing in sm_geom.h
68 <                #sm_common_s = Split('''sm_samp.c sm_qtree.c sm_stree.c sm_geom.c
69 <                #               sm_list.c sm_del.c sm_ogl.c sm_usets.c sm.c''')
70 <                #sm_common = map(lambda s:xenv.Object(source=s), sm_common_s)
81 >                rgllibs = ['rgl','rtscene','rtpath']
82                  ogl_common_s = Split('rhd_odraw.c rhd_geom.c')
83                  ogl_common = map(lambda s:xenv.Object(source=s), ogl_common_s)
84                  rhdobj = xenv.Object(source='rhdobj.c')
85  
86                  GLHDI = (
87 +                        # glx1h
88                          ('glx1', ['rhd_qtree2c.c', rhd_qtree],
89 <                         ['rt','GLU','GL','X11'] + mlib,
89 >                         dlibs + ['GLU','GL','X11'] + mlib,
90                           'rhd_glx1', 'rhd_glx1.c', ['-DNOSTEREO']),
91  
92 <                        #('glx',  sm_common,
81 <                        # ['rt','GLU','GL','X11'] + mlib,
82 <                        # 'rhd_glx0', 'rhd_glx.c', ['-DNOSTEREO']),
83 <
84 <                        #('glxo', [rhdobj] + sm_common,
85 <                        # ['rgl','rt','GLU','GL','X11'] + mlib,
86 <                        # 'rhd_glxo', 'rhd_glx.c', ['-DDOBJ', '-DNOSTEREO']),
87 <
92 >                        # oglh
93                          ('ogl', ogl_common,
94 <                         ['rgl','rt','GLU','GL','X11'] + mlib,
94 >                         rgllibs+dlibs+['GLU','GL','X11'] + mlib,
95                           'rhd_ogl0', 'rhd_ogl.c', ['-DNOSTEREO']),
96  
97 +                        # ogloh
98                          ('oglo', [rhdobj] + ogl_common,
99 <                         ['rgl','rt','GLU','GL','X11'] + mlib,
99 >                         rgllibs+['rtproc']+dlibs+['GLU','GL','X11'] + mlib,
100                           'rhd_oglo', 'rhd_ogl.c', ['-DDOBJ', '-DNOSTEREO']),
101                          )
102                  for p in GLHDI:
# Line 98 | Line 104 | if env.has_key('X11INCLUDE'):
104                  if xenv['RAD_STEREO'] == '-DSTEREO':
105  
106                          GLSHDI = (
107 <                                #('glxs',  sm_common,
102 <                                # ['rt','GLU','GL','X11','Xext'] + mlib,
103 <                                # 'rhd_glxs', 'rhd_glx.c' ['-DSTEREO']),
104 <
105 <                                #('glxso', [rhdobj] + sm_common,
106 <                                # ['rgl','rt','GLU','GL','X11','Xext'] + mlib,
107 <                                # 'rhd_glxo', 'rhd_glx.c' ['-DDOBJ', '-DSTEREO']),
108 <
107 >                                # oglsh
108                                  ('ogls', ogl_common,
109 <                                 ['rgl','rt','GLU','GL','X11','Xext'] + mlib,
109 >                                 rgllibs+dlibs+['GLU','GL','X11','Xext'] + mlib,
110                                   'rhd_ogls', 'rhd_ogl.c' ['-DSTEREO']),
111                                          
112 +                                # oglsoh
113                                  ('oglso', [rhdobj] + ogl_common,
114 <                                 ['rgl','rt','GLU','GL','X11','Xext'] + mlib,
114 >                                 rgllibs+dlibs+['GLU','GL','X11','Xext'] + mlib,
115                                   'rhd_oglso', 'rhd_ogl.c' ['-DDOBJ', '-DSTEREO']),
116                                          )
117                          for p in GLHDI:
# Line 119 | Line 119 | if env.has_key('X11INCLUDE'):
119  
120  
121  
122 + # vim: set syntax=python:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines