Add a new bugfix
[oota-llvm.git] / docs / Projects.html
index a82890b267a7c5b9d426f009b19bca380b73d0f7..5de4b58670ea7a5b76739b627595bb8463570056 100644 (file)
                code for executables.  For each program that you build, you
                will have one directory in <b>tools</b> that will contain that
                program's source code.
+               <p>
+
+               <dt><b>test</b>
+               <dd>
+               This subdirectory should contain tests that verify that your code
+               works correctly.  Automated tests are especially useful.
+               <p>
+               Currently, the LLVM build system provides little support for tests,
+               although some exists.  Expanded support for tests will hopefully
+               occur in the future.  In the meantime, the LLVM system does provide the
+               following:
+               <ul>
+                       <li>
+                       LLVM provides several QMTest test classes that can be used to
+                       create tests.  They can be found in
+                       <tt>llvm/test/QMTest/llvm.py</tt>.  These test classes perform a
+                       variety of functions, including code optimization tests, assembly
+                       tests,  and code analysis tests.  The Makefile in
+                       <tt>llvm/test</tt> provides the QMTest context needed by LLVM test
+                       classes.
+                       <p>
+
+                       <li>
+                       The LLVM source tree provides benchmarks and programs which are
+                       known to compile with the LLVM GCC front ends.  You can use these
+                       programs to test your code, gather statistics information, and
+                       compare it to the current LLVM performance statistics.  These
+                       programs are found in the <tt>llvm/test/Programs</tt> directory.
+                       <p>
+                       Currently, there is no way to hook your tests directly into the
+                       <tt>llvm/test/Programs</tt> testing harness.  You will simply
+                       need to find a way to use the source provided within that directory
+                       on your own.
+               </ul>
        </dl>
 
        Typically, you will want to build your <b>lib</b> directory first
                For example, to link libsample.a, you would set USEDLIBS to
                <tt>sample</tt>.
                <p>
+               Note that this works only for statically linked libraries.
+               <p>
+
+               <dt>LIBS
+               <dd>
+               To link dynamic libraries, add <tt>-l&lt;library base name&gt;</tt> to
+               the LIBS variable.  The LLVM build system will look in the same places
+               for dynamic libraries as it does for static libraries.
+               <p>
+               For example, to link <tt>libsample.so</tt>, you would have the
+               following line in your <tt>Makefile</tt>:
+               <p>
+               <tt>
+               LIBS+=-lsample
+               </tt>
        </dl>
 
        <h3> Miscellaneous Variables</h3>
        href="mailto:llvmdev.cs.uiuc.edu">llvmdev@cs.uiuc.edu</a>).
        
 <hr>
-Written by the <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>.
+Written by <a href="mailto:criswell@uiuc.edu">John Criswell</a>.
 </body>
 </html>