1 <?xml version="1.0" encoding="utf-8" ?>
2 <!-- BKW: Build Kerberos for Windows -->
5 <!-- All the parameters are specified here. Most can be over-ridden
8 Parameters are grouped into Options, Directories, Repository and Environment.
10 Attributes a parameter can have:
11 abbr: A one character abbreviation.
12 def: defined or not. A value of 'A' for 'always' means the
13 option can't be negated on the command line.
14 value: string value, if the option can have a value. If the option
15 can't take a value, omit the value attribute.
16 options: space-delimited list, the 1st element is the default.
17 Synonyms for a valid option are concatenated with '|'.
18 env: an environment variable will be set to value or deleted,
19 depending on def. If set and no value is given, '1' is used.
23 <config def="1" abbr="f" value="bkwconfig.xml" />
24 <debug def="0" abbr="d" />
25 <help def="0" abbr="h|?" />
26 <logfile def="1" abbr="l" value="bkw.pl.log" />
30 <repository def="A" abbr="r" value="skip" options="skip checkout|co export|ex update|up" />
32 <verbose def="1" abbr="v" />
35 <!-- Directory settings: -->
36 <!-- Sources will be checked out of repositories into <src>. The structure
37 of the repositories will cause pismere/athena to be created under <src>. -->
38 <src def="A" abbr="s" value="C:\MinGW\kfw-updates\src" /> <!-- Must be absolute path. -->
39 <out def="A" abbr="o" value="C:\MinGW\kfw-updates\public" /> <!-- Must be absolute path. -->
41 <!-- Repository settings: -->
42 <cvstag def="0" abbr="c" value="" />
43 <svntag def="0" abbr="t" value="" />
44 <svnbranch def="0" abbr="b" value="" />
45 <username def="0" abbr="u" value="" /> <!-- Needed for svn/plink. Override from command line -->
46 <CVSROOT def="A" value=":kserver:cvs.mit.edu:/cvs/pismere" />
47 <SVNURL def="A" value="svn.mit.edu" /> <!-- NB: No protocol or slashes!! -->
49 <!-- Environment variables: -->
50 <KH_RELEASE def="1" env="1" value="OFFICIAL" options="OFFICIAL PRERELEASE PRIVATE" />
51 <NODEBUG def="1" env="1" /> <!-- Interacts with /DEBUG -->
56 <Zip dummy="foo" /> <!-- To force desired XML::Simple behavior -->
57 <Zip name="SRC" filename="%filestem%-src.zip" topdir="%filestem%-final">
60 <!-- File from paths are relative to <src>/pismere. -->
61 <!-- File to paths are relative to <out>. -->
62 <File dummy="foo" /> <!-- Forces XML::Simple behavior -->
63 <!-- Without this, XML::Simple does not make an anonymous array and I can't figure out how to iterate over it. -->
64 <File name="*.*" from="athena" to="src\athena" />
65 <File name="*.*" from="doc" to="src\doc" />
66 <File name="*.*" from="scripts" to="src\scripts" />
69 <Prunes> <!-- Files to be removed from current build to match what is in the 3.1 distribution: -->
71 <Prune name=".cvsignore" flags="i" />
72 <Prune name="Changelog" flags="i" />
75 <Switch dummy="foo" />
76 <Switch name="REPOSITORY" value="CHECKOUT|EXPORT"/>
77 <ErrorMsg text="Can't build source zip unless /REPOSITORY CHECKOUT or /REPOSITORY EXPORT is specified." />
83 <!-- Script checks for prunes. -->
88 <!-- Debug and Release build results go in different places.
89 The otherwise identical paths differ in one section. For example:
90 .../target/bin/i386/bin/rel/filename and .../target/bin/i386/dbg/filename.
91 Here we define the two differing sections: -->
92 <DebugArea value="dbg" />
93 <ReleaseArea value="rel" />
94 <!-- Paths in the file list that include <AlwaysTag> will always have the tag replaced
95 with <DebugArea> or <ReleaseArea>, depending on the type of build.
96 Paths that include <DebugTag> (or <ReleaseTag>) will only have the tag substituted
97 and be copied when doing a debug (or release) build. Examples:
98 Will always be copied, from a build-dependent directory:
99 <File name="kfwlogon.dll" from="..\target\bin\i386\%bldtype%\" to="\bin\i386" />
100 Will only be copied in debug build:
101 <File name="netidmgr.exe.static.manifest" from="..\target\bin\i386\%debug%\" to="\bin\i386" notrequired="true" />
102 Will always be copied, from a build-independent directory:
103 <File name="des.h" from="auth\krb4\include\" to="\inc\krb4" newname="foo.h"/>
105 <AlwaysTag value="%bldtype%" /> <!-- Pick a string that won't appear in a path. -->
106 <DebugTag value="%debug%" /> <!-- Pick a string that won't appear in a path. -->
107 <ReleaseTag value="%release%" /> <!-- Pick a string that won't appear in a path. -->
110 <Include path="copyfiles.xml" />
111 </Files> <!-- Relative to location of bkw.pl. -->
117 <Versions path="kerberos.ver" /> <!-- Relative to <src>. -->
121 <NSIS></NSIS> <!-- NB: Most config is done in site-local.nsi. -->
124 <Config> <!-- This config info will be copied into each CopyList in PostPackage. -->
125 <FileStem name="kfw-%VERSION_MAJOR%-%VERSION_MINOR%-%VERSION_PATCH%" /> <!-- <FileStem> will be substituted for %filestem%. -->
127 <CommandTemplate value="signtool sign /a /d "MIT Kerberos for Windows" /du "http://web.mit.edu/kerberos" /t TIMESTAMPSERVERGOESHERE %filename%" />
128 <FilePatterns value="*.exe *.dll *.cpl *.msi" />
132 <Zip dummy="foo" /> <!-- To force desired XML::Simple behavior -->
133 <!-- Files will be copied into directory <topdir>; <topdir> will appear in the paths of the files. -->
134 <!-- File from paths are relative to <src>/pismere. -->
135 <!-- File to paths are relative to <out>. -->
136 <Zip name="Core Binaries" filename="%filestem%.zip" topdir="%filestem%-final">
139 <DebugArea value="dbg" />
140 <ReleaseArea value="rel" />
141 <AlwaysTag value="%bldtype%" /> <!-- Pick a string that won't appear in a path. -->
142 <DebugTag value="%debug%" /> <!-- Pick a string that won't appear in a path. -->
143 <ReleaseTag value="%release%" /> <!-- Pick a string that won't appear in a path. -->
146 <Include path="corebinaryfiles.xml" /> <!-- Included file is relative to location of bkw.pl. -->
150 <Zip name="SDK" filename="%filestem%-sdk.zip" topdir="%filestem%-final">
153 <Include path="sdkfiles.xml" /> <!-- Included file is relative to location of bkw.pl. -->
158 <CopyList> <!-- Copied at end of post-package step. -->
161 <!-- File from paths are relative to <src/pismere>. -->
162 <!-- File to paths are relative to <out>. -->
163 <File name="msi-deployment-guide.txt" from="staging\install\wix\" to="" />
164 <File name="netidmgr_userdoc.pdf" from="staging\doc" to="" />
165 <File name="kfw.msi" from="buildwix" to="" newname="%filestem%.msi" />
166 <File name="MITKerberosForWindows%-DEBUG%.exe" from="buildnsi" to="" newname="%filestem%%-DEBUG%.exe" />
167 <File name="relnotes.html" from="staging\doc" to="" />