[llvm-commits] [hlvm] r38279 - /hlvm/trunk/docs/DevelopersGuide.html

saem at cs.uiuc.edu saem at cs.uiuc.edu
Sat Jul 7 17:01:54 PDT 2007


Author: saem
Date: Sat Jul  7 19:01:54 2007
New Revision: 38279

URL: http://llvm.org/viewvc/llvm-project?rev=38279&view=rev
Log:
missing the "co" command for the gcc svn checkout instruction

Modified:
    hlvm/trunk/docs/DevelopersGuide.html

Modified: hlvm/trunk/docs/DevelopersGuide.html
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/docs/DevelopersGuide.html?rev=38279&r1=38278&r2=38279&view=diff

==============================================================================
--- hlvm/trunk/docs/DevelopersGuide.html (original)
+++ hlvm/trunk/docs/DevelopersGuide.html Sat Jul  7 19:01:54 2007
@@ -1,6 +1,71 @@
+<<<<<<< .mine
+
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
+<head>
+  <title>HLVM: Developer's Guide</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+  <meta name="keywords"
+    content="HLVM,High Levl Virtual Machine,virtual machine,VM"/>
+  <meta name="description" 
+    content="A resuable virtula machine infrastructure."/>
+  <link rel="stylesheet" href="/hlvm.css" type="text/css"/>
+  <link rel="icon" href="http://hlvm.org/favicon.png" type="image/png"/>
+  <link rel="shortcut icon" href="http://hlvm.org/favicon.png" 
+    type="image/png"/>
+</head>
+<body>
+<table class="layout"><tr><td class="sidebar">
+<a href="/"
+  onmouseover="window.status='High Level Virtual Machine';return true;"
+  title="High Level Virtual Machine">
+  <img src="/img/logo.png" style="border:none" alt="HLVM Logo"/></a><br/>
+  <br/>
+<b>Contents</b>
+<div class="sidebox">
+  <a href="/">Overview</a><br/>
+  <a href="/docs/ReleasePlans.html">Release Plans</a><br/>
+  <a href="/docs/OpenProjects.html">Open Projects</a><br/>
+  <a href="/docs/GettingStarted.html">Getting Started</a><br/>
+  <a href="/docs/index.html">Documentation</a><br/>
+  <a href="/APIs.shtml">Doxygen APIs</a><br/>
+  <a href="/docs/Credits.html">Credits</a><br/>
+  <a href="/docs/FAQ.html">FAQ</a><br/>
+  <a href="/Feedback.php">Feedback</a><br/>
+</div>
+
+  <br/>
+<b>Search this Site</b>
+<form action="http://www.google.com/search" method="get">
+  <input type="hidden" name="sitesearch" value="hlvm.org"/>
+  <input type="text" name="q" size="11"/>
+  <input type="submit" value="Search!" name="submit"/>
+</form>
+
+  <br/>
+<b>Releases</b>
+<div class="sidebox">
+June 13, 2006 <a href="/releases/0.1/hlvm-0.1-tar.bz2">0.1</a>
+ <a href="/releases/0.1/docs/ReleaseNotes.html">Notes</a><br/>
+</div>
+
+  <br/>
+<b>Status Updates</b>
+<div class="sidebox">
+  <a href="/docs/status/2006-05-25.html">May 25, 2006</a><br/>
+  <a href="/docs/status/2006-04-25.html">April 25, 2006</a><br/>
+</div>
+
+</td>
+<td class="body">
+
+<h1 class="title">HLVM Developer's Guide</h1>
+=======
 <!--#set var="title" value="Developer's Guide" -->
 <!--#include virtual="/incl/header.incl" -->
 <h1 class="title">HLVM Developer's Guide</h1>
+>>>>>>> .r310
 <div class="warning">CAUTION: This document is a work in progress.</div>
 <ol>
   <li><a href="#intro">Introduction</a></li>
@@ -367,6 +432,156 @@
 
 <h3><a name="sanity">A Sane Build Environment</a></h3>
 <div class="text">
