8 def CreateAntBuildFile(libs
, compiler
):
9 stream
= file("build.xml", "w")
10 stream
.write("""<?xml version="1.0"?>
11 <project name="ant_test" default="all" basedir=".">
12 <taskdef resource="cpptasks.tasks"/>
13 <typedef resource="cpptasks.types"/>
16 for i
in xrange(libs
):
17 libname
= cppcodebase
.lib_name(i
)
18 stream
.write(''' <target name="''' + libname
+ '''">
19 <mkdir dir="''' + libname
+ '''/obj"/>
20 <cc subsystem="console"
21 objdir="''' + libname
+ '''/obj"
24 name="''' + compiler
+ '''">
25 <fileset dir="''' + libname
+ '''" includes="*.cpp"/>
26 <includepath path="."/>
31 stream
.write(' <target name="all" depends="\n')
32 for i
in xrange(libs
-1):
33 stream
.write(' ' + cppcodebase
.lib_name(i
) + ',\n')
34 stream
.write(' ' + cppcodebase
.lib_name(libs
-1) + '">\n')
35 stream
.write(' </target>\n')
37 stream
.write(' <target name="clean">\n')
38 for i
in xrange(libs
):
39 stream
.write(' <delete dir="''' + cppcodebase.lib_name(i) + '/obj
"/>\n')
40 stream.write(' </target>\n')
42 stream.write('</project>\n')
45 def NullFunction(a,b):
49 def CreateCodebaseForCompiler(libs, classes, internal_includes, external_includes, compiler):
50 cppcodebase.SetDir('ant_' + compiler)
51 cppcodebase.CreateSetOfLibraries(libs, classes, internal_includes, external_includes, NullFunction)
52 CreateAntBuildFile(libs, compiler)
57 def CreateCodebase(libs, classes, internal_includes, external_includes):
58 CreateCodebaseForCompiler(libs, classes, internal_includes, external_includes, "gcc
")
59 CreateCodebaseForCompiler(libs, classes, internal_includes, external_includes, "msvc
")