www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - LDC 1.11.0

reply kinke <noone nowhere.com> writes:
Glad to announce LDC 1.11:

* Based on D 2.081.2.
* Prebuilt packages now using LLVM 6.0.1 and including additional 
cross-compilation targets (MIPS, MSP430, RISC-V and WebAssembly).
* Rudimentary support for compiling & linking directly to 
WebAssembly. See the dedicated Wiki page [1] for how to get 
started.
* AArch64 (64-bit ARM) now mostly working on Linux/glibc and 
Android.
* Some support for classes without TypeInfos, for -betterC and/or 
a minimal (d)runtime.

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

Thanks to all contributors!

[1] https://wiki.dlang.org/Generating_WebAssembly_with_LDC
Aug 18
next sibling parent reply Matthias Klumpp <matthias tenstral.net> writes:
On Saturday, 18 August 2018 at 16:47:35 UTC, kinke wrote:
 Glad to announce LDC 1.11:

 * Based on D 2.081.2.
 * Prebuilt packages now using LLVM 6.0.1 and including 
 additional cross-compilation targets (MIPS, MSP430, RISC-V and 
 WebAssembly).
 * Rudimentary support for compiling & linking directly to 
 WebAssembly. See the dedicated Wiki page [1] for how to get 
 started.
 * AArch64 (64-bit ARM) now mostly working on Linux/glibc and 
 Android.
 * Some support for classes without TypeInfos, for -betterC 
 and/or a minimal (d)runtime.

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

 Thanks to all contributors!

 [1] https://wiki.dlang.org/Generating_WebAssembly_with_LDC
Awesome news! Will we get a release of the ltsmaster branch as well? From the release notes it sounds like building with a more recent version is a good idea...
Aug 18
parent reply kinke <noone nowhere.com> writes:
On Saturday, 18 August 2018 at 21:05:42 UTC, Matthias Klumpp 
wrote:
 Will we get a release of the ltsmaster branch as well? From the 
 release notes it sounds like building with a more recent 
 version is a good idea...
Using latest ltsmaster is always a good idea. I'm a bit reluctant to tag a new version, as it's a moving target (e.g., needed another adaptation yesterday in order to be able to bootstrap 2.082-based LDC, and will need more adaptations in a few weeks for LLVM 7...). 0.17.6 has been stuck in the pipeline for half a year now; perhaps we finally manage after LLVM 7 is supported.
Aug 19
parent reply Matthias Klumpp <matthias tenstral.net> writes:
On Sunday, 19 August 2018 at 12:23:37 UTC, kinke wrote:
 On Saturday, 18 August 2018 at 21:05:42 UTC, Matthias Klumpp 
 wrote:
 Will we get a release of the ltsmaster branch as well? From 
 the release notes it sounds like building with a more recent 
 version is a good idea...
Using latest ltsmaster is always a good idea. I'm a bit reluctant to tag a new version, as it's a moving target (e.g., needed another adaptation yesterday in order to be able to bootstrap 2.082-based LDC, and will need more adaptations in a few weeks for LLVM 7...). 0.17.6 has been stuck in the pipeline for half a year now; perhaps we finally manage after LLVM 7 is supported.
The thing is, a release is actually tremendously helpful for the Debian packaging - we are using the latest tagged version there for ages. I could, if you think that it is a good idea, just use a snapshot of the current ltsmaster Git branch, but that makes it harder to track with which ltsmaster state the Debian package was actually built with.
Aug 19
parent reply kinke <noone nowhere.com> writes:
On Sunday, 19 August 2018 at 12:36:07 UTC, Matthias Klumpp wrote:
 The thing is, a release is actually tremendously helpful for 
 the Debian packaging - we are using the latest tagged version 
 there for ages.
 I could, if you think that it is a good idea, just use a 
 snapshot of the current ltsmaster Git branch
That'd be no work for us, so I'd clearly prefer it this way. ;)
 but that makes it harder to track with which ltsmaster state 
 the Debian package was actually built with.
