Klaas-Jan Stol <[EMAIL PROTECTED]> wrote:
hello, yesterday I had a look at why tcl does not build on windows. Although I haven't been able to fix it, I'd like to share the issues I found, so you don't have to look for it yourself. there were several problems with the makefile line 123: ops: src\binary.o , should be binary$(O) this is fixed by particle. line 126: @cd $(OPSDIR) && $(OPSBUILD) linklibs tcl ..\binary$(O) makes that the system will look for binary.obj_ops_switch.obj changing it into ..\ops\tcl will fix that problem Furthermore, the next problem is that the ops file won't link correctly because binary.obj is not linked. To solve the problem, I added binary.obj to the tools/build/dynoplibs.pl script, but of course that is not a good solution. I haven't been able to solve it. Maybe it's an idea to just put the source from binary.c into the ops file itself, if that's possible.
Ah, I see what happened here. I had to change things around in the first place to be able to link in another object file with my dynamic opcodes. I ended up changing dynoplibs.pl to link arguments differently if they were object files. But my fix looked for .o files, so it didn't work on Win32. I just committed a fix that should make it work. If that's corrected, you'll find 1 more problem: if binary.obj is
linked, it can't resolve the symbol _PMCNULL. As a quick hack, I #define'd PMCNULL as NULL. After these fixes, it worked.
Okay, I just changed the occurrences of PMCNULL to NULL. Things should work now. Hope this helps you further.
regards, klaas-jan
It was very helpful, thanks! -- Matt Diephouse http://matt.diephouse.com