summaryrefslogtreecommitdiffstats
path: root/unix
diff options
context:
space:
mode:
authorhypnotoad <yoda@etoyoc.com>2014-10-21 01:04:07 (GMT)
committerhypnotoad <yoda@etoyoc.com>2014-10-21 01:04:07 (GMT)
commit9171dde34641416c1530c7a8ba9aa49ca267a55c (patch)
tree7532a8a9134f13ff0870ca98e033e741bbf69364 /unix
parent6826dbab466f01f5d52b4ff477e810297aa96991 (diff)
downloadtcl-9171dde34641416c1530c7a8ba9aa49ca267a55c.zip
tcl-9171dde34641416c1530c7a8ba9aa49ca267a55c.tar.gz
tcl-9171dde34641416c1530c7a8ba9aa49ca267a55c.tar.bz2
Replaced calls to zip with calls to the new pure-tcl zipfile encoder embedded
in zvfstools. Fixed a bug in the encoder for zvfstools. It was exporting files, but not directories. This lack of directories was causing the bootloader to miss that /zvfs/boot/tcl/init.tcl existed, because it was checking for the existance of /zvfs/boot/tcl. I compared the archives created by zvfstools::mkzip to the archives created by zip, and the difference came down to the fact that zip did create TOC entries for directories and zvfstools::mkzip was failing to do so. (So I'm pretty sure the new behavior is "standard.")
Diffstat (limited to 'unix')
-rw-r--r--unix/Makefile.in15
1 files changed, 5 insertions, 10 deletions
diff --git a/unix/Makefile.in b/unix/Makefile.in
index 918e9fc..b635c0a 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -661,10 +661,6 @@ ${TCL_EXE}: ${TCLSH_OBJS} ${TCL_LIB_FILE} ${TCL_STUB_LIB_FILE}
# Must be empty so it doesn't conflict with rule for ${TCL_EXE} above
${NATIVE_TCLSH}:
-null.zip:
- touch .empty
- zip null.zip .empty
-
# Rather than force an install, pack the files we need into a
# file system under our control
tclzsh.vfs:
@@ -681,13 +677,12 @@ ${TCLZSH_BASE}_bare: ${TCLZSH_OBJS} ${TCL_LIB_FILE} ${TCL_STUB_LIB_FILE}
${LIBS} @EXTRA_TCLSH_LIBS@ \
${CC_SEARCH_FLAGS} -o ${TCLZSH_BASE}_bare
-
# Builds an executable linked to the Tcl dynamic library
-${TCLZSH_EXE}: ${TCLZSH_BASE}_bare null.zip tclzsh.vfs
- cp -f ${TCLZSH_BASE}_bare ${TCLZSH_BASE}.zip
- cat null.zip >> ${TCLZSH_BASE}.zip
- cd tclzsh.vfs ; zip -rAq ${UNIX_DIR}/${TCLZSH_BASE}.zip .
- mv ${TCLZSH_BASE}.zip ${TCLZSH_EXE}
+${TCLZSH_EXE}: ${TCLZSH_BASE}_bare tclzsh.vfs
+ ./${TCLZSH_BASE}_bare ../tools/mkzip.tcl ${TCLZSH_EXE} \
+ -runtime ${TCLZSH_BASE}_bare \
+ -directory tclzsh.vfs
+ chmod a+x ${TCLZSH_EXE}
# Builds an executable directly from the Tcl sources
tclzsh-static: ${TCLZSH_OBJS} ${OBJS} ${ZLIB_OBJS} null.zip tclzsh.vfs