* Remove duplicated table of contents for a section and at the top level
[oota-llvm.git] / docs / HowToReleaseLLVM.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2                       "http://www.w3.org/TR/html4/strict.dtd">
3 <html>
4 <head>
5   <title>How To Release LLVM To The Public</title>
6   <link rel="stylesheet" href="llvm.css" type="text/css">
7 </head>
8 <body>
9
10 <div class="doc_title">How To Release LLVM To The Public</div>
11 <p class="doc_warning">NOTE: THIS DOCUMENT IS A WORK IN PROGRESS!</p>
12 <ol>
13   <li><a href="#introduction">Introduction</a></li>
14   <li><a href="#process">Release Process</a></li>
15 </ol>
16 <div class="doc_author">
17   <p>Written by <a href="mailto:rspencer@x10sys.com">Reid Spencer</a></p>
18 </div>
19
20 <!-- *********************************************************************** -->
21 <div class="doc_section"><a name="introduction">Introduction</a></div>
22 <!-- *********************************************************************** -->
23
24 <div class="doc_text">
25 <p>This document collects information about successfully releasing LLVM to the
26 public. It is the release manager's guide to ensuring that a high quality build
27 of LLVM is released. Mostly, its just a bunch of reminders of things to do at
28 release time so we don't inadvertently ship something that is utility 
29 deficient.</p>
30 </div>
31
32 <!-- *********************************************************************** -->
33 <div class="doc_section"><a name="process">Release Process</a></div>
34 <!-- *********************************************************************** -->
35
36 <!-- ======================================================================= -->
37 <div class="doc_subsection"><a name="overview">Process Overview</a></div>
38 <div class="doc_text">
39   <ol>
40     <li><a href="#merge">Merge Branches</a></li>
41     <li><a href="#build">Build LLVM</a></li>
42     <li><a href="#check">Run 'make check'</a></li>
43     <li><a href="#test">Run LLVM Test Suite</a></li>
44     <li><a href="#deps">make LibDeps.txt</a></li>
45     <li><a href="#tag">cvs tag</a></li>
46     <li><a href="#dist">make dist</a></li>
47     <li><a href="#release">release</a></li>
48   </ol>
49 </div>
50
51 <!-- ======================================================================= -->
52 <div class="doc_subsection"><a name="merge">Merge Branches</a></div>
53 <div class="doc_text">
54 <p>Merge any work done on branches intended for release into mainline.</p>
55 </div>
56
57 <!-- ======================================================================= -->
58 <div class="doc_subsection"><a name="build">Build LLVM</a></div>
59 <div class="doc_text">
60   <p>Build LLVM</p>
61 </div>
62
63 <!-- ======================================================================= -->
64 <div class="doc_subsection"><a name="check">Run 'make check'</a></div>
65 <div class="doc_text">
66   <p>Run <tt>make check</tt> and ensure there are no unexpected failures. If
67   there are, resolve the failures and go back to step 2.</p>
68 </div>
69
70 <!-- ======================================================================= -->
71 <div class="doc_subsection"><a name="test">LLVM Test Suite</a></div>
72 <div class="doc_text">
73   <p>Run the llvm-test suite and ensure there are no unacceptable failures.
74   If there are, resolve the failures and go back to step 2.</p>
75 </div>
76
77 <!-- ======================================================================= -->
78 <div class="doc_subsection"><a name="deps">Make LibDeps.txt</a></div>
79 <div class="doc_text">
80   <p>Rebuild the <tt>LibDeps.txt</tt> target in <tt>utils/llvm-config</tt>. This
81   makes sure that the <tt>llvm-config</tt> utility remains relevant for the
82   release, reflecting any changes in the library dependencies.</p>
83 </div>
84
85 <!-- ======================================================================= -->
86 <div class="doc_subsection"><a name="tag">CVS Tag</a></div>
87 <div class="doc_text">
88   <p>Tag the release.</p>
89 </div>
90
91 <!-- ======================================================================= -->
92 <div class="doc_subsection"><a name="dist">Run 'make dist'</a></div>
93 <div class="doc_text">
94   <p>Build the distribution, ensuring it is installable and working</p>
95 </div>
96
97 <!-- ======================================================================= -->
98 <div class="doc_subsection"><a name="release">Release</a></div>
99 <div class="doc_text">
100   <p>Release the distribution tarball to the public.</p>
101 </div>
102
103 <!-- *********************************************************************** -->
104 <hr>
105 <address>
106   <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
107   src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
108   <a href="http://validator.w3.org/check/referer"><img
109   src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" /></a>
110
111   <a href="mailto:rspencer@x10sys.com">Reid Spencer</a><br>
112   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a>
113   <br/>
114   Last modified: $Date$
115 </address>
116 </body>
117 </html>