Hi, why can't .spec be used for this purpose (extended to support msvc files generation)? They are going to stay anyway for wine-shared modules.
With the best regards, Aleksey Bragin.
On Nov 24, 2007, at 3:04 AM, Marc Piulachs wrote:
Hi All,
I have lately seen a big effort to make more modules compilable under Visual C , one of our current problems when building dlls is that our .def files are mingw/gcc specific not directly compatible with msvc or any other future compiler we may support. Currently we are using not very elegant solutions to archive compatibility with msvc like stripping some information from mingw def files. As Alex suggested I think it’s a good idea to move that information to rbuild files and let rbuild generate full compatible compiler def files in the intermediate folder. The advantages are obvious.
As I have little experience with mingw def files I would like to request some help from other developers to evaluate/validate my proposal.
From my research on the ros codebase I have found that possible variations:
Aleksey Bragin wrote:
why can't .spec be used for this purpose (extended to support msvc files
generation)?
I would also prefer using .spec files as we already have them in all Wine modules and they contain all the information we need.
But for generating .def files out of them, it's probably easier to write a new .spec to .def file converter from scratch instead of trying to change/fork winebuild. Winebuild currently contains many options we don't need and probably will never need (like generating assembly code for non-Win32 compilers) and it also shares host and target headers. A new implementation should be much more lightweight.
Regards,
Colin
I wouldn't use .spec files for several reasons, first of all is that it violates the way how rbuild currently works. Rbuild reads xml documents in a custom format and produce different outputs depending on various conditions. IMO rbuild shouldn't be extended to parse anything else but just .rbuild files.
Also, winebuild from the rbuild point of view is not different from any other compiler , so I think the problem is just the opposite , rbuild should use the information stored in it's rbuild file to produce the spec file in addition to the specific def file (it shouldn't be produced by winebuild anymore) as both files are required to compile wine module XYZ.
Having the information in rbuild files has also other advantages, the most important is that it would allow us to use the conditional logic to export functions based on a given condition, for example hacks like /lib/debugsup.rbuild won't be necessary anymore.
I wouldn't fork winebuild.
Regards, Marc
-----Original Message----- From: ros-dev-bounces@reactos.org [mailto:ros-dev-bounces@reactos.org] On Behalf Of Colin Finck Sent: Saturday, November 24, 2007 1:55 PM To: 'ReactOS Development List' Subject: Re: [ros-dev] Autogenerating compiler specific .def files
Aleksey Bragin wrote:
why can't .spec be used for this purpose (extended to support msvc files
generation)?
I would also prefer using .spec files as we already have them in all Wine modules and they contain all the information we need.
But for generating .def files out of them, it's probably easier to write a new .spec to .def file converter from scratch instead of trying to change/fork winebuild. Winebuild currently contains many options we don't need and probably will never need (like generating assembly code for non-Win32 compilers) and it also shares host and target headers. A new implementation should be much more lightweight.
Regards,
Colin
_______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev