From 8d35c7488a207cb5575bf9579dfe8b888309fed9 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Tue, 18 Mar 2025 09:32:07 +0000 Subject: Fix [17960b80db]: Missing libtcl?.?.dll.a in Cygwin --- changes.md | 1 + unix/configure | 7 ++++++- unix/configure.ac | 5 +++++ unix/tcl.m4 | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/changes.md b/changes.md index 5a29559..beddc26 100644 --- a/changes.md +++ b/changes.md @@ -19,6 +19,7 @@ to the userbase. - [Panic "Buffer Underflow, BUFFER_PADDING not enough"](https://core.tcl-lang.org/tcl/tktview/73bb42) - [MS-VS build system: pckIndex.tcl when building for 9 misses "t" for TCL 8.6 part](https://core.tcl-lang.org/tcl/tktview/a77029) - [clock format -locale does not look up locale children if parent locale used first](https://core.tcl-lang.org/tcl/tktview/2c0f49) + - [Missing libtcl?.?.dll.a in Cygwin](https://core.tcl-lang.org/tcl/tktview/dcedba) # Incompatibilities - No known incompatibilities with the Tcl 9.0.0 public interface. diff --git a/unix/configure b/unix/configure index 589499e..9ec07b0 100755 --- a/unix/configure +++ b/unix/configure @@ -5950,7 +5950,7 @@ fi ;; CYGWIN_*|MINGW32_*|MSYS_*) SHLIB_CFLAGS="-fno-common" - SHLIB_LD='${CC} -shared' + SHLIB_LD='${CC} -shared -Wl,--out-implib,$(patsubst cyg%.dll,lib%.dll.a,${LIB_FILE})' SHLIB_SUFFIX=".dll" DL_OBJS="tclLoadDl.o" PLAT_OBJS='${CYGWIN_OBJS}' @@ -10955,7 +10955,12 @@ fi TCL_UNSHARED_LIB_SUFFIX=${UNSHARED_LIB_SUFFIX} TCL_SHARED_LIB_SUFFIX=${SHARED_LIB_SUFFIX} +if test "$ac_cv_cygwin" = "yes" -a "$SHARED_BUILD" != "0"; then +eval "TCL_LIB_FILE=cygtcl${LIB_SUFFIX}" +EXTRA_INSTALL_BINARIES='$(INSTALL_LIBRARY) $(patsubst cyg%.dll,lib%.dll.a,${LIB_FILE}) "$(LIB_INSTALL_DIR)"' +else eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" +fi # tclConfig.sh needs a version of the _LIB_SUFFIX that has been eval'ed # since on some platforms TCL_LIB_FILE contains shell escapes. diff --git a/unix/configure.ac b/unix/configure.ac index 67588cf..1d43b02 100644 --- a/unix/configure.ac +++ b/unix/configure.ac @@ -717,7 +717,12 @@ fi TCL_UNSHARED_LIB_SUFFIX=${UNSHARED_LIB_SUFFIX} TCL_SHARED_LIB_SUFFIX=${SHARED_LIB_SUFFIX} +if test "$ac_cv_cygwin" = "yes" -a "$SHARED_BUILD" != "0"; then +eval "TCL_LIB_FILE=cygtcl${LIB_SUFFIX}" +EXTRA_INSTALL_BINARIES='$(INSTALL_LIBRARY) $(patsubst cyg%.dll,lib%.dll.a,${LIB_FILE}) "$(LIB_INSTALL_DIR)"' +else eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" +fi # tclConfig.sh needs a version of the _LIB_SUFFIX that has been eval'ed # since on some platforms TCL_LIB_FILE contains shell escapes. diff --git a/unix/tcl.m4 b/unix/tcl.m4 index 4265832..222b80f 100644 --- a/unix/tcl.m4 +++ b/unix/tcl.m4 @@ -1079,7 +1079,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ ;; CYGWIN_*|MINGW32_*|MSYS_*) SHLIB_CFLAGS="-fno-common" - SHLIB_LD='${CC} -shared' + SHLIB_LD='${CC} -shared -Wl,--out-implib,$(patsubst cyg%.dll,lib%.dll.a,${LIB_FILE})' SHLIB_SUFFIX=".dll" DL_OBJS="tclLoadDl.o" PLAT_OBJS='${CYGWIN_OBJS}' -- cgit v0.12