[FREELDR]

- Unify rbuild rule for freeldr, except for ppc, which uses elfexecutable

svn path=/trunk/; revision=48149
This commit is contained in:
Timo Kreuzer 2010-07-20 21:38:58 +00:00
parent 6e137a3c50
commit d7e775596d
3 changed files with 51 additions and 90 deletions

View file

@ -1,6 +1,22 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd"> <!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
<group xmlns:xi="http://www.w3.org/2001/XInclude"> <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"> <directory name="bootsect">
<xi:include href="bootsect/bootsect.rbuild" /> <xi:include href="bootsect/bootsect.rbuild" />
</directory> </directory>

View file

@ -1,86 +1,36 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<if property="ARCH" value="i386">
<property name="BASEADDRESS_FREELDR" value="0x8000" />
<endif>
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd"> <!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>
<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> <if property="ARCH" value="powerpc">
</module> <module name="ofwldr" type="elfexecutable" buildtype="OFWLDR">
</if> <library>freeldr_startup</library>
<if property="ARCH" value="arm"> <library>freeldr_base64k</library>
<module name="freeldr" type="bootloader" installbase=".." installname="freeldr.sys"> <library>freeldr_base</library>
<bootstrap installbase="loader" /> <library>freeldr_arch</library>
<library>freeldr_arch</library> <library>freeldr_main</library>
<library>freeldr_startup</library> <library>rossym</library>
<library>freeldr_base64k</library> <library>cmlib</library>
<library>freeldr_base</library> <library>rtl</library>
<library>freeldr_main</library> <library>libcntpr</library>
<library>rossym</library> <library>ppcmmu</library>
<library>cmlib</library> </module>
<library>rtl</library> </if>
<library>libcntpr</library>
<group linkerset="ld"> <ifnot property="ARCH" value="powerpc">
<linkerflag>-static</linkerflag> <module name="freeldr" type="bootloader" baseaddress="$(BASEADDRESS_FREELDR)">
<linkerflag>-lgcc</linkerflag> <linkerscript>freeldr_$(ARCH).lnk</linkerscript>
<if property="SARCH" value="omap3"> <bootstrap installbase="loader" />
<linkerflag>-Wl,--image-base=0x80FFF000</linkerflag> <library>freeldr_startup</library>
</if> <library>freeldr_base64k</library>
<if property="SARCH" value="versatile"> <library>freeldr_base</library>
<linkerflag>-Wl,--image-base=0x0001F000</linkerflag> <if property="ARCH" value="i386">
</if> <library>mini_hal</library>
</group> </if>
</module> <library>freeldr_arch</library>
</if> <library>freeldr_main</library>
<if property="ARCH" value="powerpc"> <library>rossym</library>
<module name="ofwldr" type="elfexecutable" buildtype="OFWLDR"> <library>cmlib</library>
<library>freeldr_startup</library> <library>rtl</library>
<library>freeldr_base64k</library> <library>libcntpr</library>
<library>freeldr_base</library> </module>
<library>freeldr_arch</library> </ifnot>
<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>

View file

@ -1,6 +1,7 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <!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> <linkerscript>freeldr_$(ARCH).lnk</linkerscript>
<bootstrap installbase="loader" /> <bootstrap installbase="loader" />
<library>freeldr_startup</library> <library>freeldr_startup</library>
@ -15,10 +16,4 @@
<library>cmlib</library> <library>cmlib</library>
<library>rtl</library> <library>rtl</library>
<library>libcntpr</library> <library>libcntpr</library>
<group linkerset="ld">
<!-- linkerflag>-nostartfiles</linkerflag -->
<!-- linkerflag>-nostdlib</linkerflag -->
<!-- linkerflag>--strip-all</linkerflag -->
<linkerflag>-Tbss 0x50000</linkerflag>
</group>
</module> </module>