CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
305 lines
7.3 KiB
Python
305 lines
7.3 KiB
Python
# This file is licensed 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
|
|
|
|
load("@bazel_skylib//rules:write_file.bzl", "write_file")
|
|
load("@rules_cc//cc:defs.bzl", "cc_library")
|
|
load(
|
|
"//:vars.bzl",
|
|
"LLVM_VERSION",
|
|
)
|
|
load("//llvm:binary_alias.bzl", "binary_alias")
|
|
load("//llvm:driver.bzl", "llvm_driver_cc_binary")
|
|
load("//mlir:tblgen.bzl", "gentbl_cc_library")
|
|
|
|
package(
|
|
default_visibility = ["//visibility:public"],
|
|
features = ["layering_check"],
|
|
)
|
|
|
|
licenses(["notice"])
|
|
|
|
# TODO: Actually compute version info
|
|
write_file(
|
|
name = "config_version_gen",
|
|
out = "include/lld/Common/Version.inc",
|
|
content = [
|
|
"#define LLD_VERSION_STRING \"{}\"".format(LLVM_VERSION),
|
|
],
|
|
)
|
|
|
|
write_file(
|
|
name = "vcs_version_gen",
|
|
out = "Common/VCSVersion.inc",
|
|
content = [
|
|
"#undef LLD_REVISION",
|
|
"#undef LLD_REPOSITORY",
|
|
],
|
|
)
|
|
|
|
# See https://github.com/bazelbuild/bazel/issues/13803
|
|
cc_library(
|
|
name = "vcs_version",
|
|
hdrs = ["Common/VCSVersion.inc"],
|
|
strip_include_prefix = "Common",
|
|
)
|
|
|
|
cc_library(
|
|
name = "Common",
|
|
srcs = [":config_version_gen"] + glob(["Common/*.cpp"]),
|
|
hdrs = glob(["include/lld/Common/*.h"]),
|
|
includes = ["include"],
|
|
textual_hdrs = glob(["include/lld/Common/*.inc"]),
|
|
deps = [
|
|
":vcs_version",
|
|
"//llvm:CodeGen",
|
|
"//llvm:Core",
|
|
"//llvm:DebugInfoDWARF",
|
|
"//llvm:Option",
|
|
"//llvm:ProfileData",
|
|
"//llvm:Support",
|
|
"//llvm:Target",
|
|
"//llvm:TargetParser",
|
|
"//llvm:config",
|
|
],
|
|
)
|
|
|
|
gentbl_cc_library(
|
|
name = "elf_options_inc_gen",
|
|
# See https://github.com/bazelbuild/bazel/issues/13803
|
|
strip_include_prefix = "ELF",
|
|
tbl_outs = {"ELF/Options.inc": ["-gen-opt-parser-defs"]},
|
|
tblgen = "//llvm:llvm-tblgen",
|
|
td_file = "ELF/Options.td",
|
|
deps = ["//llvm:OptParserTdFiles"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "ELF",
|
|
srcs = glob([
|
|
"ELF/**/*.cpp",
|
|
"ELF/**/*.h",
|
|
]),
|
|
includes = ["ELF"],
|
|
textual_hdrs = [
|
|
"ELF/Arch/PPCInsns.def",
|
|
],
|
|
deps = [
|
|
":Common",
|
|
":elf_options_inc_gen",
|
|
"//llvm:AllTargetsAsmParsers",
|
|
"//llvm:AllTargetsCodeGens",
|
|
"//llvm:AllTargetsDisassemblers",
|
|
"//llvm:Analysis",
|
|
"//llvm:BinaryFormat",
|
|
"//llvm:BitReader",
|
|
"//llvm:BitWriter",
|
|
"//llvm:CodeGen",
|
|
"//llvm:Core",
|
|
"//llvm:DTLTO",
|
|
"//llvm:DebugInfoDWARF",
|
|
"//llvm:Demangle",
|
|
"//llvm:IPO",
|
|
"//llvm:LTO",
|
|
"//llvm:Linker",
|
|
"//llvm:MC",
|
|
"//llvm:Object",
|
|
"//llvm:Option",
|
|
"//llvm:Passes",
|
|
"//llvm:Remarks",
|
|
"//llvm:Support",
|
|
"//llvm:TargetParser",
|
|
"//llvm:TransformUtils",
|
|
"//llvm:config",
|
|
"//third-party:zlib",
|
|
"//third-party:zstd",
|
|
],
|
|
)
|
|
|
|
gentbl_cc_library(
|
|
name = "coff_options_inc_gen",
|
|
# See https://github.com/bazelbuild/bazel/issues/13803
|
|
strip_include_prefix = "COFF",
|
|
tbl_outs = {"COFF/Options.inc": ["-gen-opt-parser-defs"]},
|
|
tblgen = "//llvm:llvm-tblgen",
|
|
td_file = "COFF/Options.td",
|
|
deps = ["//llvm:OptParserTdFiles"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "COFF",
|
|
srcs = glob([
|
|
"COFF/*.cpp",
|
|
"COFF/*.h",
|
|
]),
|
|
includes = ["COFF"],
|
|
deps = [
|
|
":Common",
|
|
":coff_options_inc_gen",
|
|
"//llvm:AllTargetsAsmParsers",
|
|
"//llvm:AllTargetsCodeGens",
|
|
"//llvm:AllTargetsDisassemblers",
|
|
"//llvm:Analysis",
|
|
"//llvm:BinaryFormat",
|
|
"//llvm:BitReader",
|
|
"//llvm:BitWriter",
|
|
"//llvm:Core",
|
|
"//llvm:DTLTO",
|
|
"//llvm:DebugInfo",
|
|
"//llvm:DebugInfoCodeView",
|
|
"//llvm:DebugInfoMSF",
|
|
"//llvm:DebugInfoPDB",
|
|
"//llvm:Demangle",
|
|
"//llvm:IPO",
|
|
"//llvm:LTO",
|
|
"//llvm:LibDriver",
|
|
"//llvm:Linker",
|
|
"//llvm:MC",
|
|
"//llvm:Object",
|
|
"//llvm:Option",
|
|
"//llvm:Support",
|
|
"//llvm:Symbolize",
|
|
"//llvm:TargetParser",
|
|
"//llvm:TransformUtils",
|
|
"//llvm:WindowsDriver",
|
|
"//llvm:WindowsManifest",
|
|
"//llvm:config",
|
|
],
|
|
)
|
|
|
|
gentbl_cc_library(
|
|
name = "mingw_options_inc_gen",
|
|
tbl_outs = {"MinGW/Options.inc": ["-gen-opt-parser-defs"]},
|
|
tblgen = "//llvm:llvm-tblgen",
|
|
td_file = "MinGW/Options.td",
|
|
deps = ["//llvm:OptParserTdFiles"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "MinGW",
|
|
srcs = glob([
|
|
"MinGW/*.cpp",
|
|
]),
|
|
includes = ["MinGW"],
|
|
deps = [
|
|
":Common",
|
|
":mingw_options_inc_gen",
|
|
"//llvm:Option",
|
|
"//llvm:Support",
|
|
"//llvm:TargetParser",
|
|
],
|
|
)
|
|
|
|
gentbl_cc_library(
|
|
name = "macho_options_inc_gen",
|
|
# See https://github.com/bazelbuild/bazel/issues/13803
|
|
strip_include_prefix = "MachO",
|
|
tbl_outs = {"MachO/Options.inc": ["-gen-opt-parser-defs"]},
|
|
tblgen = "//llvm:llvm-tblgen",
|
|
td_file = "MachO/Options.td",
|
|
deps = ["//llvm:OptParserTdFiles"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "MachO",
|
|
srcs = glob([
|
|
"MachO/**/*.cpp",
|
|
"MachO/**/*.h",
|
|
]),
|
|
includes = ["MachO"],
|
|
deps = [
|
|
":Common",
|
|
":macho_options_inc_gen",
|
|
"//libunwind:unwind_headers_only",
|
|
"//llvm:BinaryFormat",
|
|
"//llvm:BitReader",
|
|
"//llvm:BitWriter",
|
|
"//llvm:CGData",
|
|
"//llvm:DebugInfoDWARF",
|
|
"//llvm:Demangle",
|
|
"//llvm:LTO",
|
|
"//llvm:Object",
|
|
"//llvm:Option",
|
|
"//llvm:Support",
|
|
"//llvm:TargetParser",
|
|
"//llvm:TextAPI",
|
|
"//llvm:config",
|
|
],
|
|
)
|
|
|
|
gentbl_cc_library(
|
|
name = "wasm_options_inc_gen",
|
|
# See https://github.com/bazelbuild/bazel/issues/13803
|
|
strip_include_prefix = "wasm",
|
|
tbl_outs = {"wasm/Options.inc": ["-gen-opt-parser-defs"]},
|
|
tblgen = "//llvm:llvm-tblgen",
|
|
td_file = "wasm/Options.td",
|
|
deps = ["//llvm:OptParserTdFiles"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "Wasm",
|
|
srcs = glob([
|
|
"wasm/*.cpp",
|
|
"wasm/*.h",
|
|
]),
|
|
includes = ["wasm"],
|
|
deps = [
|
|
":Common",
|
|
":wasm_options_inc_gen",
|
|
"//llvm:AllTargetsAsmParsers",
|
|
"//llvm:AllTargetsCodeGens",
|
|
"//llvm:BinaryFormat",
|
|
"//llvm:BitWriter",
|
|
"//llvm:Core",
|
|
"//llvm:Demangle",
|
|
"//llvm:LTO",
|
|
"//llvm:MC",
|
|
"//llvm:Object",
|
|
"//llvm:Option",
|
|
"//llvm:ProfileData",
|
|
"//llvm:Support",
|
|
"//llvm:TargetParser",
|
|
"//llvm:config",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "lld-lib",
|
|
srcs = glob(["tools/lld/*.cpp"]),
|
|
deps = [
|
|
":COFF",
|
|
":Common",
|
|
":ELF",
|
|
":MachO",
|
|
":MinGW",
|
|
":Wasm",
|
|
"//llvm:Support",
|
|
"//llvm:TargetParser",
|
|
],
|
|
)
|
|
|
|
llvm_driver_cc_binary(
|
|
name = "lld",
|
|
deps = [":lld-lib"],
|
|
)
|
|
|
|
# These are the required names for lld running under different environs.
|
|
#
|
|
# Unix/Linux require that the binary be named "ld.lld".
|
|
# macOS require that the binary be named "ld64.lld".
|
|
# Windows require that the binary be named "lld-link".
|
|
# WebAssembly builds require that the binary be named "wasm-ld".
|
|
[
|
|
binary_alias(
|
|
name = name,
|
|
binary = ":lld",
|
|
)
|
|
for name in [
|
|
"ld.lld",
|
|
"ld64.lld",
|
|
"lld-link",
|
|
"wasm-ld",
|
|
]
|
|
]
|