digitalmars.D.announce - LDC 0.17.0 alpha cross-compiler for Android/ARM, D 2.068.2
- Joakim (13/13) Nov 06 2015 https://github.com/joakim-noah/android/releases/tag/runners
- Dan Olson (1/1) Nov 06 2015 Go mobile!
- Jakob Ovrum (8/22) Nov 06 2015 Thanks for the thorough instructions! LLVM is rather massive and
- Joakim (3/12) Nov 06 2015 Maybe, I'll see. In the meantime, you can use ldmd2, which
- Jakob Ovrum (3/16) Nov 06 2015 But ldmd2 depends on ldc2, doesn't it? It seems to be trying to
- Joakim (3/20) Nov 06 2015 Oh, never tried ldmd2, just knew that it didn't link against
- Joakim (10/17) Nov 07 2015 OK, I've rebuilt ldc with one small tweak: I've added the current
- Jakob Ovrum (8/17) Nov 11 2015 Thanks, now compilation works! I have some unrelated issues with
- Jakob Ovrum (8/18) Nov 11 2015 The issues I had came with using the 64-bit NDK - it worked as
- Joakim (11/18) Nov 23 2015 I recently signed up for a linux/x64 VPS, so I've put a linux/x64
- Andre Polykanine via Digitalmars-d-announce (27/27) Nov 07 2015 Hello Joakim,
- Joakim (7/11) Nov 07 2015 Not using this cross-compiler build for a linux/x86 host, no.
https://github.com/joakim-noah/android/releases/tag/runners You will need a linux/x86 host and the Android NDK, optionally the SDK if you want to create a GUI app. A slightly older build was used to create the test runners from earlier this week. You can use this cross-compiler to build command-line or GUI apps, by following the instructions from these sections in the wiki: http://wiki.dlang.org/Build_LDC_for_Android#Build_a_command-line_executable http://wiki.dlang.org/Build_LDC_for_Android#Build_a_sample_OpenGL_Android_app_ported_to_D Make sure to set the NDK environment variable to the path of your Android NDK. There are also instructions to build the cross-compiler and test runner from source yourself: http://wiki.dlang.org/Build_LDC_for_Android
Nov 06 2015
On Friday, 6 November 2015 at 11:56:35 UTC, Joakim wrote:https://github.com/joakim-noah/android/releases/tag/runners You will need a linux/x86 host and the Android NDK, optionally the SDK if you want to create a GUI app. A slightly older build was used to create the test runners from earlier this week. You can use this cross-compiler to build command-line or GUI apps, by following the instructions from these sections in the wiki: http://wiki.dlang.org/Build_LDC_for_Android#Build_a_command-line_executable http://wiki.dlang.org/Build_LDC_for_Android#Build_a_sample_OpenGL_Android_app_ported_to_D Make sure to set the NDK environment variable to the path of your Android NDK. There are also instructions to build the cross-compiler and test runner from source yourself: http://wiki.dlang.org/Build_LDC_for_AndroidThanks for the thorough instructions! LLVM is rather massive and I'd prefer to avoid building it if I can, so I downloaded the pre-built LDC binary from the release page. However, the binary is 32-bit and depends on libconfig, which doesn't appear to have a multilib package in Arch Linux. There are of course ways around this, but would it be possible to release a pre-built 64-bit binary?
Nov 06 2015
On Friday, 6 November 2015 at 20:10:36 UTC, Jakob Ovrum wrote:On Friday, 6 November 2015 at 11:56:35 UTC, Joakim wrote:Maybe, I'll see. In the meantime, you can use ldmd2, which doesn't depend on libconfig.[...]Thanks for the thorough instructions! LLVM is rather massive and I'd prefer to avoid building it if I can, so I downloaded the pre-built LDC binary from the release page. However, the binary is 32-bit and depends on libconfig, which doesn't appear to have a multilib package in Arch Linux. There are of course ways around this, but would it be possible to release a pre-built 64-bit binary?
Nov 06 2015
On Friday, 6 November 2015 at 20:24:18 UTC, Joakim wrote:On Friday, 6 November 2015 at 20:10:36 UTC, Jakob Ovrum wrote:But ldmd2 depends on ldc2, doesn't it? It seems to be trying to invoke it.On Friday, 6 November 2015 at 11:56:35 UTC, Joakim wrote:Maybe, I'll see. In the meantime, you can use ldmd2, which doesn't depend on libconfig.[...]Thanks for the thorough instructions! LLVM is rather massive and I'd prefer to avoid building it if I can, so I downloaded the pre-built LDC binary from the release page. However, the binary is 32-bit and depends on libconfig, which doesn't appear to have a multilib package in Arch Linux. There are of course ways around this, but would it be possible to release a pre-built 64-bit binary?
Nov 06 2015
On Friday, 6 November 2015 at 20:41:11 UTC, Jakob Ovrum wrote:On Friday, 6 November 2015 at 20:24:18 UTC, Joakim wrote:Oh, never tried ldmd2, just knew that it didn't link against libconfig. Away from computer now, will look into it tonight.On Friday, 6 November 2015 at 20:10:36 UTC, Jakob Ovrum wrote:But ldmd2 depends on ldc2, doesn't it? It seems to be trying to invoke it.On Friday, 6 November 2015 at 11:56:35 UTC, Joakim wrote:Maybe, I'll see. In the meantime, you can use ldmd2, which doesn't depend on libconfig.[...]Thanks for the thorough instructions! LLVM is rather massive and I'd prefer to avoid building it if I can, so I downloaded the pre-built LDC binary from the release page. However, the binary is 32-bit and depends on libconfig, which doesn't appear to have a multilib package in Arch Linux. There are of course ways around this, but would it be possible to release a pre-built 64-bit binary?
Nov 06 2015
On Friday, 6 November 2015 at 20:10:36 UTC, Jakob Ovrum wrote:Thanks for the thorough instructions! LLVM is rather massive and I'd prefer to avoid building it if I can, so I downloaded the pre-built LDC binary from the release page. However, the binary is 32-bit and depends on libconfig, which doesn't appear to have a multilib package in Arch Linux. There are of course ways around this, but would it be possible to release a pre-built 64-bit binary?OK, I've rebuilt ldc with one small tweak: I've added the current directory to its rpath and bundled my system libconfig along with it, which is what the official ldc release does too. You shouldn't need libconfig installed by your system anymore. Please download the updated release of the Android/ARM cross-compiler and let me know if it works for you. Note that this linux/x86 ldc cross-compiler also depends on the ncurses and zlib shared libraries, so you'll have to install those if you want to run it.
Nov 07 2015
On Saturday, 7 November 2015 at 18:39:22 UTC, Joakim wrote:OK, I've rebuilt ldc with one small tweak: I've added the current directory to its rpath and bundled my system libconfig along with it, which is what the official ldc release does too. You shouldn't need libconfig installed by your system anymore. Please download the updated release of the Android/ARM cross-compiler and let me know if it works for you.Thanks, now compilation works! I have some unrelated issues with the NDK, so I will confirm how the end-to-end process works for me later once I solve that.Note that this linux/x86 ldc cross-compiler also depends on the ncurses and zlib shared libraries, so you'll have to install those if you want to run it.Yeah, libconfig was the only library that I couldn't find an Arch Linux multilib package for, I already had the others. Note that the NDK clang executable also relies on ncurses, so there wouldn't be much point in eliminating that dependency.
Nov 11 2015
On Wednesday, 11 November 2015 at 22:43:01 UTC, Jakob Ovrum wrote:On Saturday, 7 November 2015 at 18:39:22 UTC, Joakim wrote:The issues I had came with using the 64-bit NDK - it worked as explained in the article once I switched to the 32-bit NDK. The issue appeared to be with the linker: /usr/bin/ld.bfd would complain that it was not configured for --sysroots. Changing to --fuse-ld=mcld revealed further issues. Perhaps the wiki article should recommend the 32-bit NDK until these issues are figured out.OK, I've rebuilt ldc with one small tweak: I've added the current directory to its rpath and bundled my system libconfig along with it, which is what the official ldc release does too. You shouldn't need libconfig installed by your system anymore. Please download the updated release of the Android/ARM cross-compiler and let me know if it works for you.Thanks, now compilation works! I have some unrelated issues with the NDK, so I will confirm how the end-to-end process works for me later once I solve that.
Nov 11 2015
On Thursday, 12 November 2015 at 02:51:46 UTC, Jakob Ovrum wrote:The issues I had came with using the 64-bit NDK - it worked as explained in the article once I switched to the 32-bit NDK. The issue appeared to be with the linker: /usr/bin/ld.bfd would complain that it was not configured for --sysroots. Changing to --fuse-ld=mcld revealed further issues. Perhaps the wiki article should recommend the 32-bit NDK until these issues are figured out.I recently signed up for a linux/x64 VPS, so I've put a linux/x64 cross-compiler build at the above github link. You'll need to set a NDK_ARCH environment variable to x86_64, to use the 64-bit NDK with the updated ldc patch and sample commands from the wiki. I don't package libconfig with this one, so it will need to be installed in the system, along with zlib. I had no problem with the 64-bit NDK once I made these changes, let me know if this works for you. Your problem could be because it's trying to use the system linker at /usr/bin/ld.bfd, rather than the one that came with the NDK?
Nov 23 2015
Hello Joakim, JvDda> http://wiki.dlang.org/Build_LDC_for_Android#Build_a_sample_OpenGL_Android_app_ported_to_D No way to do this on Windows, am I right? -- With best regards from Ukraine, Andre Skype: Francophile Twitter: m_elensule; Facebook: menelion My blog: http://menelion.oire.org/ ------------ Original message ------------ From: Joakim via Digitalmars-d-announce <digitalmars-d-announce puremagic.com> To: digitalmars-d-announce puremagic.com Date created: , 1:56:33 PM Subject: LDC 0.17.0 alpha cross-compiler for Android/ARM, D 2.068.2 https://github.com/joakim-noah/android/releases/tag/runners You will need a linux/x86 host and the Android NDK, optionally the SDK if you want to create a GUI app. A slightly older build was used to create the test runners from earlier this week. You can use this cross-compiler to build command-line or GUI apps, by following the instructions from these sections in the wiki: http://wiki.dlang.org/Build_LDC_for_Android#Build_a_command-line_executable http://wiki.dlang.org/Build_LDC_for_Android#Build_a_sample_OpenGL_Android_app_ported_to_D Make sure to set the NDK environment variable to the path of your Android NDK. There are also instructions to build the cross-compiler and test runner from source yourself: http://wiki.dlang.org/Build_LDC_for_Android
Nov 07 2015
On Saturday, 7 November 2015 at 12:23:18 UTC, Andre Polykanine wrote:Hello Joakim, JvDda> http://wiki.dlang.org/Build_LDC_for_Android#Build_a_sample_OpenGL_Android_app_ported_to_D No way to do this on Windows, am I right?Not using this cross-compiler build for a linux/x86 host, no. However, you can build llvm/ldc from source on Windows using the patches earlier in that wiki page and in principle, it should work on Windows too. I haven't tried it, so I can't say for sure, but I think it'd work.
Nov 07 2015