+<<<<<<< .mine
+  <p>Building HLVM is no small feat. It depends on a lot of software that is
+  quite version dependent. To bring a little sanity to the process, here is a
+  step-by-step procedure we know to work.</p>
+  <h4>Build Separation</h4>
+  <p>In building HLVM, you'll be installing compilers and library that may
+  already exist on your system. You don't want to overwrite your system versions
+  of these things or it will wreak havoc on your system. So, we suggest that you
+  start with a fresh directory. In the discussion that follows, we'll call it
+  <tt>/proj</tt> (that's what Reid uses).  But, it could be anything you want, 
+  as long as its new.  <tt>~/hlvm</tt> would work just as well.  Choosing the
+  disk location for this should not be taken lightly. You will need upwards of
+  40GB of storage to build all this software.</p>
+  <p>Once you've found a suitable location for HLVM, create the following
+  directory structure:</p><pre>
+  cd /proj
+  mkdir gcc llvm llvm-gcc4 libxml2 apr apru hlvm gperf scons install</pre>
+  <p>In the following sections you will build each of these packages and install
+  them into <tt>/proj/install</tt> which will keep it separate from anything
+  else in your system.</p>
+  <h4>Build GCC 3.4.6</h4>
+  <p>First, start with obtaining GCC 3.4.6. This will be the compiler that you
+  use for all the remaining compilations. Use the following commands to obtain,
+  build and install GCC 3.4.6:</p><pre>
+  cd /proj/gcc
+  mkdir build
+  svn co svn://gcc.gnu.org/svn/gcc/tags/gcc_3_4_6_release src
+  cd ../build
+  ../src/configure  --prefix=/proj/install
+  make 
+  make install</pre>
+  <h4>Set Environment</h4>
+  <p>Now that you have gcc installed in a separate location, you will need to
+  change your environment to ensure that that version of gcc is the one used in
+  subsequent builds. Details vary from platform to platform, but on Linux, the
+  following should work:</p><pre>
+  export PATH=/proj/install/bin:$PATH
+  export LD_LIBRARY_PATH=/proj/install/lib:$LD_LIBRARY_PATH</pre>
+  <p>The essential point is to change your environment so that programs and
+  libraries installed into /proj/install will be found first. You should do this
+  in any shell environment in which you'll be building HLVM related software.
+  </p>
+  <h4>Build gperf</h4>
+  <p>This package is used for generating perfect hash functions. It is used by
+  HLVM for fast recognition of XML element and attribute names. Its easy and
+  fast to build:</p><pre>
+  cd /proj/gperf
+  wget http://mirrors.kernel.org/gnu/gperf/gperf-2.7.2.tar.gz
+  tar zxf gperf-2.7.2.tar.gz
+  mkdir build
+  cd build
+  ../gperf-2.7.2/configure --prefix=/proj/install
+  make
+  make install</pre>
+  <h4>Build libxml2</h4>
+  <p>This package provides all XML services for HLVM. It is part of GNome and
+  many other packages and quite stable. It should build quickly and easily for
+  you. Use these commands:</p><pre>
+  cd /proj/libxml2
+  wget ftp://xmlsoft.org/libxml2/libxml2-2.6.24.tar.gz
+  tar zxf libxml2-2.6.24.tar.gz
+  mkdir build
+  cd build
+  ../libxml2-2.6.24/configure --prefix=/proj/install
+  make
+  make install</pre>
+  <h4>Build apr</h4>
+  <p>The Apache Portable Runtime is a portability layer used within the Apache
+  HTTP Server. Although it is still undergoing active development, stable
+  releases are available. HLVM uses APR for portability in the runtime. Build 
+  APR with the following commands:</p>
+  <pre>
+  cd /proj/apr
+  wget http://mirror.olnevhost.net/pub/apache/apr/apr-1.2.7.tar.gz
+  tar zxf apr-1.2.7.tar.gz
+  mkdir build
+  cd apr-1.2.7
+  ./buildconf
+  cd ../build
+  ../apr-1.2.7/configure --prefix=/proj/install --enable-debug \
+    --enable-threads --enable-other-child
+  make
+  make install</pre>
+  <h4>Build apr-util</h4>
+  <p>The apr-util package is some additional utilities that go with APR. Build 
+  apr-util with the following commands:</p>
+  <pre>
+  cd /proj/apru
+  wget http://mirror.olnevhost.net/pub/apache/apr/apr-util-1.2.7.tar.gz
+  tar zxf apr-1.2.7.tar.gz
+  mkdir build
+  cd apr-util-1.2.7
+  ./buildconf
+  cd ../build
+  ../apr-util-1.2.7/configure --prefix=/proj/install --enable-debug \
+    --enable-threads --enable-other-child
+  make
+  make install</pre>
+  <h4>Build LLVM</h4>
+  <p>For now, you must build LLVM from the CVS repository. Although LLVM is
+  actively being developed, it is generally stable and this is safe. If you get
+  tempted to use a release tarball, it will fail. HLVM depends on post-1.7
+  features of LLVM. When you build LLVM, use the "tools-only" target. This will
+  avoid building the "runtime" portion of LLVM which was necessary for an older
+  version of llvm-gcc (v3). Since we'll be using llvm-gcc4, this is unnecessary
+  and will eliminate some chicken-and-egg type problems.</p>
+  <pre>
+  cd /proj/llvm
+  cvs -d :pserver:anon at llvm-cvs.cs.uiuc.edu:/var/cvs/llvm login
+  <return>
+  cvs -z3 -d :pserver:anon at llvm-cvs.cs.uiuc.edu:/var/cvs/llvm co llvm
+  mkdir build
+  cd build
+  ../llvm/configure --prefix=/proj/install
+  make tools-only
+  make install
+  make ENABLE_OPTIMIZED=1 OPTIMIZE_OPTION=-O2 tools-only</pre>
+  <h4>Build llvm-gcc4</h4>
+  <p>Apple provides a Subversion repository for llvm-gcc4. You need this latest
+  version because HLVM depends on some of the features. You might find this one
+  a bit tricky. See the README.LLVM file in the top source directory for
+  additional help and late breaking news.</p>
+  <pre>
+  cd /proj/llvm-gcc4
+  svn co svn://anonsvn.opensource.apple.com/svn/llvm cfe
+  mkdir build install
+  cd build
+  ../cfe/configure --prefix=/proj/llvm-gcc4/cfe/install \
+    --enable-llvm=/proj/llvm/build --enable-languages=c,c++
+  make
+  make install
+  </pre>
+  <h4>Build HLVM</h4>
+  <p>Note in the following that if you've actually used <tt>/proj</tt> as your
+  build area then you don't need to provide any arguments to <tt>make</tt> as
+  these paths are the default. Also note that the arguments are only needed the
+  first time you build HLVM. Subsequently, these options will be remembered. See
+  the description of SCons above.</p>
+  <pre>
+  cd /proj/hlvm
+  svn co svn://hlvm.org/hlvm hlvm
+  cd hlvm
+  make MYMODE=Debug MYPATH=/proj/llvm/cfe/install:/proj/install \
+    MYPREFIX=/proj/install/bin
+  </pre>
+</div>
+
+<h2><a name="style">Coding Style</a></h2>
+<div class="text">
+=======
   <p>Building HLVM is no small feat. It depends on a lot of software that is
   quite version dependent. To bring a little sanity to the process, here is a
   step-by-step procedure we know to work.</p>
@@ -515,6 +730,7 @@
 
 <h2><a name="style">Coding Style</a></h2>
 <div class="text">
+>>>>>>> .r310
   <p>Contributions to HLVM must meet the following Coding Style
   requirements:</p>
   <ul>
@@ -1041,4 +1257,69 @@
 
 That's all there is to it!
 </pre>
+<<<<<<< .mine
+</td>
+<td class="sidebar">
+  <br/>
+<b>Resources</b>
+<div class="sidebox">
+  <a href="http://hlvm.org/wiki/">Wiki Site</a><br/>
+  <a href="http://hlvm.org/hlvm-dev.shtml">Developers List</a><br/>
+  <a href="http://hlvm.org/hlvm-commits.shtml">Commits List</a><br/>
+  <a href="irc://irc.oftc.net/#hlvm">IRC Channel</a><br/> 
+  <a href="http://hlvm.org/Source.shtml">Latest Source</a><br/>
+  <a href="http://hlvm.org/WebSVN.shtml">Web SVN</a><br/>
+  <a href="http://hlvm.org/bugs/">HLVM Bugzilla</a>
+</div>
+
+  <br/>
+<b>Random Facts</b><br/>
+<div class="sidebox">
+HLVM uses the <a href="http://xmlsoft.org/">Libxml2 Library</a> to parse and
+validate XML documents that generate the Abstract Syntax Tree. See the
+hlvm-xml2xml program.
+
+
+</div>
+
+
+  <br/>
+<b>Notices</b><br/>
+<div class="sidebox">
+  <a href="http://www.opensource.org/docs/definition.php" 
+    title="Open Source Definition">
+    <img src="/img/osi-certified-60x50.gif" alt="OSI Certification Logo" 
+      style="width:60px;height:50px;border:0"/>
+  </a><br/>
+  <a href="http://validator.w3.org/check/referer" 
+    title="Validate XHTML On This Page">
+    <img src="/img/vxhtml10.gif" style="border:0;width:88px;height:31px" 
+      alt="Valid XHTML 1.0!"/>
+  </a><br/>
+  <a href="http://jigsaw.w3.org/css-validator/check/referer" 
+    title="Validate CSS2 On This Page">
+    <img src="/img/vcss.gif" style="border:0;width:88px;height:31px" 
+      alt="Valid CSS2!"/>
+  </a>
+</div>
+
+
+</td>
+</tr>
+</table>
+<div class="footer">
+<a href="/Privacy.shtml">Privacy</a>  <a 
+href="/Contact.shtml">Contact Us</a>  <a
+href="/Feedback.php">Feedback</a>  <a
+href="/">Home</a>
+<br/>
+Copyright © 2006 Reid Spencer All Rights Reserved.<br/>
+Last Modified: 
+Tuesday, 20-Jun-2006 01:38:09 EDT
+</div>
+</body>
+</html>
+
+=======
 <!--#include virtual="/incl/footer.incl" -->
+>>>>>>> .r310





More information about the llvm-commits mailing list