[llvm-commits] CVS: llvm/docs/MakefileGuide.html

Reid Spencer reid at x10sys.com
Sun Nov 28 23:45:02 PST 2004



Changes in directory llvm/docs:

MakefileGuide.html updated: 1.14 -> 1.15
---
Log message:

* Document how to turn on doxygen documentation generation
* Document the new "LLVMLIBS=JIT" feature to make building JIT programs
  super easy.


---
Diffs of the changes:  (+51 -4)

Index: llvm/docs/MakefileGuide.html
diff -u llvm/docs/MakefileGuide.html:1.14 llvm/docs/MakefileGuide.html:1.15
--- llvm/docs/MakefileGuide.html:1.14	Thu Nov 25 14:21:53 2004
+++ llvm/docs/MakefileGuide.html	Mon Nov 29 01:44:51 2004
@@ -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>
 
 <!-- ======================================================================= -->
@@ -847,7 +894,7 @@
 
   <a href="mailto:rspencer at x10sys.com">Reid Spencer</a><br>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2004/11/25 20:21:53 $
+  Last modified: $Date: 2004/11/29 07:44:51 $
 </address>
 
 </body>






More information about the llvm-commits mailing list