[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