[ros-diffs] [hyperion] 36761: 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" mod

Alex Ionescu ionucu at videotron.ca
Wed Oct 15 20:02:24 CEST 2008


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 at 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/freeldr.rbuild?rev=36761&r1=36760&r2=36761&view=diff
> ==============================================================================
> --- 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/setupldr.rbuild?rev=36761&r1=36760&r2=36761&view=diff
> ==============================================================================
> --- 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=36761&r1=36760&r2=36761&view=diff
> ==============================================================================
> --- 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?rev=36761&view=auto
> ==============================================================================
> --- 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=36761&r1=36760&r2=36761&view=diff
> ==============================================================================
> --- 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.rbuild?rev=36761&r1=36760&r2=36761&view=diff
> ==============================================================================
> --- 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>
>
>


More information about the Ros-diffs mailing list