1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 10:32:48 +02:00

llvmbuildectomy - replace llvm-build by plain cmake

No longer rely on an external tool to build the llvm component layout.

Instead, leverage the existing `add_llvm_componentlibrary` cmake function and
introduce `add_llvm_component_group` to accurately describe component behavior.

These function store extra properties in the created targets. These properties
are processed once all components are defined to resolve library dependencies
and produce the header expected by llvm-config.

Differential Revision: https://reviews.llvm.org/D90848
This commit is contained in:
serge-sans-paille 2020-10-09 18:41:21 +02:00
parent 65ee119111
commit 82b6e6053d
422 changed files with 1691 additions and 7505 deletions

View File

@ -714,67 +714,6 @@ if(NOT Python3_Interpreter_FOUND)
set(Python3_EXECUTABLE ${Python2_EXECUTABLE})
endif()
######
# LLVMBuild Integration
#
# We use llvm-build to generate all the data required by the CMake based
# build system in one swoop:
#
# - We generate a file (a CMake fragment) in the object root which contains
# all the definitions that are required by CMake.
#
# - We generate the library table used by llvm-config.
#
# - We generate the dependencies for the CMake fragment, so that we will
# automatically reconfigure ourselves.
set(LLVMBUILDTOOL "${LLVM_MAIN_SRC_DIR}/utils/llvm-build/llvm-build")
set(LLVMCONFIGLIBRARYDEPENDENCIESINC
"${LLVM_BINARY_DIR}/tools/llvm-config/LibraryDependencies.inc")
set(LLVMBUILDCMAKEFRAG
"${LLVM_BINARY_DIR}/LLVMBuild.cmake")
# Create the list of optional components that are enabled
if (LLVM_USE_INTEL_JITEVENTS)
set(LLVMOPTIONALCOMPONENTS IntelJITEvents)
endif (LLVM_USE_INTEL_JITEVENTS)
if (LLVM_USE_OPROFILE)
set(LLVMOPTIONALCOMPONENTS ${LLVMOPTIONALCOMPONENTS} OProfileJIT)
endif (LLVM_USE_OPROFILE)
if (LLVM_USE_PERF)
set(LLVMOPTIONALCOMPONENTS ${LLVMOPTIONALCOMPONENTS} PerfJITEvents)
endif (LLVM_USE_PERF)
message(STATUS "Constructing LLVMBuild project information")
execute_process(
COMMAND "${Python3_EXECUTABLE}" -B ${LLVMBUILDTOOL}
--native-target "${LLVM_NATIVE_ARCH}"
--enable-targets "${LLVM_TARGETS_TO_BUILD}"
--enable-optional-components "${LLVMOPTIONALCOMPONENTS}"
--write-library-table ${LLVMCONFIGLIBRARYDEPENDENCIESINC}
--write-cmake-fragment ${LLVMBUILDCMAKEFRAG}
OUTPUT_VARIABLE LLVMBUILDOUTPUT
ERROR_VARIABLE LLVMBUILDERRORS
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE LLVMBUILDRESULT)
# On Win32, CMake doesn't properly handle piping the default output/error
# streams into the GUI console. So, we explicitly catch and report them.
if( NOT "${LLVMBUILDOUTPUT}" STREQUAL "")
message(STATUS "llvm-build output: ${LLVMBUILDOUTPUT}")
endif()
if( NOT "${LLVMBUILDRESULT}" STREQUAL "0" )
message(FATAL_ERROR
"Unexpected failure executing llvm-build: ${LLVMBUILDERRORS}")
endif()
# Include the generated CMake fragment. This will define properties from the
# LLVMBuild files in a format which is easy to consume from CMake, and will add
# the dependencies so that CMake will reconfigure properly when the LLVMBuild
# files change.
include(${LLVMBUILDCMAKEFRAG})
######
# Configure all of the various header file fragments LLVM uses which depend on

View File

@ -1,23 +0,0 @@
;===- ./LLVMBuild.txt ------------------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[common]
subdirectories = bindings docs examples lib projects tools utils
[component_0]
type = Group
name = Miscellaneous
parent = $ROOT

View File

@ -1,20 +0,0 @@
;===- ./bindings/LLVMBuild.txt ---------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Group
name = Bindings
parent = $ROOT

View File

