build.xml   [plain text]


<project name="gdb"
         default="build-everything"
         basedir=".">

<property name="gdb.build.dir" value="${basedir}/../build"/>
<property name="dwarf.gdb.build.dir" value="${basedir}/../build-dwarf"/>
<property name="suite.dir" value="${gdb.build.dir}/gdb/testsuite"/>
<property name="dwarf.suite.dir" value="${dwarf.gdb.build.dir}/gdb/testsuite"/>
<property name="output.root" value="${suite.dir}/logs"/>
<property name="dwarf.output.root" value="${dwarf.suite.dir}/logs"/>
    
<!-- configures and builds GDB -->         
    <target name="build-everything" depends="clean-gdb,configure,make-gdb">
    </target>
    <target name="build-everything-dwarf" depends="clean-gdb-dwarf,configure-dwarf,make-gdb-dwarf">
    </target>
    
    <target name="init-tests">
    	<mkdir dir="${output.root}"/>
    	<delete includeemptydirs="true">
    		<fileset dir="${output.root}" includes="**/*"/>
  		</delete>
    	<mkdir dir="${output.root}/gdb.apple"/>
    	<mkdir dir="${output.root}/gdb.arch"/>
    	<mkdir dir="${output.root}/gdb.asm"/>
    	<mkdir dir="${output.root}/gdb.base"/>
    	<mkdir dir="${output.root}/gdb.cp"/>
    	<mkdir dir="${output.root}/gdb.disasm"/>
    	<mkdir dir="${output.root}/gdb.dwarf2"/>
    	<mkdir dir="${output.root}/gdb.mi"/>
    	<mkdir dir="${output.root}/gdb.objc"/>
    	<mkdir dir="${output.root}/gdb.stabs"/>
    	<mkdir dir="${output.root}/gdb.threads"/>    
    </target>
    <target name="init-tests-dwarf">
    	<mkdir dir="${dwarf.output.root}"/>
    	<delete includeemptydirs="true">
    		<fileset dir="${dwarf.output.root}" includes="**/*"/>
  		</delete>
    	<mkdir dir="${dwarf.output.root}/gdb.apple"/>
    	<mkdir dir="${dwarf.output.root}/gdb.arch"/>
    	<mkdir dir="${dwarf.output.root}/gdb.asm"/>
    	<mkdir dir="${dwarf.output.root}/gdb.base"/>
    	<mkdir dir="${dwarf.output.root}/gdb.cp"/>
    	<mkdir dir="${dwarf.output.root}/gdb.disasm"/>
    	<mkdir dir="${dwarf.output.root}/gdb.dwarf2"/>
    	<mkdir dir="${dwarf.output.root}/gdb.mi"/>
    	<mkdir dir="${dwarf.output.root}/gdb.objc"/>
    	<mkdir dir="${dwarf.output.root}/gdb.stabs"/>
    	<mkdir dir="${dwarf.output.root}/gdb.threads"/>    
    </target>
    
    <target name="test-one" depends="init-tests">
		<exec dir="${suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.stabs --output ${output.root}/gdb.stabs"/>
		</exec>	  
    </target>
    
    <target name="test-one-dwarf" depends="init-tests-dwarf">
    <parallel>
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.stabs --output ${dwarf.output.root}/gdb.stabs --target_boards=macosx/gdwarf"/>
		</exec>	  
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.dwarf2 --output ${dwarf.output.root}/gdb.dwarf2 --target_boards=macosx/gdwarf"/>
		</exec>	  
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.arch --output ${dwarf.output.root}/gdb.arch --target_boards=macosx/gdwarf"/>
		</exec>
		</parallel>  
    </target>

<!-- 
test-everything:
    This target runs the DejaGnu test suite for GDB.  Each test "package" is run seperately
