www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - LDC 1.8.0

reply kinke <noone nowhere.com> writes:
Hi everyone,

on behalf of the LDC team, I'm glad to announce LDC 1.8. The 
highlights of this version in a nutshell:

* Based on D 2.078.3.
* New switch `-link-defaultlib-shared` to link against shared 
druntime/Phobos.
* Plugins support, compatible with existing Clang plugins.
* Support for LLVM IR-based PGO as alternative to existing 
(AST-based) PGO.
* Basic support for LLVM XRay instrumentation.

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.8.0

Thanks to all contributors!
Mar 04
next sibling parent Kai Nacke <kai redstar.de> writes:
On Sunday, 4 March 2018 at 22:37:21 UTC, kinke wrote:
 Hi everyone,

 on behalf of the LDC team, I'm glad to announce LDC 1.8. The 
 highlights of this version in a nutshell:

 * Based on D 2.078.3.
 * New switch `-link-defaultlib-shared` to link against shared 
 druntime/Phobos.
 * Plugins support, compatible with existing Clang plugins.
 * Support for LLVM IR-based PGO as alternative to existing 
 (AST-based) PGO.
 * Basic support for LLVM XRay instrumentation.

 Full release log and downloads: 
 https://github.com/ldc-developers/ldc/releases/tag/v1.8.0

 Thanks to all contributors!
Awesome! Thanks for the work! Regards, Kai
Mar 04
prev sibling next sibling parent reply Johannes Loher <johannes.loher fg4f.de> writes:
On Sunday, 4 March 2018 at 22:37:21 UTC, kinke wrote:
 Hi everyone,

 on behalf of the LDC team, I'm glad to announce LDC 1.8. The 
 highlights of this version in a nutshell:

 * Based on D 2.078.3.
 * New switch `-link-defaultlib-shared` to link against shared 
 druntime/Phobos.
 * Plugins support, compatible with existing Clang plugins.
 * Support for LLVM IR-based PGO as alternative to existing 
 (AST-based) PGO.
 * Basic support for LLVM XRay instrumentation.

 Full release log and downloads: 
 https://github.com/ldc-developers/ldc/releases/tag/v1.8.0

 Thanks to all contributors!
Thank you very much for your efforts! Will there also be a armhf Release?
Mar 04
parent reply kinke <kinke libero.it> writes:
On Monday, 5 March 2018 at 07:45:04 UTC, Johannes Loher wrote:
 Will there also be a armhf Release?
Yep; it'll most likely be up this evening (CET).
Mar 05
parent Johannes Loher <johannes.loher fg4f.de> writes:
On Monday, 5 March 2018 at 12:14:52 UTC, kinke wrote:
 On Monday, 5 March 2018 at 07:45:04 UTC, Johannes Loher wrote:
 Will there also be a armhf Release?
Yep; it'll most likely be up this evening (CET).
I just saw that it is up now, thats awesome, thank you very much for your efforts!
Mar 05
prev sibling next sibling parent reply Mike Parker <aldacron gmail.com> writes:
On Sunday, 4 March 2018 at 22:37:21 UTC, kinke wrote:
 Thanks to all contributors!
And thanks to Johan Engelen and Joakim for putting together an announcement for the blog! https://dlang.org/blog/2018/03/06/ldc-1-8-0-released/ Reddit: https://www.reddit.com/r/programming/comments/82f9wk/ldcthe_llvmbased_d_compiler180_released/
Mar 06
parent jmh530 <john.michael.hall gmail.com> writes:
On Tuesday, 6 March 2018 at 14:06:54 UTC, Mike Parker wrote:
 On Sunday, 4 March 2018 at 22:37:21 UTC, kinke wrote:
 Thanks to all contributors!
