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<library base name></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>
If you have any questions or need any help creating an LLVM project,
the LLVM team would be more than happy to help. You can always post your
- questions to the LLVM Developers Mailing List (<a
- href="mailto:llvmdev.cs.uiuc.edu">llvmdev@cs.uiuc.edu</a>).
+ questions to the <a
+ href="http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVM Developers
+ Mailing List</a>.
<hr>
-Written by <a href="mailto:criswell@uiuc.edu">John Criswell</a>.
+<address><a href="mailto:criswell@uiuc.edu">John Criswell</a></address><br>
+<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
+Last modified: $Date$
+
</body>
</html>