I know only RosBE is officially supported. I don't have any problem with
that.
But I prefer to work on Visual Studio, and perhaps someone that also intends
to use it may be interested in the following:
Per file custom build steps vs. custom build rules files.
The proper way to add support for external tools like the as and nasm
assemblers, or any other, is to write a .rules file for each of these tools.
This way it is not necessary to specify custom build rules for each file.
The rules file for masm is included in vs8, 9 and 10. Once you load a rules
file into a project, associated extensions are handled just like any other
tool there, making available inheritable properties templates and all that.
For example, I wrote an as_mscpp.rules file that reads:
<?xml version="1.0" encoding="utf-8"?>
<VisualStudioToolFile
Name="s as (gnu_as mscpp)"
Version="8.00"
<Rules>
<CustomBuildRule
Name="s_as_mscpp"
DisplayName="s (gnu_as mscpp)"
CommandLine="cl /E [sIncPaths] [sPPDefs]
$(InputPath) | as -o [sOutF]"
Outputs="[$sOutF]"
FileExtensions="*.s"
ExecutionDescription="Assembling "
<Properties>
<StringProperty
Name="sOutF"
DisplayName="Obj File"
Description="Obj File (-o [file])"
Switch=""[value]""
Inheritable="true"
DefaultValue="$(IntDir)\$(InputName).obj"
/>
<StringProperty
Name="sIncPaths"
DisplayName="Inc Paths"
Description="Include serach paths
(/I [path])"
Switch="/I "[value]""
Delimited="true"
Inheritable="true"
/>
<StringProperty
Name="sPPDefs"
DisplayName="Preproc Defs"
Description="Preprocessor
Definitions (/D [symbol])"
Switch="/D "[value]""
Delimited="true"
Inheritable="true"
/>
</Properties>
</CustomBuildRule>
</Rules>
</VisualStudioToolFile>
I have more of these for nasm, wmc, etc.
Also, I don't know if I should submit patches for msvc build, I suppose I
should even if it is not the official way, because I find msvc/gnuc
conditionals there, but the msvc part is broken in many places. I fixed
ntoskrnl and its dependencies issues (many in crt) for msvc. Please let me
know if I should submit such patches or not, and what would be the proper
way to submit these and any other patches. I suppose that initially I should
send them to someone for review, right?
I'd prefer to avoid irc or any instant msg system, I hope this channel is
adequate for any communication regarding development.
I'm very pleased with the improvements in kd and windbg support. I was
working on it and found that I wasted some efforts. No problem, I'll check
svn more frequently for changes, but I'd like to know if there is a list
somewhere with a description of who is currently doing or planning to do
what, to avoid doing the same as someone else again.
I forgot to say, I finished a large project and I'll be dedicating part of
my time to reactos for a while, partial time, perhaps until February. Not
much, because I'll need to earn money again soon, but I hope I could at
least get ntoskrnl running in a regular xp or s2003 install for testing,
fixing any compatibility issues, and then incorporating to it a new high
performance scheduler (I'm very sensitive to the very low performance of
windows in this area). If in the near future I can keep giving some time to
this, I'll take a look at bugs in any area, unimplemented things, or perhaps
I could help a bit with the audio area. I'd love to work with this much
more, as os development has been always my specialty and preferred area, but
I have to earn my living.
Jose Catena
DIGIWAVES S.L.