Building Android Apps on Windows is working fine:)

Joakim via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Fri Dec 23 03:07:54 PST 2016


On Friday, 23 December 2016 at 04:55:54 UTC, A random D user 
wrote:
> On Friday, 23 December 2016 at 04:10:48 UTC, Joakim wrote:
>> On Thursday, 22 December 2016 at 17:00:35 UTC, Andre Pany 
>> wrote:
>>> Hi,
>>>
>>> using the documentation from here 
>>> https://wiki.dlang.org/Build_LDC_for_Android
>>> I build the OpenGL Android APP on Windows using WSL (Bash on 
>>> Ubuntu on Windows).
>>>
>>> [...]
>>
>> Great!  Good to hear it just works, once you installed the 
>> prerequisites.  You may want to amend the first sentence of 
>> the wiki page to mention Win10 too.
>>
>> I will be pushing out a new 1.1.0 beta soon and updating the 
>> patches and instructions to build that.  You may want to try 
>> building that next, bonus points if you get it done purely in 
>> Windows, ie no linux shell. ;)
>
> Out of interest: why don't you include your patches directly in 
> "mainline" LDC (or at least a branch there)?
> The patchset looks moderately small and I guess with 
> version(Android) no one would care much?

They _are_ in: the only remaining patches applied to the compiler 
are an updated version of kinke's ldc PR for cross-compiling 
reals (https://github.com/ldc-developers/ldc/pull/1317) and some 
small tweaks to the CMake build script to make it easier to build 
and run the tests on Android.

The remaining stdlib changes are almost all workarounds for older 
versions of Android, no need to merge those.  The only exceptions 
are an in-limbo, unmerged PR by Ilya for druntime 
(https://github.com/dlang/druntime/pull/1565) and some issue with 
how module info is passed from the compiler, which will have to 
be dealt with eventually.

The bigger issue is that my current approach modifies llvm to 
create a kind of emulated TLS that is easily passed to the 
garbage-collector.  llvm has its own form of emulated TLS now, 
modeled on how gcc does it, but I'm not particularly motivated to 
figure out how to register that with the GC.  It will have to be 
done eventually though, so that we can just use stock llvm.

In sum, there are some issues that others need to finish up, a 
couple that I need to look into, before we can just use stock ldc 
for Android, but most of it is in.

> I just assume that cloning the LDC repo directly is easier for 
> new users and/or potential contributors.

You are cloning the LDC repo in the instructions above, I don't 
maintain a fork.  I provide a few patches that you have to apply, 
accompanied by full instructions.  If you're just a user, my 
compiler builds are available, no need to clone anything.


More information about the digitalmars-d-ldc mailing list