Skip to content
This repository has been archived by the owner on Aug 4, 2021. It is now read-only.

Releases: samolisov/bazel-llvm-bridge

Build 0.5 for LLVM's release 9

14 Oct 07:06
Compare
Choose a tag to compare

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 and LLVM_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 the generate_libcxx_bazelrc.py script. The examples/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

14 Oct 07:07
Compare
Choose a tag to compare

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 and LLVM_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 the generate_libcxx_bazelrc.py script. The examples/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

14 Oct 07:03
Compare
Choose a tag to compare

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 and LLVM_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 the generate_libcxx_bazelrc.py script. The examples/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

14 Oct 07:05
Compare
Choose a tag to compare

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 and LLVM_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 the generate_libcxx_bazelrc.py script. The examples/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

25 Mar 10:37
Compare
Choose a tag to compare

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

25 Mar 10:35
Compare
Choose a tag to compare

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

25 Mar 10:38
Compare
Choose a tag to compare

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 or cc_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 and mlir_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

24 Jan 09:14
Compare
Choose a tag to compare

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 and clangTransformer.

  • 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's include/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

24 Jan 07:40
Compare
Choose a tag to compare

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's include/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

24 Jan 07:39
Compare
Choose a tag to compare

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's include/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",
)