1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/utils/gn/docs/deterministic.md
Nico Weber 2c0f20cf6c [gn build] Make build locally deterministic
This follows http://blog.llvm.org/2019/11/deterministic-builds-with-clang-and-lld.html
to make the GN build locally deterministic.

With this, I've built lld at two different build paths on my Windows box and got
identical binaries. (I'd expect the same to happen on Linux, and with other
binaries.)

This doesn't have the bits to get universal determinism yet.

Differential Revision: https://reviews.llvm.org/D74519
2020-02-14 21:55:33 -05:00

744 B

Deterministic builds with LLVM's GN build

Summary: Use the following args.gn.

use_relative_paths_in_debug_info = true

It is possible to produce [locally deterministic][1] builds of LLVM with the GN build. It requires some configuration though.

  1. Make debug info use relative paths by setting use_relative_paths_in_debug_info = true in your args.gn file. With this set, current debuggers need minor configuration to keep working. See "Getting to local determinism" and "Getting debuggers to work well with locally deterministic builds" in the [deterministic builds][1] documentation for details.

1: http://blog.llvm.org/2019/11/deterministic-builds-with-clang-and-lld.html