@ -616,6 +616,13 @@ function(llvm_add_library name)
endif()
endif()
if(ARG_STATIC)
set(libtype PUBLIC)
else()
# We can use PRIVATE since SO knows its dependent libs.
set(libtype PRIVATE)
endif()
if(ARG_MODULE AND LLVM_EXPORT_SYMBOLS_FOR_PLUGINS AND ARG_PLUGIN_TOOL AND (WIN32 OR CYGWIN))
# On DLL platforms symbols are imported from the tool by linking against it.
set(llvm_libs ${ARG_PLUGIN_TOOL})
@ -630,19 +637,19 @@ function(llvm_add_library name)
endif()
else()
# Components have not been defined explicitly in CMake, so add the
# dependency information for this library as defined by LLVMBuild.
# dependency information for this library through their name, and let
# LLVMBuildResolveComponentsLink resolve the mapping.
#
# It would be nice to verify that we have the dependencies for this library
# name, but using get_property(... SET) doesn't suffice to determine if a
# property has been set to an empty value.
get_property(lib_deps GLOBAL PROPERTY LLVMBUILD_LIB_DEPS_${name})
endif()
set_property(TARGET ${name} PROPERTY LLVM_LINK_COMPONENTS ${ARG_LINK_COMPONENTS} ${LLVM_LINK_COMPONENTS})
if(ARG_STATIC)
set(libtype PUBLIC)
else()
# We can use PRIVATE since SO knows its dependent libs.
set(libtype PRIVATE)
# These two properties are internal properties only used to make sure the
# link step applied in LLVMBuildResolveComponentsLink uses the same
# properties as the target_link_libraries call below.
set_property(TARGET ${name} PROPERTY LLVM_LINK_LIBS ${ARG_LINK_LIBS})
set_property(TARGET ${name} PROPERTY LLVM_LIBTYPE ${libtype})
endif()
target_link_libraries(${name} ${libtype}
@ -723,8 +730,49 @@ function(add_llvm_install_targets target)
endif()
endfunction()
# Define special targets that behave like a component group. They don't have any
# source attached but other components can add themselves to them. If the
# component supports is a Target and it supports JIT compilation, HAS_JIT must
# be passed. One can use ADD_TO_COMPONENT option from add_llvm_component_library
# to link extra component into an existing group.
function(add_llvm_component_group name)
cmake_parse_arguments(ARG "HAS_JIT" "" "LINK_COMPONENTS" ${ARGN})
add_custom_target(${name})
if(ARG_HAS_JIT)
set_property(TARGET ${name} PROPERTY COMPONENT_HAS_JIT ON)
endif()
if(ARG_LINK_COMPONENTS)
set_property(TARGET ${name} PROPERTY LLVM_LINK_COMPONENTS ${ARG_LINK_COMPONENTS})
endif()
endfunction()
# An LLVM component is a cmake target with the following cmake properties
# eventually set:
# - LLVM_COMPONENT_NAME: the name of the component, which can be the name of
# the associated library or the one specified through COMPONENT_NAME
# - LLVM_LINK_COMPONENTS: a list of component this component depends on
# - COMPONENT_HAS_JIT: (only for group component) whether this target group
# supports JIT compilation
# Additionnaly, the ADD_TO_COMPONENT <component> option make it possible to add this
# component to the LLVM_LINK_COMPONENTS of <component>.
function(add_llvm_component_library name)
add_llvm_library(${name} COMPONENT_LIB ${ARGN})
cmake_parse_arguments(ARG
""
"COMPONENT_NAME;ADD_TO_COMPONENT"
""
${ARGN})
add_llvm_library(${name} COMPONENT_LIB ${ARG_UNPARSED_ARGUMENTS})
string(REGEX REPLACE "^LLVM" "" component_name ${name})
set_property(TARGET ${name} PROPERTY LLVM_COMPONENT_NAME ${component_name})
if(ARG_COMPONENT_NAME)
set_property(GLOBAL PROPERTY LLVM_COMPONENT_NAME_${ARG_COMPONENT_NAME} ${component_name})
endif()
if(ARG_ADD_TO_COMPONENT)
set_property(TARGET ${ARG_ADD_TO_COMPONENT} APPEND PROPERTY LLVM_LINK_COMPONENTS ${component_name})
endif()
endfunction()
macro(add_llvm_library name)

View File

@ -0,0 +1,99 @@
# Generate C code in the file provided as OUTPUT that describes the properties
# of all components. This C code is suitable for inclusion in `llvm-config`
function(LLVMBuildGenerateCFragment)
cmake_parse_arguments(ARG "" "OUTPUT" "" ${ARGN})
# Write C header
#################
get_property(llvmbuild_components GLOBAL PROPERTY LLVM_COMPONENT_LIBS)
foreach(llvmbuild_component ${llvmbuild_components})
string(REGEX REPLACE "^LLVM" "" component_name ${llvmbuild_component})
list(APPEND all_component_libdeps ${component_name})
endforeach()
list(APPEND llvmbuild_components all)
list(APPEND llvmbuild_components all-targets)
list(APPEND llvmbuild_components Engine)
list(APPEND llvmbuild_components Native)
list(APPEND llvmbuild_components NativeCodeGen)
foreach(llvm_target_to_build ${LLVM_TARGETS_TO_BUILD})
list(APPEND llvmbuild_components ${llvm_target_to_build})
endforeach()
list(LENGTH llvmbuild_components llvmbuild_components_size)
file(WRITE ${ARG_OUTPUT}
"
struct AvailableComponent {
/// The name of the component.
const char *Name;
/// The name of the library for this component (or NULL).
const char *Library;
/// Whether the component is installed.
bool IsInstalled;
/// The list of libraries required when linking this component.
const char *RequiredLibraries[${llvmbuild_components_size}];
} AvailableComponents[${llvmbuild_components_size}] = {
")
foreach(llvmbuild_component ${llvmbuild_components})
if(llvmbuild_component STREQUAL "all")
unset(llvmbuild_libname)
set(llvmbuild_libdeps ${all_component_libdeps})
else()
get_property(llvmbuild_libname TARGET ${llvmbuild_component} PROPERTY LLVM_COMPONENT_NAME)
get_property(llvmbuild_libdeps TARGET ${llvmbuild_component} PROPERTY LLVM_LINK_COMPONENTS)
endif()
string(TOLOWER ${llvmbuild_component} llvmbuild_componentname)
if(NOT llvmbuild_libname)
set(llvmbuild_llvmlibname nullptr)
string(TOLOWER ${llvmbuild_component} llvmbuild_libname)
else()
set(llvmbuild_llvmlibname "\"LLVM${llvmbuild_libname}\"")
string(TOLOWER ${llvmbuild_libname} llvmbuild_libname)
endif()
set(llvmbuild_clibdeps "")
foreach(llvmbuild_libdep ${llvmbuild_libdeps})
get_property(llvmbuild_libdepname GLOBAL PROPERTY LLVM_COMPONENT_NAME_${llvmbuild_libdep})
if(NOT llvmbuild_libdepname)
string(TOLOWER ${llvmbuild_libdep} llvmbuild_clibdep)
else()
string(TOLOWER ${llvmbuild_libdepname} llvmbuild_clibdep)
endif()
list(APPEND llvmbuild_clibdeps ${llvmbuild_clibdep})
endforeach()
list(TRANSFORM llvmbuild_clibdeps PREPEND "\"")
list(TRANSFORM llvmbuild_clibdeps APPEND "\"")
list(JOIN llvmbuild_clibdeps ", " llvmbuild_clibdeps_joint)
list(APPEND llvmbuild_centries "{ \"${llvmbuild_libname}\", ${llvmbuild_llvmlibname}, true, {${llvmbuild_clibdeps_joint}} },\n")
endforeach()
list(SORT llvmbuild_centries)
foreach(llvmbuild_centry ${llvmbuild_centries})
file(APPEND ${ARG_OUTPUT} "${llvmbuild_centry}")
endforeach()
file(APPEND ${ARG_OUTPUT} "};")
endfunction()
# Resolve cross-component dependencies, for each available component.
function(LLVMBuildResolveComponentsLink)
get_property(llvm_components GLOBAL PROPERTY LLVM_COMPONENT_LIBS)
get_property(llvm_has_jit_native TARGET ${LLVM_NATIVE_ARCH} PROPERTY LLVM_HAS_JIT)
if(llvm_has_jit_native)
set_property(TARGET Engine APPEND PROPERTY LLVM_LINK_COMPONENTS "MCJIT" "Native")
else()
set_property(TARGET Engine APPEND PROPERTY LLVM_LINK_COMPONENTS "Interpreter")
endif()
foreach(llvm_component ${llvm_components})
get_property(link_components TARGET ${llvm_component} PROPERTY LLVM_LINK_COMPONENTS)
llvm_map_components_to_libnames(llvm_libs ${link_components})
if(llvm_libs)
get_property(libtype TARGET ${llvm_component} PROPERTY LLVM_LIBTYPE)
target_link_libraries(${llvm_component} ${libtype} ${llvm_libs})
endif()
endforeach()
endfunction()

View File

@ -253,6 +253,10 @@ function(llvm_map_components_to_libnames out_libs)
# Translate symbolic component names to real libraries:
llvm_expand_pseudo_components(link_components ${link_components})
foreach(c ${link_components})
get_property(c_rename GLOBAL PROPERTY LLVM_COMPONENT_NAME_${c})
if(c_rename)
set(c ${c_rename})
endif()
if( c STREQUAL "native" )
# already processed
elseif( c STREQUAL "backend" )

View File

@ -748,8 +748,7 @@ Library Layering
^^^^^^^^^^^^^^^^
A directory of header files (for example ``include/llvm/Foo``) defines a
library (``Foo``). Dependencies between libraries are defined by the
``LLVMBuild.txt`` file in their implementation (``lib/Foo``). One library (both
library (``Foo``). One library (both
its headers and implementation) should only use things from the libraries
listed in its dependencies.

View File

@ -73,7 +73,6 @@ Developer Tools
FileCheck
tblgen
lit
llvm-build
llvm-exegesis
llvm-pdbutil
llvm-locstats

View File

@ -1,79 +0,0 @@
llvm-build - LLVM Project Build Utility
=======================================
.. program:: llvm-build
SYNOPSIS
--------
**llvm-build** [*options*]
DESCRIPTION
-----------
**llvm-build** is a tool for working with LLVM projects that use the LLVMBuild
system for describing their components.
At heart, **llvm-build** is responsible for loading, verifying, and manipulating
the project's component data. The tool is primarily designed for use in
implementing build systems and tools which need access to the project structure
information.
OPTIONS
-------
**-h**, **--help**
Print the builtin program help.
**--source-root**\ =\ *PATH*
If given, load the project at the given source root path. If this option is not
given, the location of the project sources will be inferred from the location of
the **llvm-build** script itself.
**--print-tree**
Print the component tree for the project.
**--write-library-table**
Write out the C++ fragment which defines the components, library names, and
required libraries. This C++ fragment is built into llvm-config|llvm-config
in order to provide clients with the list of required libraries for arbitrary
component combinations.
**--write-llvmbuild**
Write out new *LLVMBuild.txt* files based on the loaded components. This is
useful for auto-upgrading the schema of the files. **llvm-build** will try to a
limited extent to preserve the comments which were written in the original
source file, although at this time it only preserves block comments that precede
the section names in the *LLVMBuild* files.
**--write-cmake-fragment**
Write out the LLVMBuild in the form of a CMake fragment, so it can easily be
consumed by the CMake based build system. The exact contents and format of this
file are closely tied to how LLVMBuild is integrated with CMake, see LLVM's
top-level CMakeLists.txt.
**--write-make-fragment**
Write out the LLVMBuild in the form of a Makefile fragment, so it can easily be
consumed by a Make based build system. The exact contents and format of this
file are closely tied to how LLVMBuild is integrated with the Makefiles, see
LLVM's Makefile.rules.
**--llvmbuild-source-root**\ =\ *PATH*
If given, expect the *LLVMBuild* files for the project to be rooted at the
given path, instead of inside the source tree itself. This option is primarily
designed for use in conjunction with **--write-llvmbuild** to test changes to
*LLVMBuild* schema.
EXIT STATUS
-----------
**llvm-build** exits with 0 if operation was successful. Otherwise, it will exist
with a non-zero value.

View File

@ -65,7 +65,6 @@ Information about LLVM's development process.
:hidden:
Projects
LLVMBuild
HowToReleaseLLVM
Packaging
ReleaseProcess
@ -78,10 +77,6 @@ Information about LLVM's development process.
tree) allow the project code to be located outside (or inside) the ``llvm/``
tree, while using LLVM header files and libraries.
:doc:`LLVMBuild`
Describes the LLVMBuild organization and files used by LLVM to specify
component descriptions.
:doc:`HowToReleaseLLVM`
This is a guide to preparing LLVM releases. Most developers can ignore it.

View File

@ -1,323 +0,0 @@
===============
LLVMBuild Guide
===============
.. contents::
:local:
Introduction
============
This document describes the ``LLVMBuild`` organization and files which
we use to describe parts of the LLVM ecosystem. For description of
specific LLVMBuild related tools, please see the command guide.
LLVM is designed to be a modular set of libraries which can be flexibly
mixed together in order to build a variety of tools, like compilers,
JITs, custom code generators, optimization passes, interpreters, and so
on. Related projects in the LLVM system like Clang and LLDB also tend to
follow this philosophy.
In order to support this usage style, LLVM has a fairly strict structure
as to how the source code and various components are organized. The
``LLVMBuild.txt`` files are the explicit specification of that
structure, and are used by the build systems and other tools in order to
develop the LLVM project.
Project Organization
====================
The source code for LLVM projects using the LLVMBuild system (LLVM,
Clang, and LLDB) is organized into *components*, which define the
separate pieces of functionality that make up the project. These
projects may consist of many libraries, associated tools, build tools,
or other utility tools (for example, testing tools).
For the most part, the project contents are organized around defining
one main component per each subdirectory. Each such directory contains
an ``LLVMBuild.txt`` which contains the component definitions.
The component descriptions for the project as a whole are automatically
gathered by the LLVMBuild tools. The tools automatically traverse the
source directory structure to find all of the component description
files. NOTE: For performance/sanity reasons, we only traverse into
subdirectories when the parent itself contains an ``LLVMBuild.txt``
description file.
Build Integration
=================
The LLVMBuild files themselves are just a declarative way to describe
the project structure. The actual building of the LLVM project is
handled by another build system (See: :doc:`CMake <CMake>`).
The build system implementation will load the relevant contents of the
LLVMBuild files and use that to drive the actual project build.
Typically, the build system will only need to load this information at
"configure" time, and use it to generate native information. Build
systems will also handle automatically reconfiguring their information
when the contents of the ``LLVMBuild.txt`` files change.
Developers generally are not expected to need to be aware of the details
of how the LLVMBuild system is integrated into their build. Ideally,
LLVM developers who are not working on the build system would only ever
need to modify the contents of the ``LLVMBuild.txt`` description files
(although we have not reached this goal yet).
For more information on the utility tool we provide to help interfacing
with the build system, please see the :doc:`llvm-build
<CommandGuide/llvm-build>` documentation.
Component Overview
==================
As mentioned earlier, LLVM projects are organized into logical
*components*. Every component is typically grouped into its own
subdirectory. Generally, a component is organized around a coherent
group of sources which have some kind of clear API separation from other
parts of the code.
LLVM primarily uses the following types of components:
- *Libraries* - Library components define a distinct API which can be
independently linked into LLVM client applications. Libraries typically
have private and public header files, and may specify a link of required
libraries that they build on top of.
- *Build Tools* - Build tools are applications which are designed to be run
as part of the build process (typically to generate other source files).
Currently, LLVM uses one main build tool called :doc:`TableGen/index`
to generate a variety of source files.
- *Tools* - Command line applications which are built using the LLVM
component libraries. Most LLVM tools are small and are primarily
frontends to the library interfaces.
Components are described using ``LLVMBuild.txt`` files in the directories
that define the component. See the `LLVMBuild Format Reference`_ section
for information on the exact format of these files.
LLVMBuild Format Reference
==========================
LLVMBuild files are written in a simple variant of the INI or configuration
file format (`Wikipedia entry`_). The format defines a list of sections
each of which may contain some number of properties. A simple example of
the file format is below:
.. _Wikipedia entry: http://en.wikipedia.org/wiki/INI_file
.. code-block:: ini
; Comments start with a semi-colon.
; Sections are declared using square brackets.
[component_0]
; Properties are declared using '=' and are contained in the previous section.
;
; We support simple string and boolean scalar values and list values, where
; items are separated by spaces. There is no support for quoting, and so
; property values may not contain spaces.
property_name = property_value
list_property_name = value_1 value_2 ... value_n
boolean_property_name = 1 (or 0)
LLVMBuild files are expected to define a strict set of sections and
properties. A typical component description file for a library
component would look like the following example:
.. code-block:: ini
[component_0]
type = Library
name = Linker
parent = Libraries
required_libraries = Archive BitReader Core Support TransformUtils
A full description of the exact sections and properties which are
allowed follows.
Each file may define exactly one common component, named ``common``. The
common component may define the following properties:
- ``subdirectories`` **[optional]**
If given, a list of the names of the subdirectories from the current
subpath to search for additional LLVMBuild files.
Each file may define multiple components. Each component is described by a
section who name starts with ``component``. The remainder of the section
name is ignored, but each section name must be unique. Typically components
are just number in order for files with multiple components
(``component_0``, ``component_1``, and so on).
.. warning::
Section names not matching this format (or the ``common`` section) are
currently unused and are disallowed.
Every component is defined by the properties in the section. The exact
list of properties that are allowed depends on the component type.
Components **may not** define any properties other than those expected
by the component type.
Every component must define the following properties:
- ``type`` **[required]**
The type of the component. Supported component types are detailed
below. Most components will define additional properties which may be
required or optional.
- ``name`` **[required]**
The name of the component. Names are required to be unique across the
entire project.
- ``parent`` **[required]**
The name of the logical parent of the component. Components are
organized into a logical tree to make it easier to navigate and
organize groups of components. The parents have no semantics as far
as the project build is concerned, however. Typically, the parent
will be the main component of the parent directory.
Components may reference the root pseudo component using ``$ROOT`` to
indicate they should logically be grouped at the top-level.
Components may define the following properties:
- ``dependencies`` **[optional]**
If specified, a list of names of components which *must* be built
prior to this one. This should only be exactly those components which
produce some tool or source code required for building the component.
.. note::
``Group`` and ``LibraryGroup`` components have no semantics for the
actual build, and are not allowed to specify dependencies.
The following section lists the available component types, as well as
the properties which are associated with that component.
- ``type = Group``
Group components exist purely to allow additional arbitrary structuring
of the logical components tree. For example, one might define a
``Libraries`` group to hold all of the root library components.
``Group`` components have no additionally properties.
- ``type = Library``
Library components define an individual library which should be built
from the source code in the component directory.
Components with this type use the following properties:
- ``library_name`` **[optional]**
If given, the name to use for the actual library file on disk. If
not given, the name is derived from the component name itself.
- ``required_libraries`` **[optional]**
If given, a list of the names of ``Library`` or ``LibraryGroup``
components which must also be linked in whenever this library is
used. That is, the link time dependencies for this component. When
tools are built, the build system will include the transitive closure
of all ``required_libraries`` for the components the tool needs.
- ``add_to_library_groups`` **[optional]**
If given, a list of the names of ``LibraryGroup`` components which
this component is also part of. This allows nesting groups of
components. For example, the ``X86`` target might define a library
group for all of the ``X86`` components. That library group might
then be included in the ``all-targets`` library group.
- ``installed`` **[optional]** **[boolean]**
Whether this library is installed. Libraries that are not installed
are only reported by ``llvm-config`` when it is run as part of a
development directory.
- ``type = LibraryGroup``
``LibraryGroup`` components are a mechanism to allow easy definition of
useful sets of related components. In particular, we use them to easily
specify things like "all targets", or "all assembly printers".
Components with this type use the following properties:
- ``required_libraries`` **[optional]**
See the ``Library`` type for a description of this property.
- ``add_to_library_groups`` **[optional]**
See the ``Library`` type for a description of this property.
- ``type = TargetGroup``
``TargetGroup`` components are an extension of ``LibraryGroup``\s,
specifically for defining LLVM targets (which are handled specially in a
few places).
The name of the component should always be the name of the target.
Components with this type use the ``LibraryGroup`` properties in
addition to:
- ``has_asmparser`` **[optional]** **[boolean]**
Whether this target defines an assembly parser.
- ``has_asmprinter`` **[optional]** **[boolean]**
Whether this target defines an assembly printer.
- ``has_disassembler`` **[optional]** **[boolean]**
Whether this target defines a disassembler.
- ``has_jit`` **[optional]** **[boolean]**
Whether this target supports JIT compilation.
- ``type = Tool``
``Tool`` components define standalone command line tools which should be
built from the source code in the component directory and linked.
Components with this type use the following properties:
- ``required_libraries`` **[optional]**
If given, a list of the names of ``Library`` or ``LibraryGroup``
components which this tool is required to be linked with.
.. note::
The values should be the component names, which may not always
match up with the actual library names on disk.
Build systems are expected to properly include all of the libraries
required by the linked components (i.e., the transitive closure of
``required_libraries``).
Build systems are also expected to understand that those library
components must be built prior to linking -- they do not also need
to be listed under ``dependencies``.
- ``type = BuildTool``
``BuildTool`` components are like ``Tool`` components, except that the
tool is supposed to be built for the platform where the build is running
(instead of that platform being targeted). Build systems are expected
to handle the fact that required libraries may need to be built for
multiple platforms in order to be able to link this tool.
``BuildTool`` components currently use the exact same properties as
``Tool`` components, the type distinction is only used to differentiate
what the tool is built for.

View File

@ -1,20 +0,0 @@
;===- ./docs/LLVMBuild.txt -------------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; https://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Group
name = Docs
parent = $ROOT

View File

@ -48,7 +48,7 @@ Setting up the build
First, configure and build LLVM as described in :doc:`GettingStarted`.
Next, we will reuse an existing directory (creating a new directory involves
modifying more ``CMakeLists.txt``s and ``LLVMBuild.txt``s than we want). For
modifying more ``CMakeLists.txt``s than we want). For
this example, we'll use ``llvm/lib/Transforms/HelloNew/HelloWorld.cpp``,
which has already been created. If you'd like to create your own pass, add a
new source file into ``llvm/lib/Transforms/HelloNew/CMakeLists.txt`` under

View File

@ -1,20 +0,0 @@
;===- ./examples/LLVMBuild.txt ---------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Group
name = Examples
parent = $ROOT

View File

@ -135,4 +135,11 @@ add_llvm_component_library(LLVMAnalysis
LINK_LIBS
${MLLinkDeps}
LINK_COMPONENTS
BinaryFormat
Core
Object
ProfileData
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/Analysis/LLVMBuild.txt -----------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = Analysis
parent = Libraries
required_libraries = BinaryFormat Core Object ProfileData Support

View File

@ -9,4 +9,9 @@ add_llvm_component_library(LLVMAsmParser
DEPENDS
intrinsics_gen
LINK_COMPONENTS
BinaryFormat
Core
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/AsmParser/LLVMBuild.txt ----------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = AsmParser
parent = Libraries
required_libraries = BinaryFormat Core Support

View File

@ -13,5 +13,7 @@ add_llvm_component_library(LLVMBinaryFormat
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/BinaryFormat
LINK_COMPONENTS
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/BinaryFormat/LLVMBuild.txt -------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = BinaryFormat
parent = Libraries
required_libraries = Support

View File

@ -1,23 +0,0 @@
;===- ./lib/Bitcode/LLVMBuild.txt ------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[common]
subdirectories = Reader Writer
[component_0]
type = Group
name = Bitcode
parent = Libraries

View File

@ -10,4 +10,9 @@ add_llvm_component_library(LLVMBitReader
DEPENDS
intrinsics_gen
LINK_COMPONENTS
BitstreamReader
Core
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/Bitcode/Reader/LLVMBuild.txt -----------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = BitReader
parent = Bitcode
required_libraries = BitstreamReader Core Support

View File

@ -6,4 +6,11 @@ add_llvm_component_library(LLVMBitWriter
DEPENDS
intrinsics_gen
LINK_COMPONENTS
Analysis
Core
MC
Object
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/Bitcode/Writer/LLVMBuild.txt -----------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = BitWriter
parent = Bitcode
required_libraries = Analysis Core MC Object Support

View File

@ -1,23 +0,0 @@
;===- ./lib/Bitstream/LLVMBuild.txt ----------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[common]
subdirectories = Reader
[component_0]
type = Group
name = Bitstream
parent = Libraries

View File

@ -4,4 +4,7 @@ add_llvm_component_library(LLVMBitstreamReader
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/Bitcode
${LLVM_MAIN_INCLUDE_DIR}/llvm/Bitstream
LINK_COMPONENTS
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/Bitstream/Reader/LLVMBuild.txt ---------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = BitstreamReader
parent = Bitstream
required_libraries = Support

View File

@ -1,3 +1,13 @@
include(LLVM-Build)
# Special components which don't have any source attached but aggregate other
# components
add_llvm_component_group(all-targets LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD})
add_llvm_component_group(Engine)
add_llvm_component_group(Native LINK_COMPONENTS ${LLVM_NATIVE_ARCH})
add_llvm_component_group(NativeCodeGen LINK_COMPONENTS ${LLVM_NATIVE_ARCH}CodeGen)
# `Demangle', `Support' and `TableGen' libraries are added on the top-level
# CMakeLists.txt
@ -37,3 +47,8 @@ if (LLVM_INCLUDE_TESTS)
add_subdirectory(Testing)
endif()
add_subdirectory(WindowsManifest)
set(LLVMCONFIGLIBRARYDEPENDENCIESINC "${LLVM_BINARY_DIR}/tools/llvm-config/LibraryDependencies.inc")
LLVMBuildResolveComponentsLink()
LLVMBuildGenerateCFragment(OUTPUT ${LLVMCONFIGLIBRARYDEPENDENCIESINC})

View File

@ -27,4 +27,18 @@ add_llvm_component_library(LLVMAsmPrinter
DEPENDS
intrinsics_gen
LINK_COMPONENTS
Analysis
BinaryFormat
CodeGen
Core
DebugInfoCodeView
DebugInfoDWARF
DebugInfoMSF
MC
MCParser
Remarks
Support
Target
)

View File

@ -1,21 +0,0 @@
;===- ./lib/CodeGen/AsmPrinter/LLVMBuild.txt -------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = AsmPrinter
parent = Libraries
required_libraries = Analysis BinaryFormat CodeGen Core DebugInfoCodeView DebugInfoDWARF DebugInfoMSF MC MCParser Remarks Support Target

View File

@ -197,6 +197,18 @@ add_llvm_component_library(LLVMCodeGen
DEPENDS
intrinsics_gen
LINK_COMPONENTS
Analysis
BitReader
BitWriter
Core
MC
ProfileData
Scalar
Support
Target
TransformUtils
)
add_subdirectory(SelectionDAG)

View File

@ -1,32 +1,42 @@
add_llvm_component_library(LLVMGlobalISel
CSEInfo.cpp
GISelKnownBits.cpp
CSEMIRBuilder.cpp
CallLowering.cpp
GlobalISel.cpp
Combiner.cpp
CombinerHelper.cpp
GISelChangeObserver.cpp
IRTranslator.cpp
InlineAsmLowering.cpp
InstructionSelect.cpp
InstructionSelector.cpp
LegalityPredicates.cpp
LegalizeMutations.cpp
Legalizer.cpp
LegalizerHelper.cpp
LegalizerInfo.cpp
Localizer.cpp
LostDebugLocObserver.cpp
MachineIRBuilder.cpp
RegBankSelect.cpp
RegisterBank.cpp
RegisterBankInfo.cpp
Utils.cpp
CSEInfo.cpp
GISelKnownBits.cpp
CSEMIRBuilder.cpp
CallLowering.cpp
GlobalISel.cpp
Combiner.cpp
CombinerHelper.cpp
GISelChangeObserver.cpp
IRTranslator.cpp
InlineAsmLowering.cpp
InstructionSelect.cpp
InstructionSelector.cpp
LegalityPredicates.cpp
LegalizeMutations.cpp
Legalizer.cpp
LegalizerHelper.cpp
LegalizerInfo.cpp
Localizer.cpp
LostDebugLocObserver.cpp
MachineIRBuilder.cpp
RegBankSelect.cpp
RegisterBank.cpp
RegisterBankInfo.cpp
Utils.cpp
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/GlobalISel
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/GlobalISel
DEPENDS
intrinsics_gen
DEPENDS
intrinsics_gen
LINK_COMPONENTS
Analysis
CodeGen
Core
MC
SelectionDAG
Support
Target
TransformUtils
)

View File

@ -1,21 +0,0 @@
;===- ./lib/CodeGen/GlobalISel/LLVMBuild.txt -----------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = GlobalISel
parent = CodeGen
required_libraries = Analysis CodeGen Core MC SelectionDAG Support Target TransformUtils

View File

@ -1,24 +0,0 @@
;===- ./lib/CodeGen/LLVMBuild.txt ------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[common]
subdirectories = AsmPrinter SelectionDAG MIRParser GlobalISel
[component_0]
type = Library
name = CodeGen
parent = Libraries
required_libraries = Analysis BitReader BitWriter Core MC ProfileData Scalar Support Target TransformUtils

View File

@ -8,4 +8,13 @@ add_llvm_component_library(LLVMMIRParser
DEPENDS
intrinsics_gen
LINK_COMPONENTS
AsmParser
BinaryFormat
CodeGen
Core
MC
Support
Target
)

View File

@ -1,21 +0,0 @@
;===- ./lib/CodeGen/MIRParser/LLVMBuild.txt --------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = MIRParser
parent = CodeGen
required_libraries = AsmParser BinaryFormat CodeGen Core MC Support Target

View File

@ -27,4 +27,13 @@ add_llvm_component_library(LLVMSelectionDAG
DEPENDS
intrinsics_gen
LINK_COMPONENTS
Analysis
CodeGen
Core
MC
Support
Target
TransformUtils
)

View File

@ -1,21 +0,0 @@
;===- ./lib/CodeGen/SelectionDAG/LLVMBuild.txt -----------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = SelectionDAG
parent = CodeGen
required_libraries = Analysis CodeGen Core MC Support Target TransformUtils

View File

@ -9,4 +9,12 @@ add_llvm_component_library(LLVMDWARFLinker
DEPENDS
intrinsics_gen
LINK_COMPONENTS
DebugInfoDWARF
AsmPrinter
CodeGen
MC
Object
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/DWARFLinker/LLVMBuild.txt ---------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = DWARFLinker
parent = Libraries
required_libraries = DebugInfoDWARF AsmPrinter CodeGen MC Object Support

View File

@ -42,4 +42,8 @@ add_llvm_component_library(LLVMDebugInfoCodeView
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/CodeView
LINK_COMPONENTS
Support
DebugInfoMSF
)

View File

@ -1,21 +0,0 @@
;===- ./lib/DebugInfo/CodeView/LLVMBuild.txt -------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = DebugInfoCodeView
parent = DebugInfo
required_libraries = Support DebugInfoMSF

View File

@ -31,4 +31,10 @@ add_llvm_component_library(LLVMDebugInfoDWARF
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/DWARF
${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo
LINK_COMPONENTS
BinaryFormat
Object
MC
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/DebugInfo/DWARF/LLVMBuild.txt ----------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = DebugInfoDWARF
parent = DebugInfo
required_libraries = BinaryFormat Object MC Support

View File

@ -1,7 +1,3 @@
set(LLVM_LINK_COMPONENTS
DebugInfoDWARF
)
add_llvm_component_library(LLVMDebugInfoGSYM
DwarfTransformer.cpp
Header.cpp
@ -21,4 +17,10 @@ add_llvm_component_library(LLVMDebugInfoGSYM
DEPENDS
LLVMMC
LINK_COMPONENTS
MC
Object
Support
DebugInfoDWARF
)

View File

@ -1,21 +0,0 @@
;===- ./lib/DebugInfo/GSYM/LLVMBuild.txt ----------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = DebugInfoGSYM
parent = DebugInfo
required_libraries = MC Object Support DebugInfoDWARF

View File

@ -1,23 +0,0 @@
;===- ./lib/DebugInfo/LLVMBuild.txt ----------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[common]
subdirectories = DWARF GSYM MSF CodeView PDB Symbolize
[component_0]
type = Group
name = DebugInfo
parent = $ROOT

View File

@ -5,4 +5,7 @@ add_llvm_component_library(LLVMDebugInfoMSF
MSFError.cpp
ADDITIONAL_HEADER_DIRS
"${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/MSF"
LINK_COMPONENTS
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/DebugInfo/MSF/LLVMBuild.txt -------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = DebugInfoMSF
parent = DebugInfo
required_libraries = Support

View File

@ -139,6 +139,13 @@ add_llvm_component_library(LLVMDebugInfoPDB
ADDITIONAL_HEADER_DIRS
${LIBPDB_ADDITIONAL_HEADER_DIRS}
LINK_COMPONENTS
BinaryFormat
Object
Support
DebugInfoCodeView
DebugInfoMSF
)
target_link_libraries(LLVMDebugInfoPDB INTERFACE "${LIBPDB_ADDITIONAL_LIBRARIES}")

View File

@ -1,22 +0,0 @@
;===- ./lib/DebugInfo/PDB/LLVMBuild.txt ------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = DebugInfoPDB
parent = DebugInfo
required_libraries = BinaryFormat Object Support DebugInfoCodeView DebugInfoMSF

View File

@ -5,4 +5,11 @@ add_llvm_component_library(LLVMSymbolize
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/Symbolize
LINK_COMPONENTS
DebugInfoDWARF
DebugInfoPDB
Object
Support
Demangle
)

View File

@ -1,21 +0,0 @@
;===- ./lib/DebugInfo/Symbolize/LLVMBuild.txt ------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = Symbolize
parent = DebugInfo
required_libraries = DebugInfoDWARF DebugInfoPDB Object Support Demangle

View File

@ -6,4 +6,5 @@ add_llvm_component_library(LLVMDemangle
ADDITIONAL_HEADER_DIRS
"${LLVM_MAIN_INCLUDE_DIR}/llvm/Demangle"
)

View File

@ -1,20 +0,0 @@
;===- ./lib/Support/LLVMBuild.txt ------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = Demangle
parent = Libraries

View File

@ -12,6 +12,14 @@ add_llvm_component_library(LLVMExecutionEngine
DEPENDS
intrinsics_gen
LINK_COMPONENTS
Core
MC
Object
RuntimeDyld
Support
Target
)
if(BUILD_SHARED_LIBS)

View File

@ -12,6 +12,14 @@ add_llvm_component_library(LLVMIntelJITEvents
jitprofiling.c
LINK_LIBS ${LLVM_INTEL_JIT_LIBS}
LINK_COMPONENTS
CodeGen
Core
DebugInfoDWARF
Support
Object
ExecutionEngine
)
add_dependencies(LLVMIntelJITEvents LLVMCodeGen)

View File

@ -1,23 +0,0 @@
;===- ./lib/ExecutionEngine/JITProfileAmplifier/LLVMBuild.txt --*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[common]
[component_0]
type = OptionalLibrary
name = IntelJITEvents
parent = ExecutionEngine
required_libraries = CodeGen Core DebugInfoDWARF Support Object ExecutionEngine

View File

@ -13,6 +13,12 @@ add_llvm_component_library(LLVMInterpreter
DEPENDS
intrinsics_gen
LINK_COMPONENTS
CodeGen
Core
ExecutionEngine
Support
)
if( LLVM_ENABLE_FFI )

View File

@ -1,21 +0,0 @@
;===- ./lib/ExecutionEngine/Interpreter/LLVMBuild.txt ----------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = Interpreter
parent = ExecutionEngine
required_libraries = CodeGen Core ExecutionEngine Support

View File

@ -17,6 +17,12 @@ add_llvm_component_library(LLVMJITLink
DEPENDS
intrinsics_gen
LINK_COMPONENTS
BinaryFormat
Object
OrcTargetProcess
Support
)
target_link_libraries(LLVMJITLink

View File

@ -1,21 +0,0 @@
;===----- ./lib/ExecutionEngine/JTILink/LLVMBuild.txt ----------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = JITLink
parent = ExecutionEngine
required_libraries = BinaryFormat Object OrcTargetProcess Support

View File

@ -1,25 +0,0 @@
;===- ./lib/ExecutionEngine/LLVMBuild.txt ----------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[common]
subdirectories = Interpreter MCJIT JITLink RuntimeDyld IntelJITEvents
OProfileJIT Orc PerfJITEvents
[component_0]
type = Library
name = ExecutionEngine
parent = Libraries
required_libraries = Core MC Object RuntimeDyld Support Target

View File

@ -3,4 +3,12 @@ add_llvm_component_library(LLVMMCJIT
DEPENDS
intrinsics_gen
LINK_COMPONENTS
Core
ExecutionEngine
Object
RuntimeDyld
Support
Target
)

View File

@ -1,21 +0,0 @@
;===- ./lib/ExecutionEngine/MCJIT/LLVMBuild.txt ----------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = MCJIT
parent = ExecutionEngine
required_libraries = Core ExecutionEngine Object RuntimeDyld Support Target

View File

@ -4,4 +4,10 @@ include_directories( ${LLVM_OPROFILE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/.. )
add_llvm_component_library(LLVMOProfileJIT
OProfileJITEventListener.cpp
OProfileWrapper.cpp
LINK_COMPONENTS
DebugInfoDWARF
Support
Object
ExecutionEngine
)

View File

@ -1,23 +0,0 @@
;===- ./lib/ExecutionEngine/OProfileJIT/LLVMBuild.txt ----------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[common]
[component_0]
type = OptionalLibrary
name = OProfileJIT
parent = ExecutionEngine
required_libraries = DebugInfoDWARF Support Object ExecutionEngine

View File

@ -30,6 +30,20 @@ add_llvm_component_library(LLVMOrcJIT
DEPENDS
intrinsics_gen
LINK_COMPONENTS
Core
ExecutionEngine
JITLink
Object
OrcShared
OrcTargetProcess
MC
Passes
RuntimeDyld
Support
Target
TransformUtils
)
add_subdirectory(Shared)

View File

@ -1,26 +0,0 @@
;===- ./lib/ExecutionEngine/Orc/LLVMBuild.txt ----------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[common]
subdirectories = Shared TargetProcess
[component_0]
type = Library
name = OrcJIT
parent = ExecutionEngine
required_libraries = Core ExecutionEngine JITLink Object OrcShared
OrcTargetProcess MC Passes RuntimeDyld Support Target
TransformUtils

View File

@ -4,4 +4,7 @@ add_llvm_component_library(LLVMOrcShared
TargetProcessControlTypes.cpp
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/ExecutionEngine/Orc
LINK_COMPONENTS
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/ExecutionEngine/Orc/Shared/LLVMBuild.txt ------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = OrcShared
parent = OrcJIT
required_libraries = Support

View File

@ -1,6 +1,11 @@
add_llvm_component_library(LLVMOrcTargetProcess
RegisterEHFrames.cpp
TargetExecutionUtils.cpp
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/ExecutionEngine/Orc
LINK_COMPONENTS
OrcShared
Support
)

View File

@ -1,5 +1,13 @@
add_llvm_component_library(LLVMPerfJITEvents
PerfJITEventListener.cpp
LINK_COMPONENTS
CodeGen
Core
DebugInfoDWARF
ExecutionEngine
Object
Support
)
add_dependencies(LLVMPerfJITEvents LLVMCodeGen)

View File

@ -1,21 +0,0 @@
;===- ./lib/ExecutionEngine/PerfJITEvents/LLVMBuild.txt ----------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = OptionalLibrary
name = PerfJITEvents
parent = ExecutionEngine
required_libraries = CodeGen Core DebugInfoDWARF ExecutionEngine Object Support

View File

@ -10,4 +10,11 @@ add_llvm_component_library(LLVMRuntimeDyld
DEPENDS
intrinsics_gen
LINK_COMPONENTS
Core
MC
Object
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/ExecutionEngine/RuntimeDyld/LLVMBuild.txt ----------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = RuntimeDyld
parent = ExecutionEngine
required_libraries = Core MC Object Support

View File

@ -1,3 +1,6 @@
add_llvm_component_library(LLVMExtensions
Extensions.cpp
Extensions.cpp
LINK_COMPONENTS
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/Extensions/LLVMBuild.txt -------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = Extensions
parent = Libraries
required_libraries = Support

View File

@ -1,23 +0,0 @@
;===- ./lib/Frontend/LLVMBuild.txt -----------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[common]
subdirectories = OpenMP
[component_0]
type = Group
name = Frontend
parent = Libraries

View File

@ -15,4 +15,9 @@ add_llvm_component_library(LLVMFrontendOpenMP
intrinsics_gen
omp_gen
omp_cpp
LINK_COMPONENTS
Core
Support
TransformUtils
)

View File

@ -1,21 +0,0 @@
;===- ./lib/Frontend/OpenMP/LLVMBuild.txt ----------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = FrontendOpenMP
parent = Frontend
required_libraries = Core Support TransformUtils

View File

@ -10,4 +10,13 @@ add_llvm_component_library(LLVMFuzzMutate
DEPENDS
intrinsics_gen
LINK_COMPONENTS
Analysis
BitReader
BitWriter
Core
Scalar
Support
Target
)

View File

@ -1,21 +0,0 @@
;===- ./lib/FuzzMutate/LLVMBuild.txt ---------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = FuzzMutate
parent = Libraries
required_libraries = Analysis BitReader BitWriter Core Scalar Support Target

View File

@ -59,8 +59,14 @@ add_llvm_component_library(LLVMCore
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/IR
LINK_LIBS ${LLVM_PTHREAD_LIB}
LINK_LIBS
${LLVM_PTHREAD_LIB}
DEPENDS
intrinsics_gen
LINK_COMPONENTS
BinaryFormat
Remarks
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/IR/LLVMBuild.txt -----------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = Core
parent = Libraries
required_libraries = BinaryFormat Remarks Support

View File

@ -6,4 +6,10 @@ add_llvm_component_library(LLVMIRReader
DEPENDS
intrinsics_gen
LINK_COMPONENTS
AsmParser
BitReader
Core
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/IRReader/LLVMBuild.txt -----------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = IRReader
parent = Libraries
required_libraries = AsmParser BitReader Core Support

View File

@ -2,4 +2,8 @@ add_llvm_component_library(LLVMInterfaceStub
ELFObjHandler.cpp
ELFStub.cpp
TBEHandler.cpp
LINK_COMPONENTS
Object
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/InterfaceStub/LLVMBuild.txt ------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = InterfaceStub
parent = Libraries
required_libraries = Object Support

View File

@ -1,59 +0,0 @@
;===- ./lib/LLVMBuild.txt --------------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[common]
subdirectories =
Analysis
AsmParser
Bitcode
Bitstream
CodeGen
DebugInfo
Demangle
DWARFLinker
ExecutionEngine
Extensions
Frontend
FuzzMutate
LineEditor
Linker
InterfaceStub
IR
IRReader
LTO
MC
MCA
Object
BinaryFormat
ObjectYAML
Option
Remarks
Passes
ProfileData
Support
TableGen
TextAPI
Target
Testing
ToolDrivers
Transforms
WindowsManifest
XRay
[component_0]
type = Group
name = Libraries
parent = $ROOT

View File

@ -13,4 +13,26 @@ add_llvm_component_library(LLVMLTO
DEPENDS
intrinsics_gen
llvm_vcsrevision_h
LINK_COMPONENTS
AggressiveInstCombine
Analysis
BinaryFormat
BitReader
BitWriter
CodeGen
Core
Extensions
IPO
InstCombine
Linker
MC
ObjCARC
Object
Passes
Remarks
Scalar
Support
Target
TransformUtils
)

View File

@ -1,41 +0,0 @@
;===- ./lib/LTO/LLVMBuild.txt ----------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = LTO
parent = Libraries
required_libraries =
AggressiveInstCombine
Analysis
BinaryFormat
BitReader
BitWriter
CodeGen
Core
Extensions
IPO
InstCombine
Linker
MC
ObjCARC
Object
Passes
Remarks
Scalar
Support
Target
TransformUtils

View File

@ -10,4 +10,7 @@ add_llvm_component_library(LLVMLineEditor
LINK_LIBS
${link_libs}
LINK_COMPONENTS
Support
)

View File

@ -1,21 +0,0 @@
;===- ./lib/LineEditor/LLVMBuild.txt ---------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = LineEditor
parent = Libraries
required_libraries = Support

View File

@ -7,4 +7,9 @@ add_llvm_component_library(LLVMLinker
DEPENDS
intrinsics_gen
LINK_COMPONENTS
Core
Support
TransformUtils
)

View File

@ -1,21 +0,0 @@
;===- ./lib/Linker/LLVMBuild.txt -------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[component_0]
type = Library
name = Linker
parent = Libraries
required_libraries = Core Support TransformUtils

View File

@ -64,6 +64,11 @@ add_llvm_component_library(LLVMMC
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/MC
LINK_COMPONENTS
Support
BinaryFormat
DebugInfoCodeView
)
add_subdirectory(MCParser)

View File

@ -1,24 +0,0 @@
;===- ./lib/MC/LLVMBuild.txt -----------------------------------*- Conf -*--===;
;
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
; See https://llvm.org/LICENSE.txt for license information.
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
;
;===------------------------------------------------------------------------===;
;
; This is an LLVMBuild description file for the components in this subdirectory.
;
; For more information on the LLVMBuild system, please see:
;
; http://llvm.org/docs/LLVMBuild.html
;
;===------------------------------------------------------------------------===;
[common]
subdirectories = MCDisassembler MCParser
[component_0]
type = Library
name = MC
parent = Libraries
required_libraries = Support BinaryFormat DebugInfoCodeView

View File

@ -4,4 +4,8 @@ add_llvm_component_library(LLVMMCDisassembler
MCExternalSymbolizer.cpp
MCRelocationInfo.cpp
MCSymbolizer.cpp
LINK_COMPONENTS
MC
Support
)

Some files were not shown because too many files have changed in this diff Show More