And thanks to Johan Engelen and Joakim for putting together an announcement for the blog! https://dlang.org/blog/2018/03/06/ldc-1-8-0-released/ Reddit: https://www.reddit.com/r/programming/comments/82f9wk/ldcthe_llvmbased_d_compiler180_released/
Great blog post. LDC has a lot more options than DMD for tuning things and I feel like I'm not so knowledgeable on some of them.
Mar 06
prev sibling next sibling parent reply Martin Tschierschke <mt smartdolphin.de> writes:
On Sunday, 4 March 2018 at 22:37:21 UTC, kinke wrote:
 Hi everyone,

 on behalf of the LDC team, I'm glad to announce LDC 1.8. The 
 highlights of this version in a nutshell:

 * Based on D 2.078.3.
 * New switch `-link-defaultlib-shared` to link against shared 
 druntime/Phobos.
 * Plugins support, compatible with existing Clang plugins.
 * Support for LLVM IR-based PGO as alternative to existing 
 (AST-based) PGO.
 * Basic support for LLVM XRay instrumentation.

 Full release log and downloads: 
 https://github.com/ldc-developers/ldc/releases/tag/v1.8.0

 Thanks to all contributors!
Cool! Thank you! https://wiki.dlang.org/Build_D_for_Android Says, that 64 Bit Android version is not ready yet, anything about this? It is not really necessary for me, but would be cool, because unfortunately I have a 64 bit Android phone.
Mar 06
parent reply Joakim <dlang joakim.fea.st> writes:
On Tuesday, 6 March 2018 at 15:44:14 UTC, Martin Tschierschke 
wrote:
 On Sunday, 4 March 2018 at 22:37:21 UTC, kinke wrote:
 Hi everyone,

 on behalf of the LDC team, I'm glad to announce LDC 1.8. The 
 highlights of this version in a nutshell:

 * Based on D 2.078.3.
 * New switch `-link-defaultlib-shared` to link against shared 
 druntime/Phobos.
 * Plugins support, compatible with existing Clang plugins.
 * Support for LLVM IR-based PGO as alternative to existing 
 (AST-based) PGO.
 * Basic support for LLVM XRay instrumentation.

 Full release log and downloads: 
 https://github.com/ldc-developers/ldc/releases/tag/v1.8.0

 Thanks to all contributors!
Cool! Thank you! https://wiki.dlang.org/Build_D_for_Android Says, that 64 Bit Android version is not ready yet, anything about this? It is not really necessary for me, but would be cool, because unfortunately I have a 64 bit Android phone.
Nothing new, unfortunately, though you can follow progress here: https://github.com/ldc-developers/ldc/issues/2153 I plan to spend some time on it, but have been putting it off.
Mar 06
parent Martin Tschierschke <mt smartdolphin.de> writes:
On Tuesday, 6 March 2018 at 16:54:59 UTC, Joakim wrote:
[...]
 Nothing new, unfortunately, though you can follow progress here:

 https://github.com/ldc-developers/ldc/issues/2153

 I plan to spend some time on it, but have been putting it off.
Thank you!
Mar 06
prev sibling next sibling parent Stephan <dilly.stephan gmail.com> writes:
On Sunday, 4 March 2018 at 22:37:21 UTC, kinke wrote:
 Hi everyone,

 on behalf of the LDC team, I'm glad to announce LDC 1.8. The 
 highlights of this version in a nutshell:

 * Based on D 2.078.3.
 * New switch `-link-defaultlib-shared` to link against shared 
 druntime/Phobos.
 * Plugins support, compatible with existing Clang plugins.
 * Support for LLVM IR-based PGO as alternative to existing 
 (AST-based) PGO.
 * Basic support for LLVM XRay instrumentation.

 Full release log and downloads: 
 https://github.com/ldc-developers/ldc/releases/tag/v1.8.0

 Thanks to all contributors!
Awesome! Thanks! When is it available on homebrew? Cheers, Stephan
Mar 07
prev sibling next sibling parent Martin Nowak <code dawg.eu> writes:
On Sunday, 4 March 2018 at 22:37:21 UTC, kinke wrote:
 Hi everyone,

 on behalf of the LDC team, I'm glad to announce LDC 1.8. The 
 highlights of this version in a nutshell:

 * Based on D 2.078.3.
Thanks for the efforts.
Mar 08
prev sibling parent reply Matthias Klumpp <mak debian.org> writes:
On Sunday, 4 March 2018 at 22:37:21 UTC, kinke wrote:
 Hi everyone,

 on behalf of the LDC team, I'm glad to announce LDC 1.8. The 
 highlights of this version in a nutshell:

 * Based on D 2.078.3.
 * New switch `-link-defaultlib-shared` to link against shared 
 druntime/Phobos.
