aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2014-12-31 00:06:41 +0000
committerZachary Turner <zturner@google.com>2014-12-31 00:06:41 +0000
commite511f0307b5e793a4a7d94c362559f2bb96504de (patch)
tree4b3ab91a3d2e59bc7ed59609db541866d74da8fe
parentf936984e33b466733e7e8fd6cc7182b1209cbe21 (diff)
downloadllvm-e511f0307b5e793a4a7d94c362559f2bb96504de.zip
llvm-e511f0307b5e793a4a7d94c362559f2bb96504de.tar.gz
llvm-e511f0307b5e793a4a7d94c362559f2bb96504de.tar.bz2
Fix HTML formatting and non-conformance.
llvm-svn: 225022
-rwxr-xr-xlldb/www/build.html501
1 files changed, 277 insertions, 224 deletions
diff --git a/lldb/www/build.html b/lldb/www/build.html
index 3758bac..f460769 100755
--- a/lldb/www/build.html
+++ b/lldb/www/build.html
@@ -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>&gt; yum install swig python-devel libedit-devel</code>
- <p>On a Debian or Ubuntu system one might run:</p>
- <code>&gt; sudo apt-get install build-essential subversion swig python2.7-dev libedit-dev libncurses5-dev </code>
- <p>or</p>
- <code>&gt; sudo apt-get build-dep lldb-3.3 # or lldb-3.4</code>
- <p>On FreeBSD one might run:</p>
- <code>&gt; 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>&gt; sudo apt-get install doxygen graphviz
- <br>&gt; 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>&gt; yum install swig python-devel libedit-devel</code>
+ <p>On a Debian or Ubuntu system one might run:</p>
+ <code>&gt; sudo apt-get install build-essential subversion swig python2.7-dev libedit-dev libncurses5-dev </code>
+ <p>or</p>
+ <code>&gt; sudo apt-get build-dep lldb-3.3 # or lldb-3.4</code>
+ <p>On FreeBSD one might run:</p>
+ <code>&gt; 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 />&gt; sudo apt-get install doxygen graphviz
+ <br />&gt; 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>&gt; svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm</code>
-
- <p>Now switch to LLVM&#8217;s tools subdirectory and checkout both Clang and LLDB:</p>
- <code>&gt; cd $llvm/tools
- <br>&gt; svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
- <br>&gt; 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&#8217;s <em>Getting Started Guide</em>. A typical build procedure
- might be:</p>
- <code>&gt; cd $llvm/..
- <br>&gt; mkdir build
- <br>&gt; 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>
- &gt; cmake .. -G Ninja
- <br>&gt; ninja lldb
- <br>&gt; 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>
- &gt; cmake ..
- <br>&gt; make
- <br>&gt; 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>
- &gt; $llvm/configure
- <br>&gt; 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>
- &gt; $llvm/configure CC=gcc-4.9 CXX=g++-4.9
- <br>&gt; 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>
- &gt; make DEBUG_SYMBOLS=0</code>
- <p> To run the LLDB test suite, run:</p>
- <code>
- <br>&gt; 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>&gt; svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm</code>
+
+ <p>Now switch to LLVM&#8217;s tools subdirectory and checkout both Clang and LLDB:</p>
+ <code>
+ &gt; cd $llvm/tools
+ <br />&gt; svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
+ <br />&gt; 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>&gt; cmake -DLLDB_TEST_ARGS="-A i386 -C /path/to/custom/clang" -G Ninja
- <br>&gt; 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>&gt; cd $lldb/test
- <br>&gt; python dotest.py --executable &lt;path-to-lldb&gt; -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>&gt; python dotest.py --executable &lt;path-to-lldb&gt; 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>&gt; 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>&lt;build-dir&gt;/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>&gt; 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>&gt; 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&#8217;s <em>Getting Started Guide</em>. A typical build procedure
+ might be:
+ </p>
+ <code>
+ &gt; cd $llvm/..
+ <br />&gt; mkdir build
+ <br />&gt; 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>
+ &gt; cmake .. -G Ninja
+ <br />&gt; ninja lldb
+ <br />&gt; 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>
+ &gt; cmake ..
+ <br />&gt; make
+ <br />&gt; 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>
+ &gt; $llvm/configure
+ <br />&gt; 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>
+ &gt; $llvm/configure CC=gcc-4.9 CXX=g++-4.9
+ <br />&gt; 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>
+ &gt; make DEBUG_SYMBOLS=0
+ </code>
+ <p> To run the LLDB test suite, run:</p>
+ <code>
+ <br />&gt; 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 />&gt; cmake -DLLDB_TEST_ARGS="-A i386 -C /path/to/custom/clang" -G Ninja
+ <br />&gt; 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 />&gt; cd $lldb/test
+ <br />&gt; python dotest.py --executable &lt;path-to-lldb&gt; -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 />&gt; python dotest.py --executable &lt;path-to-lldb&gt; 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 />&gt; 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>&lt;build-dir&gt;/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>&gt; 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>&gt; python -c 'import lldb'</code></p>
+ </div>
+ <div class="postfooter"></div>
+ </div>
+ </div>
+ </div>
+ </div>
</body>
</html>