From 0497ee90f268c6a29d29c88057e594fc8a93c487 Mon Sep 17 00:00:00 2001 From: nijtmans Date: Wed, 2 Dec 2009 21:16:43 +0000 Subject: win/Makefile.in Use tktest86.dll for all tests. win/tkWinInt.h mark various functions MODULE_SCOPE generic/tkInt.decls make TkWinChildProc available in private stub table. [Bug #220600] and [Bug #220690]. generic/tkIntPlatDecls.h (regenerated) generic/tkStubInit.c (regenerated) --- ChangeLog | 8 +++++++- generic/tkInt.decls | 9 ++++++++- generic/tkInt.h | 4 ++-- generic/tkIntPlatDecls.h | 13 ++++++++++++- generic/tkStubInit.c | 3 ++- win/Makefile.in | 35 +++++++++++++++++++---------------- win/tkWinInt.h | 24 ++++++++---------------- 7 files changed, 58 insertions(+), 38 deletions(-) diff --git a/ChangeLog b/ChangeLog index 13cbb3c..8177875 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,12 @@ 2009-12-02 Jan Nijtmans * win/configure (regenerated) + * win/Makefile.in Use tktest86.dll for all tests. + * win/tkWinInt.h mark various functions MODULE_SCOPE + * generic/tkInt.decls make TkWinChildProc available in private + stub table. [Bug #220600] and [Bug #220690]. + * generic/tkIntPlatDecls.h (regenerated) + * generic/tkStubInit.c (regenerated) 2009-11-30 Jan Nijtmans @@ -9,7 +15,7 @@ 2009-11-29 Jan Nijtmans - * generic/tclInt.h Make all internal initialization + * generic/tkInt.h Make all internal initialization * generic/tkTest.c routines MODULE_SCOPE * generic/tkOldTest.c * generic/tkSquare.c diff --git a/generic/tkInt.decls b/generic/tkInt.decls index 41205ad..82d015c 100644 --- a/generic/tkInt.decls +++ b/generic/tkInt.decls @@ -10,7 +10,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: tkInt.decls,v 1.57 2009/06/29 14:35:01 das Exp $ +# RCS: @(#) $Id: tkInt.decls,v 1.58 2009/12/02 21:16:44 nijtmans Exp $ library tk @@ -783,6 +783,13 @@ declare 35 win { int TkWinGetPlatformTheme(void) } +# new for 8.6 + +declare 36 win { + LRESULT CALLBACK TkWinChildProc(HWND hwnd, + UINT message, WPARAM wParam, LPARAM lParam) +} + ################################ # Aqua specific functions diff --git a/generic/tkInt.h b/generic/tkInt.h index b806dea..a145ab7 100644 --- a/generic/tkInt.h +++ b/generic/tkInt.h @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: $Id: tkInt.h,v 1.112 2009/11/29 22:10:36 nijtmans Exp $ + * RCS: $Id: tkInt.h,v 1.113 2009/12/02 21:16:44 nijtmans Exp $ */ #ifndef _TKINT @@ -862,7 +862,7 @@ typedef struct TkpClipMask { * Pointer to first entry in list of all displays currently known. */ -extern TkDisplay *tkDisplayList; +MODULE_SCOPE TkDisplay *tkDisplayList; /* * Return values from TkGrabState: diff --git a/generic/tkIntPlatDecls.h b/generic/tkIntPlatDecls.h index 8c26674..637e157 100644 --- a/generic/tkIntPlatDecls.h +++ b/generic/tkIntPlatDecls.h @@ -9,7 +9,7 @@ * Copyright (c) 1998-1999 by Scriptics Corporation. * All rights reserved. * - * RCS: @(#) $Id: tkIntPlatDecls.h,v 1.35 2009/06/29 14:35:01 das Exp $ + * RCS: @(#) $Id: tkIntPlatDecls.h,v 1.36 2009/12/02 21:16:43 nijtmans Exp $ */ #ifndef _TKINTPLATDECLS @@ -224,6 +224,12 @@ EXTERN void TkWinSetHINSTANCE (HINSTANCE hInstance); /* 35 */ EXTERN int TkWinGetPlatformTheme (void); #endif +#ifndef TkWinChildProc_TCL_DECLARED +#define TkWinChildProc_TCL_DECLARED +/* 36 */ +EXTERN LRESULT CALLBACK TkWinChildProc (HWND hwnd, UINT message, + WPARAM wParam, LPARAM lParam); +#endif #endif /* WIN */ #ifdef MAC_OSX_TK /* AQUA */ #ifndef TkGenerateActivateEvents_TCL_DECLARED @@ -582,6 +588,7 @@ typedef struct TkIntPlatStubs { int (*tkWinGetPlatformId) (void); /* 33 */ void (*tkWinSetHINSTANCE) (HINSTANCE hInstance); /* 34 */ int (*tkWinGetPlatformTheme) (void); /* 35 */ + LRESULT (CALLBACK *tkWinChildProc) (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); /* 36 */ #endif /* WIN */ #ifdef MAC_OSX_TK /* AQUA */ void (*tkGenerateActivateEvents) (TkWindow * winPtr, int active); /* 0 */ @@ -809,6 +816,10 @@ extern const TkIntPlatStubs *tkIntPlatStubsPtr; #define TkWinGetPlatformTheme \ (tkIntPlatStubsPtr->tkWinGetPlatformTheme) /* 35 */ #endif +#ifndef TkWinChildProc +#define TkWinChildProc \ + (tkIntPlatStubsPtr->tkWinChildProc) /* 36 */ +#endif #endif /* WIN */ #ifdef MAC_OSX_TK /* AQUA */ #ifndef TkGenerateActivateEvents diff --git a/generic/tkStubInit.c b/generic/tkStubInit.c index 868311c..c9739e8 100644 --- a/generic/tkStubInit.c +++ b/generic/tkStubInit.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkStubInit.c,v 1.70 2009/06/27 19:33:35 nijtmans Exp $ + * RCS: @(#) $Id: tkStubInit.c,v 1.71 2009/12/02 21:16:45 nijtmans Exp $ */ #include "tkInt.h" @@ -374,6 +374,7 @@ static const TkIntPlatStubs tkIntPlatStubs = { TkWinGetPlatformId, /* 33 */ TkWinSetHINSTANCE, /* 34 */ TkWinGetPlatformTheme, /* 35 */ + TkWinChildProc, /* 36 */ #endif /* WIN */ #ifdef MAC_OSX_TK /* AQUA */ TkGenerateActivateEvents, /* 0 */ diff --git a/win/Makefile.in b/win/Makefile.in index 964e816..933edec 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -4,7 +4,7 @@ # "autoconf" program (constructs like "@foo@" will get replaced in the # actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.89 2009/11/30 23:43:49 nijtmans Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.90 2009/12/02 21:16:45 nijtmans Exp $ TCLVERSION = @TCL_VERSION@ TCLPATCHL = @TCL_PATCH_LEVEL@ @@ -425,15 +425,15 @@ $(MAN2TCL): $(TCL_SRC_DIR_NATIVE)/tools/man2tcl.c test: test-classic test-ttk -test-classic: binaries $(TKTEST) +test-classic: binaries $(TKTEST) $(TEST_DLL_FILE) $(CAT32) $(SHELL_ENV) ./$(TKTEST) "$(ROOT_DIR_NATIVE)/tests/all.tcl" \ $(TESTFLAGS) | ./$(CAT32) -test-ttk: binaries $(TKTEST) +test-ttk: binaries $(TKTEST) $(TEST_DLL_FILE) $(CAT32) $(SHELL_ENV) ./$(TKTEST) "$(ROOT_DIR_NATIVE)/tests/ttk/all.tcl" \ $(TESTFLAGS) | ./$(CAT32) -runtest: binaries $(TKTEST) +runtest: binaries $(TKTEST) $(TEST_DLL_FILE) $(SHELL_ENV) ./$(TKTEST) $(TESTFLAGS) $(SCRIPT) # This target can be used to run wish from the build directory @@ -591,30 +591,20 @@ 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) $(CC) $(CFLAGS) $(WISH_OBJS) $(TK_LIB_FILE) \ $(TK_STUB_LIB_FILE) $(TCL_LIB_FILE) $(LIBS) \ wish.$(RES) $(CC_EXENAME) $(LDFLAGS_WINDOW) tktest: $(TKTEST) -$(TKTEST): testMain.$(OBJEXT) $(TEST_LIB_FILE) $(LIBRARIES) $(TK_STUB_LIB_FILE) wish.$(RES) $(CAT32) +$(TKTEST): testMain.$(OBJEXT) $(TEST_DLL_FILE) @LIBRARIES@ $(TK_STUB_LIB_FILE) wish.$(RES) $(CC) $(CFLAGS) testMain.$(OBJEXT) $(TEST_LIB_FILE) $(TK_LIB_FILE) \ $(TK_STUB_LIB_FILE) $(TCL_LIB_FILE) $(LIBS) \ wish.$(RES) $(CC_EXENAME) $(LDFLAGS_WINDOW) ${TEST_DLL_FILE}: ${TKTEST_OBJS} ${TK_STUB_LIB_FILE} - @-$(RM) ${TEST_DLL_FILE} ${TEST_LIB_FILE}.backup - @-$(COPY) ${TEST_LIB_FILE} ${TEST_LIB_FILE}.backup @MAKE_DLL@ ${TKTEST_OBJS} $(TK_STUB_LIB_FILE) $(SHLIB_LD_LIBS) - @-$(RM) ${TEST_LIB_FILE} - @-$(COPY) ${TEST_LIB_FILE}.backup ${TEST_LIB_FILE} - @-$(RM) ${TEST_LIB_FILE}.backup - -${TEST_LIB_FILE}: ${TKTEST_OBJS} - @$(RM) ${TEST_LIB_FILE} - @MAKE_LIB@ ${TKTEST_OBJS} - @POST_MAKE_LIB@ # Msys make requires this next rule for some reason. $(TCL_SRC_DIR)/win/cat.c: @@ -714,3 +704,16 @@ genstubs: "$(GENERIC_DIR_NATIVE)" \ "$(GENERIC_DIR_NATIVE)\tk.decls" \ "$(GENERIC_DIR_NATIVE)\tkInt.decls" + +# +# The list of all the targets that do not correspond to real files. This stops +# 'make' from getting confused when someone makes an error in a rule. +# + +.PHONY: all binaries libraries doc tkLibObjs objs tktest-real test test-classic +.PHONY: test-ttk testlang runtest shell demo gdb install install-strip +.PHONY: install-binaries install-libraries install-demos install-doc +.PHONY: install-private-headers clean distclean depend genstubs checkstubs +.PHONY: checkuchar checkexports rpm dist alldist allpatch html html-tcl html-tk + +# DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/win/tkWinInt.h b/win/tkWinInt.h index 469d6e9..d99b2f9 100644 --- a/win/tkWinInt.h +++ b/win/tkWinInt.h @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkWinInt.h,v 1.32 2008/12/10 05:02:52 das Exp $ + * RCS: @(#) $Id: tkWinInt.h,v 1.33 2009/12/02 21:16:45 nijtmans Exp $ */ #ifndef _TKWININT @@ -128,8 +128,8 @@ typedef struct { * Win32 raster and BitBlt op modes. */ -extern int tkpWinRopModes[]; -extern int tkpWinBltModes[]; +MODULE_SCOPE int tkpWinRopModes[]; +MODULE_SCOPE int tkpWinBltModes[]; /* * The following defines are used with TkWinGetBorderPixels to get the extra 2 @@ -145,19 +145,11 @@ extern int tkpWinBltModes[]; #include "tkIntPlatDecls.h" -/* - * We need to specially add the TkWinChildProc because of the special - * prototype it has (doesn't fit into stubs schema) - */ - #ifdef BUILD_tk #undef TCL_STORAGE_CLASS #define TCL_STORAGE_CLASS DLLEXPORT #endif -EXTERN LRESULT CALLBACK TkWinChildProc(HWND hwnd, UINT message, - WPARAM wParam, LPARAM lParam); - /* * Special proc needed as tsd accessor function between * tkWinX.c:GenerateXEvent and tkWinClipboard.c:UpdateClipboard @@ -177,7 +169,7 @@ EXTERN HICON TkWinGetIcon(Tk_Window tkw, DWORD iconsize); */ EXTERN void TkWinDisplayChanged(Display *display); -void TkWinCleanupContainerList(void); +MODULE_SCOPE void TkWinCleanupContainerList(void); /* * Used by tkWinWm.c for embedded menu handling. May become public. @@ -215,7 +207,7 @@ typedef struct TkWinProcs { int (WINAPI *getClassName)(HWND hwnd, LPTSTR lpClassName, int nMaxCount); } TkWinProcs; -EXTERN TkWinProcs *tkWinProcs; +MODULE_SCOPE TkWinProcs *tkWinProcs; #undef TCL_STORAGE_CLASS #define TCL_STORAGE_CLASS DLLIMPORT @@ -225,9 +217,9 @@ EXTERN TkWinProcs *tkWinProcs; */ -extern Tcl_Encoding TkWinGetKeyInputEncoding(void); -extern Tcl_Encoding TkWinGetUnicodeEncoding(void); -extern void TkWinSetupSystemFonts(TkMainInfo *mainPtr); +MODULE_SCOPE Tcl_Encoding TkWinGetKeyInputEncoding(void); +MODULE_SCOPE Tcl_Encoding TkWinGetUnicodeEncoding(void); +MODULE_SCOPE void TkWinSetupSystemFonts(TkMainInfo *mainPtr); /* * Values returned by TkWinGetPlatformTheme. -- cgit v0.12