-->
	<target name="test-everything" depends="init-tests">
	    <parallel>				
		<!-- gdb.apple -->
		<exec dir="${suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.apple --output ${output.root}/gdb.apple"/>
		</exec>
		
		<!-- gdb.arch -->
		<exec dir="${suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.arch --output ${output.root}/gdb.arch"/>
		</exec>
		
		<!-- gdb.asm -->
		<exec dir="${suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.asm --output ${output.root}/gdb.asm"/>
		</exec>
		
		
		<!-- gdb.base -->
		<exec dir="${suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.base --output ${output.root}/gdb.base"/>
		</exec>

		<!-- gdb.cp -->
		<exec dir="${suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.cp --output ${output.root}/gdb.cp"/>
		</exec>
		
		<!-- gdb.disasm -->
		<exec dir="${suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.disasm --output ${output.root}/gdb.disasm"/>
		</exec>
		
		
		<!-- gdb.dwarf2 -->
		<exec dir="${suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.dwarf2 --output ${output.root}/gdb.dwarf2"/>
		</exec>
		
		<!-- gdb.mi -->
		<exec dir="${suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.mi --output ${output.root}/gdb.mi"/>
		</exec>
		
		<!-- gdb.objc -->
		<exec dir="${suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.objc --output ${output.root}/gdb.objc"/>
		</exec>
		
		
		<!-- gdb.stabs -->
		<exec dir="${suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.stabs --output ${output.root}/gdb.stabs"/>
		</exec>
		
		<!-- gdb.threads -->
		<exec dir="${suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.threads --output ${output.root}/gdb.threads"/>
		</exec>
		</parallel>		
	</target>

	<target name="test-everything-dwarf" depends="init-tests-dwarf">
		<parallel>			
		<!-- gdb.apple -->
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.apple --output ${dwarf.output.root}/gdb.apple --target_boards=macosx/gdwarf"/>
		</exec>
		
		<!-- gdb.arch -->
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.arch --output ${dwarf.output.root}/gdb.arch --target_boards=macosx/gdwarf"/>
		</exec>
		
		<!-- gdb.asm -->
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.asm --output ${dwarf.output.root}/gdb.asm --target_boards=macosx/gdwarf"/>
		</exec>
		
		
		<!-- gdb.base -->
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.base --output ${dwarf.output.root}/gdb.base --target_boards=macosx/gdwarf"/>
		</exec>

		<!-- gdb.cp -->
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.cp --output ${dwarf.output.root}/gdb.cp --target_boards=macosx/gdwarf"/>
		</exec>
		
		<!-- gdb.disasm -->
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.disasm --output ${dwarf.output.root}/gdb.disasm --target_boards=macosx/gdwarf"/>
		</exec>
		
		
		<!-- gdb.dwarf2 -->
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.dwarf2 --output ${dwarf.output.root}/gdb.dwarf2"/>
		</exec>
		
		
		<!-- gdb.mi -->
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.mi --output ${dwarf.output.root}/gdb.mi --target_boards=macosx/gdwarf"/>
		</exec>
		
		<!-- gdb.objc -->
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.objc --output ${dwarf.output.root}/gdb.objc --target_boards=macosx/gdwarf"/>
		</exec>
		
		
		<!-- gdb.stabs -->
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.stabs --output ${dwarf.output.root}/gdb.stabs --target_boards=macosx/gdwarf"/>
		</exec>
		
		<!-- gdb.threads -->
		<exec dir="${dwarf.suite.dir}"
			executable="make">
			<arg value="check"/>
			<arg value="RUNTESTFLAGS=-x --di gdb.threads --output ${dwarf.output.root}/gdb.threads --target_boards=macosx/gdwarf"/>
		</exec>
		</parallel>
	</target>


<!-- 
clean-gdb:
    This target runs the 'configure' command for building gdb
-->     
    <target name="clean-gdb">
    	<exec dir="${gdb.build.dir}" executable="make"
    		resolveexecutable="true">
    		<arg value="clean"/>
    	</exec>
	</target>
    <target name="clean-gdb-dwarf">
    	<exec dir="${dwarf.gdb.build.dir}" executable="make"
    		resolveexecutable="true">
    		<arg value="clean"/>
    	</exec>
	</target>


<!-- 
configure:
    This target runs the 'configure' command for building gdb
-->     
    <target name="configure">
    	<exec dir="${gdb.build.dir}" executable="../gdb/src/configure"
    		resolveexecutable="true">
    		<arg value="--disable-shared"/>
    		<env key="CFLAGS" value=""/>
    	</exec>
	</target>
    <target name="configure-dwarf">
    	<exec dir="${dwarf.gdb.build.dir}" executable="../gdb/src/configure"
    		resolveexecutable="true">
    		<arg value="--disable-shared"/>
    		<env key="CFLAGS" value=""/>
    	</exec>
	</target>

<!-- 
make-gdb:
    This target runs the 'make' command for building gdb
-->     	
	<target name="make-gdb">
    	<exec dir="${gdb.build.dir}" executable="make">
    		<env key="CFLAGS" value=""/>
    	</exec>  		
	</target>    
	<target name="make-gdb-dwarf">
    	<exec dir="${dwarf.gdb.build.dir}" executable="make">
    		<env key="CFLAGS" value=""/>
    	</exec>  		
	</target>    
</project>