<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>