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
On Wed, Oct 15, 2008 at 11:45 AM, <hyperion(a)svn.reactos.org> wrote:
Author: hyperion
Date: Wed Oct 15 10:45:11 2008
New Revision: 36761
URL:
http://svn.reactos.org/svn/reactos?rev=36761&view=rev
Log:
added lib/rtl/rtl-common.rbuild
modified lib/rtl/rtl.rbuild
Compile rtl twice, as rtl_umode and rtl_kmode. Allows conditional compilation of RTL
(finally!), instead of necessitating hacks like RtlpGetMode()
"rtl" module now a dummy static library for things like <include
base="rtl">
modified boot/freeldr/freeldr/freeldr.rbuild
modified boot/freeldr/freeldr/setupldr.rbuild
modified ntoskrnl/ntoskrnl-generic.rbuild
rtl -> rtl_kmode
modified dll/ntdll/ntdll.rbuild
rtl -> rtl_umode
This commit dedicated to Fireball and Stefan100 (now get to work! >:3)
Added:
trunk/reactos/lib/rtl/rtl-common.rbuild (with props)
Modified:
trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild
trunk/reactos/boot/freeldr/freeldr/setupldr.rbuild
trunk/reactos/dll/ntdll/ntdll.rbuild
trunk/reactos/lib/rtl/rtl.rbuild
trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild
Modified: trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/freel…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild [iso-8859-1] Wed Oct 15 10:45:11
2008
@@ -11,7 +11,7 @@
<library>freeldr_main</library>
<library>rossym</library>
<library>cmlib</library>
- <library>rtl</library>
+ <library>rtl_kmode</library>
<library>libcntpr</library>
<linkerflag>-static</linkerflag>
<linkerflag>-lgcc</linkerflag>
Modified: trunk/reactos/boot/freeldr/freeldr/setupldr.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/setup…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/setupldr.rbuild [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/setupldr.rbuild [iso-8859-1] Wed Oct 15 10:45:11
2008
@@ -9,7 +9,7 @@
<library>setupldr_main</library>
<library>rossym</library>
<library>cmlib</library>
- <library>rtl</library>
+ <library>rtl_kmode</library>
<library>libcntpr</library>
<linkerflag>-nostartfiles</linkerflag>
<linkerflag>-nostdlib</linkerflag>
Modified: trunk/reactos/dll/ntdll/ntdll.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ntdll.rbuild?rev…
==============================================================================
--- trunk/reactos/dll/ntdll/ntdll.rbuild [iso-8859-1] (original)
+++ trunk/reactos/dll/ntdll/ntdll.rbuild [iso-8859-1] Wed Oct 15 10:45:11 2008
@@ -12,7 +12,7 @@
<define name="_WIN32_WINNT">0x0502</define>
<define name="_NTOSKRNL_" />
<define name="__NO_CTYPE_INLINES" />
- <library>rtl</library>
+ <library>rtl_umode</library>
<library>ntdllsys</library>
<library>libcntpr</library>
<library>pseh</library>
Added: trunk/reactos/lib/rtl/rtl-common.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/rtl-common.rbuild?…
==============================================================================
--- trunk/reactos/lib/rtl/rtl-common.rbuild (added)
+++ trunk/reactos/lib/rtl/rtl-common.rbuild [iso-8859-1] Wed Oct 15 10:45:11 2008
@@ -1,0 +1,98 @@
+<?xml version="1.0"?>
+
+<include base="rtl">.</include>
+<define name="_NTOSKRNL_" />
+<define name="__NO_CTYPE_INLINES" />
+<define name="NO_RTL_INLINES" />
+<define name="_NTSYSTEM_" />
+<define name="_NTDLLBUILD_" />
+<if property="ARCH" value="i386">
+ <directory name="i386">
+ <file>debug_asm.S</file>
+ <file>except_asm.s</file>
+ <file>except.c</file>
+ <file>random_asm.S</file>
+ <file>rtlswap.S</file>
+ <file>rtlmem.s</file>
+ <file>res_asm.s</file>
+ <file>thread.c</file>
+ </directory>
+</if>
+<if property="ARCH" value="powerpc">
+<directory name="powerpc">
+ <file>debug.c</file>
+ <file>except.c</file>
+ <file>interlocked.c</file>
+ <file>rtlmem.s</file>
+ <file>rtlswap.s</file>
+ <file>thread.c</file>
+</directory>
+</if>
+<if property="ARCH" value="arm">
+ <directory name="arm">
+ <file>debug_asm.S</file>
+ </directory>
+ <file>mem.c</file>
+ <file>memgen.c</file>
+</if>
+<directory name="austin">
+ <file>avl.c</file>
+ <file>tree.c</file>
+</directory>
+
+<file>access.c</file>
+<file>acl.c</file>
+<file>actctx.c</file>
+<file>atom.c</file>
+<file>bitmap.c</file>
+<file>bootdata.c</file>
+<file>compress.c</file>
+<file>condvar.c</file>
+<file>crc32.c</file>
+<file>critical.c</file>
+<file>dbgbuffer.c</file>
+<file>debug.c</file>
+<file>dos8dot3.c</file>
+<file>encode.c</file>
+<file>env.c</file>
+<file>error.c</file>
+<file>exception.c</file>
+<file>generictable.c</file>
+<file>handle.c</file>
+<file>heap.c</file>
+<file>image.c</file>
+<file>interlck.c</file>
+<file>message.c</file>
+<file>largeint.c</file>
+<file>luid.c</file>
+<file>network.c</file>
+<file>nls.c</file>
+<file>path.c</file>
+<file>ppb.c</file>
+<file>process.c</file>
+<file>propvar.c</file>
+<file>qsort.c</file>
+<file>random.c</file>
+<file>rangelist.c</file>
+<file>registry.c</file>
+<file>res.c</file>
+<file>resource.c</file>
+<file>sd.c</file>
+<file>security.c</file>
+<file>slist.c</file>
+<file>sid.c</file>
+<file>sprintf.c</file>
+<file>srw.c</file>
+<file>swprintf.c</file>
+<file>splaytree.c</file>
+<file>thread.c</file>
+<file>time.c</file>
+<file>timezone.c</file>
+<file>timerqueue.c</file>
+<file>unicode.c</file>
+<file>unicodeprefix.c</file>
+<file>vectoreh.c</file>
+<file>version.c</file>
+<file>wait.c</file>
+<file>workitem.c</file>
+<pch>rtl.h</pch>
Propchange: trunk/reactos/lib/rtl/rtl-common.rbuild
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/lib/rtl/rtl.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/rtl.rbuild?rev=367…
==============================================================================
--- trunk/reactos/lib/rtl/rtl.rbuild [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/rtl.rbuild [iso-8859-1] Wed Oct 15 10:45:11 2008
@@ -1,100 +1,15 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../tools/rbuild/project.dtd">
-<module name="rtl" type="staticlibrary">
- <define name="_NTOSKRNL_" />
- <define name="__NO_CTYPE_INLINES" />
- <define name="NO_RTL_INLINES" />
- <define name="_NTSYSTEM_" />
- <define name="_NTDLLBUILD_" />
- <include base="rtl">.</include>
- <if property="ARCH" value="i386">
- <directory name="i386">
- <file>debug_asm.S</file>
- <file>except_asm.s</file>
- <file>except.c</file>
- <file>random_asm.S</file>
- <file>rtlswap.S</file>
- <file>rtlmem.s</file>
- <file>res_asm.s</file>
- <file>thread.c</file>
- </directory>
- </if>
- <if property="ARCH" value="powerpc">
- <directory name="powerpc">
- <file>debug.c</file>
- <file>except.c</file>
- <file>interlocked.c</file>
- <file>rtlmem.s</file>
- <file>rtlswap.s</file>
- <file>thread.c</file>
- </directory>
- </if>
- <if property="ARCH" value="arm">
- <directory name="arm">
- <file>debug_asm.S</file>
- </directory>
- <file>mem.c</file>
- <file>memgen.c</file>
- </if>
- <directory name="austin">
- <file>avl.c</file>
- <file>tree.c</file>
- </directory>
- <file>access.c</file>
- <file>acl.c</file>
- <file>actctx.c</file>
- <file>atom.c</file>
- <file>bitmap.c</file>
- <file>bootdata.c</file>
- <file>compress.c</file>
- <file>condvar.c</file>
- <file>crc32.c</file>
- <file>critical.c</file>
- <file>dbgbuffer.c</file>
- <file>debug.c</file>
- <file>dos8dot3.c</file>
- <file>encode.c</file>
- <file>env.c</file>
- <file>error.c</file>
- <file>exception.c</file>
- <file>generictable.c</file>
- <file>handle.c</file>
- <file>heap.c</file>
- <file>image.c</file>
- <file>interlck.c</file>
- <file>message.c</file>
- <file>largeint.c</file>
- <file>luid.c</file>
- <file>network.c</file>
- <file>nls.c</file>
- <file>path.c</file>
- <file>ppb.c</file>
- <file>process.c</file>
- <file>propvar.c</file>
- <file>qsort.c</file>
- <file>random.c</file>
- <file>rangelist.c</file>
- <file>registry.c</file>
- <file>res.c</file>
- <file>resource.c</file>
- <file>sd.c</file>
- <file>security.c</file>
- <file>slist.c</file>
- <file>sid.c</file>
- <file>sprintf.c</file>
- <file>srw.c</file>
- <file>swprintf.c</file>
- <file>splaytree.c</file>
- <file>thread.c</file>
- <file>time.c</file>
- <file>timezone.c</file>
- <file>timerqueue.c</file>
- <file>unicode.c</file>
- <file>unicodeprefix.c</file>
- <file>vectoreh.c</file>
- <file>version.c</file>
- <file>wait.c</file>
- <file>workitem.c</file>
- <pch>rtl.h</pch>
-</module>
+<group
xmlns:xi="http://www.w3.org/2001/XInclude">
+ <module name="rtl_umode" type="staticlibrary">
+ <xi:include href="rtl-common.rbuild" />
+ </module>
+
+ <module name="rtl_kmode" type="staticlibrary">
+ <xi:include href="rtl-common.rbuild" />
+ </module>
+
+ <!-- dummy module to enable <include base="rtl"> -->
+ <module name="rtl" type="staticlibrary" />
+</group>
Modified: trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ntoskrnl-generic.…
==============================================================================
--- trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild [iso-8859-1] Wed Oct 15 10:45:11 2008
@@ -26,7 +26,7 @@
<library>hal</library>
<library>pseh</library>
<library>cmlib</library>
- <library>rtl</library>
+ <library>rtl_kmode</library>
<library>rossym</library>
<library>libcntpr</library>
<library>kdcom</library>