Aww, just a little bit too late to easily get into Ubuntu 18.04 LTS (since updating LDC will trigger a library transition, I am not sure if a case can be made to still include it). The new and enforced "-shared" suffixes for the druntime and phobos shared libraries are a bit annoying (especially since this is a breaking change), but at least at Debian we'll follow upstream's defaults on that (it gives weird package names, but aside from that cosmetic issue the breakage caused by that change should be minimal). Thank you for working on LDC! :-)
Mar 12
next sibling parent reply kinke <kinke libero.it> writes:
On Tuesday, 13 March 2018 at 01:52:48 UTC, Matthias Klumpp wrote:
 The new and enforced "-shared" suffixes for the druntime and 
 phobos shared libraries are a bit annoying (especially since 
 this is a breaking change), but at least at Debian we'll follow 
 upstream's defaults on that (it gives weird package names, but 
 aside from that cosmetic issue the breakage caused by that 
 change should be minimal).

 Thank you for working on LDC! :-)
Thank you for maintaining the Debian/Ubuntu packages. If you don't want the "-shared" suffix (and still only provide shared libs, no static ones), then getting rid of it should be as easy as patching 1) https://github.com/ldc-developers/ldc/blob/v1.8.0/runtime/CMakeLists.txt#L116 2) https://github.com/ldc-developers/ldc/blob/v1.8.0/driver/main.cpp#L507 The only important thing is that `-link-defaultlib-shared` switch works (and that you error out for `-link-defaultlib-shared=false` if you don't ship with static libs).
Mar 13
parent reply Matthias Klumpp <mak debian.org> writes:
On Tuesday, 13 March 2018 at 10:27:49 UTC, kinke wrote:
 On Tuesday, 13 March 2018 at 01:52:48 UTC, Matthias Klumpp 
 wrote:
 The new and enforced "-shared" suffixes for the druntime and 
 phobos shared libraries are a bit annoying (especially since 
 this is a breaking change), but at least at Debian we'll 
 follow upstream's defaults on that (it gives weird package 
 names, but aside from that cosmetic issue the breakage caused 
 by that change should be minimal).

 Thank you for working on LDC! :-)
Thank you for maintaining the Debian/Ubuntu packages. If you don't want the "-shared" suffix (and still only provide shared libs, no static ones), then getting rid of it should be as easy as patching
Unfortunately, we ship both - while Debian packages only use the shared libraries, and we want the shared libraries to be default, we also want to make the static ones available for people who want to opt into that for software they build.
 1) 
 https://github.com/ldc-developers/ldc/blob/v1.8.0/runtime/CMakeLists.txt#L116
 2) 
 https://github.com/ldc-developers/ldc/blob/v1.8.0/driver/main.cpp#L507

 The only important thing is that `-link-defaultlib-shared` 
 switch works (and that you error out for 
 `-link-defaultlib-shared=false` if you don't ship with static 
 libs).
I wonder if we could suffix the static libraries instead and whether that would cause any problems... Cheers, Matthias
Mar 13
parent kinke <noone nowhere.com> writes:
On Tuesday, 13 March 2018 at 15:35:02 UTC, Matthias Klumpp wrote:
 Unfortunately, we ship both - while Debian packages only use 
 the shared libraries, and we want the shared libraries to be 
 default, we also want to make the static ones available for 
 people who want to opt into that for software they build.
Glad to hear that.
 I wonder if we could suffix the static libraries instead and 
 whether that would cause any problems...
Well, it certainly isn't trivial as it may sound, primarily due to the CMake script complexity (and tedious testing with many CMake configurations), so don't count on me adding that feature in the near future. ;)
Mar 13
prev sibling parent reply Matthias Klumpp <mak debian.org> writes:
On Tuesday, 13 March 2018 at 01:52:48 UTC, Matthias Klumpp wrote:
 [...]
 Aww, just a little bit too late to easily get into Ubuntu 18.04 
 LTS
