# LLVM Public Release Project

- What is this?
- Priorities
  1. High Priority
  2. Medimum Priority
  3. Low Priority

What is this?

This document is a list of things to do before the LLVM project is publicly released. It will provide a checklist so that we know what has been done and what is left to be done. It will also keep a "wishlist" of desirable features.

Priorities

The list of things to do...

| High Priority

- Modify the build environment so that the LLVM utilities can be built outside of the research group. This entails:

- Modify the build environment so that it does not use absolute paths.
- Make the build environment more configurable via Makefile.config.
- Add support for dynamic build configuration (i.e. autoconf or imake support).
- Ensure that all build types (debug, optimized, profile) work correctly.

- Ensure that the C front end compiles and installs nicely.
- Place the C front end into the CVS repository.
- Get the Reoptimizer code to work, ensuring that it does not rely upon code outside of the source tree.
- Create a structure that allows for the easy addition of outside projects to the LLVM source tree.
- Create a system for managing development and releases (i.e. CVS branching, labeling revisions, etc).

| Medium Priority

- Improve the testing framework.

- Cleanup Reoptimizer tests so that they fit into the framework.
- Create descriptions of what each test is doing (test specifications).

- Get the Reoptimizer tests to compile under x86.
- Determine which sub-projects of LLVM will be distributed.
- Review and update documentation.
- Create an installer for the software.

| Low Priority

- Find and implement a bug reporting system (i.e. Bugzilla).
- Test installations on various Linux distributions.
- Create a license for the UIUC specific LLVM code.
- Add a license file to the distribution.
- Add a copyright notice and license information to each source file.
- Create man pages for the LLVM utilities.

Last modified: Sat May 31 14:54:03 CDT 2003