[llvm-commits] [hlvm] r38280 - /hlvm/trunk/docs/DevelopersGuide.html
Reid Spencer
reid at x10sys.com
Sat Jul 7 17:01:55 PDT 2007
Author: reid
Date: Sat Jul 7 19:01:55 2007
New Revision: 38280
URL: http://llvm.org/viewvc/llvm-project?rev=38280&view=rev
Log:
Revert Saem's patch that broke this page and apply the correct patch.
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=38280&r1=38279&r2=38280&view=diff
==============================================================================
--- hlvm/trunk/docs/DevelopersGuide.html (original)
+++ hlvm/trunk/docs/DevelopersGuide.html Sat Jul 7 19:01:55 2007
@@ -1,71 +1,6 @@
-<<<<<<< .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>
@@ -432,7 +367,6 @@
<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>
@@ -581,156 +515,6 @@
<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>
- <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 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">
->>>>>>> .r310
<p>Contributions to HLVM must meet the following Coding Style
requirements:</p>
<ul>
@@ -1257,69 +1041,4 @@
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