summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/linux-build.yml4
-rw-r--r--.github/workflows/onefiledist.yml30
-rw-r--r--generic/tkPkgConfig.c3
-rw-r--r--macosx/GNUmakefile2
-rw-r--r--unix/Makefile.in12
-rwxr-xr-xunix/configure2
-rw-r--r--unix/configure.ac2
-rw-r--r--win/Makefile.in19
-rwxr-xr-xwin/configure4
-rw-r--r--win/configure.ac2
-rw-r--r--win/makefile.vc5
-rw-r--r--win/tcl.m42
12 files changed, 51 insertions, 36 deletions
diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml
index fd8741d..933a8d8 100644
--- a/.github/workflows/linux-build.yml
+++ b/.github/workflows/linux-build.yml
@@ -37,7 +37,7 @@ jobs:
sudo apt-get install tcl8.6-dev libxss-dev
mkdir "$HOME/install dir"
touch tk/doc/man.macros tk/generic/tkStubInit.c
- echo "CFGOPT=$CFGOPT --with-tcl=/usr/lib/tcl8.6" >> $GITHUB_ENV
+ echo "CFGOPT=$CFGOPT --with-tcl=/usr/lib/tcl8.6" --disable-vfs >> $GITHUB_ENV
echo "CC=$COMPILER" >> $GITHUB_ENV
echo "TOOL_DIR=$(cd tcl/tools;pwd)" >> $GITHUB_ENV
echo "BUILD_CONFIG_ID=$OPTS" >> $GITHUB_ENV
@@ -121,7 +121,7 @@ jobs:
sudo apt-get install tcl8.6-dev libxss-dev xvfb
mkdir "$HOME/install dir"
touch tk/doc/man.macros tk/generic/tkStubInit.c
- echo "CFGOPT=$CFGOPT --with-tcl=/usr/lib/tcl8.6" >> $GITHUB_ENV
+ echo "CFGOPT=$CFGOPT --with-tcl=/usr/lib/tcl8.6 --disable-vfs" >> $GITHUB_ENV
echo "CC=$COMPILER" >> $GITHUB_ENV
working-directory: "."
env:
diff --git a/.github/workflows/onefiledist.yml b/.github/workflows/onefiledist.yml
index a7ee59b..9668cb5 100644
--- a/.github/workflows/onefiledist.yml
+++ b/.github/workflows/onefiledist.yml
@@ -36,7 +36,7 @@ jobs:
working-directory: tcl/unix
- name: Build & Install Tcl
run: |
- make binaries libraries tclzipfile install
+ make binaries libraries install
make shell SCRIPT="$VER_PATH $GITHUB_ENV"
working-directory: tcl/unix
- name: Configure Tk
@@ -48,15 +48,9 @@ jobs:
make binaries libraries install
working-directory: tk/unix
# TODO: need the Tk version separately for distro naming below
- - name: Pack Tk Library Files into Library Zip
- run: |
- unzip ../lib/libtcl*.zip
- cp -a ../lib/tk[0-9]* .
- zip -r ../1dist.zip .
- working-directory: ${{ env.INST_DIR }}/1dist.vfs
- name: Package
run: |
- cat ../tk/unix/wish 1dist.zip >> ${BUILD_NAME}
+ cp ../tk/unix/wish ${BUILD_NAME}
chmod +x ${BUILD_NAME}
tar -cf ${BUILD_NAME}.tar ${BUILD_NAME}
working-directory: ${{ env.INST_DIR }}
@@ -113,7 +107,7 @@ jobs:
working-directory: tcl/unix
- name: Build & Install Tcl
run: |
- make binaries libraries tclzipfile install
+ make binaries libraries install
make shell SCRIPT="$VER_PATH $GITHUB_ENV"
working-directory: tcl/unix
- name: Configure Tk
@@ -126,15 +120,9 @@ jobs:
make binaries libraries install
working-directory: tk/unix
# TODO: need the Tk version separately for distro naming below
- - name: Pack Tk Library Files into Library Zip
- run: |
- unzip ../lib/libtcl*.zip
- cp -a ../lib/tk[0-9]* .
- zip -r ../1dist.zip .
- working-directory: ${{ env.INST_DIR }}/1dist.vfs
- name: Package
run: |
- cat ../tk/unix/wish 1dist.zip >> contents/${BUILD_NAME}
+ cp ../tk/unix/wish contents/${BUILD_NAME}
chmod +x contents/${BUILD_NAME}
cat > contents/README.txt <<EOF
This is a single-file executable developer preview of Tcl/Tk $TCL_PATCHLEVEL
@@ -197,7 +185,7 @@ jobs:
working-directory: tcl/win
- name: Build & Install Tcl
run: |
- make binaries libraries tclzipfile install
+ make binaries libraries install
echo "TCL_ZIP=`pwd`/`echo libtcl*.zip`" >> $GITHUB_ENV
$INST_DIR/bin/tclsh* $VER_PATH $GITHUB_ENV
working-directory: tcl/win
@@ -211,15 +199,9 @@ jobs:
echo "TK_BIN=`pwd`/`echo wish*.exe`" >> $GITHUB_ENV
working-directory: tk/win
# TODO: need the Tk version separately for distro naming below
- - name: Pack Tk Library Files into Library Zip
- run: |
- unzip $TCL_ZIP
- cp -R ../lib/tk[0-9]* .
- zip -o -r ../1dist.zip *
- working-directory: install/1dist
- name: Package
run: |
- cat ${TK_BIN} 1dist.zip > combined/${BUILD_NAME}.exe
+ cp ${TK_BIN} combined/${BUILD_NAME}.exe
working-directory: install
env:
BUILD_NAME: wish${{ env.TCL_PATCHLEVEL }}_unofficial
diff --git a/generic/tkPkgConfig.c b/generic/tkPkgConfig.c
index d9e5981..2c0615d 100644
--- a/generic/tkPkgConfig.c
+++ b/generic/tkPkgConfig.c
@@ -126,6 +126,9 @@ static const Tcl_Config cfg[] = {
#ifdef CFG_RUNTIME_DEMODIR
{"demodir,runtime", CFG_RUNTIME_DEMODIR},
#endif
+#if !defined(STATIC_BUILD)
+ {"dllfile,runtime", CFG_RUNTIME_DLLFILE},
+#endif
/* Installation paths to various stuff */
diff --git a/macosx/GNUmakefile b/macosx/GNUmakefile
index 2451e5c..9828be5 100644
--- a/macosx/GNUmakefile
+++ b/macosx/GNUmakefile
@@ -193,7 +193,7 @@ ${objdir}/Makefile: ${UNIX_DIR}/Makefile.in ${UNIX_DIR}/configure \
mkdir -p "${OBJ_DIR}" && cd "${OBJ_DIR}" && \
if [ ${UNIX_DIR}/configure -nt config.status ]; then ${UNIX_DIR}/configure -C \
--prefix="${PREFIX}" --bindir="${BINDIR}" --libdir="${LIBDIR}" \
- --mandir="${MANDIR}" --enable-framework \
+ --mandir="${MANDIR}" --enable-framework --disable-zipfs \
--with-tcl="${TCL_DIR}" \
${CONFIGURE_ARGS} ${EXTRA_CONFIGURE_ARGS}; else ./config.status; fi
ifneq (${VERSION},${TCL_VERSION})
diff --git a/unix/Makefile.in b/unix/Makefile.in
index 7d75bc8..6f75076 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -616,8 +616,14 @@ ${TK_ZIP_FILE}: ${ZIP_INSTALL_OBJS}
then : ; else \
cp -a $(TOP_DIR)/library/* ${TK_VFS_PATH}; \
fi
+ rm -rf ${TK_VFS_PATH}/demos
@find ${TK_VFS_ROOT} -type d -empty -delete
@echo "creating ${TK_ZIP_FILE} from ${TK_VFS_PATH}"
+ @if test "${ZIPFS_BUILD}" = "2" ; then \
+ (zip=`(realpath '${NATIVE_ZIP}' || readlink -m '${NATIVE_ZIP}') 2>/dev/null || \
+ (echo '${NATIVE_ZIP}' | sed "s?^\./?$$(pwd)/?")`; \
+ cd ${TK_VFS_ROOT} && cp ${BUILD_TCLSH} ../${TK_ZIP_FILE} && $$zip -J ../${TK_ZIP_FILE}) \
+ fi
@(zip=`(realpath '${NATIVE_ZIP}' || readlink -m '${NATIVE_ZIP}' || \
echo '${NATIVE_ZIP}' | sed "s?^\./?$$(pwd)/?") 2>/dev/null`; \
echo 'cd ${TK_VFS_ROOT} &&' $$zip '${ZIP_PROG_OPTIONS} ../${TK_ZIP_FILE} ${ZIP_PROG_VFSSEARCH}'; \
@@ -667,6 +673,11 @@ objs: ${OBJS}
${WISH_EXE}: $(TK_STUB_LIB_FILE) $(WISH_OBJS) $(TK_LIB_FILE) @APP_RSRC_FILE@
${CC} ${CFLAGS} ${LDFLAGS} $(WISH_OBJS) @TK_BUILD_LIB_SPEC@ \
$(WISH_LIBS) $(CC_SEARCH_FLAGS) -o ${WISH_EXE}
+ @if test "${ZIPFS_BUILD}" = "2" ; then \
+ cat ${TK_ZIP_FILE} >> ${WISH_EXE}; \
+ ${NATIVE_ZIP} -A ${WISH_EXE} \
+ || echo 'ignore zip-error by adjust sfx process (not executable?)'; \
+ fi
# Resetting the LIB_RUNTIME_DIR below is required so that
# the generated tktest executable gets the build directory
@@ -1084,6 +1095,7 @@ tkPkgConfig.o: $(GENERIC_DIR)/tkPkgConfig.c
-DCFG_RUNTIME_SCRDIR="\"$(TK_LIBRARY)\"" \
-DCFG_RUNTIME_INCDIR="\"$(includedir)\"" \
-DCFG_RUNTIME_DOCDIR="\"$(mandir)\"" \
+ -DCFG_RUNTIME_DLLFILE="\"$(TK_LIB_FILE)\"" \
-DCFG_RUNTIME_DEMODIR="\"$(DEMO_INSTALL_DIR)\"" \
\
$(GENERIC_DIR)/tkPkgConfig.c
diff --git a/unix/configure b/unix/configure
index 192993a..a51070d 100755
--- a/unix/configure
+++ b/unix/configure
@@ -8837,7 +8837,7 @@ printf "%s\n" "No zip found on PATH. Building minizip" >&6; }
ZIPFS_BUILD=1
- TK_ZIP_FILE=libtk_${TK_MAJOR_VERSION}_${TK_MINOR_VERSION}_${TK_PATCH_LEVEL}.zip
+ TK_ZIP_FILE=libtk${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}${TK_PATCH_LEVEL}.zip
else
ZIPFS_BUILD=0
TK_ZIP_FILE=
diff --git a/unix/configure.ac b/unix/configure.ac
index 5a3b813..ba34137 100644
--- a/unix/configure.ac
+++ b/unix/configure.ac
@@ -678,7 +678,7 @@ if test "$tcl_ok" = "yes" -a "x$enable_framework" != "xyes"; then
#
SC_ZIPFS_SUPPORT
ZIPFS_BUILD=1
- TK_ZIP_FILE=libtk_${TK_MAJOR_VERSION}_${TK_MINOR_VERSION}_${TK_PATCH_LEVEL}.zip
+ TK_ZIP_FILE=libtk${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}${TK_PATCH_LEVEL}.zip
else
ZIPFS_BUILD=0
TK_ZIP_FILE=
diff --git a/win/Makefile.in b/win/Makefile.in
index ed5fdae..836df4a 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -656,11 +656,16 @@ install-private-headers: libraries
$(INSTALL_DATA) $$i $(PRIVATE_INCLUDE_INSTALL_DIR); \
done;
-$(WISH): $(WISH_OBJS) @LIBRARIES@ $(TK_STUB_LIB_FILE) wish.$(RES)
+$(WISH): $(WISH_OBJS) @LIBRARIES@ $(TK_STUB_LIB_FILE) wish.$(RES) ${TK_ZIP_FILE}
$(CC) $(CFLAGS) $(WISH_OBJS) $(TK_LIB_FILE) \
$(TK_STUB_LIB_FILE) $(TCL_LIB_FILE) $(LIBS) \
wish.$(RES) $(CC_EXENAME) $(LDFLAGS_WINDOW)
@VC_MANIFEST_EMBED_EXE@
+ @if test "${ZIPFS_BUILD}" = "2" ; then \
+ cat ${TK_ZIP_FILE} >> ${WISH}; \
+ ${NATIVE_ZIP} -A ${WISH} \
+ || echo 'ignore zip-error by adjust sfx process (not executable?)'; \
+ fi
tktest: $(TKTEST)
@@ -697,6 +702,12 @@ ${TK_ZIP_FILE}: ${ZIP_INSTALL_OBJS}
) || ( \
$(COPY) -a $(TOP_DIR)/library/* ${TK_VFS_PATH}; \
)
+ $(RMDIR) ${TCL_VFS_PATH}/demos
+ @if test "${ZIPFS_BUILD}" = "2" ; then \
+ (zip=`(realpath '${NATIVE_ZIP}' || readlink -m '${NATIVE_ZIP}') 2>/dev/null || \
+ (echo '${NATIVE_ZIP}' | sed "s?^\./?$$(pwd)/?")`; \
+ cd ${TK_VFS_ROOT} && cp ${BUILD_TCLSH}s.exe ../${TK_ZIP_FILE} && $$zip -J ../${TK_ZIP_FILE}) \
+ fi
(zip=`(realpath '${NATIVE_ZIP}' || readlink -m '${NATIVE_ZIP}') 2>/dev/null || \
(echo '${NATIVE_ZIP}' | sed "s?^\./?$$(pwd)/?")`; \
cd ${TK_VFS_ROOT} && \
@@ -763,6 +774,12 @@ tkUnixMenubu.$(OBJEXT): ${UNIX_DIR}/tkUnixMenubu.c
tkUnixScale.$(OBJEXT): ${UNIX_DIR}/tkUnixScale.c
$(CC) -c $(CC_SWITCHES) -DBUILD_tk -DBUILD_ttk @DEPARG@ $(CC_OBJNAME)
+tkPkgConfig.$(OBJEXT): $(GENERIC_DIR)/tkPkgConfig.c
+ $(CC) -c $(CC_SWITCHES) -DBUILD_tk -DBUILD_ttk \
+ -DCFG_RUNTIME_DLLFILE="\"$(TK_DLL_FILE)\"" \
+ @DEPARG@ $(CC_OBJNAME)
+
+
# Extra dependency info
tkConsole.$(OBJEXT): configure Makefile
tkMain.$(OBJEXT): configure Makefile
diff --git a/win/configure b/win/configure
index d80d32d..dc846fa 100755
--- a/win/configure
+++ b/win/configure
@@ -740,7 +740,6 @@ TCL_STUB_LIB_FILE
TCL_LIB_SPEC
TCL_LIB_FLAG
TCL_LIB_FILE
-TCL_ZIP_FILE
TCL_SRC_DIR
TCL_BIN_DIR
TCL_VERSION
@@ -4042,7 +4041,6 @@ printf "%s\n" "could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6; }
-
if test "${TCL_MAJOR_VERSION}" -lt 9 ; then
if test "${TCL_MAJOR_VERSION}" != "${TK_MAJOR_VERSION}"; then
as_fn_error $? "${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}.
@@ -5754,7 +5752,7 @@ printf "%s\n" "No zip found on PATH building minizip" >&6; }
ZIPFS_BUILD=1
- TK_ZIP_FILE=libtcl_${TK_MAJOR_VERSION}_${TK_MINOR_VERSION}_${TK_PATCH_LEVEL}.zip
+ TK_ZIP_FILE=libtk${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}${TK_PATCH_LEVEL}.zip
else
ZIPFS_BUILD=0
TCL_ZIP_FILE=
diff --git a/win/configure.ac b/win/configure.ac
index 2180b55..0b62869 100644
--- a/win/configure.ac
+++ b/win/configure.ac
@@ -195,7 +195,7 @@ if test "$tcl_ok" = "yes" ; then
#
SC_ZIPFS_SUPPORT
ZIPFS_BUILD=1
- TK_ZIP_FILE=libtcl_${TK_MAJOR_VERSION}_${TK_MINOR_VERSION}_${TK_PATCH_LEVEL}.zip
+ TK_ZIP_FILE=libtk${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}${TK_PATCH_LEVEL}.zip
else
ZIPFS_BUILD=0
TCL_ZIP_FILE=
diff --git a/win/makefile.vc b/win/makefile.vc
index ba19f17..912f781 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -630,6 +630,11 @@ $(TMP_DIR)\winMain.obj: $(WIN_DIR)\winMain.c
$(TMP_DIR)\tkMain2.obj: $(GENERICDIR)\tkMain.c
$(cc32) $(pkgcflags) /DUNICODE /D_UNICODE -Fo$@ $?
+$(TMP_DIR)\tkPkgConfig.obj: $(GENERICDIR)\tkPkgConfig.c
+ $(cc32) $(pkgcflags) \
+ -DCFG_RUNTIME_DLLFILE="\"$(TKLIBNAME)\"" \
+ -Fo$@ $?
+
# The following objects are part of the stub library and should not
# be built as DLL objects but none of the symbols should be exported
# and no reference made to a C runtime.
diff --git a/win/tcl.m4 b/win/tcl.m4
index b9a164c..76711dd 100644
--- a/win/tcl.m4
+++ b/win/tcl.m4
@@ -251,7 +251,6 @@ AC_DEFUN([SC_PATH_TKCONFIG], [
# TCL_BIN_DIR
# TCL_SRC_DIR
# TCL_LIB_FILE
-# TCL_ZIP_FILE
#
#------------------------------------------------------------------------
@@ -288,7 +287,6 @@ AC_DEFUN([SC_LOAD_TCLCONFIG], [
AC_SUBST(TCL_BIN_DIR)
AC_SUBST(TCL_SRC_DIR)
- AC_SUBST(TCL_ZIP_FILE)
AC_SUBST(TCL_LIB_FILE)
AC_SUBST(TCL_LIB_FLAG)
AC_SUBST(TCL_LIB_SPEC)