The used host compiler, incl. git hash if untagged, can be found in the --version output: ``` LDC - the LLVM D compiler (1.12.0git-1c87fd7): based on DMD v2.082.0 and LLVM 6.0.0 built with LDC - the LLVM D compiler (0.17.6git-79d2284) ```
Aug 19
parent reply Matthias Klumpp <matthias tenstral.net> writes:
On Sunday, 19 August 2018 at 12:48:15 UTC, kinke wrote:
 [...]
 The used host compiler, incl. git hash if untagged, can be 
 found in the --version output:

 ```
 LDC - the LLVM D compiler (1.12.0git-1c87fd7):
   based on DMD v2.082.0 and LLVM 6.0.0
   built with LDC - the LLVM D compiler (0.17.6git-79d2284)
 ```
Does that Git has thing work if there is no Git involved? ;-) To make this work I will have to download a tarball of ltsmaster, with no Git involved to get the hash from.
Aug 19
parent Matthias Klumpp <matthias tenstral.net> writes:
On Sunday, 19 August 2018 at 12:56:28 UTC, Matthias Klumpp wrote:
 [...]
 Does that Git has thing work if there is no Git involved? ;-)
 [...]
Ewww, looks like I can't write today... At the moment, we get ``` LDC - the LLVM D compiler (1.8.0): based on DMD v2.078.3 and LLVM 5.0.2 built with LDC - the LLVM D compiler (0.17.5) ``` unconditionally - if I switch to a ltsmaster snapshot, it will likely display 0.17.6 with no direct way of knowing which snapshot was taken. (I could manually record that as an info file in the package, so it at least is recorded somewhere, but that's not easily accessible at all...)
Aug 19
prev sibling next sibling parent reply =?UTF-8?B?6bKc5Y2R5ouT6LeL5p6r?= <hkli2012 126.com> writes:
Many thanks for your effort!
And hope the subsequent LDC releases with LLVM 7.0 will be mature 
enough on AArch64 and RISC-V for production environment.

On Saturday, 18 August 2018 at 16:47:35 UTC, kinke wrote:
 Glad to announce LDC 1.11:

 * Based on D 2.081.2.
 * Prebuilt packages now using LLVM 6.0.1 and including 
 additional cross-compilation targets (MIPS, MSP430, RISC-V and 
 WebAssembly).
 * Rudimentary support for compiling & linking directly to 
 WebAssembly. See the dedicated Wiki page [1] for how to get 
 started.
 * AArch64 (64-bit ARM) now mostly working on Linux/glibc and 
 Android.
 * Some support for classes without TypeInfos, for -betterC 
 and/or a minimal (d)runtime.

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

 Thanks to all contributors!

 [1] https://wiki.dlang.org/Generating_WebAssembly_with_LDC
es
Aug 19
next sibling parent kinke <noone nowhere.com> writes:
On Sunday, 19 August 2018 at 10:11:42 UTC, 鲜卑拓跋枫 wrote:
 And hope the subsequent LDC releases with LLVM 7.0 will be 
 mature enough on AArch64 and RISC-V for production environment.
Hope is good, contributing better. ;) AArch64 needs polishing, wading through the logs and analyzing & fixing (or disabling/adapting unfitting tests) the remaining test failures. As to RISC-V, I don't think there's any library support at all right now, so there's probably still a long way to go for something close to being usable. Claiming (and maintaining) production-readiness requires a CI service for RISC-V.
Aug 19
prev sibling parent reply Joakim <dlang joakim.fea.st> writes:
On Sunday, 19 August 2018 at 10:11:42 UTC, 鲜卑拓跋枫 wrote:
 Many thanks for your effort!
 And hope the subsequent LDC releases with LLVM 7.0 will be 
 mature enough on AArch64 and RISC-V for production environment.
Who is actually running AArch64 or RISC-V in a "production environment?" Maybe a few for AArch64, but pretty much nobody for RISC-V. I tried looking for a RISC-V VPS or dev board recently and found basically nothing, just two boards from SiFive that are too small or too expensive.
Aug 21
next sibling parent reply Brian <zoujiaqing gmail.com> writes:
On Tuesday, 21 August 2018 at 15:31:16 UTC, Joakim wrote:
 On Sunday, 19 August 2018 at 10:11:42 UTC, 鲜卑拓跋枫 wrote:
 Many thanks for your effort!
 And hope the subsequent LDC releases with LLVM 7.0 will be 
 mature enough on AArch64 and RISC-V for production environment.
