How to prevent DMD from changing the executable files at each compilation ?
Boris Carvajal
boris2.9 at gmail.com
Sun Sep 29 23:14:10 UTC 2019
On Sunday, 29 September 2019 at 11:15:43 UTC, Ecstatic Coder
wrote:
> Every time I compile the same code with DMD, I get a slightly
> different ".exe" file on Windows.
>
> So before I implement a tool for this, is there an easy way to
> prevent DMD from "timestamping" its generated binaries, so that
> they become more "git-friendly" ?
Using the mingw64 setup you have two options, from LLVM linker
usage help:
(lld-link --help)
/Brepro Use a hash of the executable as the PE
header timestamp
/timestamp:<value> Specify the PE header timestamp
The first emulates a Visual Studio linker undocumented option. If
you change to the VS config this should work too.
The second uses a classic C/Unix timestamp value (time()
function).
Also, make sure to NOT USE optlink linker by using -m32mscoff
-m64 respectively.
Example:
dmd test.d -m64 -L/Brepro // or -L/timestamp:0
More information about the Digitalmars-d
mailing list