Browse Source

attempt to fix make.tcl for use with tcl8.6 (no zipfs available)

master
Julian Noble 3 weeks ago
parent
commit
4fa6d67e3d
  1. 11
      src/make.tcl

11
src/make.tcl

@ -2839,6 +2839,9 @@ foreach vfstail $vfs_tails {
#zipfs mkimg replaces the entire zipped vfs in the runtime - so we need the original data to be part of our targetvfs.
puts stdout "building $vfsname.new with zipfs vfsdir:$vfstail cwd: [pwd]"
file mkdir $targetvfs
if {[info commands ::tcl::zipfs::mount] ne ""} {
set rtmountpoint //zipfs:/rtmounts/$runtime_fullname
if {![file exists $rtmountpoint]} {
@ -2885,11 +2888,17 @@ foreach vfstail $vfs_tails {
punk::zip::extract_preamble $building_runtime $raw_runtime
}
} else {
#the input building_runtime wasn't mountable - so presumably a plain executable
#the input building_runtime wasn't mountable as a zip - so presumably a plain executable
#set building_runtime $buildfolder/build_$runtime_fullname ;#working copy of runtime executable - (possibly with kit/zipfs/cookfs etc attached!)
#set raw_runtime $buildfolder/raw_$runtime_fullname
file copy -force $building_runtime $raw_runtime
}
} else {
#tcl we are calling with doesn't have zipfs - can't mount
puts stderr "WARNING: tcl shell '[info nameofexecutable]' being used to build doesn't have zipfs - falling back to punk::zip::extract_preamble"
punk::zip::extract_preamble $building_runtime $raw_runtime $buildfolder/extracted_$runtime_fullname.zip
merge_over $buildfolder/extracted_$runtime_fullname.zip $targetvfs
}
merge_over $sourcefolder/vfs/_vfscommon.vfs $targetvfs

Loading…
Cancel
Save