Posted to tcl by stevel at Mon Feb 22 02:09:34 GMT 2010view raw
- # ::critcl2::precopy is only used on Windows when preloading out of a
 -     # VFS that doesn't support direct loading (usually, a Starkit)
 -     #   - we preserve the dll name so that dependencies are satisfied
 -     #   - critcl2::preload is defined in critcl/lib/critcl/critcl_c/preload.c
 -  
 -     proc precopy {dll} {
 -         global env
 -         if {[info exists env(TEMP)]} {
 -             set dir $env(TEMP)
 -         } elseif {[info exists env(TMP)]} {
 -             set dir $env(TMP)
 -         } elseif {[info exists ~]} {
 -             set dir ~
 -         } else {
 -             set dir .
 -         }
 -         set dir [file join $dir TCL[pid]]
 -         set i 0
 -         while {[file exists $dir]} {
 -             append dir [incr i]
 -         }
 -         set new [file join $dir [file tail $dll]]
 -         file mkdir $dir
 -         file copy $dll $new
 -         return $new
 -     }