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

VSCO Film X & The Imaging Lab

Zach Hodges
server

Querying S3 Data With Redshift Spectrum

Jenn Georgevich
machine learning, iOS, android

Using On-Device Machine Learning to Suggest Presets for Images in VSCO

Shruti Sharma
r&d

Reviving Kodachrome

Kyle Hale
© VSCO 2020. All rights reserved.