"It's like NT does" isn't an advantage... cloning *build methods* of
the Core OS Division at Microsoft doesn't do anything positive (nor
negative) to the quality and reliability of the code. You have to look
at *what* the method involves and analyze that way.
Your other argument applies: building RTL multiple times reduces the
need for the small support library ReactOS uses and gives one
consistent place for RTL code.
Disadvantages:
- Building RTL up to 4 times, increasing build time substantially (rtl
is a pretty big library).
- Quadruple-conditional compilation...meaning people will have to test
their rtl changes by BUILDING FOUR TIMES with different conditionals.
Will people really remember to do this? Will people really write code
knowing exactly what do ifdef and where, and how?
- To do this right, you'll need a host-rtl too. Have fun writing one.
- Right now the commit did only half the work -- now compile time is
doubled, but libsupp is still there, making the situation even worse.
The commiter made the assumption "other people" will pick up the
slack, which probably won't happen, and this will rot forever.
Best regards,
Alex Ionescu
On Wed, Oct 15, 2008 at 2:41 PM, Aleksey Bragin <aleksey(a)reactos.org> wrote:
I knew about this post-factum, so let's gather
opinions.
Advantage: It's like NT does, less hacks, possible removal of libsupp
stuff in ntoskrnl, freeldr, ntdll, etc (which I actually thought
would be done in the same commit).
Disadvantage: To be proper, you need a bootloader RTL too, otherwise
RTL will still contain "necessitating hacks" aka libsupp stuff. This
is gonna make at least 3x time RTL compilation. (thankfully / sadly
we don't test it directly).
WBR,
Aleksey.
On Oct 15, 2008, at 10:02 PM, Alex Ionescu wrote:
Well, you just removed the one thing ReactOS did
different from NT and
that I thought was really revolutionary and innovative, because it
saves on compile time. It's funny, because I've been trying to sell
this as a better approach to building RTL (It's built at least 4 times
in the real NT tree, I think -- loader, user-mode tools/testing,
kernel, user-mode).
Best regards,
Alex Ionescu
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev