There is a question at the end.
Background: I'm putting up a Web-corner with ATL & MFC for other (gcc for now) Compilers. It will include tools, links, documentation, example makefiles, and so on to let people take an MSVC project and compile it under GCC. (+Winelib on other than windows platforms) My first release target is Windows/ReactOS MinGW-PE. What I did is take the work I've done on Linux and port it back to MinGW. At first, as I expected, it did not work at all. So what I did without hesitation is fetch the Wine headers set, + (yes) wine-msvcrt. Completely removed MinGW originally supplied headers put Wine on the Include path, and voila It was compiling Just like on Linux. (Well it didn't link, than it didn't run, because of the weak symbols thing but I fixed all that). I find 3 things bad about MinGW headers. (Please don't take this as flame. I have all the admiration for all involved and no offense is intended) 1) MinGW header-set are Evil - Because they are ugly, with this, no variables names, and all this style for machines guide. This I already carry for 10 years so here it is off my chest. 2) Win32 is not complete - I would say that MFC and ATL/WTL are a very good exercise for the completeness of the Win32 API. Well the wine stuff have every thing we need, MinGW does not 3) msvcrt - msvcrt compatibility is far from satisfactory on MinGW. Wine, since they had to re-implement msvcrt.dll had to have all these funny MS permutations of the c run time. Compiling on MinGW is almost like using wine without MBCS defined. MinGW headers are mainly derived from GCC c-runtime, with a few adjustments for the -mno-cygwin mode. But they are greatly missing all the esoteric stuff that is needed by MFC and ATL. Wine is perfect, thanks to CodeWeavers, need to run all these MFC apps out there. 4) (I know I said 3) It is time, that all projects collaborate on ONE set of headers and ReactOS is the bridge to that - It is a long time do, that Wine's Set of headers are adopted by all projects. MinGW concentrates on PE gcc compilers, and pass the Win32 project to wine. Wine will release a headers only package for every body to use. (This is what I'll do on first release of my project)
[Question to the ReactOS team] The windres utility is insufficient for Most of the projects out there. For example one reason my project is not already on the air. (And hence my post) is that it refuses to compile my Toolbar resource tag. (And what is an MFC app with out a toolbar). I have seen some work done on porting wrc to PE is that work done and will you have a pre-compiled binary package for use to use on windows/ReactOS. Same applies to widl. ReactOS should adopt all these Wine tools as part of their regular tools portfolio. MinGW should adopt Wine's / ReactOS's leadership on all these technologies and supply-link to them by default. Go duplicate all these goodies the wine guys are preparing for us with widl.
Again guys please let the passed be gone. And put our differences behind us. There are grate things happening, clearly Wine is the Leader here, lets do this sooner than later. Dimi I need your help here
Free Life Boaz
Hi Boaz,
--- Boaz Harrosh boaz@hishome.net wrote:
- MinGW header-set are Evil - Because they are ugly, with this, no
variables names, and all this style for machines guide. This I already carry for 10 years so here it is off my chest.
Yes they are evil. Alex and I were discussing this at LinuxWorld. Nothing would please me more than to see ReactOS use the Wine headers.
The windres utility is insufficient for Most of the projects out there. For example one reason my project is not already on the air. (And hence my post) is that it refuses to compile my Toolbar resource tag. (And what is an MFC app with out a toolbar). I have seen some work done on porting wrc to PE is that work done and will you have a pre-compiled binary package for use to use on windows/ReactOS. Same applies to widl. ReactOS should adopt all these Wine tools as part of their regular tools portfolio. MinGW should adopt Wine's / ReactOS's leadership on all these technologies and supply-link to them by default. Go duplicate all these goodies the wine guys are preparing for us with widl.
We are importing WRC and WIDL in to the ReactOS build system.
Thanks Steven
__________________________________ Do you Yahoo!? Yahoo! Mail - now with 250MB free storage. Learn more. http://info.mail.yahoo.com/mail_250
On Sun, Feb 20, 2005 at 07:48:40PM +0200, Boaz Harrosh wrote:
- MinGW header-set are Evil - Because they are ugly, with this, no
variables names, and all this style for machines guide. This I already carry for 10 years so here it is off my chest.
Heh, the MinGW folks seem to have some strange requirements for their headers, I don't think they'll drop theirs. But we can start by having ReactOS adopt our headers.
We should also offer our headers as a separate package that works out of the box as a replacement for the MinGW ones. This way people can just get our headers if they are better than the MinGW ones.
Dimitrie O. Paun wrote:
Heh, the MinGW folks seem to have some strange requirements for their headers, I don't think they'll drop theirs. But we can start by having ReactOS adopt our headers.
We should also offer our headers as a separate package that works out of the box as a replacement for the MinGW ones. This way people can just get our headers if they are better than the MinGW ones.
Can't the win32api package headers be used to replace the mingw headers?
Ivan.
-----Original Message----- From: wine-devel-admin@winehq.org [mailto:wine-devel-admin@winehq.org] On Behalf Of Ivan Leo Puoti Sent: 21. februar 2005 09:26 To: wine-devel@winehq.com Cc: ros-dev@reactos.com Subject: Re: Collection of wine tools on windows
Dimitrie O. Paun wrote:
Heh, the MinGW folks seem to have some strange
requirements for their
headers, I don't think they'll drop theirs. But we can
start by having
ReactOS adopt our headers.
We should also offer our headers as a separate package that
works out
of the box as a replacement for the MinGW ones. This way people can just get our headers if they are better than the MinGW ones.
Can't the win32api package headers be used to replace the mingw headers?
Ivan.
W32api IS the MinGW headers.
I might vote for using WINE headers in ReactOS if WINE relicensed its headers to a w32api or BSD like license that will allow use in a non-free application. What I would like to see most though, is for all three projects to share w32api.
Casper
Hi,
--- Casper Hornstrup ch@csh-consult.dk wrote:
I might vote for using WINE headers in ReactOS if WINE relicensed its headers to a w32api or BSD like license that will allow use in a non-free application. What I would like to see most though, is for all three projects to share w32api.
What do you mean? The headers are LGPL so you can use them in a non-free application.
Thanks Steven
__________________________________ Do you Yahoo!? Take Yahoo! Mail with you! Get it on your mobile phone. http://mobile.yahoo.com/maildemo
-----Original Message----- From: ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Steven Edwards Sent: 21. februar 2005 21:52 To: ReactOS Development List; ivanleo@gmail.com; wine-devel@winehq.com Cc: ros-dev@reactos.com Subject: Re: [ros-dev] RE: Collection of wine tools on windows
Hi,
--- Casper Hornstrup ch@csh-consult.dk wrote:
I might vote for using WINE headers in ReactOS if WINE
relicensed its
headers to a w32api or BSD like license that will allow use in a non-free application. What I would like to see most though,
is for all
three projects to share w32api.
What do you mean? The headers are LGPL so you can use them in a non-free application.
Thanks Steven
Yes, but then you need to publish the sources for the non-free application under the LGPL. When using headers to build your application, you create a derived work of those headers.
http://www.fsf.org/licensing/licenses/lgpl.html
"A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)"
"4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange."
Casper
--- Casper Hornstrup ch@csh-consult.dk wrote:
Yes, but then you need to publish the sources for the non-free application under the LGPL. When using headers to build your application, you create a derived work of those headers.
The headers are a public interface and as such only the phsical copy of the header falls under that sort of restriction. Go check out the GTK/GLIB headers. Both of which were developed for GNOME under the eye of the free software foundation. 1000s of closed source applications are developed using GTK/GLIB and there is no question that YES you can use them in a closed source application provided you make a offer for your changes to GTK/GLIB. The Wine people consulted the FSF and other projects before moving to the LGPL and having the headers under the LGPL is not a problem.
Thanks Steven
__________________________________ Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. http://promotions.yahoo.com/new_mail
Casper Hornstrup wrote:
W32api IS the MinGW headers.
No, we have a wine win32 package on our download page, it's build with wine headers, not the mingw ones.
Ivan.