--- ray/src/px/SConscript 2004/01/02 23:27:43 1.3 +++ ray/src/px/SConscript 2008/04/27 17:22:49 1.18 @@ -2,55 +2,48 @@ import os Import('env') # inherit from parent -mlib = env['RAD_MLIB'] +mlib = ['$RAD_MLIB'] +progs = [] # compose paths -def radbin(name): return os.path.join(env['RAD_BUILDBIN'], name) -def radlib(name): return os.path.join(env['RAD_BUILDLIB'], name) +def radbin(name): return os.path.join('$RAD_BUILDBIN', name) +#def radbin(name): return name +def radlib(name): return os.path.join('$RAD_BUILDLIB', name) warp3d = env.Object(source="warp3d.c") clrtab = env.Object(source="clrtab.c") neuclrtab = env.Object(source="neuclrtab.c") -ciq = env.Object(source="ciq.c") -cut = env.Object(source="cut.c") -closest = env.Object(source="closest.c") # standard targets PROGS = ( -# name files libs +# name files libs ('macbethcal', Split('macbethcal.c pmapgen.c mx3.c')+[warp3d], - ['rtpic','rtproc','rtpath','rtio','rtargs','rtcont','rtmem','rterror']), + ['rtpic','rtproc','rtpath','rtargs','rtio','rtcont','rtmem','rterror']), ('pcond', Split('pcond.c pcond2.c pcond3.c pcond4.c')+[warp3d], - ['rtpic','rtproc','rtpath','rtio','rtargs','rtmath','rtcont','rtmem','rterror']), + ['rtpic','rtproc','rtpath','rtargs','rtio','rtmath','rtcont','rtmem','rterror']), ('pfilt', Split('pfilt.c pf2.c pf3.c'), - ['rtlamps','rtpic','rtio','rtpath','rtargs','rtmath']), -('pcwarp', ['pcwarp.c', warp3d], + ['rtlamps','rtpic','rtpath','rtargs','rtio','rtmath']), +('pcwarp', ['pcwarp.c', warp3d], ['rtpic','rtio','rtcont','rtmem','rterror']), -('pvalue', ['pvalue.c'], ['rtpic','rtio','rtargs','rtmath']), +('pvalue', ['pvalue.c'], ['rtpic','rtargs','rtio','rtmath']), ('pcompos', ['pcompos.c'], ['rtpic','rtproc','rtpath','rtio','rterror']), ('psign', ['psign.c'], - ['rtpic','rtscene','rtio','rtpath','rtargs','rtcont','rtmem','rterror']), + ['rtpic','rtscene','rtpath','rtargs','rtio','rtcont','rtmem','rterror']), ('protate', ['protate.c'], ['rtpic','rtio']), ('pextrem', ['pextrem.c'], ['rtpic','rtio']), ('pflip', ['pflip.c'], ['rtpic','rtio']), ('pcomb', ['pcomb.c'], - ['rtpic','rtproc','rtpath','rtio','rtfunc','rtargs','rtmath','rtcont','rtmem']), + ['rtpic','rtproc','rtpath','rtfunc','rtargs','rtio','rtmath','rtcont','rtmem']), ('pinterp', ['pinterp.c'], - ['rtproc','rtpic','rtio','rtpath','rtargs','rtmath','rtmem','rterror']), + ['rtproc','rtpic','rtpath','rtargs','rtio','rtmath','rtmem','rterror']), -('oki20c', ['oki20c.c'],['rtpic','rtproc','rtpath','rtio','rtmem','rterror']), -('oki20', ['oki20.c'], ['rtpic','rtproc','rtpath','rtio','rtmem','rterror']), - ('ra_gif', ['ra_gif.c', clrtab, neuclrtab], ['rtpic','rtio','rtmem']), -('ra_pr', Split('ra_pr.c biq.c')+ [ciq, cut, closest], - ['rtpic','rtio','rtmem']), -('ra_pr24', ['ra_pr24.c'], ['rtpic','rtio','rtmem']), -('ra_avs', ['ra_avs.c'], ['rtpic','rtio','rtmem']), -('ra_ps', ['ra_ps.c'], ['rtpic','rtio','rtargs','rtmem']), +('ra_ps', ['ra_ps.c'], ['rtpic','rtargs','rtio','rtmem']), ('ra_ppm', ['ra_ppm.c'], ['rtpic','rtio','rtmem']), +('ra_bmp', ['ra_bmp.c'], + ['rtpic','rtproc','rterror','rtpath','rtio','rtmem']), ('ra_t8', ['ra_t8.c', clrtab, neuclrtab], ['rtpic','rtio','rtmem']), ('ra_t16', ['ra_t16.c'], ['rtpic','rtio','rtmem']), -('ra_bn', ['ra_bn.c'], ['rtpic','rtio','rtmem']), ('ra_rgbe', ['ra_rgbe.c'],['rtpic','rtproc','rtpath','rtio','rtmem','rterror']), ('ra_pict', ['ra_pict.c'], ['rtpic','rtio','rtmem']), ('ra_hexbit',['ra_hexbit.c'], ['rtpic','rtio','rtmem']), @@ -60,93 +53,71 @@ PROGS = ( ) for p in PROGS: prog = env.Program(target=radbin(p[0]), source=p[1], - LIBS=p[2]+mlib) - Default(prog) - env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], prog)]) + LIBS=p[2]+mlib) + progs.append(prog) -# special targets not normally built -SPECIAL = ( -# name files libs -('psum', ['psum.c'], ['rtpic','rtio']), -#('panim', ['panim.c'], ['client','rpcsvc']),# missing externals - -('ra_im', ['ra_im.c'], ['rtproc','rtpath','rtio','rterror']), - -#('aedimage', Split('aedimage.c')+[ciq, cut, closest],[]),# missing externals -('t4027', ['t4027.c'], ['rtpic']), -('paintjet', ['paintjet.c'], ['rtpic','rtio','rtmem']), -('mt160r', ['mt160r.c'], ['rtpic','rtio','rtmem']), -('greyscale', ['greyscale.c'], ['rtpic']), -('colorscale', ['colorscale.c'], ['rtpic']), -('d48c', ['d48c.c'], ['rtpic']), -) -specprogs = [] -specinst = [] -for p in SPECIAL: - prog = env.Program(target=radbin(p[0]), source=p[1], LIBS=p[2]+mlib) - specprogs.append(prog) - specinst.append(env.Install(env['RAD_BINDIR'], prog)) -env.Alias('px_special', specprogs) -env.Alias('px_special_install', specinst) - - # tiff library (unix-specific for the moment) if os.name == 'posix': cwd = os.getcwd() + upperdir = os.path.split(cwd)[0] + libtiff = env.Command(radlib(env['LIBPREFIX'] + 'tiff' + env['LIBSUFFIX']), - 'tiff/config.local', - [('cd "%s"; ' - 'sh ./configure -quiet -noninteractive ' - '-with-CC="$CC" -with-ENVOPTS="$CCFLAGS"; ' - 'cd libtiff; ' - 'make install;') % os.path.join(cwd, 'tiff')]) + None, + [('cd "%(tiffdir)s"; ' + 'env CC="$CC" ' + './configure -C ' + '"libdir=%(upperdir)s/lib" ' + '--enable-static --disable-shared --disable-cxx ' + '--enable-logluv --disable-jpeg --disable-zlib --disable-pixarlog; ' + 'cd %(portdir)s; make all;' + 'cd %(libtiffdir)s; make install-exec;' # don't install headers + ) % { + 'upperdir':upperdir, + 'tiffdir':os.path.join(cwd, 'tiff'), + 'portdir':os.path.join(cwd, 'tiff', 'port'), + 'libtiffdir':os.path.join(cwd, 'tiff', 'libtiff') + } + ]) # tiff programs - ra_tiff = env.Program(target=radbin('ra_tiff'), source=Split('ra_tiff.c'), + ra_tiff = env.Program(target=radbin('ra_tiff'), source=['ra_tiff.c'], LIBS=['tiff','rtpic','rtio','rtmem'] + mlib) - Default(ra_tiff) - env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], ra_tiff)]) + progs.append(ra_tiff) - normtiff = env.Program(target=radbin('normtiff'), source=Split('normtiff.c'), + normtiff = env.Program(target=radbin('normtiff'),source=['normtiff.c'], LIBS=['tiff','rtpic','rtio','rtmem'] + mlib) - Default(normtiff) - env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], normtiff)]) + progs.append(normtiff) -# pixar format requires extra lib -if env.has_key('PIXAR_LIB'): - ra_pixar = env.Program(radbin('ra_pixar'), source=['ra_pixar.c'], - LIBS=['rtpic', env['PIXAR_LIB']]) - Default(ra_pixar) - env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], ra_pixar)]) - - # X11 targets if env.has_key('X11LIB'): - xcppp = env.get('CPPPATH',[]) + [env['X11INCLUDE']] - xlibp = env.get('LIBPATH',[]) + [env['X11LIB']] - xlibs = ['X11','rtpic','rtio','rtmath','rtargs','rtmem'] + xincl = env.get('CPPPATH', []) + ['$X11INCLUDE'] + xlibp = env.get('LIBPATH', []) + ['$X11LIB'] + xlibs = ['X11','rtpic','rtargs','rtio','rtmath','rtmem'] + x11findwind = env.Object(source='../common/x11findwind.c', # XXX ../not/nice + CPPPATH=xincl) ximage = env.Program(target=radbin('ximage'), source=Split('x11image.c x11raster.c')+[clrtab], - CPPPATH=xcppp, LIBPATH=xlibp, LIBS=xlibs + mlib) - Default(ximage) - env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], ximage)]) + CPPPATH=xincl, LIBPATH=xlibp, LIBS=xlibs + mlib) + progs.append(ximage) xshowtrace = env.Program(target=radbin('xshowtrace'), - source=Split('xshowtrace.c x11findwind.c'), - CPPPATH=xcppp, LIBPATH=xlibp, LIBS=xlibs + mlib) - Default(xshowtrace) - env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], xshowtrace)]) + source=Split('xshowtrace.c') + [x11findwind], + CPPPATH=xincl, LIBPATH=xlibp, LIBS=xlibs + mlib) + progs.append(xshowtrace) -# NeWS ?!? -# if env.has_key('OGL'): -# glimage = env.Program(target=radbin('glimage'), -# CPPFLAGS=env.get('CPPFLAGS', []) + [env['RAD_STEREO']], -# source=Split('glimage.c'), -# LIBS=['gl_s']+env['LIBS'],) -# Default(glimage) -# env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], glimage)]) +if os.name == 'posix': # XXX ignoring trad.wsh + for s in Split('''normpat falsecolor pdfblur pmblur pmdblur pbilat + xyzimage phisto pdelta pgblur ra_pfm ran2tiff'''): + Default(env.InstallCsh(radbin(s), s + '.csh')) +# XXX probably needs fixing +#else: +# for s in Split('''falsecolor'''): +# Default(env.InstallCsh(radbin(s), s + '.csh')) +# ignored by Rmakefile: pacuity phisteq psquish pveil vlpic +Default('#src/px') +env.Install('$RAD_BINDIR', progs)