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 <[email protected]> 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 <[email protected]> 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 <[email protected]> >> 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 >>> [email protected] >>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits >>> >> >>
_______________________________________________ lldb-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
