mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01: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:
parent
65ee119111
commit
82b6e6053d
@ -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
|
||||
|
@ -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
|
@ -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
|
@ -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)
|
||||
|
99
cmake/modules/LLVM-Build.cmake
Normal file
99
cmake/modules/LLVM-Build.cmake
Normal 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()
|
@ -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" )
|
||||
|
@ -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.
|
||||
|
||||
|
@ -73,7 +73,6 @@ Developer Tools
|
||||
FileCheck
|
||||
tblgen
|
||||
lit
|
||||
llvm-build
|
||||
llvm-exegesis
|
||||
llvm-pdbutil
|
||||
llvm-locstats
|
||||
|
@ -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.
|
@ -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.
|
||||
|
||||
|
@ -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.
|
@ -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
|
@ -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
|
||||
|
@ -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
|
@ -135,4 +135,11 @@ add_llvm_component_library(LLVMAnalysis
|
||||
|
||||
LINK_LIBS
|
||||
${MLLinkDeps}
|
||||
|
||||
LINK_COMPONENTS
|
||||
BinaryFormat
|
||||
Core
|
||||
Object
|
||||
ProfileData
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -9,4 +9,9 @@ add_llvm_component_library(LLVMAsmParser
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
BinaryFormat
|
||||
Core
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -13,5 +13,7 @@ add_llvm_component_library(LLVMBinaryFormat
|
||||
|
||||
ADDITIONAL_HEADER_DIRS
|
||||
${LLVM_MAIN_INCLUDE_DIR}/llvm/BinaryFormat
|
||||
)
|
||||
|
||||
LINK_COMPONENTS
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -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
|
@ -10,4 +10,9 @@ add_llvm_component_library(LLVMBitReader
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
BitstreamReader
|
||||
Core
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -6,4 +6,11 @@ add_llvm_component_library(LLVMBitWriter
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
Analysis
|
||||
Core
|
||||
MC
|
||||
Object
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -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
|
@ -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
|
||||
)
|
||||
|
@ -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
|
@ -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})
|
||||
|
@ -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
|
||||
)
|
||||
|
@ -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
|
@ -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)
|
||||
|
@ -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
|
||||
)
|
||||
|
@ -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
|
@ -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
|
@ -8,4 +8,13 @@ add_llvm_component_library(LLVMMIRParser
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
AsmParser
|
||||
BinaryFormat
|
||||
CodeGen
|
||||
Core
|
||||
MC
|
||||
Support
|
||||
Target
|
||||
)
|
||||
|
@ -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
|
@ -27,4 +27,13 @@ add_llvm_component_library(LLVMSelectionDAG
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
Analysis
|
||||
CodeGen
|
||||
Core
|
||||
MC
|
||||
Support
|
||||
Target
|
||||
TransformUtils
|
||||
)
|
||||
|
@ -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
|
@ -9,4 +9,12 @@ add_llvm_component_library(LLVMDWARFLinker
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
DebugInfoDWARF
|
||||
AsmPrinter
|
||||
CodeGen
|
||||
MC
|
||||
Object
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -42,4 +42,8 @@ add_llvm_component_library(LLVMDebugInfoCodeView
|
||||
|
||||
ADDITIONAL_HEADER_DIRS
|
||||
${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/CodeView
|
||||
|
||||
LINK_COMPONENTS
|
||||
Support
|
||||
DebugInfoMSF
|
||||
)
|
||||
|
@ -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
|
@ -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
|
||||
)
|
||||
|
@ -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
|
@ -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
|
||||
)
|
||||
|
@ -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
|
@ -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
|
@ -5,4 +5,7 @@ add_llvm_component_library(LLVMDebugInfoMSF
|
||||
MSFError.cpp
|
||||
ADDITIONAL_HEADER_DIRS
|
||||
"${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/MSF"
|
||||
|
||||
LINK_COMPONENTS
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -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}")
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
)
|
||||
|
@ -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
|
@ -6,4 +6,5 @@ add_llvm_component_library(LLVMDemangle
|
||||
|
||||
ADDITIONAL_HEADER_DIRS
|
||||
"${LLVM_MAIN_INCLUDE_DIR}/llvm/Demangle"
|
||||
|
||||
)
|
||||
|
@ -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
|
@ -12,6 +12,14 @@ add_llvm_component_library(LLVMExecutionEngine
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
Core
|
||||
MC
|
||||
Object
|
||||
RuntimeDyld
|
||||
Support
|
||||
Target
|
||||
)
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
|
@ -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)
|
||||
|
@ -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
|
@ -13,6 +13,12 @@ add_llvm_component_library(LLVMInterpreter
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
CodeGen
|
||||
Core
|
||||
ExecutionEngine
|
||||
Support
|
||||
)
|
||||
|
||||
if( LLVM_ENABLE_FFI )
|
||||
|
@ -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
|
@ -17,6 +17,12 @@ add_llvm_component_library(LLVMJITLink
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
BinaryFormat
|
||||
Object
|
||||
OrcTargetProcess
|
||||
Support
|
||||
)
|
||||
|
||||
target_link_libraries(LLVMJITLink
|
||||
|
@ -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
|
@ -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
|
@ -3,4 +3,12 @@ add_llvm_component_library(LLVMMCJIT
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
Core
|
||||
ExecutionEngine
|
||||
Object
|
||||
RuntimeDyld
|
||||
Support
|
||||
Target
|
||||
)
|
||||
|
@ -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
|
@ -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
|
||||
)
|
||||
|
@ -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
|
@ -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)
|
||||
|
@ -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
|
@ -4,4 +4,7 @@ add_llvm_component_library(LLVMOrcShared
|
||||
TargetProcessControlTypes.cpp
|
||||
ADDITIONAL_HEADER_DIRS
|
||||
${LLVM_MAIN_INCLUDE_DIR}/llvm/ExecutionEngine/Orc
|
||||
|
||||
LINK_COMPONENTS
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -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
|
||||
)
|
||||
|
@ -1,5 +1,13 @@
|
||||
add_llvm_component_library(LLVMPerfJITEvents
|
||||
PerfJITEventListener.cpp
|
||||
|
||||
LINK_COMPONENTS
|
||||
CodeGen
|
||||
Core
|
||||
DebugInfoDWARF
|
||||
ExecutionEngine
|
||||
Object
|
||||
Support
|
||||
)
|
||||
|
||||
add_dependencies(LLVMPerfJITEvents LLVMCodeGen)
|
||||
|
@ -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
|
@ -10,4 +10,11 @@ add_llvm_component_library(LLVMRuntimeDyld
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
|
||||
LINK_COMPONENTS
|
||||
Core
|
||||
MC
|
||||
Object
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -1,3 +1,6 @@
|
||||
add_llvm_component_library(LLVMExtensions
|
||||
Extensions.cpp
|
||||
Extensions.cpp
|
||||
|
||||
LINK_COMPONENTS
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -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
|
@ -15,4 +15,9 @@ add_llvm_component_library(LLVMFrontendOpenMP
|
||||
intrinsics_gen
|
||||
omp_gen
|
||||
omp_cpp
|
||||
|
||||
LINK_COMPONENTS
|
||||
Core
|
||||
Support
|
||||
TransformUtils
|
||||
)
|
||||
|
@ -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
|
@ -10,4 +10,13 @@ add_llvm_component_library(LLVMFuzzMutate
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
Analysis
|
||||
BitReader
|
||||
BitWriter
|
||||
Core
|
||||
Scalar
|
||||
Support
|
||||
Target
|
||||
)
|
||||
|
@ -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
|
@ -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
|
||||
)
|
||||
|
@ -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
|
@ -6,4 +6,10 @@ add_llvm_component_library(LLVMIRReader
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
AsmParser
|
||||
BitReader
|
||||
Core
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -2,4 +2,8 @@ add_llvm_component_library(LLVMInterfaceStub
|
||||
ELFObjHandler.cpp
|
||||
ELFStub.cpp
|
||||
TBEHandler.cpp
|
||||
|
||||
LINK_COMPONENTS
|
||||
Object
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -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
|
@ -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
|
||||
)
|
||||
|
@ -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
|
@ -10,4 +10,7 @@ add_llvm_component_library(LLVMLineEditor
|
||||
|
||||
LINK_LIBS
|
||||
${link_libs}
|
||||
|
||||
LINK_COMPONENTS
|
||||
Support
|
||||
)
|
||||
|
@ -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
|
@ -7,4 +7,9 @@ add_llvm_component_library(LLVMLinker
|
||||
|
||||
DEPENDS
|
||||
intrinsics_gen
|
||||
|
||||
LINK_COMPONENTS
|
||||
Core
|
||||
Support
|
||||
TransformUtils
|
||||
)
|
||||
|
@ -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
|
@ -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)
|
||||
|
@ -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
|
@ -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
Loading…
x
Reference in New Issue
Block a user