[ros-diffs] [chorns] 13424: * Build csrss and win32csr

chorns at svn.reactos.com chorns at svn.reactos.com
Sat Feb 5 19:52:41 CET 2005


* Build csrss and win32csr
* NativeCUI module type support
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
  _____  

Deleted: branches/xmlbuildsystem/reactos/subsys/csrss/csrss.def
--- 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
  _____  

Added: branches/xmlbuildsystem/reactos/subsys/csrss/csrss.xml
--- 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>
  _____  

Added:
branches/xmlbuildsystem/reactos/subsys/csrss/win32csr/win32csr.xml
--- 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>
  _____  

Modified: branches/xmlbuildsystem/reactos/subsys/directory.xml
--- 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>
  _____  

Modified:
branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler
.cpp
---
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}",
  _____  

Modified:
branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler
.h
---
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:
  _____  

Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp
--- 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 at 8";
 		case NativeDLL:
 			return "_DllMainCRTStartup at 12";
+		case NativeCUI:
+			return "_NtProcessStartup at 4";
 		case Win32DLL:
 			return "_DllMain at 12";
 		case KernelModeDriver:
  _____  

Modified: branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.h
--- 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,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20050205/e2fcd1f7/attachment.html


More information about the Ros-diffs mailing list