]> git.saurik.com Git - wxWidgets.git/blob - build/buildbot/config/include/unix.xml
2aa139904078431ff3cb2c442f8ca95e7a803c5c
[wxWidgets.git] / build / buildbot / config / include / unix.xml
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!--
4 Name: include/unix.xml
5 Purpose: Declarations for unix slaves
6 Author: Michael Wetherell
7 RCS-ID: $Id$
8 Copyright: (c) Michael Wetherell
9 Licence: wxWidgets licence
10 -->
11
12 <bot xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
13 xmlns:xi="http://www.w3.org/2001/XInclude">
14
15 <xi:include href="defs.xml"/>
16
17 <!--
18 build - Override <build> to add a slave lock. This has the effect of
19 serialising all the builds on this machine
20 -->
21 <xsl:template name="build">
22 <xsl:param name="content"/>
23 <build>
24 <lock>slave</lock>
25 <xsl:copy-of select="$content"/>
26 </build>
27 </xsl:template>
28
29 <!--
30 checkout - checks out to a shared directory
31
32 Checks out to a directory '../$branch' shared between builds. Then creates
33 a directory 'build' for this job to build in, and 'src' which is a link to
34 the shared sources. This relies on all builds for the same branch being
35 serialised with lock so that one build doesn't update the sources while
36 another is building them.
37
38 Usage typically just:
39 <checkout/>
40 for the trunk, or:
41 <checkout branch="branches/WX_2_8_BRANCH"/>
42 to checkout a branch.
43 -->
44 <xsl:template name="checkout">
45 <xsl:param name="content"/>
46 <xsl:param name="branch" select="'trunk'"/>
47 <xsl:variable name="nodes" select="exsl:node-set($content)"/>
48 <svn>
49 <xsl:if test="not($nodes/svnurl)">
50 <xsl:if test="not($nodes/baseURL)">
51 <baseURL><SVN_URL/></baseURL>
52 </xsl:if>
53 <xsl:if test="not($nodes/defaultBranch)">
54 <defaultBranch><xsl:value-of select="$branch"/></defaultBranch>
55 </xsl:if>
56 </xsl:if>
57 <xsl:if test="not($nodes/workdir)">
58 <workdir>../<xsl:value-of select="$branch"/></workdir>
59 </xsl:if>
60 <xsl:copy-of select="$content"/>
61 </svn>
62 <shellcommand>
63 <description>creating build directory</description>
64 <descriptionDone>create build directory</descriptionDone>
65 <workdir>.</workdir>
66 <command>
67 rm -rf build &amp;&amp;
68 mkdir build &amp;&amp;
69 ln -sf ../<xsl:value-of select="$branch"/> src
70 </command>
71 </shellcommand>
72 </xsl:template>
73
74 <!--
75 configure - use '../src/configure' as the default configure command,
76 include disable-precomp-headers in the default options and
77 post process the Makefiles to use ccache.
78
79 Usage: <configure options="-with-foobar"/>
80 -->
81 <xsl:template name="configure">
82 <xsl:param name="content"/>
83 <xsl:param name="options"/>
84 <configure>
85 <copy-with-defaults content="{$content}">
86 <command>../src/configure <xsl:value-of select="normalize-space($options)"/> --disable-precomp-headers --disable-compat28 --disable-compat26</command>
87 </copy-with-defaults>
88 <command>find . -name Makefile | xargs perl -pi -e 's/^(?:CC|CXX) = /$&amp;ccache /'</command>
89 </configure>
90 </xsl:template>
91
92 </bot>