Well.... It still made it, yay! (Even without me explicitly requesting it) This means Ubuntu 18.04 will be pretty up-to-date when it comes to D stuff, only GDC 8 won't be the default (but still available). The thing that is facilitating an up-to-date D stack in Debian and Ubuntu is software in the archive using D. The Tilix terminal emulator is at the forefront there, followed by my appstream-generator and the Laniakea archive management suite and all the bits and pieces those projects depend on (like GtkD in Tilix' case).
Mar 24
next sibling parent aberba <karabutaworld gmail.com> writes:
On Saturday, 24 March 2018 at 17:33:18 UTC, Matthias Klumpp wrote:
 On Tuesday, 13 March 2018 at 01:52:48 UTC, Matthias Klumpp 
 wrote:
 [...]
 Aww, just a little bit too late to easily get into Ubuntu 
 18.04 LTS
Well.... It still made it, yay! (Even without me explicitly requesting it) This means Ubuntu 18.04 will be pretty up-to-date when it comes to D stuff, only GDC 8 won't be the default (but still available). The thing that is facilitating an up-to-date D stack in Debian and Ubuntu is software in the archive using D. The Tilix terminal emulator is at the forefront there, followed by my appstream-generator and the Laniakea archive management suite and all the bits and pieces those projects depend on (like GtkD in Tilix' case).
Thanks to all.
Mar 25
prev sibling parent reply Martin Tschierschke <mt smartdolphin.de> writes:
On Saturday, 24 March 2018 at 17:33:18 UTC, Matthias Klumpp wrote:
 On Tuesday, 13 March 2018 at 01:52:48 UTC, Matthias Klumpp 
 wrote:
 [...]
 Aww, just a little bit too late to easily get into Ubuntu 
 18.04 LTS
Well.... It still made it, yay! (Even without me explicitly requesting it) This means Ubuntu 18.04 will be pretty up-to-date when it comes to D stuff, only GDC 8 won't be the default (but still available). The thing that is facilitating an up-to-date D stack in Debian and Ubuntu is software in the archive using D. The Tilix terminal emulator is at the forefront there, followed by my appstream-generator and the Laniakea archive management suite and all the bits and pieces those projects depend on (like GtkD in Tilix' case).
This is very cool! Will DMD become part of Ubuntu, too?
Mar 29
parent Matthias Klumpp <mak debian.org> writes:
On Thursday, 29 March 2018 at 08:10:11 UTC, Martin Tschierschke 
wrote:
 On Saturday, 24 March 2018 at 17:33:18 UTC, Matthias Klumpp 
 wrote:
 On Tuesday, 13 March 2018 at 01:52:48 UTC, Matthias Klumpp 
 wrote:
 [...]
 Aww, just a little bit too late to easily get into Ubuntu 
 18.04 LTS
Well.... It still made it, yay! (Even without me explicitly requesting it) This means Ubuntu 18.04 will be pretty up-to-date when it comes to D stuff, only GDC 8 won't be the default (but still available). The thing that is facilitating an up-to-date D stack in Debian and Ubuntu is software in the archive using D. The Tilix terminal emulator is at the forefront there, followed by my appstream-generator and the Laniakea archive management suite and all the bits and pieces those projects depend on (like GtkD in Tilix' case).
This is very cool! Will DMD become part of Ubuntu, too?
No, it's too late for that and adding DMD to Debian (and thereby Ubuntu) would be a significant amount of work. For compiling D code in Debian/Ubuntu, we will pretty much always use LDC or GDC, because we want stronger optimization and better architecture support, while compilation time doesn't matter at all. That being said, with DMD being under a completely free license now, the only thing that is preventing it from being in Debian is lack of manpower in the D team (having it would be very useful!). So, if anyone is interested in helping out with maintaining compiler packages, D libraries or tools, please join the Debian D team![1]. You don't have to be a Debian developer to help, but you should ideally be somewhat familiar with Debian's policies and packaging. Me or others in the D team who are Debian developers can review the changes and sponsor them into the Debian and Ubuntu archives. Since Ubuntu 18.04 LTS releases this April, getting DMD in that release will be almost impossible (feature freeze is very soon), but we could have it in Ubuntu 18.10, if someone creates packages for it. [1]: https://salsa.debian.org/d-team/ - get a guest account: https://signup.salsa.debian.org/
Mar 30