[PATCH] Updating GettingStarted documentation to reference CMake as the preferred way to build LLVM.

Alexey Samsonov vonosmas at gmail.com
Wed Mar 11 17:25:13 PDT 2015


================
Comment at: docs/BuildingLLVMWithAutotools.rst:2
@@ +1,3 @@
+====================================
+Getting Started with the LLVM System  
+====================================
----------------
Update the page name?

================
Comment at: docs/BuildingLLVMWithAutotools.rst:298
@@ +297,1 @@
+    ``OBJ_ROOT/Profile/lib``
\ No newline at end of file

----------------
Please fix

================
Comment at: docs/GettingStarted.rst:73
@@ +72,3 @@
+
+     * ``Unix Makefiles`` --- for generating make compatible parallel makefiles
+     * ``Ninja`` --- for generating `Ninja <http://martine.github.io/ninja/>`
----------------
make-compatible

================
Comment at: docs/GettingStarted.rst:76
@@ +75,3 @@
+        build files
+     * ``Visual Studio`` --- for generating Visual Studio projects and solutions
+     * ``Xcode`` --- for generating Xcode projects
----------------
Probably you should add "." or ";" at the end of bullets.

================
Comment at: docs/GettingStarted.rst:88
@@ +87,3 @@
+
+     * ``-DLLVM_ENABLE_ASSERTIONS=Yes`` --- Compile with assertion checks enabled
+       (default is Yes for Debug builds, No for all other build types).
----------------
FTR existing LLVM CMake page uses ON/OFF instead of Yes/No

================
Comment at: docs/GettingStarted.rst:161
@@ -136,2 +160,3 @@
   #. To use LLVM modules on Win32-based system, you may configure LLVM
-     with ``--enable-shared``.
+     with ``-DBUILD_SHARED_LIBS=Yes`` for CMake builds or ``--enable-shared``
+     for configure builds.
----------------
See above. Specify -DBUILD_SHARED_LIBS=ON?

================
Comment at: docs/GettingStarted.rst:698
@@ +697,3 @@
+
+Variables are specified to ``cmake`` on the command line using the format
+``-D<variable name>=<value``. The following variables are some common options
----------------
"are passed to CMake"?

================
Comment at: docs/GettingStarted.rst:724
@@ +723,3 @@
+|                         | Mips, MSP430, NVPTX, PowerPC, R600, Sparc,         |
+|                         | SystemZ, X86, XCore``. Targets are specified as a  | 
+|                         | semi-colon delimited list. That list is defined as |
----------------
The order of sentences is weird. LLVM_ALL_TARGETS refers to `all`, and sentence about list format should be either at the very beginning, or at the end.

================
Comment at: docs/GettingStarted.rst:725
@@ +724,3 @@
+|                         | SystemZ, X86, XCore``. Targets are specified as a  | 
+|                         | semi-colon delimited list. That list is defined as |
+|                         | ``LLVM_ALL_TARGETS``, and can be mutated to        |
----------------
s/semi-colon/semicolon

================
Comment at: docs/GettingStarted.rst:729
@@ +728,3 @@
++-------------------------+----------------------------------------------------+
+| LLVM_ENABLE_DOXYGEN     | Look for the doxygen program and enable            |
+|                         | construction of the doxygen-based documentation    |
----------------
I'd shorten it to "Build doxygen-based documentation from the source code. ..."

================
Comment at: docs/GettingStarted.rst:734
@@ +733,3 @@
++-------------------------+----------------------------------------------------+
+| LLVM_ENABLE_SPHINX      | Look for the sphinx program and enable             |
+|                         | construction of the sphinx-based documentation     |
----------------
Ditto - I'd shorten it to "Build sphinx-based documentation from the source code. ..."

================
Comment at: docs/GettingStarted.rst:744
@@ +743,3 @@
+|                         | Analysis, BitReader, BitWriter, CodeGen, Core,     |
+|                         | ExecutionEngine, IPA, IPO, IRReader, InstCombine,  |
+|                         | Instrumentation, Interpreter, Linker,              |
----------------
Do you really need to specify all the list items here? I'm pretty sure it will soon get out of date.

================
Comment at: docs/GettingStarted.rst:837
@@ -825,53 +836,3 @@
 
-``gmake ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1``
-
-  Perform a Release (Optimized) build without assertions enabled.
- 
-``gmake ENABLE_OPTIMIZED=0``
-
-  Perform a Debug build.
-
-``gmake ENABLE_PROFILING=1``
-
-  Perform a Profiling build.
-
-``gmake VERBOSE=1``
-
-  Print what ``gmake`` is doing on standard output.
-
-``gmake TOOL_VERBOSE=1``
-
-  Ask each tool invoked by the makefiles to print out what it is doing on 
-  the standard output. This also implies ``VERBOSE=1``.
-
-Every directory in the LLVM object tree includes a ``Makefile`` to build it and
-any subdirectories that it contains.  Entering any directory inside the LLVM
-object tree and typing ``gmake`` should rebuild anything in or below that
-directory that is out of date.
-
-This does not apply to building the documentation.
-LLVM's (non-Doxygen) documentation is produced with the
-`Sphinx <http://sphinx-doc.org/>`_ documentation generation system.
-There are some HTML documents that have not yet been converted to the new
-system (which uses the easy-to-read and easy-to-write
-`reStructuredText <http://sphinx-doc.org/rest.html>`_ plaintext markup
-language).
-The generated documentation is built in the ``SRC_ROOT/docs`` directory using
-a special makefile.
-For instructions on how to install Sphinx, see
-`Sphinx Introduction for LLVM Developers
-<http://lld.llvm.org/sphinx_intro.html>`_.
-After following the instructions there for installing Sphinx, build the LLVM
-HTML documentation by doing the following:
-
-.. code-block:: console
-
-  $ cd SRC_ROOT/docs
-  $ make -f Makefile.sphinx
-
-This creates a ``_build/html`` sub-directory with all of the HTML files, not
-just the generated ones.
-This directory corresponds to ``llvm.org/docs``.
-For example, ``_build/html/SphinxQuickstartTemplate.html`` corresponds to
-``llvm.org/docs/SphinxQuickstartTemplate.html``.
-The :doc:`SphinxQuickstartTemplate` is useful when creating a new document.
+  If configured with ``-DLLVM_ENABLE_SPHINX=On`` this will generate a directory
+  at ``OBJ_ROOT/docs/html`` which contains the html formatted documentation.
----------------
I think you need a comma before "this"

================
Comment at: docs/GettingStarted.rst:838
@@ -878,1 +837,3 @@
+  If configured with ``-DLLVM_ENABLE_SPHINX=On`` this will generate a directory
+  at ``OBJ_ROOT/docs/html`` which contains the html formatted documentation.
 
----------------
... generate a directory ``OBJ_ROOT/docs/html`` with HTML documentation.

================
Comment at: docs/GettingStarted.rst:851
@@ +850,3 @@
+host but can be executed on the target. As an example the following CMake
+invocation can generate build files targeting iOS. This will work on a Mac with
+a recent Xcode installation from the Mac App Store:
----------------
"a Mac" -> "Mac OS X" ?

================
Comment at: docs/GettingStarted.rst:852
@@ +851,3 @@
+invocation can generate build files targeting iOS. This will work on a Mac with
+a recent Xcode installation from the Mac App Store:
+
----------------
why not just "latest Xcode"?

http://reviews.llvm.org/D8046

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list