[FREELDR]
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Tue, 20 Jul 2010 21:38:58 +0000 (21:38 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Tue, 20 Jul 2010 21:38:58 +0000 (21:38 +0000)
- Unify rbuild rule for freeldr, except for ppc, which uses elfexecutable

svn path=/trunk/; revision=48149

reactos/boot/freeldr/freeldr.rbuild
reactos/boot/freeldr/freeldr/freeldr.rbuild
reactos/boot/freeldr/freeldr/setupldr.rbuild

index 4f47639..0a8b674 100644 (file)
@@ -1,6 +1,22 @@
 <?xml version="1.0"?>
 <!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
 <group xmlns:xi="http://www.w3.org/2001/XInclude">
+
+       <if property="ARCH" value="i386">
+               <property name="BASEADDRESS_FREELDR" value="0x8000" />
+       </if>
+       <if property="ARCH" value="amd64">
+               <property name="BASEADDRESS_FREELDR" value="0x8000" />
+       </if>
+       <if property="ARCH" value="arm">
+               <if property="SARCH" value="omap3">
+                       <property name="BASEADDRESS_FREELDR" value="0x80FFF000" />
+               </if>
+               <if property="SARCH" value="versatile">
+                       <property name="BASEADDRESS_FREELDR" value="0x0001F000" />
+               </if>
+       </if>
+
        <directory name="bootsect">
                <xi:include href="bootsect/bootsect.rbuild" />
        </directory>
index 70974fd..8e70ac9 100644 (file)
@@ -1,86 +1,36 @@
 <?xml version="1.0"?>
+<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
 
-<if property="ARCH" value="i386">
-       <property name="BASEADDRESS_FREELDR" value="0x8000" />
-<endif>
+<if property="ARCH" value="powerpc">
+       <module name="ofwldr" type="elfexecutable" buildtype="OFWLDR">
+               <library>freeldr_startup</library>
+               <library>freeldr_base64k</library>
+               <library>freeldr_base</library>
+               <library>freeldr_arch</library>
+               <library>freeldr_main</library>
+               <library>rossym</library>
+               <library>cmlib</library>
+               <library>rtl</library>
+               <library>libcntpr</library>
+               <library>ppcmmu</library>
+       </module>
+</if>
 
-<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
-<group>
-       <if property="ARCH" value="i386">
-               <module name="freeldr" type="bootloader" baseaddress="$(BASEADDRESS_FREELDR)">
-                       <linkerscript>freeldr_$(ARCH).lnk</linkerscript>
-                       <bootstrap installbase="loader" />
-                       <library>freeldr_startup</library>
-                       <library>freeldr_base64k</library>
-                       <library>freeldr_base</library>
+<ifnot property="ARCH" value="powerpc">
+       <module name="freeldr" type="bootloader" baseaddress="$(BASEADDRESS_FREELDR)">
+               <linkerscript>freeldr_$(ARCH).lnk</linkerscript>
+               <bootstrap installbase="loader" />
+               <library>freeldr_startup</library>
+               <library>freeldr_base64k</library>
+               <library>freeldr_base</library>
+               <if property="ARCH" value="i386">
                        <library>mini_hal</library>
-                       <library>freeldr_arch</library>
-                       <library>freeldr_main</library>
-                       <library>rossym</library>
-                       <library>cmlib</library>
-                       <library>rtl</library>
-                       <library>libcntpr</library>
-                       <group linkerset="ld">
-                               <!-- linkerflag>-static</linkerflag -->
-                               <linkerflag>-nostartfiles</linkerflag>
-
-                       </group>
-               </module>
-       </if>
-       <if property="ARCH" value="arm">
-               <module name="freeldr" type="bootloader" installbase=".." installname="freeldr.sys">
-                       <bootstrap installbase="loader" />
-                       <library>freeldr_arch</library>
-                       <library>freeldr_startup</library>
-                       <library>freeldr_base64k</library>
-                       <library>freeldr_base</library>
-                       <library>freeldr_main</library>
-                       <library>rossym</library>
-                       <library>cmlib</library>
-                       <library>rtl</library>
-                       <library>libcntpr</library>
-                       <group linkerset="ld">
-                           <linkerflag>-static</linkerflag>
-                               <linkerflag>-lgcc</linkerflag>
-                           <if property="SARCH" value="omap3">
-                               <linkerflag>-Wl,--image-base=0x80FFF000</linkerflag>
-                           </if>
-                <if property="SARCH" value="versatile">
-                               <linkerflag>-Wl,--image-base=0x0001F000</linkerflag>
-                           </if>                               
-                       </group>
-               </module>
-       </if>
-       <if property="ARCH" value="powerpc">
-               <module name="ofwldr" type="elfexecutable" buildtype="OFWLDR">
-                       <library>freeldr_startup</library>
-                       <library>freeldr_base64k</library>
-                       <library>freeldr_base</library>
-                       <library>freeldr_arch</library>
-                       <library>freeldr_main</library>
-                       <library>rossym</library>
-                       <library>cmlib</library>
-                       <library>rtl</library>
-                       <library>libcntpr</library>
-                       <library>ppcmmu</library>
-               </module>
-       </if>
-       <if property="ARCH" value="amd64">
-               <module name="freeldr" type="bootloader">
-                       <bootstrap installbase="loader" />
-                       <library>freeldr_startup</library>
-                       <library>freeldr_base64k</library>
-                       <library>freeldr_base</library>
-                       <library>freeldr_arch</library>
-                       <library>freeldr_main</library>
-                       <library>rossym</library>
-                       <library>cmlib</library>
-                       <library>rtl</library>
-                       <library>libcntpr</library>
-                       <group linkerset="ld">
-                               <linkerflag>-static</linkerflag>
-                               <linkerflag>-lgcc</linkerflag>
-                       </group>
-               </module>
-       </if>
-</group>
+               </if>
+               <library>freeldr_arch</library>
+               <library>freeldr_main</library>
+               <library>rossym</library>
+               <library>cmlib</library>
+               <library>rtl</library>
+               <library>libcntpr</library>
+       </module>
+</ifnot>
index f8c6216..6d1c25e 100644 (file)
@@ -1,6 +1,7 @@
 <?xml version="1.0"?>
 <!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
-<module name="setupldr" type="bootloader">
+
+<module name="setupldr" type="bootloader" baseaddress="$(BASEADDRESS_FREELDR)>
        <linkerscript>freeldr_$(ARCH).lnk</linkerscript>
        <bootstrap installbase="loader" />
        <library>freeldr_startup</library>
        <library>cmlib</library>
        <library>rtl</library>
        <library>libcntpr</library>
-       <group linkerset="ld">
-               <!-- linkerflag>-nostartfiles</linkerflag -->
-               <!-- linkerflag>-nostdlib</linkerflag -->
-               <!-- linkerflag>--strip-all</linkerflag -->
-               <linkerflag>-Tbss 0x50000</linkerflag>
-       </group>
 </module>