From 17bcd7c835662d0210f39b291706eedeacd27e7b Mon Sep 17 00:00:00 2001 From: nijtmans Date: Sun, 29 Nov 2009 22:10:36 +0000 Subject: Make all internal initialization routines MODULE_SCOPE copy win/tcl.m4 from Tcl (latest) to Tk and regenerate win/configure --- ChangeLog | 12 ++++++++++++ carbon/tkMacOSXTest.c | 3 +-- generic/tkInt.h | 15 ++++++++++++++- generic/tkOldTest.c | 3 +-- generic/tkSquare.c | 5 +---- generic/tkTest.c | 27 ++------------------------- macosx/tkMacOSXTest.c | 3 +-- win/configure | 21 ++++++++------------- win/tcl.m4 | 18 ++++++++---------- win/tkWinTest.c | 3 +-- 10 files changed, 49 insertions(+), 61 deletions(-) diff --git a/ChangeLog b/ChangeLog index ab9d4d7..f253b1e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2009-11-29 Jan Nijtmans + + * generic/tclInt.h Make all internal initialization + * generic/tkTest.c routines MODULE_SCOPE + * generic/tkOldTest.c + * generic/tkSquare.c + * carbon/tkMaxOSXTest.c + * macosx/tkMaxOSXTest.c + * win/tkWinTest.c + * win/tcl.m4 (copied from Tcl 8.6) + * win/configure (regenerated) + 2009-11-25 Stuart Cassoff * unix/tcl.m4: [Patch 2892871]: Remove unneeded diff --git a/carbon/tkMacOSXTest.c b/carbon/tkMacOSXTest.c index 1ef4c61..37dec11 100644 --- a/carbon/tkMacOSXTest.c +++ b/carbon/tkMacOSXTest.c @@ -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: tkMacOSXTest.c,v 1.1 2009/06/26 01:42:47 das Exp $ + * RCS: @(#) $Id: tkMacOSXTest.c,v 1.2 2009/11/29 22:10:36 nijtmans Exp $ */ #include "tkMacOSXInt.h" @@ -22,7 +22,6 @@ static int DebuggerCmd (ClientData dummy, Tcl_Interp *interp, int argc, const char **argv); -MODULE_SCOPE int TkplatformtestInit(Tcl_Interp *interp); /* *---------------------------------------------------------------------- diff --git a/generic/tkInt.h b/generic/tkInt.h index 6f85485..b806dea 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.111 2009/09/07 06:20:50 das Exp $ + * RCS: $Id: tkInt.h,v 1.112 2009/11/29 22:10:36 nijtmans Exp $ */ #ifndef _TKINT @@ -1225,6 +1225,19 @@ MODULE_SCOPE int TkUnsupported1ObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); +/* + * For Tktest. + */ +MODULE_SCOPE int SquareObjCmd(ClientData clientData, + Tcl_Interp *interp, int objc, + Tcl_Obj * const objv[]); +MODULE_SCOPE int TkOldTestInit(Tcl_Interp *interp); +#if !(defined(__WIN32__) || defined(MAC_OSX_TK)) +#define TkplatformtestInit(x) TCL_OK +#else +MODULE_SCOPE int TkplatformtestInit(Tcl_Interp *interp); +#endif + #undef TCL_STORAGE_CLASS #define TCL_STORAGE_CLASS DLLIMPORT diff --git a/generic/tkOldTest.c b/generic/tkOldTest.c index 280b088..c701899 100644 --- a/generic/tkOldTest.c +++ b/generic/tkOldTest.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkOldTest.c,v 1.5 2009/11/19 23:45:08 nijtmans Exp $ + * RCS: @(#) $Id: tkOldTest.c,v 1.6 2009/11/29 22:10:36 nijtmans Exp $ */ #define USE_OLD_IMAGE @@ -84,7 +84,6 @@ static Tk_ImageType imageType = { static int ImageCmd(ClientData dummy, Tcl_Interp *interp, int argc, const char **argv); -MODULE_SCOPE int TkOldTestInit(Tcl_Interp *interp); /* diff --git a/generic/tkSquare.c b/generic/tkSquare.c index 5446413..4d2aca6 100644 --- a/generic/tkSquare.c +++ b/generic/tkSquare.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkSquare.c,v 1.14 2009/11/19 23:45:08 nijtmans Exp $ + * RCS: @(#) $Id: tkSquare.c,v 1.15 2009/11/29 22:10:36 nijtmans Exp $ */ #if 0 @@ -98,9 +98,6 @@ static const Tk_OptionSpec optionSpecs[] = { * Forward declarations for procedures defined later in this file: */ -int SquareObjCmd(ClientData clientData, - Tcl_Interp *interp, int objc, - Tcl_Obj * const objv[]); static void SquareDeletedProc(ClientData clientData); static int SquareConfigure(Tcl_Interp *interp, Square *squarePtr); static void SquareDestroy(char *memPtr); diff --git a/generic/tkTest.c b/generic/tkTest.c index b90d689..451970c 100644 --- a/generic/tkTest.c +++ b/generic/tkTest.c @@ -13,9 +13,10 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkTest.c,v 1.43 2009/11/19 23:45:08 nijtmans Exp $ + * RCS: @(#) $Id: tkTest.c,v 1.44 2009/11/29 22:10:36 nijtmans Exp $ */ +#undef STATIC_BUILD #ifndef USE_TCL_STUBS # define USE_TCL_STUBS #endif @@ -112,14 +113,6 @@ typedef struct NewApp { static NewApp *newAppPtr = NULL;/* First in list of all new interpreters. */ -/* - * Declaration for the square widget's class command function: - */ - -extern int SquareObjCmd(ClientData clientData, - Tcl_Interp *interp, int objc, - Tcl_Obj * const objv[]); - typedef struct CBinding { Tcl_Interp *interp; char *command; @@ -157,7 +150,6 @@ static int CBindingEvalProc(ClientData clientData, Tcl_Interp *interp, XEvent *eventPtr, Tk_Window tkwin, KeySym keySym); static void CBindingFreeProc(ClientData clientData); -int Tktest_Init(Tcl_Interp *interp); static int ImageCmd(ClientData dummy, Tcl_Interp *interp, int argc, const char **argv); static int TestcbindCmd(ClientData dummy, @@ -217,21 +209,6 @@ static int TrivialConfigObjCmd(ClientData dummy, Tcl_Obj * const objv[]); static void TrivialEventProc(ClientData clientData, XEvent *eventPtr); - -/* - * External (platform specific) initialization routine: - */ - -#if !(defined(__WIN32__) || defined(MAC_OSX_TK)) -#define TkplatformtestInit(x) TCL_OK -#else -MODULE_SCOPE int TkplatformtestInit(Tcl_Interp *interp); -#endif - -/* - * External legacy testing initialization routine: - */ -MODULE_SCOPE int TkOldTestInit(Tcl_Interp *interp); /* *---------------------------------------------------------------------- diff --git a/macosx/tkMacOSXTest.c b/macosx/tkMacOSXTest.c index 5660746..e75a30c 100644 --- a/macosx/tkMacOSXTest.c +++ b/macosx/tkMacOSXTest.c @@ -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: tkMacOSXTest.c,v 1.7 2009/06/29 14:35:01 das Exp $ + * RCS: @(#) $Id: tkMacOSXTest.c,v 1.8 2009/11/29 22:10:37 nijtmans Exp $ */ #include "tkMacOSXPrivate.h" @@ -22,7 +22,6 @@ static int DebuggerCmd (ClientData dummy, Tcl_Interp *interp, int argc, const char **argv); -MODULE_SCOPE int TkplatformtestInit(Tcl_Interp *interp); /* *---------------------------------------------------------------------- diff --git a/win/configure b/win/configure index 6747d73..01abf2e 100755 --- a/win/configure +++ b/win/configure @@ -3286,7 +3286,7 @@ echo $ECHO_N "checking compiler flags... $ECHO_C" >&6 echo "$as_me: WARNING: 64bit mode not supported with GCC on Windows" >&2;} fi SHLIB_LD="" - SHLIB_LD_LIBS="" + SHLIB_LD_LIBS='${LIBS}' LIBS="-lws2_32" # mingw needs to link ole32 and oleaut32 for [send], but MSVC doesn't LIBS_GUI="-lgdi32 -lcomdlg32 -limm32 -lcomctl32 -lshell32 -luuid -lole32 -loleaut32" @@ -3332,7 +3332,6 @@ echo "$as_me: WARNING: 64bit mode not supported with GCC on Windows" >&2;} echo "$as_me:$LINENO: result: using static flags" >&5 echo "${ECHO_T}using static flags" >&6 runtime= - MAKE_DLL="echo " LIBSUFFIX="s\${DBGX}.a" LIBFLAGSUFFIX="s\${DBGX}" LIBRARIES="\${STATIC_LIBRARIES}" @@ -3352,20 +3351,19 @@ echo "$as_me: error: ${CC} does not support the -shared option. fi runtime= - # Link with gcc since ld does not link to default libs like - # -luser32 and -lmsvcrt by default. Make sure CFLAGS is - # included so -mno-cygwin passed the correct libs to the linker. - SHLIB_LD='${CC} -shared ${CFLAGS}' - SHLIB_LD_LIBS='${LIBS}' # Add SHLIB_LD_LIBS to the Make rule, not here. - MAKE_DLL="\${SHLIB_LD} \$(LDFLAGS) -o \$@ ${extra_ldflags} \ - -Wl,--out-implib,\$(patsubst %.dll,lib%.a,\$@)" LIBSUFFIX="\${DBGX}.a" LIBFLAGSUFFIX="\${DBGX}" EXESUFFIX="\${DBGX}.exe" LIBRARIES="\${SHARED_LIBRARIES}" fi + # Link with gcc since ld does not link to default libs like + # -luser32 and -lmsvcrt by default. Make sure CFLAGS is + # included so -mno-cygwin passed the correct libs to the linker. + SHLIB_LD='${CC} -shared ${CFLAGS}' + MAKE_DLL="\${SHLIB_LD} \$(LDFLAGS) -o \$@ ${extra_ldflags} \ + -Wl,--out-implib,\$(patsubst %.dll,lib%.a,\$@)" # DLLSUFFIX is separate because it is the building block for # users of tclConfig.sh that may build shared or static. DLLSUFFIX="\${DBGX}.dll" @@ -3408,25 +3406,22 @@ echo "$as_me: error: ${CC} does not support the -shared option. echo "$as_me:$LINENO: result: using static flags" >&5 echo "${ECHO_T}using static flags" >&6 runtime=-MT - MAKE_DLL="echo " LIBSUFFIX="s\${DBGX}.lib" LIBFLAGSUFFIX="s\${DBGX}" LIBRARIES="\${STATIC_LIBRARIES}" EXESUFFIX="s\${DBGX}.exe" - SHLIB_LD_LIBS="" else # dynamic echo "$as_me:$LINENO: result: using shared flags" >&5 echo "${ECHO_T}using shared flags" >&6 runtime=-MD # Add SHLIB_LD_LIBS to the Make rule, not here. - MAKE_DLL="\${SHLIB_LD} \$(LDFLAGS) -out:\$@" LIBSUFFIX="\${DBGX}.lib" LIBFLAGSUFFIX="\${DBGX}" EXESUFFIX="\${DBGX}.exe" LIBRARIES="\${SHARED_LIBRARIES}" - SHLIB_LD_LIBS='${LIBS}' fi + MAKE_DLL="\${SHLIB_LD} \$(LDFLAGS) -out:\$@" # DLLSUFFIX is separate because it is the building block for # users of tclConfig.sh that may build shared or static. DLLSUFFIX="\${DBGX}.dll" diff --git a/win/tcl.m4 b/win/tcl.m4 index f0232de..dbd89d3 100644 --- a/win/tcl.m4 +++ b/win/tcl.m4 @@ -373,6 +373,7 @@ AC_DEFUN([SC_ENABLE_SYMBOLS], [ # MAKE_DLL # # LIBSUFFIX +# LIBFLAGSUFFIX # LIBPREFIX # LIBRARIES # EXESUFFIX @@ -445,7 +446,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ AC_MSG_WARN([64bit mode not supported with GCC on Windows]) fi SHLIB_LD="" - SHLIB_LD_LIBS="" + SHLIB_LD_LIBS='${LIBS}' LIBS="-lws2_32" # mingw needs to link ole32 and oleaut32 for [send], but MSVC doesn't LIBS_GUI="-lgdi32 -lcomdlg32 -limm32 -lcomctl32 -lshell32 -luuid -lole32 -loleaut32" @@ -490,8 +491,6 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ # static AC_MSG_RESULT([using static flags]) runtime= - LIBSUFFIX="s\${DBGX}.a" - LIBFLAGSUFFIX="s\${DBGX}" LIBRARIES="\${STATIC_LIBRARIES}" EXESUFFIX="s\${DBGX}.exe" else @@ -507,8 +506,6 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ runtime= # Add SHLIB_LD_LIBS to the Make rule, not here. - LIBSUFFIX="\${DBGX}.a" - LIBFLAGSUFFIX="\${DBGX}" EXESUFFIX="\${DBGX}.exe" LIBRARIES="\${SHARED_LIBRARIES}" fi @@ -522,6 +519,8 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ # DLLSUFFIX is separate because it is the building block for # users of tclConfig.sh that may build shared or static. DLLSUFFIX="\${DBGX}.dll" + LIBSUFFIX="\${DBGX}.a" + LIBFLAGSUFFIX="\${DBGX}" SHLIB_SUFFIX=.dll EXTRA_CFLAGS="${extra_cflags}" @@ -560,8 +559,6 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ # static AC_MSG_RESULT([using static flags]) runtime=-MT - LIBSUFFIX="s\${DBGX}.lib" - LIBFLAGSUFFIX="s\${DBGX}" LIBRARIES="\${STATIC_LIBRARIES}" EXESUFFIX="s\${DBGX}.exe" else @@ -569,15 +566,15 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ AC_MSG_RESULT([using shared flags]) runtime=-MD # Add SHLIB_LD_LIBS to the Make rule, not here. - LIBSUFFIX="\${DBGX}.lib" - LIBFLAGSUFFIX="\${DBGX}" - EXESUFFIX="\${DBGX}.exe" LIBRARIES="\${SHARED_LIBRARIES}" + EXESUFFIX="\${DBGX}.exe" fi MAKE_DLL="\${SHLIB_LD} \$(LDFLAGS) -out:\[$]@" # DLLSUFFIX is separate because it is the building block for # users of tclConfig.sh that may build shared or static. DLLSUFFIX="\${DBGX}.dll" + LIBSUFFIX="\${DBGX}.lib" + LIBFLAGSUFFIX="\${DBGX}" # This is a 2-stage check to make sure we have the 64-bit SDK # We have to know where the SDK is installed. @@ -735,6 +732,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ fi SHLIB_LD="${LINKBIN} -dll -incremental:no ${lflags}" + SHLIB_LD_LIBS='${LIBS}' # link -lib only works when -lib is the first arg STLIB_LD="${LINKBIN} -lib ${lflags}" RC_OUT=-fo diff --git a/win/tkWinTest.c b/win/tkWinTest.c index 5ab725e..34647b4 100644 --- a/win/tkWinTest.c +++ b/win/tkWinTest.c @@ -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: tkWinTest.c,v 1.27 2009/11/19 23:45:08 nijtmans Exp $ + * RCS: @(#) $Id: tkWinTest.c,v 1.28 2009/11/29 22:10:36 nijtmans Exp $ */ #ifndef USE_TCL_STUBS @@ -42,7 +42,6 @@ static int TestgetwindowinfoObjCmd(ClientData clientData, static int TestwinlocaleObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); -MODULE_SCOPE int TkplatformtestInit(Tcl_Interp *interp); static Tk_GetSelProc SetSelectionResult; -- cgit v0.12