Lines Matching +full:build +full:- +full:root +full:- +full:directory
11 The LLVM build system is designed to facilitate the building of third party
16 to set to use the LLVM build system:
18 * ``PROJECT_NAME`` - The name by which your project is known.
19 * ``LLVM_SRC_ROOT`` - The root of the LLVM source tree.
20 * ``LLVM_OBJ_ROOT`` - The root of the LLVM object tree.
21 * ``PROJ_SRC_ROOT`` - The root of the project's source tree.
22 * ``PROJ_OBJ_ROOT`` - The root of the project's object tree.
23 * ``PROJ_INSTALL_ROOT`` - The root installation directory.
24 * ``LEVEL`` - The relative path from the current directory to the
25 project's root ``($PROJ_OBJ_ROOT)``.
33 * You can write your own ``Makefiles`` which hard-code these values.
35 * You can use the pre-made LLVM sample project. This sample project includes
38 source directory.
40 If you want to devise your own build system, studying other projects and LLVM
47 In order to use the LLVM build system, you will want to organize your source
48 code so that it can benefit from the build system's features. Mainly, you want
51 Underneath your top level directory, you should have the following directories:
56 library that you build, you will have one directory in **lib** that will
60 directory is just a convenient place for libraries as it places them all in
61 a directory from which they can be linked later.
70 automatically by the LLVM build system. For example, if you have a file
77 For each program that you build, you will have one directory in **tools**
85 Currently, the LLVM build system provides basic support for tests. The LLVM
93 * LLVM contains an optional package called ``llvm-test``, which provides
100 provided within that directory on your own.
102 Typically, you will want to build your **lib** directory first followed by your
103 **tools** directory.
108 The LLVM build system provides a convenient way to build libraries and
114 ------------------
119 directory of your project's source code. For example, if your source code
124 -------------------------------------
143 --------------------------------
148 example, to build a library named ``libsample.a``, ``LIBRARYNAME`` should
154 program. To build an archive (also known as a static library), set the
163 -------------------------------
168 example, to build an executable named ``sample``, ``TOOLNAME`` should be set
175 your **lib** directory. The libraries must be specified without their
194 libraries use: ``llvm-config --libs all``. Using ``LINK_COMPONENTS`` as
200 ``Makefiles`` pass to the ``llvm-config`` tool to generate a link line for
206 To link dynamic libraries, add ``-l<library base name>`` to the ``LIBS``
207 variable. The LLVM build system will look in the same places for dynamic
213 .. code-block:: makefile
215 LIBS += -lsample
221 -----------------------
237 you do a ``Debug``, ``Release``, or ``Profile`` build.
243 ``Profile`` for a debug, optimized, or profiled build, respectively.
249 profiled build, respectively.
257 <http://lists.llvm.org/pipermail/llvm-dev/>`_.