Thread overview
DUB and LTO?
Jan 24, 2017
Las
Sep 05, 2017
Sönke Ludwig
Sep 06, 2017
Jon Degenhardt
January 24, 2017
How do I enable LTO in DUB in a sane way?
I could add it to dflags, but I only want it on release builds.
September 05, 2017
Am 24.01.2017 um 17:02 schrieb Las:
> How do I enable LTO in DUB in a sane way?
> I could add it to dflags, but I only want it on release builds.


You can put a "buildTypes" section in your package recipe and override default dflags or lflags there just for the "release" build type. See https://code.dlang.org/package-format?lang=json#build-types
September 06, 2017
On Tuesday, 5 September 2017 at 11:36:06 UTC, Sönke Ludwig wrote:
> Am 24.01.2017 um 17:02 schrieb Las:
>> How do I enable LTO in DUB in a sane way?
>> I could add it to dflags, but I only want it on release builds.
>
>
> You can put a "buildTypes" section in your package recipe and override default dflags or lflags there just for the "release" build type. See https://code.dlang.org/package-format?lang=json#build-types

There are examples in my dub.json files. One here: https://github.com/eBay/tsv-utils-dlang/blob/master/tsv-sample/dub.json#L24-L28. All the dub.json files in the repo are setup this way. Turns on LTO (thin) for LDC on OS X, not used for other builds. Works in Travis-CI for the combos of os x and linux with ldc and dmd.

--Jon