Releases: samolisov/bazel-llvm-bridge
Build 0.5 for LLVM's release 9
Build 0.5 for LLVM's release 9.
Changelog
-
A support for the clang-cl compiler on Windows has been added.
-
The
LLVM_ENABLE_RTTI
andLLVM_ENABLE_EH
build flags are handled by the repository rule. -
The test libraries for MLIR have been removed from the project.
-
A new approach for linking examples against libc++ has been implemented. The approach is documented in the
README
file: a Bazel config file should be generated using thegenerate_libcxx_bazelrc.py
script. Theexamples/BUILD
file has also been simplified: any libc++ related options were removed. Now libc++ is considered as just a usual project in the LLVM bundle as well as LLVM itself or Clang.
How to use in WORKSPACE
http_archive(
name = "bazel_llvm_bridge",
sha256 = "93fba9dd3af1d816f17b3bf3eb9a4db8808ebe63b50e458a425a97271ef39421",
strip_prefix = "bazel-llvm-bridge-release-9-05",
url = "https://github.com/samolisov/bazel-llvm-bridge/archive/release/9-05.zip",
)
Build 0.5 for LLVM's release 8
Build 0.5 for LLVM's release 8.
Changelog
-
A support for the clang-cl compiler on Windows has been added.
-
The
LLVM_ENABLE_RTTI
andLLVM_ENABLE_EH
build flags are handled by the repository rule. -
The test libraries for MLIR have been removed from the project.
-
A new approach for linking examples against libc++ has been implemented. The approach is documented in the
README
file: a Bazel config file should be generated using thegenerate_libcxx_bazelrc.py
script. Theexamples/BUILD
file has also been simplified: any libc++ related options were removed. Now libc++ is considered as just a usual project in the LLVM bundle as well as LLVM itself or Clang.
How to use in WORKSPACE
http_archive(
name = "bazel_llvm_bridge",
sha256 = "3bd954e5858376aaf06b7b0def374099cac31e66531d8f5f26511b76ff3f9896",
strip_prefix = "bazel-llvm-bridge-release-8-05",
url = "https://github.com/samolisov/bazel-llvm-bridge/archive/release/8-05.zip",
)
Build 0.5 for LLVM's release 11
Build 0.5 for LLVM's release 11.
Changelog
-
A support for the clang-cl compiler on Windows has been added.
-
The
LLVM_ENABLE_RTTI
andLLVM_ENABLE_EH
build flags are handled by the repository rule. -
The test libraries for MLIR have been removed from the project.
-
A new approach for linking examples against libc++ has been implemented. The approach is documented in the
README
file: a Bazel config file should be generated using thegenerate_libcxx_bazelrc.py
script. Theexamples/BUILD
file has also been simplified: any libc++ related options were removed. Now libc++ is considered as just a usual project in the LLVM bundle as well as LLVM itself or Clang.
How to use in WORKSPACE
http_archive(
name = "bazel_llvm_bridge",
sha256 = "0e0971ec02d5e061c2c472d185e390597a4d7842e3e457cfcda2f04c1839c05e",
strip_prefix = "bazel-llvm-bridge-release-11-05",
url = "https://github.com/samolisov/bazel-llvm-bridge/archive/release/11-05.zip",
)
Build 0.5 for LLVM's release 10
Build 0.5 for LLVM's release 10.
Changelog
-
A support for the clang-cl compiler on Windows has been added.
-
The
LLVM_ENABLE_RTTI
andLLVM_ENABLE_EH
build flags are handled by the repository rule. -
The test libraries for MLIR have been removed from the project.
-
A new approach for linking examples against libc++ has been implemented. The approach is documented in the
README
file: a Bazel config file should be generated using thegenerate_libcxx_bazelrc.py
script. Theexamples/BUILD
file has also been simplified: any libc++ related options were removed. Now libc++ is considered as just a usual project in the LLVM bundle as well as LLVM itself or Clang.
How to use in WORKSPACE
http_archive(
name = "bazel_llvm_bridge",
sha256 = "d1a471806651511ccde5e24573bcd2433a866f14b86c55ee74dd1b02418641d4",
strip_prefix = "bazel-llvm-bridge-release-10-05",
url = "https://github.com/samolisov/bazel-llvm-bridge/archive/release/10-05.zip",
)
Build 0.4 for LLVM's release 9
Build 0.4 for LLVM's release 9.
Changelog
Added the support of TableGen. TableGen is actively used by LLVM itself as well as downstream projects (MLIR for example) to help a human develop and maintain records of domain-specific information.
The following is an example of how to inject a tablegen file with register file definition into your BUILD
:
tablegen(
name = "tablegen_registers",
srcs = [
"llvm/target/custom_register_class.td",
],
src = "llvm/target/custom_register_info.td",
out = "target/custom_register_info.inc",
opts = ["-gen-register-info"],
deps = ["@local_llvm//:headers"],
visibility = ["//visibility:private"],
)
Now the target can be used as a dependency of a cc_library
or cc_binary
:
cc_binary(
name = 'llvm_print_physical_registers',
...
deps = [
":tablegen_registers",
]
)
How to use in WORKSPACE
http_archive(
name = "bazel_llvm_bridge",
sha256 = "9fd317571359257ec7ffdf2fcbd8af2cb1ac148cf84def018d65d9f6abc9bf6b",
strip_prefix = "bazel-llvm-bridge-release-9-04",
url = "https://github.com/samolisov/bazel-llvm-bridge/archive/release/9-04.zip",
)
Build 0.4 for LLVM's release 8
Build 0.4 for LLVM's release 8.
Changelog
Added the support of TableGen. TableGen is actively used by LLVM itself as well as downstream projects (MLIR for example) to help a human develop and maintain records of domain-specific information.
The following is an example of how to inject a tablegen file with register file definition into your BUILD
:
tablegen(
name = "tablegen_registers",
srcs = [
"llvm/target/custom_register_class.td",
],
src = "llvm/target/custom_register_info.td",
out = "target/custom_register_info.inc",
opts = ["-gen-register-info"],
deps = ["@local_llvm//:headers"],
visibility = ["//visibility:private"],
)
Now the target can be used as a dependency of a cc_library
or cc_binary
:
cc_binary(
name = 'llvm_print_physical_registers',
...
deps = [
":tablegen_registers",
]
)
How to use in WORKSPACE
http_archive(
name = "bazel_llvm_bridge",
sha256 = "d28cc7bb31c67b2caf6f6a63e8967a4223d47fe9d0810133b8dab2ac7aa06310",
strip_prefix = "bazel-llvm-bridge-release-8-04",
url = "https://github.com/samolisov/bazel-llvm-bridge/archive/release/8-04.zip",
)
Build 0.4 for LLVM's release 10
Build 0.4 for LLVM's release 10.
Changelog
-
Added the support of TableGen. TableGen is actively used by LLVM itself as well as downstream projects (MLIR for example) to help a human develop and maintain records of domain-specific information.
The following is an example of how to inject a tablegen file with register file definition into your
BUILD
:tablegen( name = "tablegen_registers", srcs = [ "llvm/target/custom_register_class.td", ], src = "llvm/target/custom_register_info.td", out = "target/custom_register_info.inc", opts = ["-gen-register-info"], deps = ["@local_llvm//:headers"], visibility = ["//visibility:private"], )
Now the target can be used as a dependency of a
cc_library
orcc_binary
:cc_binary( name = 'llvm_print_physical_registers', ... deps = [ ":tablegen_registers", ] )
-
Three new targets have been added to check the dependency graph completeness and consistency:
llvm_check_dependencies
,clang_check_dependencies
andmlir_check_dependencies
for LLVM, Clang and MLIR respectively. Each target does nothing just links a minimal possible C++ file with every library of the corresponding project.
How to use in WORKSPACE
http_archive(
name = "bazel_llvm_bridge",
sha256 = "5db9aa9f0a61d2703558185c04c84f4b9e387d0f0404d4164561168054023592",
strip_prefix = "bazel-llvm-bridge-release-10-04",
url = "https://github.com/samolisov/bazel-llvm-bridge/archive/release/10-04.zip",
)
Build 0.3 for upcoming LLVM's release 10
Build 0.3 for upcoming LLVM's release 10.
Changelog
-
Added the support of MLIR. The MLIR project was migrated into the LLVM monorepo on GitHub and now is a part of LLVM, so this is a good reason to add MLIR into the Bazel bridge.
-
Added the following new libraries:
LLVMDWARFLinker
,LLVMFrontendOpenMP
,LLVMCFGGuard
,LLVMOrcError
andclangTransformer
. -
The
llvm_debug_info_pdb
library now can be automatically linked against DIA SDK if the local installation of LLVM is configured in favor of this option. -
Fixed a bug with the header guard in the generated
include/llvm_config.h
: the guard was the same as used in LLVM'sinclude/llvm/Config/llvm-config.h
and this fact prevented the LLVM's config being included.
How to use in WORKSPACE
http_archive(
name = "bazel_llvm_bridge",
sha256 = "09910e7344d4e64458b5745c3f4d311d5be1449a6587764108a13b828809a1b8",
strip_prefix = "bazel-llvm-bridge-pre-release-10-03",
url = "https://github.com/samolisov/bazel-llvm-bridge/archive/pre-release/10-03.zip",
)
Build 0.3 for LLVM's release 9
Build 0.3 for LLVM's release 9.
Changelog
- Fixed a bug with the header guard in the generated
include/llvm_config.h
: the guard was the same as used in LLVM'sinclude/llvm/Config/llvm-config.h
and this fact prevented the LLVM's config being included.
How to use in WORKSPACE
http_archive(
name = "bazel_llvm_bridge",
sha256 = "afca27cd1c16b4562a298a53eb37bf10a447883aac2b6ca99e4542711d2ee9bb",
strip_prefix = "bazel-llvm-bridge-release-9-03",
url = "https://github.com/samolisov/bazel-llvm-bridge/archive/release/9-03.zip",
)
Build 0.3 for LLVM's release 8
Build 0.3 for LLVM's release 8.
Changelog
- Fixed a bug with the header guard in the generated
include/llvm_config.h
: the guard was the same as used in LLVM'sinclude/llvm/Config/llvm-config.h
and this fact prevented the LLVM's config being included.
How to use in WORKSPACE
http_archive(
name = "bazel_llvm_bridge",
sha256 = "5af7990aad3479b062fd9aa5e17d672c0fde5d81b3fe7abb653929f2193b2ede",
strip_prefix = "bazel-llvm-bridge-release-8-03",
url = "https://github.com/samolisov/bazel-llvm-bridge/archive/release/8-03.zip",
)