Who is actually running AArch64 or RISC-V in a "production environment?" Maybe a few for AArch64, but pretty much nobody for RISC-V. I tried looking for a RISC-V VPS or dev board recently and found basically nothing, just two boards from SiFive that are too small or too expensive.
We need support AArch64 :)
Aug 23
parent Joakim <dlang joakim.fea.st> writes:
On Thursday, 23 August 2018 at 09:51:30 UTC, Brian wrote:
 On Tuesday, 21 August 2018 at 15:31:16 UTC, Joakim wrote:
 On Sunday, 19 August 2018 at 10:11:42 UTC, 鲜卑拓跋枫 wrote:
 Many thanks for your effort!
 And hope the subsequent LDC releases with LLVM 7.0 will be 
 mature enough on AArch64 and RISC-V for production 
 environment.
Who is actually running AArch64 or RISC-V in a "production environment?" Maybe a few for AArch64, but pretty much nobody for RISC-V. I tried looking for a RISC-V VPS or dev board recently and found basically nothing, just two boards from SiFive that are too small or too expensive.
We need support AArch64 :)
Why?
Aug 23
prev sibling parent reply Uknown <sireeshkodali1 gmail.com> writes:
On Tuesday, 21 August 2018 at 15:31:16 UTC, Joakim wrote:
 On Sunday, 19 August 2018 at 10:11:42 UTC, 鲜卑拓跋枫 wrote:
 [...]
I tried looking for a RISC-V VPS or dev board recently and found basically nothing, just two boards from SiFive that are too small or too expensive.
There is the SHAKTI Program by IIT Madras : http://shakti.org.in/about.html
Aug 24
parent Joakim <dlang joakim.fea.st> writes:
On Friday, 24 August 2018 at 12:21:32 UTC, Uknown wrote:
 On Tuesday, 21 August 2018 at 15:31:16 UTC, Joakim wrote:
 On Sunday, 19 August 2018 at 10:11:42 UTC, 鲜卑拓跋枫 wrote:
 [...]
I tried looking for a RISC-V VPS or dev board recently and found basically nothing, just two boards from SiFive that are too small or too expensive.
There is the SHAKTI Program by IIT Madras : http://shakti.org.in/about.html
I've actually heard of it, what of it? Is someone using it in a production environment, or do they have a VPS or dev board? If not, academic projects sitting half-finished in some grad students' computers somewhere aren't relevant to my questions.
Aug 24
prev sibling next sibling parent Joakim <dlang joakim.fea.st> writes:
On Saturday, 18 August 2018 at 16:47:35 UTC, kinke wrote:
 Glad to announce LDC 1.11:

 * Based on D 2.081.2.
 * Prebuilt packages now using LLVM 6.0.1 and including 
 additional cross-compilation targets (MIPS, MSP430, RISC-V and 
 WebAssembly).
 * Rudimentary support for compiling & linking directly to 
 WebAssembly. See the dedicated Wiki page [1] for how to get 
 started.
 * AArch64 (64-bit ARM) now mostly working on Linux/glibc and 
 Android.
 * Some support for classes without TypeInfos, for -betterC 
 and/or a minimal (d)runtime.

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

 Thanks to all contributors!

 [1] https://wiki.dlang.org/Generating_WebAssembly_with_LDC
Since this is the first ldc release with a mostly working 64-bit ARM, ie AArch64, port, I've put up ldc builds for linux/AArch64 and Android. You can get the linux build at the github link above; the Android build is available from the Termux app in the Android store, by running `pkg install ldc`: https://play.google.com/store/apps/details?id=com.termux&hl=en You can see what else remains to be done for the AArch64 port by looking at the logs from the linux/AArch64 Shippable CI linked from the github release and the checklist in this ldc tracking issue: https://github.com/ldc-developers/ldc/issues/2153 I've added info on how to cross-compile a D runtime and standard library for linux/AArch64 to the wiki: https://wiki.dlang.org/Building_LDC_runtime_libraries#Usage_for_cross-compilation I've also started updating the wiki on how to build Android apps in D for 64-bit ARM devices.
Aug 25
prev sibling parent Martin Nowak <code+news.digitalmars dawg.eu> writes:
On 08/18/2018 06:47 PM, kinke wrote:
 Glad to announce LDC 1.11:
 
 * Rudimentary support for compiling & linking directly to WebAssembly.
 See the dedicated Wiki page [1] for how to get started.
Nice one!
 [1] https://wiki.dlang.org/Generating_WebAssembly_with_LDC
Sep 02