Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

LLVM Bazel BUILD files

DISCLAIMER: This has been superseded by the Bazel build configuration in the LLVM Project monorepo. This is not an officially-supported Google project, and we don't plan continued maintenance of it.

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.


This build configuration has now been migrated upstream to the LLVM monorepo, in a side directory. This is following the upstreaming proposal. Therefore this repository is no longer actively updated. Please prefer the upstream build files which will see regular maintenance. Transitioning to those should be straightforward and you can find usage examples there. We may continue to accept PRs updating this repository until projects have time to migrate, but will not be updating it ourselves.


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//...


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