diff -u -r image.orig/SConscript image/SConscript --- image.orig/SConscript 2008-08-24 02:37:18.000000000 +0200 +++ image/SConscript 2009-03-06 21:12:25.000000000 +0100 @@ -29,6 +29,48 @@ 32e.png 33c.png 34c.png 37e.png 38c.png 41cv.png""") +voyager_base_images = Split ("""11c_base.png 12c_base.png 15c_base.png 16c_base.png""") + +voyager_segment_image = Split ("""voyager_segments.png""") + +base_images = voyager_base_images # some day there may be others + +segment_images = voyager_segment_image # some day there may be others + +#----------------------------------------------------------------------------- +# convert PNG files to PNM for manipulation +#----------------------------------------------------------------------------- + +PNG2PNM = Builder (action = "/opt/local/bin/pngtopnm $SOURCE >$TARGET", + suffix = ".pnm", + src_suffix = ".png") + +env.Append (BUILDERS = { 'PNG2PNM' : PNG2PNM }) + +voyager_pnm_images = [env.PNG2PNM(src) for src in voyager_base_images] + +voyager_segment_pnm = env.PNG2PNM (voyager_segment_image) + +#----------------------------------------------------------------------------- +# build Voyager PNG images from the PNM pieces (base image + segment image) +#----------------------------------------------------------------------------- + +vimg_env = env.Clone () + +def VPNM2PNG_Emitter (target, source, env): + source.append (voyager_segment_pnm) + return (target, source) + +VPNM2PNG = Builder (action = "/opt/local/bin/pnmcat -lr $SOURCES | /opt/local/bin/pnmtopng -compression 9 >$TARGET", + suffix = ".png", + src_suffix = "_base.pnm", + emitter = VPNM2PNG_Emitter) + +vimg_env.Append (BUILDERS = { 'VPNM2PNG' : VPNM2PNG }) + + +derived_images = [vimg_env.VPNM2PNG(src) for src in voyager_pnm_images] + #----------------------------------------------------------------------------- # Export 41CV image for use in building Nonpareil executable #----------------------------------------------------------------------------- @@ -36,18 +78,24 @@ env.Append (IMAGE_41CV = File ('41cv.png')) #----------------------------------------------------------------------------- +# Default targets +#----------------------------------------------------------------------------- + +Default (derived_images) + +#----------------------------------------------------------------------------- # Install image files #----------------------------------------------------------------------------- env.Alias (target = 'install', source = env.Install (dir = env ['destdir'] + env ['libdir'], - source = unmod_images)) + source = unmod_images + derived_images)) #----------------------------------------------------------------------------- # source tarball #----------------------------------------------------------------------------- -dist_files = ['SConscript'] + unmod_images +dist_files = ['SConscript'] + unmod_images + base_images + segment_images env.Distribute (source_release_dir, dist_files) @@ -59,4 +107,4 @@ if env ['target'] == 'win32': Import ('win32_bin_dist_dir') - Install (win32_bin_dist_dir, unmod_images) + Install (win32_bin_dist_dir, unmod_images + derived_images) Only in image: voyager_segments.png