diff --git a/reactos/boot/freeldr/freeldr/freeldr.rbuild b/reactos/boot/freeldr/freeldr/freeldr.rbuild
index 0c7f598cf5e..7e843510d13 100644
--- a/reactos/boot/freeldr/freeldr/freeldr.rbuild
+++ b/reactos/boot/freeldr/freeldr/freeldr.rbuild
@@ -11,7 +11,7 @@
freeldr_main
rossym
cmlib
- rtl
+ rtl_kmode
libcntpr
-static
-lgcc
diff --git a/reactos/boot/freeldr/freeldr/setupldr.rbuild b/reactos/boot/freeldr/freeldr/setupldr.rbuild
index acd2166b655..9ecae2e2285 100644
--- a/reactos/boot/freeldr/freeldr/setupldr.rbuild
+++ b/reactos/boot/freeldr/freeldr/setupldr.rbuild
@@ -9,7 +9,7 @@
setupldr_main
rossym
cmlib
- rtl
+ rtl_kmode
libcntpr
-nostartfiles
-nostdlib
diff --git a/reactos/dll/ntdll/ntdll.rbuild b/reactos/dll/ntdll/ntdll.rbuild
index fbd01ebe8a7..2f350e5313b 100644
--- a/reactos/dll/ntdll/ntdll.rbuild
+++ b/reactos/dll/ntdll/ntdll.rbuild
@@ -12,7 +12,7 @@
0x0502
- rtl
+ rtl_umode
ntdllsys
libcntpr
pseh
diff --git a/reactos/lib/rtl/rtl-common.rbuild b/reactos/lib/rtl/rtl-common.rbuild
new file mode 100644
index 00000000000..fa23fcb3f15
--- /dev/null
+++ b/reactos/lib/rtl/rtl-common.rbuild
@@ -0,0 +1,98 @@
+
+
+.
+
+
+
+
+
+
+
+ debug_asm.S
+ except_asm.s
+ except.c
+ random_asm.S
+ rtlswap.S
+ rtlmem.s
+ res_asm.s
+ thread.c
+
+
+
+
+ debug.c
+ except.c
+ interlocked.c
+ rtlmem.s
+ rtlswap.s
+ thread.c
+
+
+
+
+ debug_asm.S
+
+ mem.c
+ memgen.c
+
+
+ avl.c
+ tree.c
+
+
+access.c
+acl.c
+actctx.c
+atom.c
+bitmap.c
+bootdata.c
+compress.c
+condvar.c
+crc32.c
+critical.c
+dbgbuffer.c
+debug.c
+dos8dot3.c
+encode.c
+env.c
+error.c
+exception.c
+generictable.c
+handle.c
+heap.c
+image.c
+interlck.c
+message.c
+largeint.c
+luid.c
+network.c
+nls.c
+path.c
+ppb.c
+process.c
+propvar.c
+qsort.c
+random.c
+rangelist.c
+registry.c
+res.c
+resource.c
+sd.c
+security.c
+slist.c
+sid.c
+sprintf.c
+srw.c
+swprintf.c
+splaytree.c
+thread.c
+time.c
+timezone.c
+timerqueue.c
+unicode.c
+unicodeprefix.c
+vectoreh.c
+version.c
+wait.c
+workitem.c
+rtl.h
diff --git a/reactos/lib/rtl/rtl.rbuild b/reactos/lib/rtl/rtl.rbuild
index 10edd510749..e3bb0219b12 100644
--- a/reactos/lib/rtl/rtl.rbuild
+++ b/reactos/lib/rtl/rtl.rbuild
@@ -1,100 +1,15 @@
-
-
-
-
-
-
- .
-
-
- debug_asm.S
- except_asm.s
- except.c
- random_asm.S
- rtlswap.S
- rtlmem.s
- res_asm.s
- thread.c
-
-
-
-
- debug.c
- except.c
- interlocked.c
- rtlmem.s
- rtlswap.s
- thread.c
-
-
-
-
- debug_asm.S
-
- mem.c
- memgen.c
-
-
- avl.c
- tree.c
-
- access.c
- acl.c
- actctx.c
- atom.c
- bitmap.c
- bootdata.c
- compress.c
- condvar.c
- crc32.c
- critical.c
- dbgbuffer.c
- debug.c
- dos8dot3.c
- encode.c
- env.c
- error.c
- exception.c
- generictable.c
- handle.c
- heap.c
- image.c
- interlck.c
- message.c
- largeint.c
- luid.c
- network.c
- nls.c
- path.c
- ppb.c
- process.c
- propvar.c
- qsort.c
- random.c
- rangelist.c
- registry.c
- res.c
- resource.c
- sd.c
- security.c
- slist.c
- sid.c
- sprintf.c
- srw.c
- swprintf.c
- splaytree.c
- thread.c
- time.c
- timezone.c
- timerqueue.c
- unicode.c
- unicodeprefix.c
- vectoreh.c
- version.c
- wait.c
- workitem.c
- rtl.h
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reactos/ntoskrnl/ntoskrnl-generic.rbuild b/reactos/ntoskrnl/ntoskrnl-generic.rbuild
index ab039c94e7f..a015affecc0 100644
--- a/reactos/ntoskrnl/ntoskrnl-generic.rbuild
+++ b/reactos/ntoskrnl/ntoskrnl-generic.rbuild
@@ -26,7 +26,7 @@
hal
pseh
cmlib
- rtl
+ rtl_kmode
rossym
libcntpr
kdcom