* Document how to turn on doxygen documentation generation
* Document the new "LLVMLIBS=JIT" feature to make building JIT programs
super easy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18338 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/docs/MakefileGuide.html b/docs/MakefileGuide.html
index af26fa0..6a2db5c 100644
--- a/docs/MakefileGuide.html
+++ b/docs/MakefileGuide.html
@@ -30,6 +30,9 @@
<ol>
<li><a href="#libraries">Libraries</a></li>
<li><a href="#tools">Tools</a></li>
+ <ol>
+ <li><a href="#JIT">JIT Tools</a></li>
+ </ol>
</ol>
</li>
<li><a href="#targets">Targets Supported</a>
@@ -267,6 +270,41 @@
</p>
</div>
+<!-- ======================================================================= -->
+<div class="doc_subsubsection"><a name="JIT">JIT Tools</a></div>
+<div class="doc_text">
+ <p>Many tools will want to use the JIT features of LLVM. However, getting the
+ right set of libraries to link with is tedious, platform specific, and error
+ prone. Additionally, the JIT has special linker switch options that it needs.
+ Consequently, to make it easier to build tools that use the JIT, you can
+ use a special value for the <tt>LLVMLIBS> variable:</p>
+ <pre><tt>
+ TOOLNAME = my_jit_tool
+ USEDLIBS = mylib
+ LLVMLIBS = JIT
+ </tt></pre>
+ <p>Using a value of <tt>JIT</tt> for <tt>LLVMLIBS</tt> tells the makefile
+ system to construct a special value for LLVMLIBS that gives the program all
+ the LLVM libraries needed to run the JIT. Any additional libraries needed can
+ still be specified with <tt>USEDLIBS</tt>. To get a full understanding of how
+ this changes the linker command, it is recommended that you:</p>
+ <pre><tt>
+ cd examples/Fibonacci
+ make VERBOSE=1
+ </tt></pre>
+ <p>By default, using <tt>LLVMLIBS=JIT</tt> will link in enough to support JIT
+ code generation for the architecture on which the tool is linked. If you need
+ additional target architectures linked in, you may specify them on the command
+ line or in your <tt>Makefile</tt>. For example:</p>
+ <pre><tt>
+ ENABLE_X86_JIT=1
+ ENABLE_SPARCV9_JIT=1
+ ENALBE_PPC_JIT=1
+ </tt></pre>
+ <p>will cause the tool to be able to generate code for all three platforms.
+ </p>
+</div>
+
<!-- *********************************************************************** -->
<div class="doc_section"><a name="targets">Targets Supported</a></div>
<!-- *********************************************************************** -->
@@ -411,9 +449,18 @@
<div class="doc_subsection"><a name="install">install</a></div>
<div class="doc_text">
<p>This target finalizes shared objects and executables and copies all
- libraries, headers and executables to the directory given with the
- <tt>--prefix</tt> option to <tt>configure</tt>. When completed, the prefix
- directory will have everything needed to <b>use</b> LLVM. </p>
+ libraries, headers, executables and documentation to the directory given
+ with the <tt>--prefix</tt> option to <tt>configure</tt>. When completed,
+ the prefix directory will have everything needed to <b>use</b> LLVM. </p>
+ <p>The LLVM makefiles can generate complete <b>internal</b> documentation
+ for all the classes by using <tt>doxygen</tt>. By default, this feature is
+ <b>not</b> enabled because it takes a long time and generates a massive
+ amount of data (>100MB). If you want this feature, you must configure LLVM
+ with the --enable-doxygen switch and ensure that a modern version of doxygen
+ (1.3.7 or later) is available in your <tt>PATH</tt>. You can download
+ doxygen from
+ <a href="http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc">
+ here</a>.
</div>
<!-- ======================================================================= -->