June 16, 2018
On Saturday, 16 June 2018 at 12:59:48 UTC, makedgreatagain wrote:
> On Saturday, 16 June 2018 at 10:40:44 UTC, Joakim wrote:
> I dont know what to deal with global.params.targetTriple.isOSDarwin and global.params.targetTriple.isMacOSX when I try merge it into ldc/master.  should I keep both or just one ?

And should I keep merge USE_OSX_TARGET_REAL or the ldc master already fix this?

if I do not use real type in IOS i can skip this ?
June 16, 2018
On Saturday, 16 June 2018 at 13:18:34 UTC, makedgreatagain wrote:
> On Saturday, 16 June 2018 at 12:59:48 UTC, makedgreatagain wrote:
>> On Saturday, 16 June 2018 at 10:40:44 UTC, Joakim wrote:
>> I dont know what to deal with global.params.targetTriple.isOSDarwin and global.params.targetTriple.isMacOSX when I try merge it into ldc/master.  should I keep both or just one ?
>
> And should I keep merge USE_OSX_TARGET_REAL or the ldc master already fix this?
>
> if I do not use real type in IOS i can skip this ?

No idea, I haven't really used iOS, as I haven't bought an Apple device in almost 15 years. It's your port, you get to make the decisions. :)
June 17, 2018
On Saturday, 16 June 2018 at 12:59:48 UTC, makedgreatagain wrote:
> On Saturday, 16 June 2018 at 10:40:44 UTC, Joakim wrote:
>> On Saturday, 16 June 2018 at 08:10:35 UTC, makedgreatagain wrote:
>>> On Friday, 15 June 2018 at 14:50:08 UTC, Joakim wrote:
>> [...]
> I dont know what to deal with global.params.targetTriple.isOSDarwin and global.params.targetTriple.isMacOSX when I try merge it into ldc/master.  should I keep both or just one ?

Darwin can generally imply either macOS, tvOS or iOS, as far as I can tell.
June 18, 2018
On Sunday, 17 June 2018 at 01:50:14 UTC, Uknown wrote:
> On Saturday, 16 June 2018 at 12:59:48 UTC, makedgreatagain
>
> Darwin can generally imply either macOS, tvOS or iOS, as far as I can tell.

Thanks for tips.


@Joakim

I speed the weekend on this and with no good results.

abi-ios is not work with lts master anymore,  because a lot code is changed.(not sure how to fix it)

And after cherry pick ios-llvm tls patch to LLVM 37 or 60, none of them work. I try fix but not able to made it buildable. (base on ldc issue 1081, llvm no need tls patch if I understand correct)

and make file also break so I has to remove the runtime folder to build ldc(not buildable because cpp error).
June 20, 2018
On Monday, 18 June 2018 at 07:02:44 UTC, makedgreatagain wrote:
> On Sunday, 17 June 2018 at 01:50:14 UTC, Uknown wrote:
>> On Saturday, 16 June 2018 at 12:59:48 UTC, makedgreatagain
>>
>> Darwin can generally imply either macOS, tvOS or iOS, as far as I can tell.
>
> Thanks for tips.
>
>
> @Joakim
>
> I speed the weekend on this and with no good results.
>
> abi-ios is not work with lts master anymore,  because a lot code is changed.(not sure how to fix it)

Do you mean ltsmaster or master? There shouldn't be much change with the former.

> And after cherry pick ios-llvm tls patch to LLVM 37 or 60, none of them work. I try fix but not able to made it buildable. (base on ldc issue 1081, llvm no need tls patch if I understand correct)

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

> and make file also break so I has to remove the runtime folder to build ldc(not buildable because cpp error).

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.
June 20, 2018
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)





June 21, 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.
June 29, 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:
>> [...]
>
> master branch.
>
>> [...]
>
> this is great.
>
>
>> [...]
>
> 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)

Any update?
1 2 3
Next ›   Last »