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

Comparing ray/SConstruct (file contents):
Revision 1.3 by schorsch, Sun Jul 4 12:08:47 2004 UTC vs.
Revision 1.12 by schorsch, Sat Mar 5 00:25:21 2016 UTC

# Line 4 | Line 4 | import sys
4   import string
5  
6   OPTFILE = 'rayopts.py'
7
7   def set_opts(env):
8 <    # XXX add some caching
9 <    opts = Options(OPTFILE, ARGUMENTS)
10 <    opts.Add('SKIP', 'Skip Display of License terms', 0)
11 <    opts.Add('RAD_BINDIR',  'Install executables here',   env['RAD_BINDIR'])
12 <    opts.Add('RAD_RLIBDIR', 'Install support files here', env['RAD_RLIBDIR'])
13 <    opts.Add('RAD_MANDIR',  'Install man pages here',     env['RAD_MANDIR'])
14 <    opts.Add('RAD_DEBUG',   'Build a debug version',  0)
15 <    opts.Update(env)
16 <    opts.Save(OPTFILE, env)
17 <    Help(opts.GenerateHelpText(env, sort=cmp))
8 >        # XXX add some caching
9 >        opts = Options(OPTFILE, ARGUMENTS)
10 >        opts.Add('SKIP', 'Skip Display of License terms', 0)
11 >        opts.Add('RAD_BINDIR',  'Install executables here',   env['RAD_BINDIR'])
12 >        opts.Add('RAD_RLIBDIR', 'Install support files here', env['RAD_RLIBDIR'])
13 >        opts.Add('RAD_MANDIR',  'Install man pages here',     env['RAD_MANDIR'])
14 >        opts.Add('RAD_DEBUG',   'Build a debug version',  0)
15 >        opts.Update(env)
16 >        opts.Save(OPTFILE, env)
17 >        Help(opts.GenerateHelpText(env, sort=cmp))
18          # where stuff is located in the source tree
19 <    env['RAD_BUILDLIB']  = '#src/lib'
20 <    env['RAD_BUILDBIN']  = '#bin'
21 <    env['RAD_BUILDRLIB'] = '#lib'
22 <    env['RAD_BUILDMAN']  = '#doc/man'
19 >        env['RAD_BUILDLIB']  = '#src/lib'
20 >        env['RAD_BUILDBIN']  = '#bin'
21 >        env['RAD_BUILDRLIB'] = '#lib'
22 >        env['RAD_BUILDMAN']  = '#doc/man'
23  
24   def allplats_setup(env):
25 <    from build_utils import find_libs
26 <    find_libs.find_x11(env)
27 <    find_libs.find_gl(env) # OpenGL
28 <    #find_libs.find_pixar(env) # PIXAR_LIB for src/px/ra_pixar.c
25 >        from build_utils import find_libs
26 >        find_libs.find_radlib(env)
27 >        find_libs.find_x11(env)
28 >        find_libs.find_gl(env) # OpenGL
29 >        find_libs.find_libtiff(env)
30  
31   def post_common_setup(env):
32 <    env.Append(CPPPATH = [os.path.join('#src', 'common')])
33 <    env.Append(LIBPATH=['../lib']) # our own libs
34 <    if not env.has_key('RAD_MLIB'):
35 <        env['RAD_MLIB'] = [] #['m'] # no seperate mlib on Win
32 >        env.Append(CPPPATH = [os.path.join('#src', 'common')])
33 >        env.Append(LIBPATH=['../lib']) # our own libs
34 >        if not env.has_key('RAD_MLIB'):
35 >                env['RAD_MLIB'] = [] #['m'] # no seperate mlib on Win
36  
37   def shareinstall_setup(env):
38          from build_utils import install
# Line 44 | Line 44 | def shareinstall_setup(env):
44  
45   # Set up build environment
46   env = Environment()
47 + env.Decider('timestamp-match')
48  
49 + if os.name == 'posix':
50 +        from build_utils import install
51 +        csh_b = Builder(action = install.install_script,
52 +                        suffix = '', src_suffix = '.csh')
53 +        env.Append(BUILDERS={'InstallScript': csh_b})
54 +
55   # configure platform-specific stuff
56   from build_utils import load_plat
57   load_plat.load_plat(env, ARGUMENTS, platform=None)
# Line 53 | Line 60 | load_plat.load_plat(env, ARGUMENTS, platform=None)
60   set_opts(env)
61  
62   # accept license
63 < if not env['SKIP'] and not '-c' in sys.argv:
64 <    from build_utils import copyright
65 <    copyright.show_license()
63 > if ((not env['SKIP']
64 >                        or env['SKIP'].strip().lower() in (0,'0','no','false'))
65 >                and not '-c' in sys.argv and not 'test' in sys.argv):
66 >        from build_utils import copyright
67 >        copyright.show_license()
68  
69   # fill in generic config
70   allplats_setup(env)
71  
72   # Bring in all the actual things to build
73   Export('env')
74 < SConscript(os.path.join('src', 'common', 'SConscript'))
75 < post_common_setup(env)
76 < for d in Split('meta cv gen ot rt px hd util cal'):
77 <    print d
78 <    SConscript(os.path.join('src', d, 'SConscript'))
74 > if 'test' in sys.argv:
75 >        SConscript(os.path.join('test', 'SConscript'))
76 >        
77 > else:
78 >        SConscript(os.path.join('src', 'common', 'SConscript'))
79 >        post_common_setup(env)
80 >        for d in Split('meta cv gen ot rt px hd util cal'):
81 >                print d
82 >                SConscript(os.path.join('src', d, 'SConscript'))
83  
84 < if string.find(string.join(sys.argv[1:]), 'install') > -1:
85 <        shareinstall_setup(env)
84 >        if string.find(string.join(sys.argv[1:]), 'install') > -1:
85 >                shareinstall_setup(env)
86  
87 + Default('.')
88 +
89   # virtual targets
90 < # RAD_XXXINSTALL are filled in by the local scripts
91 < env.Alias('bininstall',  env.get('RAD_BININSTALL', []))
92 < env.Alias('rlibinstall', env.get('RAD_RLIBINSTALL',[]))
78 < env.Alias('maninstall',  env.get('RAD_MANINSTALL', []))
90 > env.Alias('bininstall',  '$RAD_BINDIR')
91 > env.Alias('rlibinstall', '$RAD_RLIBDIR')
92 > env.Alias('maninstall',  '$RAD_MANDIR')
93  
94   env.Alias('build',   ['#bin'])
95 < env.Alias('test',    ['#src/test'])
95 > env.Alias('test',    ['#test'])
96   env.Alias('install', ['bininstall', 'rlibinstall', 'maninstall'])
83
84 # Further virtual targets are defined locally:
85 # meta_special: mt1601 okimate imagew mt160 mx80 impress aed5
86 #               tcurve tscat tbar mtext libt4014.a plotout t4014
87 # px_special:   ra_im, t4027, paintjet, mt160t, greyscale, colorscale, d48c
88 # util_special: scanner, makedist (not for Windows yet)
89 env.Alias('special', ['meta_special', 'px_special', 'util_special'])
90 env.Alias('special_install', ['meta_special_install',
91                'px_special_install', 'util_special_install'])
97  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines