You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tests/winpm.test: removed [package require winpm] since the library
is actually [load]ed by the Makefile.
doc/winpm.man: misc fixes.
misc/notes.txt: added PT's explanations regarding tcltest and makefile.vc.
TODO: tasks updated.
Copy file name to clipboardExpand all lines: misc/notes.txt
+54Lines changed: 54 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -70,3 +70,57 @@ PBT_APMPOWERSTATUSCHANGE:
70
70
71
71
%A -- AC status.
72
72
%B -- Battery status.
73
+
74
+
75
+
Pat Thoyts on tcltest and stuff (24-Oct-2007):
76
+
77
+
[02:34]<kostix> I thought all tests are being run in one interp by default
78
+
[02:34]<patthoyts> no
79
+
[02:35]<patthoyts> the default is that it launches a new process for each file and quite a lot of them create interps for various things
80
+
[02:35]<kostix> hmm
81
+
[02:36]<kostix> I have just one test file
82
+
[02:36]<kostix> but this probably doesn't matter
83
+
[02:36]<patthoyts> if you want a single process you add -singleproc 1
84
+
[02:36]<patthoyts> I use that for debugging tcl from visual studio
85
+
[02:37]<patthoyts> create a test that crashes, set the debug app to tcltest -singleproc 1 -file ... and go.
86
+
[02:38]<kostix> and multiple interps are just "some instances" in that wery shell process, in the same thread, right?
87
+
[02:39]<kostix> (unless I use Thread and stuff, of course)
88
+
[02:39]<patthoyts> yes
89
+
[02:39]<kostix> thanks
90
+
[02:39]<kostix> ah
91
+
[02:39]<kostix> two more questions
92
+
[02:39]<kostix> 1) is it possible to link procs from MSVCRT statically?
93
+
[02:40]<patthoyts> No
94
+
[02:40]<patthoyts> why would you want to.
95
+
[02:41]<patthoyts> If you needs a static c runtime you link to libc
96
+
[02:41]<kostix> 2) when I run "nmake -f makefile.vc test" from where the library to test is taken? from the build place or from the usual places (auto_path)?
97
+
[02:41]<patthoyts> -MD links to msvcrt, -MT is libc multithreaded, -ML is libc -non-multithread
98
+
[02:41]<kostix> I have tried VC8 and it links the extension against msvcrt8.dll which is not ubiquituous yet
99
+
[02:41]<patthoyts> Ah
100
+
[02:42]<patthoyts> thats why you use msvc 6
101
+
[02:42]<patthoyts> MS decided to make everyone ship msvcrt8 with their apps.
102
+
[02:42]<kostix> Ati video drivers for example event bundle that dll and it's an option to be installed
103
+
[02:42]<kostix> yeah
104
+
[02:42]<patthoyts> That way your application uses the msvcrt that it was built with.
105
+
[02:42]<patthoyts> crappy plan
106
+
[02:43]<patthoyts> If you link in the manifest then it will find the system msvcrt8 -- but XP or older might not have that
107
+
[02:43]<patthoyts> This is why activestate build with msvc6 for instance.
108
+
[02:44]<kostix> actually it's not that I'm very fond of VC8 but when I got failing Trf when built with -Ox using VC6 I thought it's time to try more recent compiler
109
+
[02:44]<patthoyts> You always must run nmake -f makefile.vc from the directory that makefile.vc lives in. It actually checks that itself.
110
+
[02:45]<kostix> so does it use .\Release\whatever.dll or finds in in the Tcl library (installed) when running tests?
111
+
[02:46]<kostix> this one I don't quite get yet
112
+
[02:46]<kostix> and it might shed some light on my RegisterClassEx trouble
113
+
[02:47]<patthoyts> I write the test section to load the library explicitly as built and then arrange to source the test files. The tile win/makefile.vc is a good example i think
114
+
[02:48]<patthoyts> Sometimes you have to change directory to the test dir in the tcl script that launches the tests
115
+
[02:48]<kostix> ah, you mean I should not do "package require mylib" but rather load blahblah\mylib.dll?
116
+
[02:48]<patthoyts> tls needs that
117
+
[02:48]<patthoyts> yeah
118
+
[02:48]<kostix> ah, thanks
119
+
[02:48]<patthoyts> load $(PRJLIB:\=/)
120
+
[02:49]<patthoyts> or maybe tile's version is safer : load [file join [file normalize {$(OUT_DIR)}] $(PRJLIBNAME)] Tile
121
+
[02:49]<patthoyts> Might work better if there is a space in the build path
122
+
[02:51]<kostix> ideally it should also work with mingw builds
123
+
[02:52]<patthoyts> err - look at the tile makefile.vc
124
+
[02:52]<patthoyts> I do the load in a script _before_ we source the all.tcl from the tests folder
125
+
[02:53]<kostix> hmm, ok
126
+
[02:53]<patthoyts> configure/make fiddles with the environment instead to get tcl to look in the right place
0 commit comments