Wednesday, October 28, 2020

Bazel Build System Support for LLVM

LLVM Bazel BUILD files

DISCLAIMER: This is not an officially-supported Google project and is still in development.

This repo contains standalone Bazel BUILD configuration for part of the LLVM project that could be shared by dependent projects using the Bazel build system.

It is similar to the BUILD files for LLVM and MLIR in the TensorFlow project, but aims to be suitable for more general usage.

Status

MLIR has Cuda support and the mlir-vulkan-runner disabled. LLVM does not yet have configuration detection and hardcodes values in the config.

Usage

These build files are flexible in how they can be used. The llvm-bazel subdirectory has the simplest build configuration with a submodule for the llvm-project. The WORKSPACE is in that directory, so you can build the project like:

cd llvm-bazel/
bazel build --config=generic_clang @llvm-project//...

Users are more likely going to want to fetch build files from this repository and use them with their own copy of the llvm-project.

The http-archive-demo branch shows a build based on http_archive.

The submodule-demo branch shows usage of these build files with both them and llvm-project coming from submodules.

You can build either of these demos after changing into the respective directory with a command like

bazel build --config=generic_clang @llvm-project//...

License

Licensed under the Apache license with LLVM Exceptions. See LICENSE for more information.



from Hacker News https://ift.tt/2E4RA8b

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.