[Lldb-commits] [lldb] r225022 - Fix HTML formatting and non-conformance.
Nico Weber
thakis at chromium.org
Tue Dec 30 17:22:22 PST 2014
You're right, I hallucinated a '-' in front of the <body> line. Sorry for
the noise.
On Tue, Dec 30, 2014 at 4:51 PM, Zachary Turner <zturner at google.com> wrote:
> Hmm are you sure? Looking at the patch text, only some empty lines before
> and after the opening <body> were removed. Are you seeing this live on the
> website?
>
> On Tue, Dec 30, 2014 at 4:49 PM Nico Weber <thakis at chromium.org> wrote:
>
>> Looks like the opening <body> tag got lost, but the closing </body> is
>> still around.
>>
>> On Tue, Dec 30, 2014 at 4:06 PM, Zachary Turner <zturner at google.com>
>> wrote:
>>
>>> Author: zturner
>>> Date: Tue Dec 30 18:06:41 2014
>>> New Revision: 225022
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=225022&view=rev
>>> Log:
>>> Fix HTML formatting and non-conformance.
>>>
>>> Modified:
>>> lldb/trunk/www/build.html
>>>
>>> Modified: lldb/trunk/www/build.html
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/lldb/trunk/www/build.html?rev=225022&r1=225021&r2=225022&view=diff
>>>
>>> ==============================================================================
>>> --- lldb/trunk/www/build.html (original)
>>> +++ lldb/trunk/www/build.html Tue Dec 30 18:06:41 2014
>>> @@ -1,112 +1,129 @@
>>> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
>>> http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>>> +<!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">
>>> <head>
>>> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
>>> />
>>> -<link href="style.css" rel="stylesheet" type="text/css" />
>>> -<title>Building LLDB</title>
>>> + <meta http-equiv="Content-Type" content="text/html;
>>> charset=iso-8859-1" />
>>> + <link href="style.css" rel="stylesheet" type="text/css" />
>>> + <title>Building LLDB</title>
>>> </head>
>>> -
>>> <body>
>>> - <div class="www_title">
>>> - The <strong>LLDB</strong> Debugger
>>> - </div>
>>> -
>>> -<div id="container">
>>> - <div id="content">
>>> -
>>> - <!--#include virtual="sidebar.incl"-->
>>> -
>>> - <div id="middle">
>>> - <h1 class ="postheader">Continuous Integraton</h1>
>>> - <div class="postcontent">
>>> - <p> The following LLVM buildbots build and test
>>> LLDB trunk:
>>> - <ul>
>>> - <li> <a href="
>>> http://lab.llvm.org:8011/builders/lldb-x86_64-debian-clang">LLDB Linux
>>> x86_64 build with Clang (automake)</a>
>>> - <li> <a href="
>>> http://lab.llvm.org:8011/builders/lldb-x86_64-linux">LLDB Linux x86_64
>>> build with GCC 4.6 (automake)</a>
>>> - <li> <a href="
>>> http://lab.llvm.org:8011/builders/lldb-x86_64-darwin12">LLDB Mac OS X
>>> x86_64 build with Clang (XCode)</a>
>>> - <li> <a href="
>>> http://llvm-amd64.freebsd.your.org:8010/builders/lldb-amd64-freebsd">LLDB
>>> FreeBSD x86_64 (CMake)</a>
>>> - <li> <a href="
>>> http://llvm-amd64.freebsd.your.org:8010/builders/lldb-i386-freebsd">LLDB
>>> FreeBSD i386</a>
>>> - </ul>
>>> - </div>
>>> - <div class="postfooter"></div>
>>> - <div class="post">
>>> - <h1 class ="postheader">Building LLDB on Mac OS
>>> X</h1>
>>> - <div class="postcontent">
>>> - <p>Building on Mac OS X is as easy as
>>> downloading the code and building the Xcode project or workspace:</p>
>>> - </div>
>>> - <div class="postcontent">
>>> - <h2>Preliminaries</h2>
>>> - <ul>
>>> - <li>XCode 4.3 or newer requires the "Command
>>> Line Tools" component (XCode->Preferences->Downloads->Components).</li>
>>> - <li>Mac OS X Lion or newer requires installing
>>> <a href="http://swig.org">Swig</a>.</li>
>>> - </ul>
>>> - <h2>Building LLDB</h2>
>>> - <ul>
>>> - <li><a href="download.html">Download</a> the
>>> lldb sources.</li>
>>> - <li>Follow the code signing instructions in
>>> <b>lldb/docs/code-signing.txt</b></li>
>>> - <li>In Xcode 3.x: <b>lldb/lldb.xcodeproj</b>,
>>> select the <b>lldb-tool</b> target, and build.</li>
>>> - <li>In Xcode 4.x: <b>lldb/lldb.xcworkspace</b>,
>>> select the <b>lldb-tool</b> scheme, and build.</li>
>>> - </ul>
>>> - </div>
>>> - <div class="postfooter"></div>
>>> - </div>
>>> - <div class="post">
>>> - <h1 class ="postheader">Building LLDB on Linux
>>> and FreeBSD</h1>
>>> - <div class="postcontent">
>>> - <p>This document describes the steps needed
>>> to compile LLDB on most Linux systems, and FreeBSD.</a></p>
>>> - </div>
>>> - <div class="postcontent">
>>> - <h2>Preliminaries</h2>
>>> - <p>LLDB relies on many of the technologies developed by
>>> the larger LLVM project.
>>> - In particular, it requires both Clang and LLVM itself
>>> in order to build. Due to
>>> - this tight integration the <em>Getting Started</em>
>>> guides for both of these projects
>>> - come as prerequisite reading:</p>
>>> - <ul>
>>> - <li><a href="
>>> http://llvm.org/docs/GettingStarted.html">LLVM</a></li>
>>> - <li><a href="http://clang.llvm.org/get_started.html
>>> ">Clang</a></li>
>>> - </ul>
>>> - <p>Supported compilers for building LLDB on Linux
>>> include:</p>
>>> - <ul>
>>> - <li>Clang 3.2</li>
>>> - <li><a href="http://gcc.gnu.org">GCC</a> 4.6.2
>>> (later versions should work as well)</li>
>>> - </ul>
>>> - <p>It is recommended to use libstdc++ 4.6 (or higher)
>>> to build LLDB on Linux, but using libc++ is also known to work.</p>
>>> - <p>On FreeBSD the base system Clang and libc++ may be
>>> used to build LLDB,
>>> - or the GCC port or package.</p>
>>> - <p>In addition to any dependencies required by LLVM and
>>> Clang, LLDB needs a few
>>> - development packages that may also need to be installed
>>> depending on your
>>> - system. The current list of dependencies are:</p>
>>> - <ul>
>>> - <li><a href="http://swig.org">Swig</a></li>
>>> - <li><a href="http://www.thrysoee.dk/editline">libedit</a>
>>> (Linux only)</li>
>>> - <li><a href="http://www.python.org">Python</a></li>
>>> - </ul>
>>> - <p>So for example, on a Fedora system one might run:</p>
>>> - <code>> yum install swig python-devel
>>> libedit-devel</code>
>>> - <p>On a Debian or Ubuntu system one might run:</p>
>>> - <code>> sudo apt-get install build-essential
>>> subversion swig python2.7-dev libedit-dev libncurses5-dev </code>
>>> - <p>or</p>
>>> - <code>> sudo apt-get build-dep lldb-3.3 # or
>>> lldb-3.4</code>
>>> - <p>On FreeBSD one might run:</p>
>>> - <code>> pkg install swig python</code>
>>> - <p>If you wish to build the optional reference
>>> documentation, additional dependencies are required:</p>
>>> - <ul>
>>> - <li> Graphviz (for the 'dot' tool).
>>> - <li> doxygen (only if you wish to build the C++ API
>>> reference)
>>> - <li> epydoc (only if you wish to build the Python API
>>> reference)
>>> - </ul>
>>> - <p>To install the prerequisites for building the
>>> documentation (on Debian/Ubuntu) do:</p>
>>> - <code>
>>> - <br>> sudo apt-get install doxygen graphviz
>>> - <br>> sudo pip install epydoc # or install package
>>> python-epydoc
>>> - </code>
>>> - <h2 >Building LLDB</h2>
>>> - <p>We first need to checkout the source trees into the
>>> appropriate locations. Both
>>> - Clang and LLDB build as subprojects of LLVM. This
>>> means we will be checking out
>>> - the source for both Clang and LLDB into the
>>> <tt>tools</tt> subdirectory of LLVM. We
>>> - will be setting up a directory hierarchy looking
>>> something like this:</p>
>>> - <p>
>>> - <pre><tt>
>>> + <div class="www_title">
>>> + The <strong>LLDB</strong> Debugger
>>> + </div>
>>> +
>>> + <div id="container">
>>> + <div id="content">
>>> +
>>> + <!--#include virtual="sidebar.incl"-->
>>> +
>>> + <div id="middle">
>>> + <h1 class="postheader">Continuous Integraton</h1>
>>> + <div class="postcontent">
>>> + <p>
>>> + The following LLVM buildbots build and test LLDB trunk:
>>> + <ul>
>>> + <li> <a href="
>>> http://lab.llvm.org:8011/builders/lldb-x86_64-debian-clang">LLDB Linux
>>> x86_64 build with Clang (automake)</a>
>>> + </li>
>>> + <li> <a href="
>>> http://lab.llvm.org:8011/builders/lldb-x86_64-linux">LLDB Linux x86_64
>>> build with GCC 4.6 (automake)</a>
>>> + </li>
>>> + <li> <a href="
>>> http://lab.llvm.org:8011/builders/lldb-x86_64-darwin12">LLDB Mac OS X
>>> x86_64 build with Clang (XCode)</a>
>>> + </li>
>>> + <li> <a href="
>>> http://llvm-amd64.freebsd.your.org:8010/builders/lldb-amd64-freebsd">LLDB
>>> FreeBSD x86_64 (CMake)</a>
>>> + </li>
>>> + <li> <a href="
>>> http://llvm-amd64.freebsd.your.org:8010/builders/lldb-i386-freebsd">LLDB
>>> FreeBSD i386</a>
>>> + </li>
>>> + </ul>
>>> + </p>
>>> + </div>
>>> + <div class="postfooter"></div>
>>> + <div class="post">
>>> + <h1 class="postheader">Building LLDB on Mac OS X</h1>
>>> + <div class="postcontent">
>>> + <p>Building on Mac OS X is as easy as downloading the code
>>> and building the Xcode project or workspace:</p>
>>> + </div>
>>> + <div class="postcontent">
>>> + <h2>Preliminaries</h2>
>>> + <ul>
>>> + <li>XCode 4.3 or newer requires the "Command Line Tools"
>>> component (XCode->Preferences->Downloads->Components).</li>
>>> + <li>Mac OS X Lion or newer requires installing <a href="
>>> http://swig.org">Swig</a>.</li>
>>> + </ul>
>>> + <h2>Building LLDB</h2>
>>> + <ul>
>>> + <li><a href="download.html">Download</a> the lldb
>>> sources.</li>
>>> + <li>Follow the code signing instructions in
>>> <b>lldb/docs/code-signing.txt</b></li>
>>> + <li>In Xcode 3.x: <b>lldb/lldb.xcodeproj</b>, select the
>>> <b>lldb-tool</b> target, and build.</li>
>>> + <li>In Xcode 4.x: <b>lldb/lldb.xcworkspace</b>, select
>>> the <b>lldb-tool</b> scheme, and build.</li>
>>> + </ul>
>>> + </div>
>>> + <div class="postfooter"></div>
>>> + </div>
>>> + <div class="post">
>>> + <h1 class="postheader">Building LLDB on Linux and FreeBSD</h1>
>>> + <div class="postcontent">
>>> + <p>This document describes the steps needed to compile LLDB
>>> on most Linux systems, and FreeBSD.</a></p>
>>> + </div>
>>> + <div class="postcontent">
>>> + <h2>Preliminaries</h2>
>>> + <p>
>>> + LLDB relies on many of the technologies developed by the
>>> larger LLVM project.
>>> + In particular, it requires both Clang and LLVM itself in
>>> order to build. Due to
>>> + this tight integration the <em>Getting Started</em>
>>> guides for both of these projects
>>> + come as prerequisite reading:
>>> + </p>
>>> + <ul>
>>> + <li><a href="http://llvm.org/docs/GettingStarted.html
>>> ">LLVM</a></li>
>>> + <li><a href="http://clang.llvm.org/get_started.html
>>> ">Clang</a></li>
>>> + </ul>
>>> + <p>Supported compilers for building LLDB on Linux
>>> include:</p>
>>> + <ul>
>>> + <li>Clang 3.2</li>
>>> + <li><a href="http://gcc.gnu.org">GCC</a> 4.6.2 (later
>>> versions should work as well)</li>
>>> + </ul>
>>> + <p>It is recommended to use libstdc++ 4.6 (or higher) to
>>> build LLDB on Linux, but using libc++ is also known to work.</p>
>>> + <p>
>>> + On FreeBSD the base system Clang and libc++ may be used
>>> to build LLDB,
>>> + or the GCC port or package.
>>> + </p>
>>> + <p>
>>> + In addition to any dependencies required by LLVM and
>>> Clang, LLDB needs a few
>>> + development packages that may also need to be installed
>>> depending on your
>>> + system. The current list of dependencies are:
>>> + </p>
>>> + <ul>
>>> + <li><a href="http://swig.org">Swig</a></li>
>>> + <li><a href="http://www.thrysoee.dk/editline">libedit</a>
>>> (Linux only)</li>
>>> + <li><a href="http://www.python.org">Python</a></li>
>>> + </ul>
>>> + <p>So for example, on a Fedora system one might run:</p>
>>> + <code>> yum install swig python-devel
>>> libedit-devel</code>
>>> + <p>On a Debian or Ubuntu system one might run:</p>
>>> + <code>> sudo apt-get install build-essential subversion
>>> swig python2.7-dev libedit-dev libncurses5-dev </code>
>>> + <p>or</p>
>>> + <code>> sudo apt-get build-dep lldb-3.3 # or
>>> lldb-3.4</code>
>>> + <p>On FreeBSD one might run:</p>
>>> + <code>> pkg install swig python</code>
>>> + <p>If you wish to build the optional reference
>>> documentation, additional dependencies are required:</p>
>>> + <ul>
>>> + <li> Graphviz (for the 'dot' tool).
>>> + </li>
>>> + <li> doxygen (only if you wish to build the C++ API
>>> reference)
>>> + </li>
>>> + <li> epydoc (only if you wish to build the Python API
>>> reference)
>>> + </li>
>>> + </ul>
>>> + <p>To install the prerequisites for building the
>>> documentation (on Debian/Ubuntu) do:</p>
>>> + <code>
>>> + <br />> sudo apt-get install doxygen graphviz
>>> + <br />> sudo pip install epydoc # or install package
>>> python-epydoc
>>> + </code>
>>> + <h2>Building LLDB</h2>
>>> + <p>
>>> + We first need to checkout the source trees into the
>>> appropriate locations. Both
>>> + Clang and LLDB build as subprojects of LLVM. This means
>>> we will be checking out
>>> + the source for both Clang and LLDB into the
>>> <tt>tools</tt> subdirectory of LLVM. We
>>> + will be setting up a directory hierarchy looking
>>> something like this:
>>> + </p>
>>> + <p>
>>> + <pre><tt>
>>> llvm
>>> |
>>> `-- tools
>>> @@ -115,125 +132,161 @@
>>> |
>>> `-- lldb
>>> </tt></pre>
>>> - </p>
>>> - <p>For reference, we will call the root of the LLVM
>>> project tree <tt>$llvm</tt>, and the
>>> - roots of the Clang and LLDB source trees
>>> <tt>$clang</tt> and <tt>$lldb</tt> respectively.</p>
>>> - <p>Change to the directory where you want to do
>>> development work and checkout LLVM:</p>
>>> - <code>> svn co
>>> http://llvm.org/svn/llvm-project/llvm/trunk llvm</code>
>>> -
>>> - <p>Now switch to LLVM’s tools subdirectory and
>>> checkout both Clang and LLDB:</p>
>>> - <code>> cd $llvm/tools
>>> - <br>> svn co
>>> http://llvm.org/svn/llvm-project/cfe/trunk clang
>>> - <br>> svn co
>>> http://llvm.org/svn/llvm-project/lldb/trunk lldb
>>> - </code>
>>> -
>>> - <p>In general, building the LLDB trunk revision
>>> requires trunk revisions of both
>>> - LLVM and Clang.
>>> - <p>It is highly recommended that you build the system
>>> out of tree. Create a second
>>> - build directory and configure the LLVM project tree to
>>> your specifications as
>>> - outlined in LLVM’s <em>Getting Started
>>> Guide</em>. A typical build procedure
>>> - might be:</p>
>>> - <code>> cd $llvm/..
>>> - <br>> mkdir build
>>> - <br>> cd build
>>> - </code>
>>> - <h2>To build with CMake</h2>
>>> - <p>Using CMake is documented on the <a href="
>>> http://llvm.org/docs/CMake.html">Building LLVM with CMake</a>
>>> - page. Building LLDB is possible using one of the
>>> following generators:
>>> - </p>
>>> - <ul>
>>> - <li> Ninja </li>
>>> - <li> Unix Makefiles </li>
>>> - </ul>
>>> - <h3>Using CMake + Ninja</h3>
>>> - <p>Ninja is the fastest way to build LLDB! In order to
>>> use ninja, you need to have recent versions of CMake and
>>> - ninja on your system. To build using ninja:
>>> - </p>
>>> - <code>
>>> - > cmake .. -G Ninja
>>> - <br>> ninja lldb
>>> - <br>> ninja check-lldb
>>> - </code>
>>> - <h3>Using CMake + Unix Makefiles</h3>
>>> - <p>If you do not have Ninja, you can still use CMake to
>>> generate Unix Makefiles that build LLDB:</p>
>>> - <code>
>>> - > cmake ..
>>> - <br>> make
>>> - <br>> make check-lldb
>>> - </code>
>>> - <h2>To build with autoconf</h2>
>>> - <p>If you do not have CMake, it is still possible to
>>> build LLDB using the autoconf build system. If you are using
>>> - Clang or GCC 4.8+, run:</p>
>>> - <code>
>>> - > $llvm/configure
>>> - <br>> make </code>
>>> - <p>If you are building with a GCC that isn't the
>>> default gcc/g++, like gcc-4.9/g++-4.9</p>
>>> - <code>
>>> - > $llvm/configure CC=gcc-4.9 CXX=g++-4.9
>>> - <br>> make CC=gcc-4.9 CXX=g++-4.9</code>
>>> - <p>If you are running in a system that doesn't have a
>>> lot of RAM (less than 4GB), you might want to disable
>>> - debug symbols by specifying DEBUG_SYMBOLS=0 when
>>> running make. You will know if you need to enable this
>>> - because you will fail to link clang (the linker
>>> will get a SIGKILL and exit with status 9).</p>
>>> - <code>
>>> - > make DEBUG_SYMBOLS=0</code>
>>> - <p> To run the LLDB test suite, run:</p>
>>> - <code>
>>> - <br>> make -C tools/lldb/test</code>
>>> - <p>Note that once both LLVM and Clang have been
>>> configured and built it is not
>>> - necessary to perform a top-level <tt>make</tt> to
>>> rebuild changes made only to LLDB.
>>> - You can run <tt>make</tt> from the
>>> <tt>build/tools/lldb</tt> subdirectory as well.</p>
>>> - <p> If you wish to build with libc++ instead of
>>> libstdc++ (the default), run configure with the
>>> - <tt>--enable-libcpp</tt> flag.</p>
>>> - <p> If you wish to build a release version of LLDB, run
>>> configure with the <tt>--enable-optimized</tt> flag.</p>
>>> + </p>
>>> + <p>
>>> + For reference, we will call the root of the LLVM project
>>> tree <tt>$llvm</tt>, and the
>>> + roots of the Clang and LLDB source trees <tt>$clang</tt>
>>> and <tt>$lldb</tt> respectively.
>>> + </p>
>>> + <p>Change to the directory where you want to do development
>>> work and checkout LLVM:</p>
>>> + <code>> svn co
>>> http://llvm.org/svn/llvm-project/llvm/trunk llvm</code>
>>> +
>>> + <p>Now switch to LLVM’s tools subdirectory and
>>> checkout both Clang and LLDB:</p>
>>> + <code>
>>> + > cd $llvm/tools
>>> + <br />> svn co
>>> http://llvm.org/svn/llvm-project/cfe/trunk clang
>>> + <br />> svn co
>>> http://llvm.org/svn/llvm-project/lldb/trunk lldb
>>> + </code>
>>>
>>> - <h2>Testing</h2>
>>> - <p>By default, the <tt>check-lldb</tt> target builds
>>> the 64-bit variants of the test programs with the same
>>> - compiler that was used to build LLDB. It is possible to
>>> customize the architecture and compiler by appending -A and
>>> - -C options respectively to the CMake variable
>>> <tt>LLDB_TEST_ARGS</tt>. For example, to test LLDB against 32-bit binaries
>>> - built with a custom version of clang, do:</p>
>>> - <code>
>>> - <br>> cmake -DLLDB_TEST_ARGS="-A i386 -C
>>> /path/to/custom/clang" -G Ninja
>>> - <br>> ninja check-lldb
>>> - </code>
>>> - <p>Note that multiple -A and -C flags can be specified
>>> to <tt>LLDB_TEST_ARGS</tt>.</p>
>>> - <p>In addition to running all the LLDB test suites with
>>> the "check-lldb" CMake target above, it is possible to
>>> - run individual LLDB tests. For example, to run the test
>>> cases defined in TestInferiorCrashing.py, run:</p>
>>> - <code>
>>> - <br>> cd $lldb/test
>>> - <br>> python dotest.py --executable
>>> <path-to-lldb> -p TestInferiorCrashing.py
>>> - </code>
>>> - <p>In addition to running a test by name, it is also
>>> possible to specify a directory path to <tt>dotest.py</tt>
>>> - in order to run all the tests under that directory. For
>>> example, to run all the tests under the
>>> - 'functionalities/data-formatter' directory, run:</p>
>>> - <code>
>>> - <br>> python dotest.py --executable
>>> <path-to-lldb> functionalities/data-formatter
>>> - </code>
>>> - <p>To dump additional information to <tt>stdout</tt>
>>> about how the test harness is driving LLDB, run
>>> - <tt>dotest.py</tt> with the <tt>-t</tt> flag. Many more
>>> options that are available. To see a list of all of them, run:</p>
>>> - <code>
>>> - <br>> python dotest.py -h
>>> - </code>
>>> - <h2>Building API reference documentation</h2>
>>> - <p>LLDB exposes a C++ as well as a Python API. To build
>>> the reference documentation for these two APIs, ensure you have
>>> - the required dependencies installed, and build the
>>> <tt>lldb-python-doc</tt> and <tt>lldb-cpp-doc</tt> CMake targets.</p>
>>> - <p> The output HTML reference documentation can be
>>> found in <tt><build-dir>/tools/lldb/docs/</tt>.<p>
>>> - <h2>Additional Notes</h2>
>>> - <p>LLDB has a Python scripting capability and supplies
>>> its own Python module named <tt>lldb</tt>.
>>> - If a script is run inside the command line
>>> <tt>lldb</tt> application, the Python module
>>> - is made available automatically. However, if a script
>>> is to be run by a Python interpreter
>>> - outside the command line application, the
>>> <tt>PYTHONPATH</tt> environment variable can be used
>>> - to let the Python interpreter find the <tt>lldb</tt>
>>> module.
>>> - <p>The correct path can be obtained by invoking the
>>> command line <tt>lldb</tt> tool with the -P flag:</p>
>>> - <code>> export
>>> PYTHONPATH=`$llvm/build/Debug+Asserts/bin/lldb -P`</code>
>>> - <p>If you used a different build directory or made a
>>> release build, you may need to adjust the
>>> - above to suit your needs. To test that the lldb Python
>>> module
>>> - is built correctly and is available to the default
>>> Python interpreter, run:</p>
>>> - <code>> python -c 'import lldb'</code></p>
>>> - </div>
>>> - <div class="postfooter"></div>
>>> - </div>
>>> - </div>
>>> - </div>
>>> -</div>
>>> + <p>
>>> + In general, building the LLDB trunk revision requires
>>> trunk revisions of both
>>> + LLVM and Clang.
>>> + </p>
>>> + <p>
>>> + It is highly recommended that you build the system out of
>>> tree. Create a second
>>> + build directory and configure the LLVM project tree to
>>> your specifications as
>>> + outlined in LLVM’s <em>Getting Started Guide</em>.
>>> A typical build procedure
>>> + might be:
>>> + </p>
>>> + <code>
>>> + > cd $llvm/..
>>> + <br />> mkdir build
>>> + <br />> cd build
>>> + </code>
>>> + <h2>To build with CMake</h2>
>>> + <p>
>>> + Using CMake is documented on the <a href="
>>> http://llvm.org/docs/CMake.html">Building LLVM with CMake</a>
>>> + page. Building LLDB is possible using one of the
>>> following generators:
>>> + </p>
>>> + <ul>
>>> + <li> Ninja </li>
>>> + <li> Unix Makefiles </li>
>>> + </ul>
>>> + <h3>Using CMake + Ninja</h3>
>>> + <p>
>>> + Ninja is the fastest way to build LLDB! In order to use
>>> ninja, you need to have recent versions of CMake and
>>> + ninja on your system. To build using ninja:
>>> + </p>
>>> + <code>
>>> + > cmake .. -G Ninja
>>> + <br />> ninja lldb
>>> + <br />> ninja check-lldb
>>> + </code>
>>> + <h3>Using CMake + Unix Makefiles</h3>
>>> + <p>If you do not have Ninja, you can still use CMake to
>>> generate Unix Makefiles that build LLDB:</p>
>>> + <code>
>>> + > cmake ..
>>> + <br />> make
>>> + <br />> make check-lldb
>>> + </code>
>>> + <h2>To build with autoconf</h2>
>>> + <p>
>>> + If you do not have CMake, it is still possible to build
>>> LLDB using the autoconf build system. If you are using
>>> + Clang or GCC 4.8+, run:
>>> + </p>
>>> + <code>
>>> + > $llvm/configure
>>> + <br />> make
>>> + </code>
>>> + <p>If you are building with a GCC that isn't the default
>>> gcc/g++, like gcc-4.9/g++-4.9</p>
>>> + <code>
>>> + > $llvm/configure CC=gcc-4.9 CXX=g++-4.9
>>> + <br />> make CC=gcc-4.9 CXX=g++-4.9
>>> + </code>
>>> + <p>
>>> + If you are running in a system that doesn't have a lot of
>>> RAM (less than 4GB), you might want to disable
>>> + debug symbols by specifying DEBUG_SYMBOLS=0 when running
>>> make. You will know if you need to enable this
>>> + because you will fail to link clang (the linker will get
>>> a SIGKILL and exit with status 9).
>>> + </p>
>>> + <code>
>>> + > make DEBUG_SYMBOLS=0
>>> + </code>
>>> + <p> To run the LLDB test suite, run:</p>
>>> + <code>
>>> + <br />> make -C tools/lldb/test
>>> + </code>
>>> + <p>
>>> + Note that once both LLVM and Clang have been configured
>>> and built it is not
>>> + necessary to perform a top-level <tt>make</tt> to rebuild
>>> changes made only to LLDB.
>>> + You can run <tt>make</tt> from the
>>> <tt>build/tools/lldb</tt> subdirectory as well.
>>> + </p>
>>> + <p>
>>> + If you wish to build with libc++ instead of libstdc++
>>> (the default), run configure with the
>>> + <tt>--enable-libcpp</tt> flag.
>>> + </p>
>>> + <p> If you wish to build a release version of LLDB, run
>>> configure with the <tt>--enable-optimized</tt> flag.</p>
>>> + <h2>Testing</h2>
>>> + <p>
>>> + By default, the <tt>check-lldb</tt> target builds the
>>> 64-bit variants of the test programs with the same
>>> + compiler that was used to build LLDB. It is possible to
>>> customize the architecture and compiler by appending -A and
>>> + -C options respectively to the CMake variable
>>> <tt>LLDB_TEST_ARGS</tt>. For example, to test LLDB against 32-bit binaries
>>> + built with a custom version of clang, do:
>>> + </p>
>>> + <code>
>>> + <br />> cmake -DLLDB_TEST_ARGS="-A i386 -C
>>> /path/to/custom/clang" -G Ninja
>>> + <br />> ninja check-lldb
>>> + </code>
>>> + <p>Note that multiple -A and -C flags can be specified to
>>> <tt>LLDB_TEST_ARGS</tt>.</p>
>>> + <p>
>>> + In addition to running all the LLDB test suites with the
>>> "check-lldb" CMake target above, it is possible to
>>> + run individual LLDB tests. For example, to run the test
>>> cases defined in TestInferiorCrashing.py, run:
>>> + </p>
>>> + <code>
>>> + <br />> cd $lldb/test
>>> + <br />> python dotest.py --executable
>>> <path-to-lldb> -p TestInferiorCrashing.py
>>> + </code>
>>> + <p>
>>> + In addition to running a test by name, it is also
>>> possible to specify a directory path to <tt>dotest.py</tt>
>>> + in order to run all the tests under that directory. For
>>> example, to run all the tests under the
>>> + 'functionalities/data-formatter' directory, run:
>>> + </p>
>>> + <code>
>>> + <br />> python dotest.py --executable
>>> <path-to-lldb> functionalities/data-formatter
>>> + </code>
>>> + <p>
>>> + To dump additional information to <tt>stdout</tt> about
>>> how the test harness is driving LLDB, run
>>> + <tt>dotest.py</tt> with the <tt>-t</tt> flag. Many more
>>> options that are available. To see a list of all of them, run:
>>> + </p>
>>> + <code>
>>> + <br />> python dotest.py -h
>>> + </code>
>>> + <h2>Building API reference documentation</h2>
>>> + <p>
>>> + LLDB exposes a C++ as well as a Python API. To build the
>>> reference documentation for these two APIs, ensure you have
>>> + the required dependencies installed, and build the
>>> <tt>lldb-python-doc</tt> and <tt>lldb-cpp-doc</tt> CMake targets.
>>> + </p>
>>> + <p> The output HTML reference documentation can be found in
>>> <tt><build-dir>/tools/lldb/docs/</tt>.</p><p>
>>> + <h2>Additional Notes</h2>
>>> + </p>
>>> + <p>
>>> + LLDB has a Python scripting capability and supplies its
>>> own Python module named <tt>lldb</tt>.
>>> + If a script is run inside the command line <tt>lldb</tt>
>>> application, the Python module
>>> + is made available automatically. However, if a script is
>>> to be run by a Python interpreter
>>> + outside the command line application, the
>>> <tt>PYTHONPATH</tt> environment variable can be used
>>> + to let the Python interpreter find the <tt>lldb</tt>
>>> module.
>>> + </p>
>>> + <p>The correct path can be obtained by invoking the command
>>> line <tt>lldb</tt> tool with the -P flag:</p>
>>> + <code>> export
>>> PYTHONPATH=`$llvm/build/Debug+Asserts/bin/lldb -P`</code>
>>> + <p>
>>> + If you used a different build directory or made a release
>>> build, you may need to adjust the
>>> + above to suit your needs. To test that the lldb Python
>>> module
>>> + is built correctly and is available to the default Python
>>> interpreter, run:
>>> + </p>
>>> + <code>> python -c 'import lldb'</code></p>
>>> + </div>
>>> + <div class="postfooter"></div>
>>> + </div>
>>> + </div>
>>> + </div>
>>> + </div>
>>> </body>
>>> </html>
>>>
>>>
>>> _______________________________________________
>>> lldb-commits mailing list
>>> lldb-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20141230/33b7080e/attachment.html>
More information about the lldb-commits
mailing list