Updated to reflect current work:
[oota-llvm.git] / docs / ReleaseTasks.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4   <title>LLVM Public Release Project</title>
5 </head>
6   <body bgcolor="white">
7                    
8 <center>         
9 <h1><font size="7">LLVM Public Release Project</font></h1>
10      </center>
11                     
12 <ul>
13             <li><a href="#what">What is this?</a>   </li>
14            <li><a href="#priorities">Priorities</a>                     
15                           
16     <ol>
17               <li><a href="#high">High Priority</a>     </li>
18                <li><a href="#medium">Medimum Priority</a>     </li>
19                <li><a href="#low">Low Priority</a>     </li>
20                                                      
21     </ol>
22            </li>
23                  
24 </ul>
25            <br>
26       <!-- *********************************************************************** --> 
27                   
28 <table width="100%" bgcolor="#330077" border="0" cellpadding="4"
29  cellspacing="0">
30           <tbody>
31              <tr>
32                <td align="center"><font color="#eeeeff" size="+2"
33  face="Georgia,Palatino"><b> <a name="what">What is this? </a></b><a
34  name="what"></a></font></td>
35              </tr>
36                                    
37   </tbody>         
38 </table>
39                  
40 <ul>
41           <!-- *********************************************************************** -->
42       This document is a list of things to do before the LLVM project is
43 publicly     released. &nbsp;It will provide a checklist so that we know
44 what has been    done and what is left to be done. &nbsp;It will also keep
45 a "wishlist" of   desirable features.                                    
46  
47   <p>   <!-- *********************************************************************** -->
48        </p>
49                  
50 </ul>
51                  
52 <table width="100%" bgcolor="#330077" border="0" cellpadding="4"
53  cellspacing="0">
54           <tbody>
55              <tr>
56                <td align="center"><font color="#eeeeff" size="+2"
57  face="Georgia,Palatino"><b> <a name="priorities">Priorities</a></b><a
58  name="improving"></a></font></td>
59              </tr>
60                                    
61   </tbody>         
62 </table>
63                  
64 <ul>
65           <!-- *********************************************************************** -->The 
66     list of things to do...                           
67   <p>  <!-- ======================================================================= -->
68        </p>
69                  
70 </ul>
71                  
72 <table width="50%" bgcolor="#441188" border="0" cellpadding="4"
73  cellspacing="0">
74           <tbody>
75              <tr>
76                <td>&nbsp;</td>
77                <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
78  size="+1" face="Georgia,Palatino"><b><a name="high">High Priority</a></b><a
79  name="glibc"></a></font></td>
80              </tr>
81                                    
82   </tbody>         
83 </table>
84                  
85 <ul>
86                                    
87   <ul>
88                                                                     
89     <ul>
90                                                                         
91                     
92     </ul>
93                   <li>Fix currently known bugs and write regression tests.</li>
94                  
95     <ul>
96          <li>The gccld segfault from GlobalDCE.cpp.</li>
97          <li>The infinite loop for Tail Recursion.</li>
98          <li>The C++ constructor on dlopen() bug on Solaris.<br>
99          </li>
100                  
101     </ul>
102              <li>Get autoconf to configure source and build directories according 
103  to normal autoconf procedures.</li>
104                  
105     <ul>
106          <li>Get test tree to work properly when configuring for a different 
107  object root.</li>
108          <li>Get lex/yacc/etc output to be placed into the build tree, not
109  the source tree.<br>
110          </li>
111                  
112     </ul>
113        <li>Test Suite</li>
114                  
115     <ul>
116          <li>Create a nightly tester for Sparc.</li>
117          <li>Modify the test suite to have consistent output.</li>
118          <li>Add Pass/Fail tests to nightly tester.<br>
119          </li>
120                   <li>Cleanup test/Programs.</li>
121                  
122     </ul>
123        <li>Move the Reoptimizer code out of mainline CVS  and the release.</li>
124       <li>Add autoconf checks to ensure that the compiler is GCC 3.x or higher.<br>
125       </li>
126        <li>Documentation</li>
127                  
128     <ul>
129          <li>Write documentation on the LLVM tools.</li>
130          <li>Review docs, ensuring that the information is up to date.</li>
131                  
132     </ul>
133        <li>GCC C Front End<br>
134        </li>
135                    <li>Licenses</li>
136                  
137     <ul>
138          <li>Ensure all software in source tree has proper license.<br>
139          </li>
140                  
141     </ul>
142                  
143     <ul>
144          <li>Check licenses in test/Programs to ensure everything is good.</li>
145          <li>Create license files for anything in the distribution that is
146  not under our license.<br>
147          </li>
148                  
149     </ul>
150        <li>Ensure SafeCode builds.</li>
151                       <li>Create a system for managing development and releases
152   (i.e. CVS   branching, labeling revisions, etc).<br>
153              </li>
154                                    
155   </ul>
156                                    
157   <p>   <!-- ======================================================================= -->
158        </p>
159                  
160 </ul>
161                  
162 <table width="50%" bgcolor="#441188" border="0" cellpadding="4"
163  cellspacing="0">
164           <tbody>
165              <tr>
166                <td>&nbsp;</td>
167                <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
168  size="+1" face="Georgia,Palatino"><b><a name="medium">Medium Priority</a></b><a
169  name="NightlyTest"></a></font></td>
170              </tr>
171                                    
172   </tbody>         
173 </table>
174                  
175 <ul>
176                                    
177   <ul>
178              <li>Improve documentation on how to create an LLVM project.<br>
179     </li>
180              <li>Testing</li>
181                                                
182     <ul>
183               <li>Cleanup Reoptimizer tests so that they fit into the framework.<br>
184              </li>
185                                                                 
186     </ul>
187                                           <li>Create an installer for the 
188 software.</li>
189        <li>Put autoconf files into a separate directory (i.e. not llvm).<br>
190        </li>
191                                              
192   </ul>
193                                    
194   <p>   <!-- ======================================================================= -->
195        </p>
196                  
197 </ul>
198                  
199 <table width="50%" bgcolor="#441188" border="0" cellpadding="4"
200  cellspacing="0">
201           <tbody>
202              <tr>
203                <td>&nbsp;</td>
204                <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
205  size="+1" face="Georgia,Palatino"><b><a name="low">Low Priority</a></b><a
206  name="programs"></a></font></td>
207              </tr>
208                                    
209   </tbody>         
210 </table>
211                  
212 <ul>
213                                    
214   <ul>
215              <li>GCC C Front End</li>
216                  
217     <ul>
218          <li>Place the C front end into the CVS repository.</li>
219          <li>Ensure that the C front end compiles and installs nicely.</li>
220          <li>Add C++ support.<br>
221          </li>
222                  
223     </ul>
224        <li>Release Management</li>
225                  
226     <ul>
227          <li>Find and implement a bug reporting system (i.e. Bugzilla).</li>
228                  
229     </ul>
230        <li>Make the projects/sample directory an actual example of LLVM code.</li>
231                        <li>Testing</li>
232                  
233     <ul>
234          <li>Create descriptions of what each test is doing (test specifications).<br>
235          </li>
236          <li>Test LLVM on various Linux distributions.</li>
237          <li>Test LLVM on various Solaris distributions.</li>
238          <li>Test LLVM on Solaris/x86.<br>
239          </li>
240                  
241     </ul>
242              <li>Licenses</li>
243                  
244     <ul>
245          <li>Create a license for the UIUC specific LLVM code.</li>
246          <li>Add a license file to the distribution.</li>
247          <li>Add a copyright notice and license information to each source
248   file.</li>
249                  
250     </ul>
251                                 <li>Documentation</li>
252                  
253     <ul>
254          <li>Create man pages for the LLVM utilities.</li>
255          <li>Create man pages for the LLVM libraries.</li>
256                  
257     </ul>
258      <li>Rewrite this page without Netscape Composer :)<br>
259      </li>
260                                    
261   </ul>
262                  
263 </ul>
264          <font size-1="">          
265 <address><a href="mailto:criswell@cs.uiuc.edu">John Criswell</a></address>
266           <!-- Created: Tue Aug  6 15:00:33 CDT 2002 --> <!-- hhmts start --> 
267   Last modified: Sat May 31 14:54:03 CDT 2003 <!-- hhmts end --></font> <br>
268         <br>
269         <br>
270      <br>
271     <br>
272    <br>
273   <br>
274  <br>
275 </body>
276 </html>