Lines Matching full:components

22 as to how the source code and various components are organized. The
31 Clang, and LLDB) is organized into *components*, which define the
76 *components*. Every component is typically grouped into its own
81 LLVM primarily uses the following types of components:
83 - *Libraries* - Library components define a distinct API which can be
95 Components are described using ``LLVMBuild.txt`` files in the directories
148 Each file may define multiple components. Each component is described by a
150 name is ignored, but each section name must be unique. Typically components
151 are just number in order for files with multiple components
161 Components **may not** define any properties other than those expected
169 below. Most components will define additional properties which may be
179 The name of the logical parent of the component. Components are
181 organize groups of components. The parents have no semantics as far
185 Components may reference the root pseudo component using ``$ROOT`` to
188 Components may define the following properties:
192 If specified, a list of names of components which *must* be built
193 prior to this one. This should only be exactly those components which
198 ``Group`` and ``LibraryGroup`` components have no semantics for the
206 Group components exist purely to allow additional arbitrary structuring
207 of the logical components tree. For example, one might define a
208 ``Libraries`` group to hold all of the root library components.
210 ``Group`` components have no additionally properties.
214 Library components define an individual library which should be built
217 Components with this type use the following properties:
227 components which must also be linked in whenever this library is
230 of all ``required_libraries`` for the components the tool needs.
234 If given, a list of the names of ``LibraryGroup`` components which
236 components. For example, the ``X86`` target might define a library
237 group for all of the ``X86`` components. That library group might
248 ``LibraryGroup`` components are a mechanism to allow easy definition of
249 useful sets of related components. In particular, we use them to easily
252 Components with this type use the following properties:
264 ``TargetGroup`` components are an extension of ``LibraryGroup``\s,
270 Components with this type use the ``LibraryGroup`` properties in
291 ``Tool`` components define standalone command line tools which should be
294 Components with this type use the following properties:
299 components which this tool is required to be linked with.
307 required by the linked components (i.e., the transitive closure of
311 components must be built prior to linking -- they do not also need
316 ``BuildTool`` components are like ``Tool`` components, except that the
322 ``BuildTool`` components currently use the exact same properties as
323 ``Tool`` components, the type distinction is only used to differentiate