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 b498303066
commit 9218ff50f9
422 changed files with 1691 additions and 7505 deletions

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