Rob Sayrebuild tools

C++ Toolchains in Bazel

bazel VSCO photo Zach Hodges

At VSCO, we’ve had great success with the Bazel build system. We use it to build Go, Java, Python, Rust, and C++ projects. Overall, our experience has been pretty smooth, but we have had some problems with its C++ toolchain. By default, Bazel searches the local machine for an appropriate compiler, and what it finds can vary from machine to machine.

To provide a smoother experience for our developers, we’ve chosen to leverage Chromium’s copies of LLVM and various Linux tools to ensure a consistent environment for our Bazel builds. We’re successfully compiling open source projects like TensorFlow, TensorFlow Serving, nginx, Google Test, and statsd, as well as our own internal code.

Today, we’re making these Bazel tools available to everyone. Check it out on GitHub: https://github.com/vsco/bazel-toolchains.

Thanks to Lucas Kacher and Melinda Lu for reviewing.

If you find this kind of work interesting, come join us!

Share this post

|
|
|

r&d

Film FX Part 3: Frames

Zach Hodges
r&d

Film FX Part 2: Distressed

Zach Hodges
r&d

Film FX Part 1: Light & Texture

Zach Hodges
r&d

VSCO Labs Infrared

Zach Hodges
© VSCO 2022. All rights reserved.