Deleted: branches/xmlbuildsystem/reactos/subsys/csrss/csrss.def
Added: branches/xmlbuildsystem/reactos/subsys/csrss/csrss.xml
Added: branches/xmlbuildsystem/reactos/subsys/csrss/win32csr/win32csr.xml
Modified: branches/xmlbuildsystem/reactos/subsys/directory.xml
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.h
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.h
--- branches/xmlbuildsystem/reactos/subsys/csrss/csrss.def 2005-02-05 18:49:43 UTC (rev 13423)
+++ branches/xmlbuildsystem/reactos/subsys/csrss/csrss.def 2005-02-05 18:52:38 UTC (rev 13424)
@@ -1,8 +0,0 @@
-; $Id$
-;
-
-LIBRARY csrss.exe
-
-EXPORTS
-
-CsrServerInitialization
--- branches/xmlbuildsystem/reactos/subsys/csrss/csrss.xml 2005-02-05 18:49:43 UTC (rev 13423)
+++ branches/xmlbuildsystem/reactos/subsys/csrss/csrss.xml 2005-02-05 18:52:38 UTC (rev 13424)
@@ -0,0 +1,23 @@
+<module name="csrss" type="nativecui">
+ <include base="csrss">.</include>
+ <include base="csrss">include</include>
+ <define name="__USE_W32API" />
+ <define name="_WIN32_WINNT">0x0600</define>
+ <define name="WINVER">0x0501</define>
+ <library>rosrtl</library>
+ <library>ntdll</library>
+ <directory name="api">
+ <file>handle.c</file>
+ <file>process.c</file>
+ <file>user.c</file>
+ <file>wapi.c</file>
+ </directory>
+ <file>csrss.c</file>
+ <file>init.c</file>
+ <file>print.c</file>
+ <file>video.c</file>
+ <file>csrss.rc</file>
+</module>
+<directory name="win32csr">
+ <xi:include href="win32csr/win32csr.xml" />
+</directory>
--- branches/xmlbuildsystem/reactos/subsys/csrss/win32csr/win32csr.xml 2005-02-05 18:49:43 UTC (rev 13423)
+++ branches/xmlbuildsystem/reactos/subsys/csrss/win32csr/win32csr.xml 2005-02-05 18:52:38 UTC (rev 13424)
@@ -0,0 +1,18 @@
+<module name="win32csr" type="win32dll">
+ <importlibrary definition="win32csr.def" />
+ <include base="win32csr">.</include>
+ <include base="csrss">include</include>
+ <define name="_DISABLE_TIDENTS" />
+ <define name="__USE_W32API" />
+ <library>ntdll</library>
+ <library>kernel32</library>
+ <library>user32</library>
+ <library>gdi32</library>
+ <file>conio.c</file>
+ <file>desktopbg.c</file>
+ <file>dllmain.c</file>
+ <file>exitros.c</file>
+ <file>guiconsole.c</file>
+ <file>tuiconsole.c</file>
+ <file>win32csr.rc</file>
+</module>
--- branches/xmlbuildsystem/reactos/subsys/directory.xml 2005-02-05 18:49:43 UTC (rev 13423)
+++ branches/xmlbuildsystem/reactos/subsys/directory.xml 2005-02-05 18:52:38 UTC (rev 13424)
@@ -1,3 +1,6 @@
+<directory name="csrss">
+ <xi:include href="csrss/csrss.xml" />
+</directory>
<directory name="system">
<xi:include href="system/directory.xml" />
</directory>
--- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.cpp 2005-02-05 18:49:43 UTC (rev 13423)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.cpp 2005-02-05 18:52:38 UTC (rev 13424)
@@ -1560,25 +1560,71 @@
if ( module.files.size () > 0 )
{
- string killAt = module.mangledSymbols ? "" : "--kill-at";
- fprintf ( fMakefile,
- "\t${dlltool} --dllname %s --def %s --output-lib %s %s\n\n",
- module.GetTargetName ().c_str (),
- (module.GetBasePath () + SSEP + module.importLibrary->definition).c_str (),
- FixupTargetFilename ( module.GetDependencyPath () ).c_str (),
- killAt.c_str () );
+ GenerateMacrosAndTargetsTarget ( module );
+
+ fprintf ( fMakefile, "%s: %s %s\n",
+ target.c_str (),
+ archiveFilename.c_str (),
+ importLibraryDependencies.c_str () );
+
+ string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,0x10000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -nostdlib -mdll",
+ module.entrypoint.c_str () );
+ GenerateLinkerCommand ( module,
+ "${gcc}",
+ linkerParameters,
+ objectFilenames );
}
+ else
+ {
+ fprintf ( fMakefile, ".PHONY: %s\n\n",
+ target.c_str ());
+ fprintf ( fMakefile, "%s:\n\n",
+ target.c_str ());
+ }
+}
- if (module.files.size () > 0)
+
+static MingwNativeCUIModuleHandler nativecui_handler;
+
+MingwNativeCUIModuleHandler::MingwNativeCUIModuleHandler ()
+ : MingwModuleHandler ( NativeCUI )
+{
+}
+
+void
+MingwNativeCUIModuleHandler::Process ( const Module& module )
+{
+ GeneratePreconditionDependencies ( module );
+ GenerateNativeCUIModuleTarget ( module );
+ GenerateInvocations ( module );
+}
+
+void
+MingwNativeCUIModuleHandler::GenerateNativeCUIModuleTarget ( const Module& module )
+{
+ static string ros_junk ( "$(ROS_TEMPORARY)" );
+ string target ( FixupTargetFilename ( module.GetPath () ) );
+ string workingDirectory = GetWorkingDirectory ( );
+ string objectFilenames = GetObjectFilenames ( module );
+ string archiveFilename = GetModuleArchiveFilename ( module );
+ string importLibraryDependencies = GetImportLibraryDependencies ( module );
+
+ GenerateImportLibraryTargetIfNeeded ( module );
+
+ if ( module.files.size () > 0 )
{
- GenerateMacrosAndTargetsTarget ( module );
+ string* cflags = new string ( "-D__NTAPP__" );
+ GenerateMacrosAndTargetsTarget ( module,
+ cflags,
+ NULL );
+ delete cflags;
fprintf ( fMakefile, "%s: %s %s\n",
target.c_str (),
archiveFilename.c_str (),
importLibraryDependencies.c_str () );
- string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,0x10000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -nostdlib -mdll",
+ string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,0x10000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -nostdlib",
module.entrypoint.c_str () );
GenerateLinkerCommand ( module,
"${gcc}",
--- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.h 2005-02-05 18:49:43 UTC (rev 13423)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.h 2005-02-05 18:52:38 UTC (rev 13424)
@@ -222,6 +222,16 @@
};
+class MingwNativeCUIModuleHandler : public MingwModuleHandler
+{
+public:
+ MingwNativeCUIModuleHandler ();
+ virtual void Process ( const Module& module );
+private:
+ void GenerateNativeCUIModuleTarget ( const Module& module );
+};
+
+
class MingwWin32DLLModuleHandler : public MingwModuleHandler
{
public:
--- branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp 2005-02-05 18:49:43 UTC (rev 13423)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp 2005-02-05 18:52:38 UTC (rev 13424)
@@ -271,6 +271,8 @@
return KernelModeDriver;
if ( attribute.value == "nativedll" )
return NativeDLL;
+ if ( attribute.value == "nativecui" )
+ return NativeCUI;
if ( attribute.value == "win32dll" )
return Win32DLL;
if ( attribute.value == "win32gui" )
@@ -298,6 +300,7 @@
case ObjectLibrary:
return ".o";
case Kernel:
+ case NativeCUI:
case Win32GUI:
return ".exe";
case KernelModeDLL:
@@ -329,6 +332,8 @@
return "_DriverEntry@8";
case NativeDLL:
return "_DllMainCRTStartup@12";
+ case NativeCUI:
+ return "_NtProcessStartup@4";
case Win32DLL:
return "_DllMain@12";
case KernelModeDriver:
--- branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.h 2005-02-05 18:49:43 UTC (rev 13423)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.h 2005-02-05 18:52:38 UTC (rev 13424)
@@ -91,6 +91,7 @@
KernelModeDLL,
KernelModeDriver,
NativeDLL,
+ NativeCUI,
Win32DLL,
Win32GUI,
BootLoader,