[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"?>
<!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>

View file

@ -1,86 +1,36 @@
<?xml version="1.0"?>
<if property="ARCH" value="i386">
<property name="BASEADDRESS_FREELDR" value="0x8000" />
<endif>
<!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>
</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 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>
<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>
</if>
<library>freeldr_arch</library>
<library>freeldr_main</library>
<library>rossym</library>
<library>cmlib</library>
<library>rtl</library>
<library>libcntpr</library>
</module>
</ifnot>

View 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>
@ -15,10 +16,4 @@
<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>