diff options
author | nijtmans <nijtmans> | 2009-11-23 20:17:36 (GMT) |
---|---|---|
committer | nijtmans <nijtmans> | 2009-11-23 20:17:36 (GMT) |
commit | 1e53451f28489099ede27c46d8672b7281e44614 (patch) | |
tree | 9f5d34f3682d12c06c74e9e2929d7b3d4c6afb00 | |
parent | a572d7070900a843d0b8cc6c6bee105f8411c90c (diff) | |
download | tcl-1e53451f28489099ede27c46d8672b7281e44614.zip tcl-1e53451f28489099ede27c46d8672b7281e44614.tar.gz tcl-1e53451f28489099ede27c46d8672b7281e44614.tar.bz2 |
#undef STATIC_BUILD in tclWin(Dde|Reg).c, in order to make
sure that Xxxxx_Init is always exported even when Tcl is built
static (otherwise we cannot create a DLL).
tclThreadTest.c: Make all functions static, except TclThread_Init.
fCmd.test Enable fCmd-30.1 when registry is available.
tcl.m4 Fix ${SHLIB_LD_LIBS} definition, fix conflicts
configure.in between static libraries and import library on windows.
configure (regenerated)
Makefile.in Simplifications related to tcl.m4 changes.
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | generic/tclTest.c | 3 | ||||
-rw-r--r-- | generic/tclThreadTest.c | 68 | ||||
-rw-r--r-- | tests/fCmd.test | 23 | ||||
-rw-r--r-- | win/Makefile.in | 132 | ||||
-rwxr-xr-x | win/configure | 40 | ||||
-rw-r--r-- | win/configure.in | 21 | ||||
-rw-r--r-- | win/tcl.m4 | 19 | ||||
-rw-r--r-- | win/tclWinDde.c | 15 | ||||
-rw-r--r-- | win/tclWinReg.c | 3 |
10 files changed, 137 insertions, 199 deletions
@@ -1,3 +1,15 @@ +2009-11-23 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinDde.c #undef STATIC_BUILD, in order to make sure that + * win/tclWinReg.c Xxxxx_Init is always exported even when Tcl is + * generic/tclTest.c built static (otherwise we cannot create a DLL). + * generic/tclThreadTest.c Make all functions static, except TclThread_Init. + * tests/fCmd.test Enable fCmd-30.1 when registry is available. + * win/tcl.m4 Fix ${SHLIB_LD_LIBS} definition, fix conflicts + * win/Makefile.in Simplifications related to tcl.m4 changes. + * win/configure.in between static libraries and import library on windows. + * win/configure (regenerated) + 2009-11-23 Kevin B. Kenny <kennykb@acm.org> * generic/tclThreadTest.c (NewTestThread): [Bug 2901803] diff --git a/generic/tclTest.c b/generic/tclTest.c index 4e739db..07f1511 100644 --- a/generic/tclTest.c +++ b/generic/tclTest.c @@ -14,9 +14,10 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclTest.c,v 1.140 2009/11/19 21:17:36 nijtmans Exp $ + * RCS: @(#) $Id: tclTest.c,v 1.141 2009/11/23 20:17:36 nijtmans Exp $ */ +#undef STATIC_BUILD #ifndef USE_TCL_STUBS # define USE_TCL_STUBS #endif diff --git a/generic/tclThreadTest.c b/generic/tclThreadTest.c index e009a86..8607b15 100644 --- a/generic/tclThreadTest.c +++ b/generic/tclThreadTest.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: tclThreadTest.c,v 1.34 2009/11/23 19:00:49 kennykb Exp $ + * RCS: @(#) $Id: tclThreadTest.c,v 1.35 2009/11/23 20:17:36 nijtmans Exp $ */ #ifndef USE_TCL_STUBS @@ -60,7 +60,7 @@ static ThreadSpecificData *threadList; /* * An instance of the following structure contains all information that is * passed into a new thread when the thread is created using either the - * "thread create" Tcl command or the TclCreateThread() C function. + * "thread create" Tcl command or the ThreadCreate() C function. */ typedef struct ThreadCtrl { @@ -121,25 +121,18 @@ static char *errorProcString; TCL_DECLARE_MUTEX(threadMutex) -#undef TCL_STORAGE_CLASS -#define TCL_STORAGE_CLASS DLLEXPORT - -EXTERN int TclThread_Init(Tcl_Interp *interp); -EXTERN int Tcl_ThreadObjCmd(ClientData clientData, +static int ThreadObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); -EXTERN int TclCreateThread(Tcl_Interp *interp, const char *script, +static int ThreadCreate(Tcl_Interp *interp, const char *script, int joinable); -EXTERN int TclThreadList(Tcl_Interp *interp); -EXTERN int TclThreadSend(Tcl_Interp *interp, Tcl_ThreadId id, +static int ThreadList(Tcl_Interp *interp); +static int ThreadSend(Tcl_Interp *interp, Tcl_ThreadId id, const char *script, int wait); -EXTERN int TclThreadCancel(Tcl_Interp *interp, Tcl_ThreadId id, +static int ThreadCancel(Tcl_Interp *interp, Tcl_ThreadId id, const char *result, int flags); -#undef TCL_STORAGE_CLASS -#define TCL_STORAGE_CLASS DLLIMPORT - -Tcl_ThreadCreateType NewTestThread(ClientData clientData); +static Tcl_ThreadCreateType NewTestThread(ClientData clientData); static void ListRemove(ThreadSpecificData *tsdPtr); static void ListUpdateInner(ThreadSpecificData *tsdPtr); static int ThreadEventProc(Tcl_Event *evPtr, int mask); @@ -148,6 +141,7 @@ static void ThreadFreeProc(ClientData clientData); static int ThreadDeleteEvent(Tcl_Event *eventPtr, ClientData clientData); static void ThreadExitProc(ClientData clientData); +extern int Tcltest_Init(Tcl_Interp *interp); /* *---------------------------------------------------------------------- @@ -179,7 +173,7 @@ TclThread_Init( } Tcl_MutexUnlock(&threadMutex); - Tcl_CreateObjCommand(interp, "testthread", Tcl_ThreadObjCmd, NULL, NULL); + Tcl_CreateObjCommand(interp, "testthread", ThreadObjCmd, NULL, NULL); return TCL_OK; } @@ -187,7 +181,7 @@ TclThread_Init( /* *---------------------------------------------------------------------- * - * Tcl_ThreadObjCmd -- + * ThreadObjCmd -- * * This procedure is invoked to process the "testthread" Tcl command. See * the user documentation for details on what it does. @@ -213,8 +207,8 @@ TclThread_Init( */ /* ARGSUSED */ -int -Tcl_ThreadObjCmd( +static int +ThreadObjCmd( ClientData dummy, /* Not used. */ Tcl_Interp *interp, /* Current interpreter. */ int objc, /* Number of arguments. */ @@ -281,7 +275,7 @@ Tcl_ThreadObjCmd( } else { result = NULL; } - return TclThreadCancel(interp, (Tcl_ThreadId) id, result, flags); + return ThreadCancel(interp, (Tcl_ThreadId) id, result, flags); } case THREAD_CREATE: { const char *script; @@ -326,7 +320,7 @@ Tcl_ThreadObjCmd( Tcl_WrongNumArgs(interp, 2, objv, "?-joinable? ?script?"); return TCL_ERROR; } - return TclCreateThread(interp, script, joinable); + return ThreadCreate(interp, script, joinable); } case THREAD_EXIT: if (objc > 2) { @@ -390,7 +384,7 @@ Tcl_ThreadObjCmd( Tcl_WrongNumArgs(interp, 2, objv, NULL); return TCL_ERROR; } - return TclThreadList(interp); + return ThreadList(interp); case THREAD_SEND: { long id; const char *script; @@ -416,7 +410,7 @@ Tcl_ThreadObjCmd( } arg++; script = Tcl_GetString(objv[arg]); - return TclThreadSend(interp, (Tcl_ThreadId) id, script, wait); + return ThreadSend(interp, (Tcl_ThreadId) id, script, wait); } case THREAD_EVENT: { if (objc > 2) { @@ -486,7 +480,7 @@ Tcl_ThreadObjCmd( /* *---------------------------------------------------------------------- * - * TclCreateThread -- + * ThreadCreate -- * * This procedure is invoked to create a thread containing an interp to * run a script. This returns after the thread has started executing. @@ -501,8 +495,8 @@ Tcl_ThreadObjCmd( */ /* ARGSUSED */ -int -TclCreateThread( +static int +ThreadCreate( Tcl_Interp *interp, /* Current interpreter. */ const char *script, /* Script to execute */ int joinable) /* Flag, joinable thread or not */ @@ -588,7 +582,7 @@ NewTestThread( * use by the new thread. */ - result = Tcl_Eval(tsdPtr->interp, "load {} Tcltest"); + result = Tcltest_Init(tsdPtr->interp); if (result != TCL_OK) { ThreadErrorProc(tsdPtr->interp); } @@ -679,7 +673,7 @@ ThreadErrorProc( argv[1] = buf; argv[2] = errorInfo; script = Tcl_Merge(3, argv); - TclThreadSend(interp, errorThreadId, script, 0); + ThreadSend(interp, errorThreadId, script, 0); ckfree(script); } } @@ -758,7 +752,7 @@ ListRemove( /* *------------------------------------------------------------------------ * - * TclThreadList -- + * ThreadList -- * * Return a list of threads running Tcl interpreters. * @@ -770,8 +764,8 @@ ListRemove( * *------------------------------------------------------------------------ */ -int -TclThreadList( +static int +ThreadList( Tcl_Interp *interp) { ThreadSpecificData *tsdPtr; @@ -791,7 +785,7 @@ TclThreadList( /* *------------------------------------------------------------------------ * - * TclThreadSend -- + * ThreadSend -- * * Send a script to another thread. * @@ -804,8 +798,8 @@ TclThreadList( *------------------------------------------------------------------------ */ -int -TclThreadSend( +static int +ThreadSend( Tcl_Interp *interp, /* The current interpreter. */ Tcl_ThreadId id, /* Thread Id of other interpreter. */ const char *script, /* The script to evaluate. */ @@ -946,7 +940,7 @@ TclThreadSend( /* *------------------------------------------------------------------------ * - * TclThreadCancel -- + * ThreadCancel -- * * Cancels a script in another thread. * @@ -959,8 +953,8 @@ TclThreadSend( *------------------------------------------------------------------------ */ -int -TclThreadCancel( +static int +ThreadCancel( Tcl_Interp *interp, /* The current interpreter. */ Tcl_ThreadId id, /* Thread Id of other interpreter. */ const char *result, /* The result or NULL for default. */ diff --git a/tests/fCmd.test b/tests/fCmd.test index 53360b3..839d0fd 100644 --- a/tests/fCmd.test +++ b/tests/fCmd.test @@ -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: fCmd.test,v 1.66 2009/11/07 09:24:22 patthoyts Exp $ +# RCS: @(#) $Id: fCmd.test,v 1.67 2009/11/23 20:17:36 nijtmans Exp $ # if {[lsearch [namespace children] ::tcltest] == -1} { @@ -27,7 +27,18 @@ testConstraint winOlderThan2000 0 testConstraint notNetworkFilesystem 0 testConstraint 95or98 [expr {[testConstraint 95] || [testConstraint 98]}] testConstraint 2000orNewer [expr {![testConstraint 95or98]}] -testConstraint registryPackage [expr {![catch {package require registry}]}] +testConstraint reg 0 +if {[testConstraint win]} { + catch { + # Is the registry extension already static to this shell? + if [catch {load {} Registry; set ::reglib {}}] { + # try the location given to use on the commandline to tcltest + ::tcltest::loadTestedCommands + load $::reglib Registry + } + testConstraint reg 1 + } +} # Find a group that exists on this Unix system, or else skip tests that # require Unix groups. @@ -1025,7 +1036,7 @@ test fCmd-10.3 {file copy: comprehensive: dir to new name} -setup { } -result [list {td1 td2 td3 td4} [file join td3 tdx] [file join td4 tdy] 1 0] test fCmd-10.3.1 {file copy: comprehensive: dir to new name} -setup { cleanup -} -constraints {notRoot win 2000orNewer testchmod} -body { +} -constraints {notRoot 2000orNewer testchmod} -body { # On Windows with ACLs, copying a directory is defined like this file mkdir [file join td1 tdx] file mkdir [file join td2 tdy] @@ -1124,7 +1135,7 @@ test fCmd-10.8 {file rename: comprehensive: dir to new name and dir} -setup { } -result [subst {{td1 td2 td3} {[file join td3 td3] [file join td3 td4]} 1 0}] test fCmd-10.8.1 {file rename: comprehensive: dir to new name and dir} -setup { cleanup -} -constraints {notRoot win 2000orNewer testchmod} -body { +} -constraints {notRoot 2000orNewer testchmod} -body { # On Windows with ACLs, copying a directory is defined like this file mkdir td1 file mkdir td2 @@ -2538,10 +2549,10 @@ removeDirectory abc.dir test fCmd-30.1 {file writable on 'My Documents'} -setup { # Get the localized version of the folder name by looking in the registry. set mydocsname [registry get {HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DocFolderPaths} $tcl_platform(user)] -} -constraints {win 2000orNewer registryPackage} -body { +} -constraints {2000orNewer reg} -body { file writable $mydocsname } -result 1 -test fCmd-30.2 {file readable on 'NTUSER.DAT'} -constraints {win 2000orNewer knownBug} -body { +test fCmd-30.2 {file readable on 'NTUSER.DAT'} -constraints {2000orNewer knownBug} -body { # Apparently the OS has this file open with exclusive permissions Windows # doesn't provide any way to determine that fact without actually trying # to open the file (open NTUSER.dat r), which fails. Hence this isn't diff --git a/win/Makefile.in b/win/Makefile.in index 9636641..14208f5 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -4,7 +4,7 @@ # "./configure", which is a configuration script generated by the "autoconf" # program (constructs like "@foo@" will get replaced in the actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.164 2009/11/19 21:23:51 nijtmans Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.165 2009/11/23 20:17:36 nijtmans Exp $ VERSION = @TCL_VERSION@ @@ -132,23 +132,18 @@ REGDOTVER = @TCL_REG_MAJOR_VERSION@.@TCL_REG_MINOR_VERSION@ TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@ TCL_DLL_FILE = @TCL_DLL_FILE@ -TCL_STATIC_LIB_FILE = @TCL_STATIC_LIB_FILE@ -TCL_IMPORT_LIB_FILE = @TCL_IMPORT_LIB_FILE@ TCL_LIB_FILE = @TCL_LIB_FILE@ -ZLIB_DLL_FILE = zlib1.dll -UNICOWS_DLL_FILE = unicows.dll DDE_DLL_FILE = tcldde$(DDEVER)${DLLSUFFIX} -DDE_LIB_FILE = tcldde$(DDEVER)${LIBSUFFIX} +DDE_LIB_FILE = @LIBPREFIX@tcldde$(DDEVER)${LIBSUFFIX} REG_DLL_FILE = tclreg$(REGVER)${DLLSUFFIX} -REG_LIB_FILE = tclreg$(REGVER)${LIBSUFFIX} +REG_LIB_FILE = @LIBPREFIX@tclreg$(REGVER)${LIBSUFFIX} TEST_DLL_FILE = tcltest$(VER)${DLLSUFFIX} -TEST_LIB_FILE = tcltest$(VER)${LIBSUFFIX} +TEST_LIB_FILE = @LIBPREFIX@tcltest$(VER)${LIBSUFFIX} PIPE_DLL_FILE = tclpip$(VER)${DLLSUFFIX} +ZLIB_DLL_FILE = zlib1.dll -SHARED_LIBRARIES = $(TCL_DLL_FILE) @ZLIB_DLL_FILE@ @UNICOWS_DLL_FILE@ $(TCL_STUB_LIB_FILE) \ - $(DDE_DLL_FILE) $(REG_DLL_FILE) $(TEST_DLL_FILE) $(PIPE_DLL_FILE) -STATIC_LIBRARIES = $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) $(REG_LIB_FILE) $(DDE_LIB_FILE) \ - $(TEST_LIB_FILE) $(DDE_DLL_FILE) $(REG_DLL_FILE) $(TEST_DLL_FILE) +SHARED_LIBRARIES = $(TCL_DLL_FILE) $(PIPE_DLL_FILE) @ZLIB_DLL_FILE@ +STATIC_LIBRARIES = $(TCL_LIB_FILE) $(REG_LIB_FILE) $(DDE_LIB_FILE) # TCL_EXE is the name of a tclsh executable that is available *BEFORE* running # make for the first time. Certain build targets (make genstubs) need it to be @@ -195,13 +190,11 @@ SHELL = @SHELL@ RM = rm -f COPY = cp -CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} \ +CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} -I"${ZLIB_DIR}" \ -I"${GENERIC_DIR_NATIVE}" -DTCL_TOMMATH -DMP_PREC=4 -I"${TOMMATH_DIR_NATIVE}" \ -I"${WIN_DIR_NATIVE}" ${AC_FLAGS} \ ${COMPILE_DEBUG_FLAGS} -ZLIB_INC = -I"${ZLIB_DIR}" - CC_OBJNAME = @CC_OBJNAME@ CC_EXENAME = @CC_EXENAME@ @@ -391,18 +384,17 @@ STUB_OBJS = \ TCLSH_OBJS = tclAppInit.$(OBJEXT) ZLIB_OBJS = \ - Zadler32.$(OBJEXT) \ - Zcompress.$(OBJEXT) \ - Zcrc32.$(OBJEXT) \ - Zdeflate.$(OBJEXT) \ - Zgzio.$(OBJEXT) \ - Zinfback.$(OBJEXT) \ - Zinffast.$(OBJEXT) \ - Zinflate.$(OBJEXT) \ - Zinftrees.$(OBJEXT) \ - Ztrees.$(OBJEXT) \ - Zuncompr.$(OBJEXT) \ - Zzutil.$(OBJEXT) + adler32.$(OBJEXT) \ + compress.$(OBJEXT) \ + crc32.$(OBJEXT) \ + deflate.$(OBJEXT) \ + infback.$(OBJEXT) \ + inffast.$(OBJEXT) \ + inflate.$(OBJEXT) \ + inftrees.$(OBJEXT) \ + trees.$(OBJEXT) \ + uncompr.$(OBJEXT) \ + zutil.$(OBJEXT) TCL_OBJS = ${GENERIC_OBJS} $(TOMMATH_OBJS) ${WIN_OBJS} @ZLIB_OBJS@ @@ -412,7 +404,7 @@ all: binaries libraries doc packages tcltest: $(TCLTEST) -binaries: @LIBRARIES@ $(TCLSH) +binaries: $(TCL_STUB_LIB_FILE) @LIBRARIES@ $(DDE_DLL_FILE) $(REG_DLL_FILE) $(TCLSH) libraries: @@ -422,8 +414,8 @@ $(TCLSH): $(TCL_LIB_FILE) $(TCLSH_OBJS) tclsh.$(RES) $(CC) $(CFLAGS) $(TCLSH_OBJS) $(TCL_LIB_FILE) $(LIBS) \ tclsh.$(RES) $(CC_EXENAME) $(LDFLAGS_CONSOLE) -$(TCLTEST): $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) $(TCLTEST_OBJS) testMain.$(OBJEXT) $(CAT32) tclsh.$(RES) - $(CC) $(CFLAGS) $(TCLTEST_OBJS) testMain.$(OBJEXT) $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) $(LIBS) \ +$(TCLTEST): $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) ${TEST_LIB_FILE} testMain.$(OBJEXT) $(CAT32) tclsh.$(RES) + $(CC) $(CFLAGS) testMain.$(OBJEXT) ${TEST_LIB_FILE} $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) $(LIBS) \ tclsh.$(RES) $(CC_EXENAME) $(LDFLAGS_CONSOLE) cat32.$(OBJEXT): cat.c @@ -440,20 +432,24 @@ ${TCL_STUB_LIB_FILE}: ${STUB_OBJS} @MAKE_LIB@ ${STUB_OBJS} @POST_MAKE_LIB@ -${TCL_DLL_FILE} $(TCL_IMPORT_LIB_FILE): ${TCL_OBJS} tcl.$(RES) @ZLIB_DLL_FILE@ @UNICOWS_DLL_FILE@ - @$(RM) ${TCL_DLL_FILE} $(TCL_IMPORT_LIB_FILE) +${TCL_DLL_FILE}: ${TCL_OBJS} tcl.$(RES) @ZLIB_DLL_FILE@ + @$(RM) ${TCL_DLL_FILE} $(TCL_LIB_FILE) @MAKE_DLL@ ${TCL_OBJS} tcl.$(RES) $(SHLIB_LD_LIBS) -${TCL_STATIC_LIB_FILE}: ${TCL_OBJS} - @$(RM) ${TCL_STATIC_LIB_FILE} +${TCL_LIB_FILE}: ${TCL_OBJS} + @$(RM) ${TCL_LIB_FILE} @MAKE_LIB@ ${TCL_OBJS} @POST_MAKE_LIB@ # assume GNU make ${DDE_DLL_FILE}: ${DDE_OBJS} ${TCL_STUB_LIB_FILE} - @$(RM) ${DDE_DLL_FILE} + @-$(RM) ${DDE_DLL_FILE} ${DDE_LIB_FILE}.backup + @-$(COPY) ${DDE_LIB_FILE} ${DDE_LIB_FILE}.backup @MAKE_DLL@ ${DDE_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS) + @-$(RM) ${DDE_LIB_FILE} + @-$(COPY) ${DDE_LIB_FILE}.backup ${DDE_LIB_FILE} + @-$(RM) ${DDE_LIB_FILE}.backup ${DDE_LIB_FILE}: ${DDE_OBJS} tclStubLib.$(OBJEXT) @$(RM) ${DDE_LIB_FILE} @@ -461,8 +457,12 @@ ${DDE_LIB_FILE}: ${DDE_OBJS} tclStubLib.$(OBJEXT) @POST_MAKE_LIB@ ${REG_DLL_FILE}: ${REG_OBJS} ${TCL_STUB_LIB_FILE} - @$(RM) ${REG_DLL_FILE} + @-$(RM) ${REG_DLL_FILE} ${REG_LIB_FILE}.backup + @-$(COPY) ${REG_LIB_FILE} ${REG_LIB_FILE}.backup @MAKE_DLL@ ${REG_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS) + @-$(RM) ${REG_LIB_FILE} + @-$(COPY) ${REG_LIB_FILE}.backup ${REG_LIB_FILE} + @-$(RM) ${REG_LIB_FILE}.backup ${REG_LIB_FILE}: ${REG_OBJS} tclStubLib.$(OBJEXT) @$(RM) ${REG_LIB_FILE} @@ -470,8 +470,12 @@ ${REG_LIB_FILE}: ${REG_OBJS} tclStubLib.$(OBJEXT) @POST_MAKE_LIB@ ${TEST_DLL_FILE}: ${TCLTEST_OBJS} ${TCL_STUB_LIB_FILE} - @$(RM) ${TEST_DLL_FILE} + @-$(RM) ${TEST_DLL_FILE} ${TEST_LIB_FILE}.backup + @-$(COPY) ${TEST_LIB_FILE} ${TEST_LIB_FILE}.backup @MAKE_DLL@ ${TCLTEST_OBJS} $(TCL_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}: ${TCLTEST_OBJS} tclStubLib.$(OBJEXT) @$(RM) ${TEST_LIB_FILE} @@ -482,10 +486,6 @@ ${TEST_LIB_FILE}: ${TCLTEST_OBJS} tclStubLib.$(OBJEXT) ${ZLIB_DLL_FILE}: $(ZLIB_DIR)/win32/${ZLIB_DLL_FILE} @$(COPY) $(ZLIB_DIR)/win32/${ZLIB_DLL_FILE} ${ZLIB_DLL_FILE} -# use pre-built unicows.dll -${UNICOWS_DLL_FILE}: $(COMPAT_DIR)/mslu/${UNICOWS_DLL_FILE} - @$(COPY) $(COMPAT_DIR)/mslu/${UNICOWS_DLL_FILE} ${UNICOWS_DLL_FILE} - # PIPE_DLL_FILE is actually an executable, don't build it like a DLL. ${PIPE_DLL_FILE}: ${PIPE_OBJS} @@ -511,54 +511,6 @@ tclWinPipe.${OBJEXT}: tclWinPipe.c testMain.${OBJEXT}: tclAppInit.c $(CC) -c $(CC_SWITCHES) -DTCL_TEST @DEPARG@ $(CC_OBJNAME) -tclTest.${OBJEXT}: tclTest.c - $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME) - -tclTestObj.${OBJEXT}: tclTestObj.c - $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME) - -tclWinTest.${OBJEXT}: tclWinTest.c - $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME) - -tclWinReg.${OBJEXT}: tclWinReg.c - $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME) - -tclWinDde.${OBJEXT}: tclWinDde.c - $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME) - -tclAppInit.${OBJEXT} : tclAppInit.c - $(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME) - -# For building zlib, only used in some build configurations - -Zadler32.$(OBJEXT): $(ZLIB_DIR)/adler32.c - $(CC) -c $(CC_SWITCHES) -I$(ZLIB_DIR) @DEPARG@ $(CC_OBJNAME) -Zcompress.$(OBJEXT): $(ZLIB_DIR)/compress.c - $(CC) -c $(CC_SWITCHES) -I$(ZLIB_DIR) @DEPARG@ $(CC_OBJNAME) -Zcrc32.$(OBJEXT): $(ZLIB_DIR)/crc32.c - $(CC) -c $(CC_SWITCHES) -I$(ZLIB_DIR) @DEPARG@ $(CC_OBJNAME) -Zdeflate.$(OBJEXT): $(ZLIB_DIR)/deflate.c - $(CC) -c $(CC_SWITCHES) -I$(ZLIB_DIR) @DEPARG@ $(CC_OBJNAME) -Zgzio.$(OBJEXT): $(ZLIB_DIR)/gzio.c - $(CC) -c $(CC_SWITCHES) -I$(ZLIB_DIR) @DEPARG@ $(CC_OBJNAME) -Zinfback.$(OBJEXT): $(ZLIB_DIR)/infback.c - $(CC) -c $(CC_SWITCHES) -I$(ZLIB_DIR) @DEPARG@ $(CC_OBJNAME) -Zinffast.$(OBJEXT): $(ZLIB_DIR)/inffast.c - $(CC) -c $(CC_SWITCHES) -I$(ZLIB_DIR) @DEPARG@ $(CC_OBJNAME) -Zinflate.$(OBJEXT): $(ZLIB_DIR)/inflate.c - $(CC) -c $(CC_SWITCHES) -I$(ZLIB_DIR) @DEPARG@ $(CC_OBJNAME) -Zinftrees.$(OBJEXT): $(ZLIB_DIR)/inftrees.c - $(CC) -c $(CC_SWITCHES) -I$(ZLIB_DIR) @DEPARG@ $(CC_OBJNAME) -Ztrees.$(OBJEXT): $(ZLIB_DIR)/trees.c - $(CC) -c $(CC_SWITCHES) -I$(ZLIB_DIR) @DEPARG@ $(CC_OBJNAME) -Zuncompr.$(OBJEXT): $(ZLIB_DIR)/uncompr.c - $(CC) -c $(CC_SWITCHES) -I$(ZLIB_DIR) @DEPARG@ $(CC_OBJNAME) -Zzutil.$(OBJEXT): $(ZLIB_DIR)/zutil.c - $(CC) -c $(CC_SWITCHES) -I$(ZLIB_DIR) @DEPARG@ $(CC_OBJNAME) - -tclZlib.${OBJEXT} : tclZlib.c - $(CC) -c ${ZLIB_INC} $(CC_SWITCHES) -DBUILD_tcl @DEPARG@ $(CC_OBJNAME) - # TIP #59, embedding of configuration information into the binary library. # # Part of Tcl's configuration information are the paths where it was installed @@ -638,7 +590,7 @@ install-binaries: binaries else true; \ fi; \ done; - @for i in $(TCL_DLL_FILE) $(ZLIB_DLL_FILE) $(UNICOWS_DLL_FILE) $(TCLSH) $(PIPE_DLL_FILE); \ + @for i in $(TCL_DLL_FILE) $(ZLIB_DLL_FILE) $(TCLSH) $(PIPE_DLL_FILE); \ do \ if [ -f $$i ]; then \ echo "Installing $$i to $(BIN_INSTALL_DIR)/"; \ diff --git a/win/configure b/win/configure index c1258fe..ee83212 100755 --- a/win/configure +++ b/win/configure @@ -309,7 +309,7 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP AR RANLIB RC SET_MAKE TCL_THREADS CYGPATH CELIB_DIR UNICOWS_DLL_FILE DL_LIBS CFLAGS_DEBUG CFLAGS_OPTIMIZE CFLAGS_WARNING ZLIB_DLL_FILE ZLIB_LIBS ZLIB_OBJS CFLAGS_DEFAULT LDFLAGS_DEFAULT TCL_VERSION TCL_MAJOR_VERSION TCL_MINOR_VERSION TCL_PATCH_LEVEL PKG_CFG_ARGS TCL_LIB_FILE TCL_LIB_FLAG TCL_STATIC_LIB_FILE TCL_STATIC_LIB_FLAG TCL_IMPORT_LIB_FILE TCL_IMPORT_LIB_FLAG TCL_LIB_SPEC TCL_STUB_LIB_FILE TCL_STUB_LIB_FLAG TCL_STUB_LIB_SPEC TCL_STUB_LIB_PATH TCL_INCLUDE_SPEC TCL_BUILD_STUB_LIB_SPEC TCL_BUILD_STUB_LIB_PATH TCL_DLL_FILE TCL_SRC_DIR TCL_BIN_DIR TCL_DBGX CFG_TCL_SHARED_LIB_SUFFIX CFG_TCL_UNSHARED_LIB_SUFFIX CFG_TCL_EXPORT_FILE_SUFFIX EXTRA_CFLAGS DEPARG CC_OBJNAME CC_EXENAME LDFLAGS_DEBUG LDFLAGS_OPTIMIZE LDFLAGS_CONSOLE LDFLAGS_WINDOW STLIB_LD SHLIB_LD SHLIB_LD_LIBS SHLIB_CFLAGS SHLIB_SUFFIX TCL_SHARED_BUILD LIBS_GUI DLLSUFFIX LIBPREFIX LIBSUFFIX EXESUFFIX LIBRARIES MAKE_LIB POST_MAKE_LIB MAKE_DLL MAKE_EXE TCL_BUILD_LIB_SPEC TCL_LD_SEARCH_FLAGS TCL_NEEDS_EXP_FILE TCL_BUILD_EXP_FILE TCL_EXP_FILE TCL_LIB_VERSIONS_OK TCL_PACKAGE_PATH TCL_DDE_VERSION TCL_DDE_MAJOR_VERSION TCL_DDE_MINOR_VERSION TCL_DDE_PATCH_LEVEL TCL_REG_VERSION TCL_REG_MAJOR_VERSION TCL_REG_MINOR_VERSION TCL_REG_PATCH_LEVEL RC_OUT RC_TYPE RC_INCLUDE RC_DEFINE RC_DEFINES RES LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP AR RANLIB RC SET_MAKE TCL_THREADS CYGPATH CELIB_DIR DL_LIBS CFLAGS_DEBUG CFLAGS_OPTIMIZE CFLAGS_WARNING ZLIB_DLL_FILE ZLIB_LIBS ZLIB_OBJS CFLAGS_DEFAULT LDFLAGS_DEFAULT TCL_VERSION TCL_MAJOR_VERSION TCL_MINOR_VERSION TCL_PATCH_LEVEL PKG_CFG_ARGS TCL_LIB_FILE TCL_LIB_FLAG TCL_STATIC_LIB_FILE TCL_STATIC_LIB_FLAG TCL_IMPORT_LIB_FILE TCL_IMPORT_LIB_FLAG TCL_LIB_SPEC TCL_STUB_LIB_FILE TCL_STUB_LIB_FLAG TCL_STUB_LIB_SPEC TCL_STUB_LIB_PATH TCL_INCLUDE_SPEC TCL_BUILD_STUB_LIB_SPEC TCL_BUILD_STUB_LIB_PATH TCL_DLL_FILE TCL_SRC_DIR TCL_BIN_DIR TCL_DBGX CFG_TCL_SHARED_LIB_SUFFIX CFG_TCL_UNSHARED_LIB_SUFFIX CFG_TCL_EXPORT_FILE_SUFFIX EXTRA_CFLAGS DEPARG CC_OBJNAME CC_EXENAME LDFLAGS_DEBUG LDFLAGS_OPTIMIZE LDFLAGS_CONSOLE LDFLAGS_WINDOW STLIB_LD SHLIB_LD SHLIB_LD_LIBS SHLIB_CFLAGS SHLIB_SUFFIX TCL_SHARED_BUILD LIBS_GUI DLLSUFFIX LIBPREFIX LIBSUFFIX EXESUFFIX LIBRARIES MAKE_LIB POST_MAKE_LIB MAKE_DLL MAKE_EXE TCL_BUILD_LIB_SPEC TCL_LD_SEARCH_FLAGS TCL_NEEDS_EXP_FILE TCL_BUILD_EXP_FILE TCL_EXP_FILE TCL_LIB_VERSIONS_OK TCL_PACKAGE_PATH TCL_DDE_VERSION TCL_DDE_MAJOR_VERSION TCL_DDE_MINOR_VERSION TCL_DDE_PATCH_LEVEL TCL_REG_VERSION TCL_REG_MAJOR_VERSION TCL_REG_MINOR_VERSION TCL_REG_PATCH_LEVEL RC_OUT RC_TYPE RC_INCLUDE RC_DEFINE RC_DEFINES RES LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -3908,7 +3908,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" @@ -3954,8 +3954,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= - LIBSUFFIX="s\${DBGX}.a" - LIBFLAGSUFFIX="s\${DBGX}" LIBRARIES="\${STATIC_LIBRARIES}" EXESUFFIX="s\${DBGX}.exe" else @@ -3975,8 +3973,6 @@ echo "$as_me: error: ${CC} does not support the -shared option. runtime= # Add SHLIB_LD_LIBS to the Make rule, not here. - LIBSUFFIX="\${DBGX}.a" - LIBFLAGSUFFIX="\${DBGX}" EXESUFFIX="\${DBGX}.exe" LIBRARIES="\${SHARED_LIBRARIES}" fi @@ -3990,6 +3986,8 @@ echo "$as_me: error: ${CC} does not support the -shared option. # 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}" @@ -4029,8 +4027,6 @@ 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 - LIBSUFFIX="s\${DBGX}.lib" - LIBFLAGSUFFIX="s\${DBGX}" LIBRARIES="\${STATIC_LIBRARIES}" EXESUFFIX="s\${DBGX}.exe" else @@ -4039,15 +4035,15 @@ echo "${ECHO_T}using static flags" >&6 echo "${ECHO_T}using shared flags" >&6 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. @@ -4281,6 +4277,7 @@ _ACEOF 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 @@ -4323,7 +4320,6 @@ _ACEOF fi - # DL_LIBS is empty, but then we match the Unix version @@ -4476,22 +4472,9 @@ eval "TCL_STUB_LIB_SPEC=\"-L${libdir} ${TCL_STUB_LIB_FLAG}\"" eval "TCL_BUILD_STUB_LIB_PATH=\"`pwd`/${TCL_STUB_LIB_FILE}\"" eval "TCL_STUB_LIB_PATH=\"${libdir}/${TCL_STUB_LIB_FILE}\"" -eval "TCL_STATIC_LIB_FILE=\"${LIBPREFIX}tcl${VER}s${LIBSUFFIX}\"" -eval "TCL_STATIC_LIB_FLAG=\"-ltcl${VER}s${LIBFLAGSUFFIX}\"" - -eval "TCL_IMPORT_LIB_FILE=\"${LIBPREFIX}tcl${VER}${LIBSUFFIX}\"" -eval "TCL_IMPORT_LIB_FLAG=\"-ltcl${VER}${LIBFLAGSUFFIX}\"" - -if test ${SHARED_BUILD} = 0 ; then - eval "TCL_LIB_FILE=\"${TCL_STATIC_LIB_FILE}\"" - eval "TCL_LIB_FLAG=\"${TCL_STATIC_LIB_FLAG}\"" -else - eval "TCL_LIB_FILE=\"${TCL_IMPORT_LIB_FILE}\"" - eval "TCL_LIB_FLAG=\"${TCL_IMPORT_LIB_FLAG}\"" -fi -eval "TCL_BUILD_LIB_SPEC=\"-L`pwd` ${TCL_LIB_FLAG}\"" -eval "TCL_LIB_SPEC=\"-L${libdir} ${TCL_LIB_FLAG}\"" - +eval "TCL_LIB_FILE=\"${LIBPREFIX}tcl${VER}${LIBSUFFIX}\"" +eval "TCL_BUILD_LIB_SPEC=\"-L`pwd` -ltcl${VER}${FLAGSUFFIX}\"" +eval "TCL_LIB_SPEC=\"-L${libdir} -ltcl${VER}${FLAGSUFFIX}\"" # Install time header dir can be set via --includedir eval "TCL_INCLUDE_SPEC=\"-I${includedir}\"" @@ -5285,7 +5268,6 @@ s,@SET_MAKE@,$SET_MAKE,;t t s,@TCL_THREADS@,$TCL_THREADS,;t t s,@CYGPATH@,$CYGPATH,;t t s,@CELIB_DIR@,$CELIB_DIR,;t t -s,@UNICOWS_DLL_FILE@,$UNICOWS_DLL_FILE,;t t s,@DL_LIBS@,$DL_LIBS,;t t s,@CFLAGS_DEBUG@,$CFLAGS_DEBUG,;t t s,@CFLAGS_OPTIMIZE@,$CFLAGS_OPTIMIZE,;t t diff --git a/win/configure.in b/win/configure.in index 4f6356e..f8d54ce 100644 --- a/win/configure.in +++ b/win/configure.in @@ -3,7 +3,7 @@ # generate the file "configure", which is run during Tcl installation # to configure the system for the local environment. # -# RCS: @(#) $Id: configure.in,v 1.118 2009/04/30 22:37:46 nijtmans Exp $ +# RCS: @(#) $Id: configure.in,v 1.119 2009/11/23 20:17:36 nijtmans Exp $ AC_INIT(../generic/tcl.h) AC_PREREQ(2.59) @@ -404,22 +404,9 @@ eval "TCL_STUB_LIB_SPEC=\"-L${libdir} ${TCL_STUB_LIB_FLAG}\"" eval "TCL_BUILD_STUB_LIB_PATH=\"`pwd`/${TCL_STUB_LIB_FILE}\"" eval "TCL_STUB_LIB_PATH=\"${libdir}/${TCL_STUB_LIB_FILE}\"" -eval "TCL_STATIC_LIB_FILE=\"${LIBPREFIX}tcl${VER}s${LIBSUFFIX}\"" -eval "TCL_STATIC_LIB_FLAG=\"-ltcl${VER}s${LIBFLAGSUFFIX}\"" - -eval "TCL_IMPORT_LIB_FILE=\"${LIBPREFIX}tcl${VER}${LIBSUFFIX}\"" -eval "TCL_IMPORT_LIB_FLAG=\"-ltcl${VER}${LIBFLAGSUFFIX}\"" - -if test ${SHARED_BUILD} = 0 ; then - eval "TCL_LIB_FILE=\"${TCL_STATIC_LIB_FILE}\"" - eval "TCL_LIB_FLAG=\"${TCL_STATIC_LIB_FLAG}\"" -else - eval "TCL_LIB_FILE=\"${TCL_IMPORT_LIB_FILE}\"" - eval "TCL_LIB_FLAG=\"${TCL_IMPORT_LIB_FLAG}\"" -fi -eval "TCL_BUILD_LIB_SPEC=\"-L`pwd` ${TCL_LIB_FLAG}\"" -eval "TCL_LIB_SPEC=\"-L${libdir} ${TCL_LIB_FLAG}\"" - +eval "TCL_LIB_FILE=\"${LIBPREFIX}tcl${VER}${LIBSUFFIX}\"" +eval "TCL_BUILD_LIB_SPEC=\"-L`pwd` -ltcl${VER}${FLAGSUFFIX}\"" +eval "TCL_LIB_SPEC=\"-L${libdir} -ltcl${VER}${FLAGSUFFIX}\"" # Install time header dir can be set via --includedir eval "TCL_INCLUDE_SPEC=\"-I${includedir}\"" @@ -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 @@ -773,7 +771,6 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ if test "$do64bit" != "no" ; then AC_DEFINE(TCL_CFG_DO64BIT) fi - AC_SUBST(UNICOWS_DLL_FILE) # DL_LIBS is empty, but then we match the Unix version AC_SUBST(DL_LIBS) diff --git a/win/tclWinDde.c b/win/tclWinDde.c index 5f82d76..742ff05 100644 --- a/win/tclWinDde.c +++ b/win/tclWinDde.c @@ -9,9 +9,10 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinDde.c,v 1.37 2009/11/18 23:46:05 nijtmans Exp $ + * RCS: @(#) $Id: tclWinDde.c,v 1.38 2009/11/23 20:17:36 nijtmans Exp $ */ +#undef STATIC_BUILD #ifndef USE_TCL_STUBS # define USE_TCL_STUBS #endif @@ -114,7 +115,7 @@ static int MakeDdeConnection(Tcl_Interp *interp, const char *name, HCONV *ddeConvPtr); static void SetDdeError(Tcl_Interp *interp); -int Tcl_DdeObjCmd(ClientData clientData, +static int DdeObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); @@ -147,7 +148,7 @@ Dde_Init( return TCL_ERROR; } - Tcl_CreateObjCommand(interp, "dde", Tcl_DdeObjCmd, NULL, NULL); + Tcl_CreateObjCommand(interp, "dde", DdeObjCmd, NULL, NULL); tsdPtr = TCL_TSD_INIT(&dataKey); Tcl_CreateExitHandler(DdeExitProc, NULL); return Tcl_PkgProvide(interp, TCL_DDE_PACKAGE_NAME, TCL_DDE_VERSION); @@ -403,7 +404,7 @@ DdeSetServerName( Tcl_ExposeCommand(interp, "dde", "dde"); } - Tcl_CreateObjCommand(interp, "dde", Tcl_DdeObjCmd, + Tcl_CreateObjCommand(interp, "dde", DdeObjCmd, (ClientData) riPtr, DeleteProc); if (Tcl_IsSafe(interp)) { Tcl_HideCommand(interp, "dde", "dde"); @@ -1125,7 +1126,7 @@ SetDdeError( /* *---------------------------------------------------------------------- * - * Tcl_DdeObjCmd -- + * DdeObjCmd -- * * This function is invoked to process the "dde" Tcl command. See the * user documentation for details on what it does. @@ -1139,8 +1140,8 @@ SetDdeError( *---------------------------------------------------------------------- */ -int -Tcl_DdeObjCmd( +static int +DdeObjCmd( ClientData clientData, /* Used only for deletion */ Tcl_Interp *interp, /* The interp we are sending from */ int objc, /* Number of arguments */ diff --git a/win/tclWinReg.c b/win/tclWinReg.c index 84fda68..4e6ba89 100644 --- a/win/tclWinReg.c +++ b/win/tclWinReg.c @@ -11,9 +11,10 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinReg.c,v 1.48 2009/11/18 23:46:05 nijtmans Exp $ + * RCS: @(#) $Id: tclWinReg.c,v 1.49 2009/11/23 20:17:36 nijtmans Exp $ */ +#undef STATIC_BUILD #ifndef USE_TCL_STUBS # define USE_TCL_STUBS #endif |