- Add new configuration option "SARCH" to define the sub-architecture. Examples include i386-xbox, ppc-be/le (little/bigendian), or any other sub-types of the specified ARCH.
- Use SARCH option to isolate XBOX architecture code in freeldr. 
- Only build rs232.c if DEBUG is on, because the code is only used in DEBUG mode.
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/archmach.c
Modified: trunk/reactos/boot/freeldr/freeldr/comm/rs232.c
Modified: trunk/reactos/boot/freeldr/freeldr/freeldr_base.xml
Modified: trunk/reactos/config.template.xml

Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/archmach.c
--- trunk/reactos/boot/freeldr/freeldr/arch/i386/archmach.c	2005-11-13 06:13:20 UTC (rev 19195)
+++ trunk/reactos/boot/freeldr/freeldr/arch/i386/archmach.c	2005-11-13 06:34:51 UTC (rev 19196)
@@ -32,7 +32,9 @@
   PciId = READ_PORT_ULONG((ULONG*) 0xcfc);
   if (0x02a510de == PciId)
     {
+#ifdef XBOX
       XboxMachInit(CmdLine);
+#endif
     }
   else
     {

Modified: trunk/reactos/boot/freeldr/freeldr/comm/rs232.c
--- trunk/reactos/boot/freeldr/freeldr/comm/rs232.c	2005-11-13 06:13:20 UTC (rev 19195)
+++ trunk/reactos/boot/freeldr/freeldr/comm/rs232.c	2005-11-13 06:34:51 UTC (rev 19196)
@@ -23,6 +23,8 @@
 
 /* MACROS *******************************************************************/
 
+#ifndef DEBUG
+
 #define DEFAULT_BAUD_RATE    19200
 
 #define   SER_RBR(x)   ((x)+0)
@@ -272,3 +274,5 @@
 
 	WRITE_PORT_UCHAR (SER_THR(Rs232PortBase), ByteToSend);
 }
+
+#endif

Modified: trunk/reactos/boot/freeldr/freeldr/freeldr_base.xml
--- trunk/reactos/boot/freeldr/freeldr/freeldr_base.xml	2005-11-13 06:13:20 UTC (rev 19195)
+++ trunk/reactos/boot/freeldr/freeldr/freeldr_base.xml	2005-11-13 06:34:51 UTC (rev 19196)
@@ -22,20 +22,22 @@
 				<file>i386rtl.c</file>
 				<file>i386vid.c</file>
 				<file>machpc.c</file>
-				<file>machxbox.c</file>
 				<file>pccons.c</file>
 				<file>pcdisk.c</file>
 				<file>pcmem.c</file>
 				<file>pcrtc.c</file>
 				<file>pcvideo.c</file>
 				<file>portio.c</file>
-				<file>xboxcons.c</file>
-				<file>xboxdisk.c</file>
-				<file>xboxfont.c</file>
-				<file>xboxhw.c</file>
-				<file>xboxmem.c</file>
-				<file>xboxrtc.c</file>
-				<file>xboxvideo.c</file>
+				<if property="SARCH" value="xbox">
+					<file>machxbox.c</file>
+					<file>xboxcons.c</file>
+					<file>xboxdisk.c</file>
+					<file>xboxfont.c</file>
+					<file>xboxhw.c</file>
+					<file>xboxmem.c</file>
+					<file>xboxrtc.c</file>
+					<file>xboxvideo.c</file>
+				</if>
 			</directory>
 		</if>
 	</directory>

Modified: trunk/reactos/config.template.xml
--- trunk/reactos/config.template.xml	2005-11-13 06:13:20 UTC (rev 19195)
+++ trunk/reactos/config.template.xml	2005-11-13 06:34:51 UTC (rev 19196)
@@ -15,7 +15,13 @@
 -->
 <property name="ARCH" value="i386" />
 
+<!--
+  Sub-architecture to build for. Specify one of:
+    xbox
+-->
+<property name="SARCH" value="" />
 
+
 <!--
   Which CPU ReactOS should be optimized for. Specify one of:
     i486, i586, pentium, pentium2, pentium3, pentium4, athlon-xp, athlon-mp,