diff options
-rw-r--r-- | generic/tkDecls.h | 2 | ||||
-rw-r--r-- | win/Makefile.in | 14 | ||||
-rwxr-xr-x | win/configure | 8 | ||||
-rw-r--r-- | win/configure.ac | 6 | ||||
-rw-r--r-- | win/tcl.m4 | 2 | ||||
-rw-r--r-- | win/tkWin32Dll.c | 2 |
6 files changed, 22 insertions, 12 deletions
diff --git a/generic/tkDecls.h b/generic/tkDecls.h index 07d3699..2d89b30 100644 --- a/generic/tkDecls.h +++ b/generic/tkDecls.h @@ -1796,4 +1796,6 @@ extern const TkStubs *tkStubsPtr; #undef TCL_STORAGE_CLASS #define TCL_STORAGE_CLASS DLLIMPORT +#undef TkUnusedStubEntry + #endif /* _TKDECLS */ diff --git a/win/Makefile.in b/win/Makefile.in index ad5f284..172e15b 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -126,20 +126,22 @@ TCL_SRC_DIR_NATIVE = $(shell $(CYGPATH) '$(TCL_SRC_DIR)') DLLSUFFIX = @DLLSUFFIX@ LIBSUFFIX = @LIBSUFFIX@ EXESUFFIX = @EXESUFFIX@ +VER = @TK_MAJOR_VERSION@@TK_MINOR_VERSION@ +DOTVER = @TK_MAJOR_VERSION@.@TK_MINOR_VERSION@ TK_STUB_LIB_FILE = @TK_STUB_LIB_FILE@ TK_LIB_FILE = @TK_LIB_FILE@ TK_DLL_FILE = @TK_DLL_FILE@ TEST_DLL_FILE = tktest$(VER)${DLLSUFFIX} -TEST_LIB_FILE = @LIBPREFIX@tktest$(VER)${LIBSUFFIX} +TEST_LIB_FILE = @LIBPREFIX@tktest$(VER)${DLLSUFFIX}${LIBSUFFIX} SHARED_LIBRARIES = $(TK_DLL_FILE) $(TK_STUB_LIB_FILE) STATIC_LIBRARIES = $(TK_LIB_FILE) WISH = wish$(VER)${EXESUFFIX} -TKTEST = tktest.exe -CAT32 = cat32.exe -MAN2TCL = man2tcl.exe +TKTEST = tktest${EXESUFFIX} +CAT32 = cat32${EXESUFFIX} +MAN2TCL = man2tcl${EXESUFFIX} @SET_MAKE@ @@ -165,7 +167,7 @@ LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@ #CFLAGS = $(CFLAGS_DEBUG) #CFLAGS = $(CFLAGS_OPTIMIZE) #CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE) -CFLAGS = @CFLAGS@ @CFLAGS_DEFAULT@ -D_ATL_XP_TARGETING +CFLAGS = @CFLAGS@ @CFLAGS_DEFAULT@ -D_ATL_XP_TARGETING=1 -D__USE_MINGW_ANSI_STDIO=0 # Special compiler flags to use when building man2tcl on Windows. MAN2TCLFLAGS = @MAN2TCLFLAGS@ @@ -187,8 +189,6 @@ SHLIB_LD = @SHLIB_LD@ SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ SHLIB_CFLAGS = @SHLIB_CFLAGS@ SHLIB_SUFFIX = @SHLIB_SUFFIX@ -VER = @TK_MAJOR_VERSION@@TK_MINOR_VERSION@ -DOTVER = @TK_MAJOR_VERSION@.@TK_MINOR_VERSION@ LIBS = $(TCL_STUB_LIB_FILE) @LIBS@ @LIBS_GUI@ RMDIR = rm -rf MKDIR = mkdir -p diff --git a/win/configure b/win/configure index f75d08c..c7c59ef 100755 --- a/win/configure +++ b/win/configure @@ -4244,7 +4244,7 @@ $as_echo "using shared flags" >&6; } SHLIB_LD='${CC} -shared' SHLIB_LD_LIBS='${LIBS}' MAKE_DLL="\${SHLIB_LD} \$(LDFLAGS) -o \$@ ${extra_ldflags} \ - -Wl,--out-implib,\$(patsubst %.dll,lib%.a,\$@)" + -Wl,--out-implib,\$(patsubst %.dll,lib%.dll.a,\$@)" # DLLSUFFIX is separate because it is the building block for # users of tclConfig.sh that may build shared or static. DLLSUFFIX=".dll" @@ -4902,7 +4902,11 @@ TK_EXPORT_FILE_SUFFIX="\${NODOT_VERSION}${LIBSUFFIX}" eval "TK_SRC_DIR=\"`cd $srcdir/..; pwd`\"" eval "TK_DLL_FILE=tk$VER${DLLSUFFIX}" -eval "TK_LIB_FILE=${LIBPREFIX}tk$VER${LIBSUFFIX}" +if test ${SHARED_BUILD} = 0 ; then + eval "TK_LIB_FILE=${LIBPREFIX}tk${VER}${LIBSUFFIX}" +else + eval "TK_LIB_FILE=${LIBPREFIX}tk${VER}${DLLSUFFIX}.a" +fi eval "TK_STUB_LIB_FILE=${LIBPREFIX}tkstub${VER}${LIBSUFFIX}" # FIXME: All of this var junk needs to be done in tcl.m4 !!!! diff --git a/win/configure.ac b/win/configure.ac index 10728e0..56b8813 100644 --- a/win/configure.ac +++ b/win/configure.ac @@ -160,7 +160,11 @@ TK_EXPORT_FILE_SUFFIX="\${NODOT_VERSION}${LIBSUFFIX}" eval "TK_SRC_DIR=\"`cd $srcdir/..; pwd`\"" eval "TK_DLL_FILE=tk$VER${DLLSUFFIX}" -eval "TK_LIB_FILE=${LIBPREFIX}tk$VER${LIBSUFFIX}" +if test ${SHARED_BUILD} = 0 ; then + eval "TK_LIB_FILE=${LIBPREFIX}tk${VER}${LIBSUFFIX}" +else + eval "TK_LIB_FILE=${LIBPREFIX}tk${VER}${DLLSUFFIX}.a" +fi eval "TK_STUB_LIB_FILE=${LIBPREFIX}tkstub${VER}${LIBSUFFIX}" # FIXME: All of this var junk needs to be done in tcl.m4 !!!! @@ -661,7 +661,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ SHLIB_LD='${CC} -shared' SHLIB_LD_LIBS='${LIBS}' MAKE_DLL="\${SHLIB_LD} \$(LDFLAGS) -o \[$]@ ${extra_ldflags} \ - -Wl,--out-implib,\$(patsubst %.dll,lib%.a,\[$]@)" + -Wl,--out-implib,\$(patsubst %.dll,lib%.dll.a,\[$]@)" # DLLSUFFIX is separate because it is the building block for # users of tclConfig.sh that may build shared or static. DLLSUFFIX=".dll" diff --git a/win/tkWin32Dll.c b/win/tkWin32Dll.c index 49ffd83..9ff374e 100644 --- a/win/tkWin32Dll.c +++ b/win/tkWin32Dll.c @@ -135,7 +135,7 @@ DllMain( "leaq %[registration], %%rdx" "\n\t" "movq %%gs:0, %%rax" "\n\t" "movq %%rax, 0x0(%%rdx)" "\n\t" /* link */ - "leaq 1f, %%rax" "\n\t" + "leaq 1f(%%rip), %%rax" "\n\t" "movq %%rax, 0x8(%%rdx)" "\n\t" /* handler */ "movq %%rbp, 0x10(%%rdx)" "\n\t" /* rbp */ "movq %%rsp, 0x18(%%rdx)" "\n\t" /* rsp */ |