1 <?xml version=
"1.0" encoding=
"utf-8" ?>
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 <project default=
"all" basedir=
"." name=
"C_Code">
13 <!-- Copyright (c) 2006, Intel Corporation -->
14 <!-- Filename: Tools/Source/build.xml -->
16 <taskdef resource=
"net/sf/antcontrib/antlib.xml"/>
18 <property name=
"ReallyVerbose" value=
"false"/>
19 <property environment=
"env" />
21 <property name=
"WORKSPACE" value=
"${env.WORKSPACE}" />
22 <property name=
"WORKSPACE_DIR" value=
"${WORKSPACE}" />
23 <property name=
"PACKAGE" value=
"Tools" />
24 <property name=
"PACKAGE_DIR" value=
"${WORKSPACE}/Tools/Source/TianoTools" />
25 <property name=
"LIB_DIR" value=
"${PACKAGE_DIR}/Library" />
26 <property name=
"BIN_DIR" value=
"${WORKSPACE}/Tools/bin" />
27 <property name=
"BUILD_MODE" value=
"PACKAGE" />
29 value=
"Common/build.xml CustomizedCompress/build.xml PeCoffLoader/build.xml String/build.xml"/>
31 <import file=
"${WORKSPACE_DIR}/Tools/Conf/BuildMacro.xml" />
34 <fileset dir=
"${WORKSPACE}/Tools/Jars" includes=
"*.jar"/>
35 <fileset dir=
"${env.XMLBEANS_HOME}/lib" includes=
"*.jar"/>
38 <taskdef classpathref=
"classpath" resource=
"GenBuild.tasks" />
39 <taskdef classpathref=
"classpath" resource=
"net/sf/antcontrib/antlib.xml" />
41 <taskdef classpathref=
"classpath" resource=
"cpptasks.tasks"/>
42 <typedef classpathref=
"classpath" resource=
"cpptasks.types"/>
44 <target name=
"all" depends=
"init, Tools">
45 <echo message=
"The EDK II C Tools build complete!"/>
49 <echo message=
"EDK C Code Tools, build initialization"/>
50 <mkdir dir=
"${BIN_DIR}" />
51 <mkdir dir=
"${LIB_DIR}" />
53 <condition property=
"HostArch" value=
"X64">
56 <condition property=
"HostArch" value=
"Ia32">
62 <condition property=
"HostArch" value=
"Ia32">
69 <echo message=
"OS Family UNIX, ${HostArch}" />
74 <echo message=
"OS Family DOS, ${HostArch}" />
80 <echo message=
"OS Family OS X, ${HostArch}" />
84 <fail message=
"OS Family Unsupported, ${HostArch}" />
90 <isset property=
"ToolChain" />
94 <isset property=
"env.TOOL_CHAIN" />
96 <property name=
"ToolChain" value=
"${env.TOOL_CHAIN}"/>
99 <!-- Default Tool Chain is Microsoft Visual Studio -->
100 <property name=
"ToolChain" value=
"msvc"/>
107 <equals arg1=
"${ToolChain}" arg2=
"gcc" />
109 <exec executable=
"gcc" outputproperty=
"host.gcc.ver">
113 <arg line=
"gcc.ver" />
116 <contains string=
"${host.gcc.ver}" substring=
"4" />
118 <property name=
"ExtraArgus" value=
"-Wno-pointer-sign" />
124 <condition property=
"linux" value=
"true">
128 <condition property=
"intel_win">
131 <equals arg1=
"${ToolChain}" arg2=
"intel"/>
135 <condition property=
"intel_linux">
138 <equals arg1=
"${ToolChain}" arg2=
"intel"/>
142 <condition property=
"intel_mac">
145 <equals arg1=
"${ToolChain}" arg2=
"intel"/>
149 <condition property=
"gcc">
151 <equals arg1=
"${ToolChain}" arg2=
"gcc"/>
155 <condition property=
"cygwin">
158 <equals arg1=
"${ToolChain}" arg2=
"gcc"/>
162 <condition property=
"x86_64_linux">
165 <equals arg1=
"${HostArch}" arg2=
"X64"/>
169 <condition property=
"windows" value=
"true">
170 <os family=
"Windows"/>
173 <condition property=
"OSX" value=
"true">
177 <condition property=
"cyglinux">
179 <istrue value=
"${linux}"/>
180 <istrue value=
"${cygwin}"/>
184 <!-- msft is a family, used by both Microsoft and Intel Windows compiler tool chains -->
185 <condition property=
"msft">
186 <isfalse value=
"${gcc}"/>
190 <istrue value=
"${ReallyVerbose}"/>
192 <echo message=
"Test property msvc: ${msvc}"/>
193 <echo message=
"Test property gcc: ${gcc}"/>
194 <echo message=
"Test property intel_win: ${intel_win}"/>
195 <echo message=
"Test property intel_linux: ${intel_linux}"/>
196 <echo message=
"Test property intel_mac: ${intel_mac}"/>
197 <echo message=
"Test property msft: ${msft}"/>
198 <echo message=
"Test property cygwin: ${cygwin}"/>
199 <echo message=
"Test property cyglinux: ${cyglinux}"/>
200 <echo message=
"Test property windows: ${windows}"/>
201 <echo message=
"Test property linux: ${linux}"/>
202 <echo message=
"Test property OSX: ${OSX}"/>
203 <echo message=
"Test property x86_64_linux: ${x86_64_linux}"/>
207 <property name=
"haveLibtool" value=
"false"/>
211 <isset property=
"env.CYGWIN_HOME"/>
213 <isset property=
"cygwin"/>
216 <fail message=
"You must set the environment variable: CYGWIN_HOME"/>
221 <istrue value=
"${gcc}"/>
223 <property name=
"ext_static" value=
".a"/>
224 <property name=
"ext_dynamic" value=
".so"/>
226 <istrue value=
"${cygwin}"/>
228 <property name=
"ext_exe" value=
".exe"/>
231 <property name=
"ext_exe" value=
""/>
236 <property name=
"ext_static" value=
".lib"/>
237 <property name=
"ext_dynamic" value=
".dll"/>
238 <property name=
"ext_exe" value=
".exe"/>
243 <target name=
"Libraries" depends=
"init">
244 <subant target=
"" inheritall=
"true">
245 <fileset dir=
"${PACKAGE_DIR}"
250 <target name=
"Tools" depends=
"Libraries">
251 <subant target=
"" inheritall=
"true">
252 <fileset dir=
"${PACKAGE_DIR}" includes=
"*/build.xml"
257 <target name=
"clean" depends=
"init">
258 <subant target=
"clean" inheritall=
"true">
259 <fileset dir=
"${PACKAGE_DIR}" includes=
"*/build.xml"/>
263 <target name=
"cleanall" depends=
"init">
264 <subant target=
"cleanall" inheritall=
"true">
265 <fileset dir=
"${PACKAGE_DIR}" includes=
"*/build.xml"/>
267 <delete dir=
"${LIB_DIR}"/>