Thanks a lot for the pointer Mark. I didn't know about windres tool. I think it may be used to embed manifests which are required for apps built with VS.NET 2005 as well. I didn't try to do it yet though.
I tried to port MASM code to NASM [1]. I think I've done it although I didn't test it much. Eclipse works with IBM's VME and as I've added some debug prints, adresses of lock prefixes to cmpxchg which are replaced by NOPs in lock386.c in single processor case seem to be correct. I have a single processor and this code works for me. One bad thing about NASM is that it cannot write COFF object files with long segment names. It is limited to 8 symbols and I didn't find a way around it. So I had to replace long segment names like "CONST$_LOCKFIXUPS_B" with ".rdata$B" in NASM sources. I hope it doesn't cause any segments names collision. If anyone is interested I can create a JIRA issue with attached sources. They may be integrated into build with command line "nasm -f win32 $<" [2] for nmake. [1] NASM is free as in speech, it is available under LGPL in Cygwin which most developers I know use already and it is available independent from Cygwin from http://sourceforge.net/projects/nasm [2] If NASM is an executable separate from Cygwin it is called nasmw (for windows) so the command line may look differently on windows depending on which way NASM is available. 2006/6/2, Mark Hindess <[EMAIL PROTECTED]>:
I tried using mingw directly a while back - but decided to give up until we'd split the natives. It should be similar to "gcc -mno-cygwin" but things just seemed to proceed far more smoothly. For .rc files, I used a rule like: %.res.obj: %.rc windres --include-dir ../include -i $< -o $@ to create .obj files from the .rc files. (I think that's the right thing to do but since I never actually got it working ... ) As for .def files, I think these can be generated by the linker - and we want .lib files created too I think. You can pass linker options from the dll build rule with the -Wl,... option something like: $(DLLNAME): $(BUILDFILES) $(VIRTFILES) $(MDLLIBFILES) $(CC) -shared -o $@ \ -Wl,--output-def,[EMAIL PROTECTED]:.dll=.def},--out-implib,$(LIBPATH)[EMAIL PROTECTED]:.dll=.lib} \ $(BUILDFILES) $(VIRTFILES) $(MDLLIBFILES) $(SYSLIBFILES) \ -lkernel32 -lws2_32 -ladvapi32 -luser32 -lgdi32 -lcomdlg32 -lwinspool
-- Gregory Shimansky, Intel Middleware Products Division