--- ray/SConstruct 2003/10/21 19:27:28 1.1 +++ ray/SConstruct 2004/10/21 15:47:11 1.4 @@ -1,15 +1,10 @@ -# Notes to people who come after: -# -# In general, only use '/' as a path separator in *nix-specific code, use -# os.path.join() for everythign else - import os import sys import string OPTFILE = 'rayopts.py' - +SourceSignatures('timestamp') def set_opts(env): # XXX add some caching opts = Options(OPTFILE, ARGUMENTS) @@ -17,6 +12,7 @@ def set_opts(env): opts.Add('RAD_BINDIR', 'Install executables here', env['RAD_BINDIR']) opts.Add('RAD_RLIBDIR', 'Install support files here', env['RAD_RLIBDIR']) opts.Add('RAD_MANDIR', 'Install man pages here', env['RAD_MANDIR']) + opts.Add('RAD_DEBUG', 'Build a debug version', 0) opts.Update(env) opts.Save(OPTFILE, env) Help(opts.GenerateHelpText(env, sort=cmp)) @@ -49,9 +45,15 @@ def shareinstall_setup(env): # Set up build environment env = Environment() +if os.name == 'posix': + from build_utils import install + csh_b = Builder(action = install.install_cshscript, + suffix = '', src_suffix = '.csh') + env.Append(BUILDERS={'InstallCsh': csh_b}) + # configure platform-specific stuff from build_utils import load_plat -load_plat.load_plat(env, platform=None) +load_plat.load_plat(env, ARGUMENTS, platform=None) # override options set_opts(env) @@ -64,35 +66,34 @@ if not env['SKIP'] and not '-c' in sys.argv: # fill in generic config allplats_setup(env) + + # Bring in all the actual things to build Export('env') SConscript(os.path.join('src', 'common', 'SConscript')) post_common_setup(env) for d in Split('meta cv gen ot rt px hd util cal'): + print d SConscript(os.path.join('src', d, 'SConscript')) if string.find(string.join(sys.argv[1:]), 'install') > -1: shareinstall_setup(env) # virtual targets -# RAD_XXXINSTALL are filled in by the local scripts -env.Alias('bininstall', env.get('RAD_BININSTALL', [])) -env.Alias('rlibinstall', env.get('RAD_RLIBINSTALL',[])) -env.Alias('maninstall', env.get('RAD_MANINSTALL', [])) +env.Alias('bininstall', '$RAD_BINDIR') +env.Alias('rlibinstall', '$RAD_RLIBDIR') +env.Alias('maninstall', '$RAD_MANDIR') env.Alias('build', ['#bin']) env.Alias('test', ['#src/test']) env.Alias('install', ['bininstall', 'rlibinstall', 'maninstall']) # Further virtual targets are defined locally: - -# meta_special -> mt1601 okimate imagew mt160 mx80 impress aed5 -# tcurve tscat tbar mtext libt4014.a plotout t4014 -# meta_special_install - -# px_special -> ra_im, t4027, paintjet, mt160t, greyscale, colorscale, d48c -# px_special_install - -# util_special -> scanner, makedist -# util_special_install +# meta_special: mt1601 okimate imagew mt160 mx80 impress aed5 +# tcurve tscat tbar mtext libt4014.a plotout t4014 +# px_special: ra_im, t4027, paintjet, mt160t, greyscale, colorscale, d48c +# util_special: scanner, makedist (not for Windows yet) +env.Alias('special', ['meta_special', 'px_special', 'util_special']) +env.Alias('special_install', ['meta_special_install', + 'px_special_install', 'util_special_install'])