llvm.org GIT mirror llvm / 67f0700
Updated 'Getting Started' to use valid git links (added trailing slashes) Reviewers: pcc, asl, tonic Reviewed By: pcc Subscribers: llvm-commits, kcc Differential Revision: https://reviews.llvm.org/D38516 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316352 91177308-0d34-0410-b5e6-96231b3b80d8 Mitch Phillips 1 year, 9 months ago
1 changed file(s) with 34 addition(s) and 34 deletion(s). Raw diff Collapse all Expand all
9090
9191 #. Configure and build LLVM and Clang:
9292
93 *Warning:* Make sure you've checked out *all of* the source code
93 *Warning:* Make sure you've checked out *all of* the source code
9494 before trying to configure with cmake. cmake does not pickup newly
95 added source directories in incremental builds.
95 added source directories in incremental builds.
9696
9797 The build uses `CMake `_. LLVM requires CMake 3.4.3 to build. It
9898 is generally recommended to use a recent CMake, especially if you're
136136 * CMake will generate build targets for each tool and library, and most
137137 LLVM sub-projects generate their own ``check-`` target.
138138
139 * Running a serial build will be *slow*. Make sure you run a
140 parallel build; for ``make``, use ``make -j``.
139 * Running a serial build will be *slow*. Make sure you run a
140 parallel build; for ``make``, use ``make -j``.
141141
142142 * For more information see `CMake `_
143143
145145 `below`_.
146146
147147 Consult the `Getting Started with LLVM`_ section for detailed information on
148 configuring and compiling LLVM. Go to `Directory Layout`_ to learn about the
148 configuring and compiling LLVM. Go to `Directory Layout`_ to learn about the
149149 layout of the source code tree.
150150
151151 Requirements
190190 Note that Debug builds require a lot of time and disk space. An LLVM-only build
191191 will need about 1-3 GB of space. A full build of LLVM and Clang will need around
192192 15-20 GB of disk space. The exact space requirements will vary by system. (It
193 is so large because of all the debugging information and the fact that the
194 libraries are statically linked into multiple tools).
195
196 If you you are space-constrained, you can build only selected tools or only
193 is so large because of all the debugging information and the fact that the
194 libraries are statically linked into multiple tools).
195
196 If you you are space-constrained, you can build only selected tools or only
197197 selected targets. The Release build requires considerably less space.
198198
199199 The LLVM suite *may* compile on other platforms, but it is not guaranteed to do
511511
512512 .. code-block:: console
513513
514 % git clone http://llvm.org/git/llvm.git
514 % git clone https://git.llvm.org/git/llvm.git/
515515
516516 If you want to check out clang too, run:
517517
518518 .. code-block:: console
519519
520520 % cd llvm/tools
521 % git clone http://llvm.org/git/clang.git
521 % git clone https://git.llvm.org/git/clang.git/
522522
523523 If you want to check out compiler-rt (required to build the sanitizers), run:
524524
525525 .. code-block:: console
526526
527527 % cd llvm/projects
528 % git clone http://llvm.org/git/compiler-rt.git
528 % git clone https://git.llvm.org/git/compiler-rt.git/
529529
530530 If you want to check out libomp (required for OpenMP support), run:
531531
532532 .. code-block:: console
533533
534534 % cd llvm/projects
535 % git clone http://llvm.org/git/openmp.git
535 % git clone https://git.llvm.org/git/openmp.git/
536536
537537 If you want to check out libcxx and libcxxabi (optional), run:
538538
539539 .. code-block:: console
540540
541541 % cd llvm/projects
542 % git clone http://llvm.org/git/libcxx.git
543 % git clone http://llvm.org/git/libcxxabi.git
542 % git clone https://git.llvm.org/git/libcxx.git/
543 % git clone https://git.llvm.org/git/libcxxabi.git/
544544
545545 If you want to check out the Test Suite Source Code (optional), run:
546546
547547 .. code-block:: console
548548
549549 % cd llvm/projects
550 % git clone http://llvm.org/git/test-suite.git
550 % git clone https://git.llvm.org/git/test-suite.git/
551551
552552 Since the upstream repository is in Subversion, you should use ``git
553553 pull --rebase`` instead of ``git pull`` to avoid generating a non-linear history
621621
622622 .. code-block:: console
623623
624 % git clone http://llvm.org/git/llvm.git
624 % git clone https://git.llvm.org/git/llvm.git/
625625 % cd llvm
626626 % git svn init https://llvm.org/svn/llvm-project/llvm/trunk --username=
627627 % git config svn-remote.svn.fetch :refs/remotes/origin/master
629629
630630 # If you have clang too:
631631 % cd tools
632 % git clone http://llvm.org/git/clang.git
632 % git clone https://git.llvm.org/git/clang.git/
633633 % cd clang
634634 % git svn init https://llvm.org/svn/llvm-project/cfe/trunk --username=
635635 % git config svn-remote.svn.fetch :refs/remotes/origin/master
10091009 ================
10101010
10111011 One useful source of information about the LLVM source base is the LLVM `doxygen
1012 `_ documentation available at
1012 `_ documentation available at
10131013 ``_. The following is a brief introduction to code
10141014 layout:
10151015
10251025
10261026 ``llvm/include/llvm``
10271027
1028 All LLVM-specific header files, and subdirectories for different portions of
1028 All LLVM-specific header files, and subdirectories for different portions of
10291029 LLVM: ``Analysis``, ``CodeGen``, ``Target``, ``Transforms``, etc...
10301030
10311031 ``llvm/include/llvm/Support``
10321032
1033 Generic support libraries provided with LLVM but not necessarily specific to
1034 LLVM. For example, some C++ STL utilities and a Command Line option processing
1033 Generic support libraries provided with LLVM but not necessarily specific to
1034 LLVM. For example, some C++ STL utilities and a Command Line option processing
10351035 library store header files here.
10361036
10371037 ``llvm/include/llvm/Config``
10441044 ``llvm/lib``
10451045 ------------
10461046
1047 Most source files are here. By putting code in libraries, LLVM makes it easy to
1047 Most source files are here. By putting code in libraries, LLVM makes it easy to
10481048 share code among the `tools`_.
10491049
10501050 ``llvm/lib/IR/``
10511051
1052 Core LLVM source files that implement core classes like Instruction and
1052 Core LLVM source files that implement core classes like Instruction and
10531053 BasicBlock.
10541054
10551055 ``llvm/lib/AsmParser/``
10621062
10631063 ``llvm/lib/Analysis/``
10641064
1065 A variety of program analyses, such as Call Graphs, Induction Variables,
1065 A variety of program analyses, such as Call Graphs, Induction Variables,
10661066 Natural Loop Identification, etc.
10671067
10681068 ``llvm/lib/Transforms/``
10691069
1070 IR-to-IR program transformations, such as Aggressive Dead Code Elimination,
1071 Sparse Conditional Constant Propagation, Inlining, Loop Invariant Code Motion,
1070 IR-to-IR program transformations, such as Aggressive Dead Code Elimination,
1071 Sparse Conditional Constant Propagation, Inlining, Loop Invariant Code Motion,
10721072 Dead Global Elimination, and many others.
10731073
10741074 ``llvm/lib/Target/``
10751075
1076 Files describing target architectures for code generation. For example,
1076 Files describing target architectures for code generation. For example,
10771077 ``llvm/lib/Target/X86`` holds the X86 machine description.
10781078
10791079 ``llvm/lib/CodeGen/``
10801080
1081 The major parts of the code generator: Instruction Selector, Instruction
1081 The major parts of the code generator: Instruction Selector, Instruction
10821082 Scheduling, and Register Allocation.
10831083
10841084 ``llvm/lib/MC/``
10871087
10881088 ``llvm/lib/ExecutionEngine/``
10891089
1090 Libraries for directly executing bitcode at runtime in interpreted and
1090 Libraries for directly executing bitcode at runtime in interpreted and
10911091 JIT-compiled scenarios.
10921092
10931093 ``llvm/lib/Support/``
10981098 ``llvm/projects``
10991099 -----------------
11001100
1101 Projects not strictly part of LLVM but shipped with LLVM. This is also the
1101 Projects not strictly part of LLVM but shipped with LLVM. This is also the
11021102 directory for creating your own LLVM-based projects which leverage the LLVM
11031103 build system.
11041104
11111111 ``test-suite``
11121112 --------------
11131113
1114 A comprehensive correctness, performance, and benchmarking test suite for LLVM.
1115 Comes in a separate Subversion module because not every LLVM user is interested
1114 A comprehensive correctness, performance, and benchmarking test suite for LLVM.
1115 Comes in a separate Subversion module because not every LLVM user is interested
11161116 in such a comprehensive suite. For details see the :doc:`Testing Guide
11171117 ` document.
11181118
11931193
11941194 ``emacs/``
11951195
1196 Emacs and XEmacs syntax highlighting for LLVM assembly files and TableGen
1196 Emacs and XEmacs syntax highlighting for LLVM assembly files and TableGen
11971197 description files. See the ``README`` for information on using them.
11981198
11991199 ``getsrcs.sh``