Imported Upstream version 1.15.2
[platform/upstream/krb5.git] / src / windows / build / BKWconfig.xml
1 <?xml version="1.0" encoding="utf-8" ?>
2 <!-- BKW: Build Kerberos for Windows -->
3 <BKW_Config>
4     <Config>
5         <!-- All the parameters are specified here.  Most can be over-ridden
6                 on the command line.
7
8             Parameters are grouped into Options, Directories, Repository and Environment.
9
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.                                 
20             -->
21         <!-- Options: -->
22         <clean      def="0" />
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" />
27         <make       def="0" />
28         <nolog      def="0" />
29         <package    def="1" />
30         <repository def="A" abbr="r" value="skip" options="skip checkout|co export|ex update|up" />
31         <sign       def="0" />
32         <verbose    def="1" abbr="v" />
33         <vverbose   def="0" />
34
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. -->
40
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!! -->
48
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 -->
52         </Config>
53     <Stages>
54         <FetchSources>
55             <Zips>
56                 <Zip dummy="foo" /> <!-- To force desired XML::Simple behavior    -->
57                 <Zip name="SRC" filename="%filestem%-src.zip" topdir="%filestem%-final">
58                     <CopyList>
59                         <Files>
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" />
67                             </Files>
68                     </CopyList>
69                     <Prunes> <!-- Files to be removed from current build to match what is in the 3.1 distribution:    -->
70                         <Prune name="CVS" />
71                         <Prune name=".cvsignore" flags="i" />
72                         <Prune name="Changelog"  flags="i" />
73                         </Prunes>
74                     <Requires>
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." />
78                         </Requires>
79                     </Zip>
80                 </Zips>
81             </FetchSources>
82         <Make>
83             <!-- Script checks for prunes. -->
84             </Make>
85         <PrePackage>
86             <CopyList>
87                 <Config>
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"/>
104                             -->
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. -->
108                     </Config>
109                 <Files>
110                     <Include path="copyfiles.xml" />
111                     </Files> <!-- Relative to location of bkw.pl. -->
112             </CopyList>
113         </PrePackage>
114         <Package>
115             <Config>
116                 <Paths>    
117                     <Versions path="kerberos.ver" /> <!-- Relative to <src>. -->
118                     </Paths>
119                 </Config>
120             <MSI></MSI>
121             <NSIS></NSIS> <!-- NB:  Most config is done in site-local.nsi.  -->
122         </Package>
123         <PostPackage>
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%. -->
126                 <Signing>
127                     <CommandTemplate    value="signtool sign /a /d &quot;MIT Kerberos for Windows&quot; /du &quot;http://web.mit.edu/kerberos&quot; /t TIMESTAMPSERVERGOESHERE %filename%" />
128                     <FilePatterns       value="*.exe *.dll *.cpl *.msi" />
129                     </Signing>
130                 </Config>
131             <Zips>
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">
137                     <CopyList>
138                         <Config>
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. -->
144                             </Config>
145                         <Files>
146                             <Include path="corebinaryfiles.xml" />  <!-- Included file is relative to location of bkw.pl. -->
147                             </Files> 
148                         </CopyList>
149                 </Zip>
150                 <Zip name="SDK" filename="%filestem%-sdk.zip" topdir="%filestem%-final">
151                     <CopyList>
152                         <Files>
153                             <Include path="sdkfiles.xml" />         <!-- Included file is relative to location of bkw.pl. -->
154                             </Files>
155                         </CopyList>
156                     </Zip>
157                 </Zips>            
158             <CopyList>            <!-- Copied at end of post-package step.  -->
159                 <Files>
160                     <File dummy="foo" />
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="" />
168                     </Files>
169                 </CopyList>
170             </PostPackage>
171     </Stages>
172 </BKW_Config>