summaryrefslogtreecommitdiff
path: root/Tools/CCode/Source/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/CCode/Source/build.xml')
-rw-r--r--Tools/CCode/Source/build.xml269
1 files changed, 269 insertions, 0 deletions
diff --git a/Tools/CCode/Source/build.xml b/Tools/CCode/Source/build.xml
new file mode 100644
index 0000000000..3d59c9c2c2
--- /dev/null
+++ b/Tools/CCode/Source/build.xml
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+Copyright (c) 2006, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+-->
+<project default="all" basedir="." name="C_Code">
+<!-- Copyright (c) 2006, Intel Corporation -->
+<!-- Filename: Tools/Source/build.xml -->
+
+ <taskdef resource="net/sf/antcontrib/antlib.xml"/>
+
+ <property name="ReallyVerbose" value="false"/>
+ <property environment="env" />
+
+ <property name="WORKSPACE" value="${env.WORKSPACE}" />
+ <property name="WORKSPACE_DIR" value="${WORKSPACE}" />
+ <property name="PACKAGE" value="Tools" />
+ <property name="PACKAGE_DIR" value="${WORKSPACE}/Tools/Source/TianoTools" />
+ <property name="LIB_DIR" value="${PACKAGE_DIR}/Library" />
+ <property name="BIN_DIR" value="${WORKSPACE}/Tools/bin" />
+ <property name="BUILD_MODE" value="PACKAGE" />
+ <property name="Libs"
+ value="Common/build.xml CustomizedCompress/build.xml PeCoffLoader/build.xml String/build.xml"/>
+
+ <import file="${WORKSPACE_DIR}/Tools/Conf/BuildMacro.xml" />
+
+ <path id="classpath">
+ <fileset dir="${WORKSPACE}/Tools/Jars" includes="*.jar"/>
+ <fileset dir="${env.XMLBEANS_HOME}/lib" includes="*.jar"/>
+ </path>
+
+ <taskdef classpathref="classpath" resource="GenBuild.tasks" />
+ <taskdef classpathref="classpath" resource="net/sf/antcontrib/antlib.xml" />
+
+ <taskdef classpathref="classpath" resource="cpptasks.tasks"/>
+ <typedef classpathref="classpath" resource="cpptasks.types"/>
+
+ <target name="all" depends="init, Tools">
+ <echo message="The EDK II C Tools build complete!"/>
+ </target>
+
+ <target name="init">
+ <echo message="EDK C Code Tools, build initialization"/>
+ <mkdir dir="${BIN_DIR}" />
+ <mkdir dir="${LIB_DIR}" />
+
+ <condition property="HostArch" value="X64">
+ <os arch="amd64"/>
+ </condition>
+ <condition property="HostArch" value="Ia32">
+ <or>
+ <os arch="x86"/>
+ <os arch="i386"/>
+ </or>
+ </condition>
+ <condition property="HostArch" value="Ia32">
+ <os arch="i386"/>
+ </condition>
+
+ <if>
+ <os family="unix" />
+ <then>
+ <echo message="OS Family UNIX, ${HostArch}" />
+ </then>
+ <elseif>
+ <os family="dos" />
+ <then>
+ <echo message="OS Family DOS, ${HostArch}" />
+ </then>
+ </elseif>
+ <elseif>
+ <os family="mac" />
+ <then>
+ <echo message="OS Family OS X, ${HostArch}" />
+ </then>
+ </elseif>
+ <else>
+ <fail message="OS Family Unsupported, ${HostArch}" />
+ </else>
+ </if>
+
+ <if>
+ <not>
+ <isset property="ToolChain" />
+ </not>
+ <then>
+ <if>
+ <isset property="env.TOOL_CHAIN" />
+ <then>
+ <property name="ToolChain" value="${env.TOOL_CHAIN}"/>
+ </then>
+ <else>
+ <!-- Default Tool Chain is Microsoft Visual Studio -->
+ <property name="ToolChain" value="msvc"/>
+ </else>
+ </if>
+ </then>
+ </if>
+
+ <if>
+ <equals arg1="${ToolChain}" arg2="gcc" />
+ <then>
+ <exec executable="gcc" outputproperty="host.gcc.ver">
+ <arg line="-E" />
+ <arg line="-P" />
+ <arg line="-x c" />
+ <arg line="gcc.ver" />
+ </exec>
+ <if>
+ <contains string="${host.gcc.ver}" substring="4" />
+ <then>
+ <property name="ExtraArgus" value="-Wno-pointer-sign" />
+ </then>
+ </if>
+ </then>
+ </if>
+
+ <condition property="linux" value="true">
+ <os name="Linux"/>
+ </condition>
+
+ <condition property="intel_win">
+ <and>
+ <os family="dos"/>
+ <equals arg1="${ToolChain}" arg2="intel"/>
+ </and>
+ </condition>
+
+ <condition property="intel_linux">
+ <and>
+ <os name="Linux"/>
+ <equals arg1="${ToolChain}" arg2="intel"/>
+ </and>
+ </condition>
+
+ <condition property="intel_mac">
+ <and>
+ <os family="mac"/>
+ <equals arg1="${ToolChain}" arg2="intel"/>
+ </and>
+ </condition>
+
+ <condition property="gcc">
+ <and>
+ <equals arg1="${ToolChain}" arg2="gcc"/>
+ </and>
+ </condition>
+
+ <condition property="cygwin">
+ <and>
+ <os family="dos"/>
+ <equals arg1="${ToolChain}" arg2="gcc"/>
+ </and>
+ </condition>
+
+ <condition property="x86_64_linux">
+ <and>
+ <os name="Linux"/>
+ <equals arg1="${HostArch}" arg2="X64"/>
+ </and>
+ </condition>
+
+ <condition property="windows" value="true">
+ <os family="Windows"/>
+ </condition>
+
+ <condition property="OSX" value="true">
+ <os family="Mac"/>
+ </condition>
+
+ <condition property="cyglinux">
+ <or>
+ <istrue value="${linux}"/>
+ <istrue value="${cygwin}"/>
+ </or>
+ </condition>
+
+ <!-- msft is a family, used by both Microsoft and Intel Windows compiler tool chains -->
+ <condition property="msft">
+ <isfalse value="${gcc}"/>
+ </condition>
+
+ <if>
+ <istrue value="${ReallyVerbose}"/>
+ <then>
+ <echo message="Test property msvc: ${msvc}"/>
+ <echo message="Test property gcc: ${gcc}"/>
+ <echo message="Test property intel_win: ${intel_win}"/>
+ <echo message="Test property intel_linux: ${intel_linux}"/>
+ <echo message="Test property intel_mac: ${intel_mac}"/>
+ <echo message="Test property msft: ${msft}"/>
+ <echo message="Test property cygwin: ${cygwin}"/>
+ <echo message="Test property cyglinux: ${cyglinux}"/>
+ <echo message="Test property windows: ${windows}"/>
+ <echo message="Test property linux: ${linux}"/>
+ <echo message="Test property OSX: ${OSX}"/>
+ <echo message="Test property x86_64_linux: ${x86_64_linux}"/>
+ </then>
+ </if>
+
+ <property name="haveLibtool" value="false"/>
+ <if>
+ <and>
+ <not>
+ <isset property="env.CYGWIN_HOME"/>
+ </not>
+ <isset property="cygwin"/>
+ </and>
+ <then>
+ <fail message="You must set the environment variable: CYGWIN_HOME"/>
+ </then>
+ </if>
+
+ <if>
+ <istrue value="${gcc}"/>
+ <then>
+ <property name="ext_static" value=".a"/>
+ <property name="ext_dynamic" value=".so"/>
+ <if>
+ <istrue value="${cygwin}"/>
+ <then>
+ <property name="ext_exe" value=".exe"/>
+ </then>
+ <else>
+ <property name="ext_exe" value=""/>
+ </else>
+ </if>
+ </then>
+ <else>
+ <property name="ext_static" value=".lib"/>
+ <property name="ext_dynamic" value=".dll"/>
+ <property name="ext_exe" value=".exe"/>
+ </else>
+ </if>
+ </target>
+
+ <target name="Libraries" depends="init">
+ <subant target="" inheritall="true">
+ <fileset dir="${PACKAGE_DIR}"
+ includes="${Libs}"/>
+ </subant>
+ </target>
+
+ <target name="Tools" depends="Libraries">
+ <subant target="" inheritall="true">
+ <fileset dir="${PACKAGE_DIR}" includes="*/build.xml"
+ excludes="${Libs}"/>
+ </subant>
+ </target>
+
+ <target name="clean" depends="init">
+ <subant target="clean" inheritall="true">
+ <fileset dir="${PACKAGE_DIR}" includes="*/build.xml"/>
+ </subant>
+ </target>
+
+ <target name="cleanall" depends="init">
+ <subant target="cleanall" inheritall="true">
+ <fileset dir="${PACKAGE_DIR}" includes="*/build.xml"/>
+ </subant>
+ <delete dir="${LIB_DIR}"/>
+ </target>
+</project>