How to prevent DMD from changing the executable files at each compilation ?
Ecstatic Coder
ecstatic.coder at gmail.com
Mon Sep 30 03:36:53 UTC 2019
On Sunday, 29 September 2019 at 23:14:10 UTC, Boris Carvajal
wrote:
> 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
Exactly the compiler option I was looking for :)
Thanks a lot to you, and also to the other nice members of the D
community who have taken the time to answer my question. Much
appreciatd!
More information about the Digitalmars-d
mailing list