IOS support status

Joakim dlang at joakim.fea.st
Thu Jun 21 10:17:03 UTC 2018


On Wednesday, 20 June 2018 at 07:25:37 UTC, makedgreatagain wrote:
> On Wednesday, 20 June 2018 at 05:26:25 UTC, Joakim wrote:
>> Do you mean ltsmaster or master? There shouldn't be much 
>> change with the former.
>
> master branch.
>
>> The TLS patches shouldn't be needed after llvm 3.8 or so, ie 
>> you should be able to use a stock llvm for iOS:
>>
>> https://forum.dlang.org/thread/m237o97vf0.fsf@comcast.net
>
> this is great.
>
>
>> That makes no sense: there are no C++ files in the runtime, 
>> only C and D. Anyway, if you only care about betterC, you 
>> don't want to build the runtime, so doesn't matter.
>>
>> My suggestion is that you simply build his working ldc for iOS 
>> project, but with the betterC patch I linked you backported. 
>> Once you're sure that's working, you can try these more 
>> advanced steps. Have you tried that? It's not clear.
>
> the origin ldc with your patch is working. but I find it is 
> very limit betterC support with old version(some code will not 
> work, and fixed at late dmd/ldc version).
>
> The patched ldc not build because a lot old code Dan Olson 
> write is not working any more( ldc  cpp interface changed, or 
> llvm cpp interface changed).  I try to fix but never get it 
> working. (I patch all 36 files)

Looking at his commits diffed against ltsmaster, there isn't much 
to port, particularly once you throw out the TLS commits and the 
floating-point cross-compilation code that has since been added 
in the official repo, maybe 500-800 lines largely in his new iOS 
ABI files:

https://github.com/ldc-developers/ldc/compare/ltsmaster...smolt:ios

Of course, adapting that diff to upstream takes careful knowledge 
of ABI details and how llvm and LDC handle them, which you may 
not be familiar with. You may want to see if one of the LDC devs 
is interested in porting this patch upstream, by posting in their 
forum:

https://forum.dlang.org/group/ldc

Some of them do consulting work for companies, maybe you could 
pay one of them to do it.


More information about the Digitalmars-d mailing list