import os Import('env') # inherit from parent mlib = ['$RAD_MLIB'] progs = [] # compose paths 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") # standard targets PROGS = ( # name files libs ('macbethcal', Split('macbethcal.c pmapgen.c mx3.c')+[warp3d], ['rtpic','rtproc','rtpath','rtio','rtargs','rtcont','rtmem','rterror']), ('pcond', Split('pcond.c pcond2.c pcond3.c pcond4.c')+[warp3d], ['rtpic','rtproc','rtpath','rtio','rtargs','rtmath','rtcont','rtmem','rterror']), ('pfilt', Split('pfilt.c pf2.c pf3.c'), ['rtlamps','rtpic','rtio','rtpath','rtargs','rtmath']), ('pcwarp', ['pcwarp.c', warp3d], ['rtpic','rtio','rtcont','rtmem','rterror']), ('pvalue', ['pvalue.c'], ['rtpic','rtio','rtargs','rtmath']), ('pcompos', ['pcompos.c'], ['rtpic','rtproc','rtpath','rtio','rterror']), ('psign', ['psign.c'], ['rtpic','rtscene','rtio','rtpath','rtargs','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']), ('pinterp', ['pinterp.c'], ['rtproc','rtpic','rtio','rtpath','rtargs','rtmath','rtmem','rterror']), ('ra_gif', ['ra_gif.c', clrtab, neuclrtab], ['rtpic','rtio','rtmem']), ('ra_ps', ['ra_ps.c'], ['rtpic','rtio','rtargs','rtmem']), ('ra_ppm', ['ra_ppm.c'], ['rtpic','rtio','rtmem']), ('ra_bmp', ['ra_bmp.c'], ['rtpic','rtproc','rtio','rtmem']), ('ra_t8', ['ra_t8.c', clrtab, neuclrtab], ['rtpic','rtio','rtmem']), ('ra_t16', ['ra_t16.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']), ('ra_xyze', ['ra_xyze.c'], ['rtpic','rtio','rtmem']), ('ttyimage', ['ttyimage.c'], ['rtpic','rtio','rtmem']), ) for p in PROGS: prog = env.Program(target=radbin(p[0]), source=p[1], LIBS=p[2]+mlib) progs.append(prog) # 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']), None, [('cd "%(tiffdir)s"; ' 'env CC="$CC" ' './configure -C '#-with-CC="$CC" ' '"libdir=%(upperdir)s/lib" "includedir=%(upperdir)s/common" ' '--enable-static --disable-shared --disable-cxx ' '--enable-logluv --disable-jpeg ' '--disable-zlib --disable-pixarlog; ' #'"-with-ENVOPTS=$CCFLAGS"; ' 'cd %(portdir)s; make all;' 'cd %(libtiffdir)s; make install;') % { 'upperdir':upperdir, 'tiffdir':os.path.join(cwd, 'tiff'), 'portdir':os.path.join(cwd, 'tiff', 'port'), 'libtiffdir':os.path.join(cwd, 'tiff', 'libtiff') } ]) # 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')]) # tiff programs ra_tiff = env.Program(target=radbin('ra_tiff'), source=Split('ra_tiff.c'), LIBS=['tiff','rtpic','rtio','rtmem'] + mlib) progs.append(ra_tiff) normtiff = env.Program(target=radbin('normtiff'), source=Split('normtiff.c'), LIBS=['tiff','rtpic','rtio','rtmem'] + mlib) progs.append(normtiff) # X11 targets if env.has_key('X11LIB'): xincl = env.get('CPPPATH', []) + ['$X11INCLUDE'] xlibp = env.get('LIBPATH', []) + ['$X11LIB'] xlibs = ['X11','rtpic','rtio','rtmath','rtargs','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=xincl, LIBPATH=xlibp, LIBS=xlibs + mlib) progs.append(ximage) xshowtrace = env.Program(target=radbin('xshowtrace'), source=Split('xshowtrace.c') + [x11findwind], CPPPATH=xincl, LIBPATH=xlibp, LIBS=xlibs + mlib) progs.append(xshowtrace) if os.name == 'posix': # XXX ignoring trad.wsh for s in Split('''normpat falsecolor pdfblur pmblur xyzimage phisto pdelta pgblur ra_pfm'''): Default(env.InstallCsh(radbin(s), s + '.csh')) # XXX probably needs fixing #else: # for s in Split('''falsecolor'''): # Default(env.InstallCsh(radbin(s), s + '.csh')) Default('#src/px') env.Install('$RAD_BINDIR', progs)