Thread overview | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
May 05, 2016 It's alive! D building D building D, all on Android | ||||
---|---|---|---|---|
| ||||
After a sleepless night of trying to build the latest ldc master branch 2.070.2 on my Android tablet a couple nights ago, almost the full druntime/phobos standard library test suite passes (only one assert in std.conv) and the same for the dmd test suite, with a handful of failures across three modules exclusively testing C/C++ ABI compatibility. The 2.070 frontend is written in D, ie ddmd, and also natively compiled on the Android tablet by ldc 2.068 (alpha build available here, first download link - https://github.com/joakim-noah/android/releases/tag/polish), hence D (2.068) building D (2.070) building D (tests, apps, etc.). :) Of course ldc 2.068 was itself built natively on Android, using the Termux Android app and the dev tools that it comes with (https://play.google.com/store/apps/details?id=com.termux&hl=en). Using ldc and Termux, it's possible to build an Android app from scratch _on_ your Android device, by following these instructions: https://github.com/termux/termux-packages/issues/63#issuecomment-184115581 It only took a single night of tweaking to build this because of all the great work many contributors have put in over the past year. First, there's all the work that Walter, Daniel, and others have put into C++ integration, as ldc is now a moderately large mixed D/C++ codebase (Dscanner counts 62.5k klocs of D in the ddmd frontend, plus ldc's C++ layer and how many ever umpteen lines are invoked in llvm's C++ codebase). Dan got the full ldc testsuite working on the Raspberry Pi a couple weeks ago (https://github.com/ldc-developers/ldc/issues/1283), in the process fixing several ARM codegen issues that were hitting Android/ARM also. Finally, there's all the great work put into ldc recently by Johan, kinke, Dan, Rainer, and of course David and Kai, to integrate the new D frontend with llvm and get ldc working on new platforms. I'll look at getting JNI working next, along with finishing up a translated C++/OpenGL ES 2.0 sample app (https://github.com/googlesamples/android-ndk/tree/master/Teapot). A linux->Android cross-compiler will need the in-progress work to cross-compile reals, have to look into that. Once those issues are rounded up, I'll release a ldc 1.0.0 beta for Android sometime this month. |
May 05, 2016 Re: It's alive! D building D building D, all on Android | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On Thu, May 5, 2016 at 10:17 AM, Joakim via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote: > > After a sleepless night of trying to build the latest ldc master branch 2.070.2 on my Android tablet a couple nights ago, almost the full druntime/phobos standard library test suite passes (only one assert in std.conv) and the same for the dmd test suite, with a handful of failures across three modules exclusively testing C/C++ ABI compatibility. > > The 2.070 frontend is written in D, ie ddmd, and also natively compiled on the Android tablet by ldc 2.068 (alpha build available here, first download link - https://github.com/joakim-noah/android/releases/tag/polish), hence D (2.068) building D (2.070) building D (tests, apps, etc.). :) Of course ldc 2.068 was itself built natively on Android, using the Termux Android app and the dev tools that it comes with (https://play.google.com/store/apps/details?id=com.termux&hl=en). Using ldc and Termux, it's possible to build an Android app from scratch _on_ your Android device, by following these instructions: > > https://github.com/termux/termux-packages/issues/63#issuecomment-184115581 > > It only took a single night of tweaking to build this because of all the great work many contributors have put in over the past year. First, there's all the work that Walter, Daniel, and others have put into C++ integration, as ldc is now a moderately large mixed D/C++ codebase (Dscanner counts 62.5k klocs of D in the ddmd frontend, plus ldc's C++ layer and how many ever umpteen lines are invoked in llvm's C++ codebase). > > Dan got the full ldc testsuite working on the Raspberry Pi a couple weeks ago (https://github.com/ldc-developers/ldc/issues/1283), in the process fixing several ARM codegen issues that were hitting Android/ARM also. Finally, there's all the great work put into ldc recently by Johan, kinke, Dan, Rainer, and of course David and Kai, to integrate the new D frontend with llvm and get ldc working on new platforms. > > I'll look at getting JNI working next, along with finishing up a translated C++/OpenGL ES 2.0 sample app (https://github.com/googlesamples/android-ndk/tree/master/Teapot). A linux->Android cross-compiler will need the in-progress work to cross-compile reals, have to look into that. Once those issues are rounded up, I'll release a ldc 1.0.0 beta for Android sometime this month. Congratulations, to you and all those involved! Thanks so much for your time. This is really important work. Cheers, R |
May 05, 2016 Re: It's alive! D building D building D, all on Android | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On Thursday, 5 May 2016 at 08:17:07 UTC, Joakim wrote:
> After a sleepless night of trying to build the latest ldc master branch 2.070.2 on my Android tablet a couple nights ago, almost the full druntime/phobos standard library test suite passes (only one assert in std.conv) and the same for the dmd test suite, with a handful of failures across three modules exclusively testing C/C++ ABI compatibility.
Great work!
|
May 05, 2016 Re: It's alive! D building D building D, all on Android | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | Thank you very much!! Fantastic job! |
May 05, 2016 Re: It's alive! D building D building D, all on Android | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On Thursday, 5 May 2016 at 08:17:07 UTC, Joakim wrote:
> After a sleepless night of trying to build the latest ldc master branch 2.070.2 on my Android tablet a couple nights ago, almost the full druntime/phobos standard library test suite passes (only one assert in std.conv) and the same for the dmd test suite, with a handful of failures across three modules exclusively testing C/C++ ABI compatibility.
This is awesome! Fits very well into my vision of "D Everywhere!"
Regards,
Kai
|
May 05, 2016 Re: It's alive! D building D building D, all on Android | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On Thursday, 5 May 2016 at 08:17:07 UTC, Joakim wrote:
> After a sleepless night of trying to build the latest ldc master branch 2.070.2 on my Android tablet a couple nights ago, almost the full druntime/phobos standard library test suite passes (only one assert in std.conv) and the same for the dmd test suite, with a handful of failures across three modules exclusively testing C/C++ ABI compatibility.
That's really awesome news -- congratulations! :-)
|
May 05, 2016 Re: It's alive! D building D building D, all on Android | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | Quite nice! |
May 07, 2016 Re: It's alive! D building D building D, all on Android | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | On Thursday, 5 May 2016 at 08:17:07 UTC, Joakim wrote:
> After a sleepless night of trying to build the latest ldc master branch 2.070.2 on my Android tablet a couple nights ago, almost the full druntime/phobos standard library test suite passes (only one assert in std.conv) and the same for the dmd test suite, with a handful of failures across three modules exclusively testing C/C++ ABI compatibility.
>
> [...]
Very nice.
Thanks for sharing, Joakim.
I will certainly be using this later— whenever it is that I eventually emerge from my cave.
|
May 07, 2016 Re: It's alive! D building D building D, all on Android | ||||
---|---|---|---|---|
| ||||
Posted in reply to Joakim | Fantastic news! I hope we can find a good way to integrate automated testing of github branches/PRs for Android. cheers, Johan |
May 08, 2016 Re: It's alive! D building D building D, all on Android | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johan Engelen | On Saturday, 7 May 2016 at 09:58:14 UTC, Johan Engelen wrote:
> Fantastic news!
>
> I hope we can find a good way to integrate automated testing of github branches/PRs for Android.
There is beta support for Android on Travis, perhaps it can be used to run the druntime and phobos tests in an emulator.
|
Copyright © 1999-2021 by the D Language Foundation