www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - DUB and LTO?

reply Las <lasssafin gmail.com> writes:
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.
Jan 24 2017
parent reply =?UTF-8?Q?S=c3=b6nke_Ludwig?= <sludwig+d outerproduct.org> writes:
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
Sep 05 2017
parent Jon Degenhardt <jond noreply.com> writes:
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-samp e/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
Sep 05 2017