winebuild & (name, heap, init)

Dimitrie O. Paun dimi at
Tue Sep 10 12:09:43 CDT 2002

On September 10, 2002 12:42 pm, you wrote:
> "Dimitrie O. Paun" <dpaun at> writes:
> > Why don't we take the following directives:
> >    name, heap, init
> > out of the .spec file, and put them in the Makefile
> > (transfered to winebuild through command line args)?
> Well, 'name' is no longer really used, and 'heap' is used for 16-bit
> dlls, where specifying it in the makefile would be inconvenient. And
> I'm hoping to make 'init' default to DllMain one day... So I'm not
> sure we would use these command line options at all. But if you want
> to add them anyway I don't mind.

I see. Apart from functions and 'init', this is what we have in 
.spec files today:
heap    65520
rsrc    version16.res
name    kernel
rsrc    version16.res
rsrc    version16.res
rsrc    resources/display.res
rsrc    resources/mouse.res
heap    65520
rsrc    resources/version16.res
mode    guiexe

I was hoping to get rid of them, along with init. Once we do that,
it's gonna be very easy to extract the .spec files from the .c files,
and be done with it. I was thinking we can add empty macros
for __export (16-bit) and __declspec(dllexport). When compiling
in PE, we can directly use them, if not, we can scan for them
and generate a .spec file. Moreover, we should support natively
.DEF files, for stuff that can not be specified inside the .c files.
And so we will have:

      PE build              ELF build
		.c	.DEF(opt) .c	.c
		|		\ |	|
		v		  v	v
.DEF (opt)	.o		.spec	.o
	\	/		  |	|
	 \     /		  v	/
	  \   /			 .o    /
	   \ /			  \   /
	  LINK			   LINK
	    |			     |
	    v			     v
	  .DLL			    .DLL

BTW, what does it take to default 'init' to DllMain?

> > With that in mind, it would be neat if we could specify
> > a flag at configure time to build most of Wine as PE
> > with a cross mingw. It would be way cool if I could take
> > the same comctl32.dll I have on Linux, copy it on my
> > Windows machine, and test it out...
> Note that you can do that today, you just need two separate build
> trees so it's a bit inconvenient. I'm planning to make it possible to
> build everything inside the same tree one of these days.

Yay!!! Hip, hip, hurray for Alexandre!!!

More information about the wine-devel mailing list