digitalmars.D - IOS support status
- makedgreatagain (6/6) Jun 06 2018 The last IOS cross compiler
- Joakim (18/23) Jun 07 2018 As you can see, the guy who did a lot of work with getting D
- makedgreatagain (8/32) Jun 07 2018 Thanks for you suggestion Joakim.
- Joakim (5/14) Jun 07 2018 Huh, I didn't look that far back in the branch, may not be worth
- makedgreatagain (4/23) Jun 10 2018 Thanks for your help.
- Joakim (6/31) Jun 10 2018 No, it only disables 4-5 things, so while you're right that it
- Joakim (3/17) Jun 11 2018 My betterC backport is up, try it on Dan's iOS branch:
- makedgreatagain (2/20) Jun 12 2018 Thanks, this is very helpful.
- makedgreatagain (7/25) Jun 12 2018 When I cherry pick the commit 08041422, git report the IOS branch
- Joakim (6/34) Jun 12 2018 Are you starting from the top, with the oldest commit first?
- makedgreatagain (7/22) Jun 14 2018 I has try a lot diff way, none of them work.
- makedgreatagain (33/58) Jun 14 2018 I use git apply --reject --whitespace=fix to patch and it working
- Joakim (5/10) Jun 14 2018 Not sure about llvm, but rather than use his script, it should
- makedgreatagain (3/15) Jun 15 2018 Cmake build recent LLVM is ok, but not the ios llvm for d, report
- Joakim (4/22) Jun 15 2018 You're using his llvm 3.6.2 branch with no changes? I don't see
- makedgreatagain (3/11) Jun 15 2018 Yes, I use git submodule update --init. not touch any thing
- Joakim (9/21) Jun 15 2018 Sounds like something wrong in your environment then, as I just
- makedgreatagain (9/19) Jun 16 2018 Thanks a lot, after I modify llvm/autoconf/AutoRegen.sh (to allow
- Joakim (5/15) Jun 16 2018 Looks like he modified about 35 files in ldc for his iOS branch,
- makedgreatagain (5/25) Jun 16 2018 I dont know what to deal with
- makedgreatagain (4/9) Jun 16 2018 And should I keep merge USE_OSX_TARGET_REAL or the ldc master
- Joakim (4/14) Jun 16 2018 No idea, I haven't really used iOS, as I haven't bought an Apple
- Uknown (3/12) Jun 16 2018 Darwin can generally imply either macOS, tvOS or iOS, as far as I
- makedgreatagain (11/14) Jun 18 2018 Thanks for tips.
- Joakim (13/29) Jun 19 2018 Do you mean ltsmaster or master? There shouldn't be much change
- makedgreatagain (10/22) Jun 20 2018 this is great.
- Joakim (15/39) Jun 21 2018 Looking at his commits diffed against ltsmaster, there isn't much
- elvisxzhou (2/15) Jun 28 2018 Any update?
The last IOS cross compiler https://github.com/smolt/ldc-iphone-dev/releases based on 0.17.0-alpha1, which is 3 years old. I want to ask for suggestion, how can i build a cross LDC2 compiler with just betterC function to work. Thanks in advance.
Jun 06 2018
On Thursday, 7 June 2018 at 05:58:48 UTC, makedgreatagain wrote:The last IOS cross compiler https://github.com/smolt/ldc-iphone-dev/releases based on 0.17.0-alpha1, which is 3 years old. I want to ask for suggestion, how can i build a cross LDC2 compiler with just betterC function to work.As you can see, the guy who did a lot of work with getting D running on iOS and other non-Mac Apple platforms has not been able to do anything with it for the last year or two. Looking at his ldc fork, there's not much he had to change to the compiler by the end: https://github.com/smolt/ldc/commits/ios You could try applying those same patches to the latest ldc release and get it working. If you just want betterC, that's all you need, though I can't imagine it would take much to get druntime and Phobos updated too, as he had them both working well a couple years ago. We are looking for someone to take over the iOS port, so if you or someone else is interested, please try it out. You can ask technical questions of the ldc devs directly in our forum or github: https://forum.dlang.org/group/ldc https://github.com/ldc-developers/ldc/
Jun 07 2018
On Thursday, 7 June 2018 at 07:58:19 UTC, Joakim wrote:On Thursday, 7 June 2018 at 05:58:48 UTC, makedgreatagain wrote:Thanks for you suggestion Joakim. I try follow your suggestion, get all commit from origin branch (116 commit by Dan Olson fro IOS brnach). When I try cherry pick the first commit, get conflict the line number is 6232. (the ios branch is base on cpp and master ldc is move to d). I will try more but I guess It is hard for me to made it work.The last IOS cross compiler https://github.com/smolt/ldc-iphone-dev/releases based on 0.17.0-alpha1, which is 3 years old. I want to ask for suggestion, how can i build a cross LDC2 compiler with just betterC function to work.As you can see, the guy who did a lot of work with getting D running on iOS and other non-Mac Apple platforms has not been able to do anything with it for the last year or two. Looking at his ldc fork, there's not much he had to change to the compiler by the end: https://github.com/smolt/ldc/commits/ios You could try applying those same patches to the latest ldc release and get it working. If you just want betterC, that's all you need, though I can't imagine it would take much to get druntime and Phobos updated too, as he had them both working well a couple years ago. We are looking for someone to take over the iOS port, so if you or someone else is interested, please try it out. You can ask technical questions of the ldc devs directly in our forum or github: https://forum.dlang.org/group/ldc https://github.com/ldc-developers/ldc/
Jun 07 2018
On Thursday, 7 June 2018 at 11:58:58 UTC, makedgreatagain wrote:On Thursday, 7 June 2018 at 07:58:19 UTC, Joakim wrote:Huh, I didn't look that far back in the branch, may not be worth merging. How is his last release working? Do you want only betterC? If so, you may be better off backporting the betterC patch that got it working later, shouldn't be much to that one.[...]Thanks for you suggestion Joakim. I try follow your suggestion, get all commit from origin branch (116 commit by Dan Olson fro IOS brnach). When I try cherry pick the first commit, get conflict the line number is 6232. (the ios branch is base on cpp and master ldc is move to d). I will try more but I guess It is hard for me to made it work.
Jun 07 2018
On Thursday, 7 June 2018 at 14:12:15 UTC, Joakim wrote:On Thursday, 7 June 2018 at 11:58:58 UTC, makedgreatagain wrote:Thanks for your help. The side thing is betterC change also base on d based branch, which is very hard to backporting to cpp branch.On Thursday, 7 June 2018 at 07:58:19 UTC, Joakim wrote:Huh, I didn't look that far back in the branch, may not be worth merging. How is his last release working? Do you want only betterC? If so, you may be better off backporting the betterC patch that got it working later, shouldn't be much to that one.[...]Thanks for you suggestion Joakim. I try follow your suggestion, get all commit from origin branch (116 commit by Dan Olson fro IOS brnach). When I try cherry pick the first commit, get conflict the line number is 6232. (the ios branch is base on cpp and master ldc is move to d). I will try more but I guess It is hard for me to made it work.
Jun 10 2018
On Monday, 11 June 2018 at 02:58:28 UTC, makedgreatagain wrote:On Thursday, 7 June 2018 at 14:12:15 UTC, Joakim wrote:No, it only disables 4-5 things, so while you're right that it applies towards ddmd, it should be pretty easy to manually backport to the old C++ frontend. I plan to do so for the ltsmaster branch of ldc, its last C++ version, this week: you can apply that pull to Dan's ios branch or easily port it yourself.On Thursday, 7 June 2018 at 11:58:58 UTC, makedgreatagain wrote:Thanks for your help. The side thing is betterC change also base on d based branch, which is very hard to backporting to cpp branch.On Thursday, 7 June 2018 at 07:58:19 UTC, Joakim wrote:Huh, I didn't look that far back in the branch, may not be worth merging. How is his last release working? Do you want only betterC? If so, you may be better off backporting the betterC patch that got it working later, shouldn't be much to that one.[...]Thanks for you suggestion Joakim. I try follow your suggestion, get all commit from origin branch (116 commit by Dan Olson fro IOS brnach). When I try cherry pick the first commit, get conflict the line number is 6232. (the ios branch is base on cpp and master ldc is move to d). I will try more but I guess It is hard for me to made it work.
Jun 10 2018
On Monday, 11 June 2018 at 04:02:15 UTC, Joakim wrote:On Monday, 11 June 2018 at 02:58:28 UTC, makedgreatagain wrote:My betterC backport is up, try it on Dan's iOS branch: https://github.com/ldc-developers/ldc/pull/2748On Thursday, 7 June 2018 at 14:12:15 UTC, Joakim wrote:No, it only disables 4-5 things, so while you're right that it applies towards ddmd, it should be pretty easy to manually backport to the old C++ frontend. I plan to do so for the ltsmaster branch of ldc, its last C++ version, this week: you can apply that pull to Dan's ios branch or easily port it yourself.[...]Thanks for your help. The side thing is betterC change also base on d based branch, which is very hard to backporting to cpp branch.
Jun 11 2018
On Tuesday, 12 June 2018 at 04:23:51 UTC, Joakim wrote:On Monday, 11 June 2018 at 04:02:15 UTC, Joakim wrote:Thanks, this is very helpful.On Monday, 11 June 2018 at 02:58:28 UTC, makedgreatagain wrote:My betterC backport is up, try it on Dan's iOS branch: https://github.com/ldc-developers/ldc/pull/2748On Thursday, 7 June 2018 at 14:12:15 UTC, Joakim wrote:No, it only disables 4-5 things, so while you're right that it applies towards ddmd, it should be pretty easy to manually backport to the old C++ frontend. I plan to do so for the ltsmaster branch of ldc, its last C++ version, this week: you can apply that pull to Dan's ios branch or easily port it yourself.[...]Thanks for your help. The side thing is betterC change also base on d based branch, which is very hard to backporting to cpp branch.
Jun 12 2018
On Tuesday, 12 June 2018 at 04:23:51 UTC, Joakim wrote:On Monday, 11 June 2018 at 04:02:15 UTC, Joakim wrote:When I cherry pick the commit 08041422, git report the IOS branch dose not have function `getCAssertFunctionName` , `DtoCAssert` there seems missing some old commit from IOS branch to ltsmaster branch. I don't know how many and how to compare to get all the missing commit to work. Thanks for you help again.On Monday, 11 June 2018 at 02:58:28 UTC, makedgreatagain wrote:My betterC backport is up, try it on Dan's iOS branch: https://github.com/ldc-developers/ldc/pull/2748On Thursday, 7 June 2018 at 14:12:15 UTC, Joakim wrote:No, it only disables 4-5 things, so while you're right that it applies towards ddmd, it should be pretty easy to manually backport to the old C++ frontend. I plan to do so for the ltsmaster branch of ldc, its last C++ version, this week: you can apply that pull to Dan's ios branch or easily port it yourself.[...]Thanks for your help. The side thing is betterC change also base on d based branch, which is very hard to backporting to cpp branch.
Jun 12 2018
On Wednesday, 13 June 2018 at 02:18:55 UTC, makedgreatagain wrote:On Tuesday, 12 June 2018 at 04:23:51 UTC, Joakim wrote:Are you starting from the top, with the oldest commit first? Because the older commits supply those functions. You may not want to cherry-pick if you're not used to doing it, and just apply the patch itself: https://patch-diff.githubusercontent.com/raw/ldc-developers/ldc/pull/2748.diffOn Monday, 11 June 2018 at 04:02:15 UTC, Joakim wrote:When I cherry pick the commit 08041422, git report the IOS branch dose not have function `getCAssertFunctionName` , `DtoCAssert` there seems missing some old commit from IOS branch to ltsmaster branch. I don't know how many and how to compare to get all the missing commit to work. Thanks for you help again.On Monday, 11 June 2018 at 02:58:28 UTC, makedgreatagain wrote:My betterC backport is up, try it on Dan's iOS branch: https://github.com/ldc-developers/ldc/pull/2748On Thursday, 7 June 2018 at 14:12:15 UTC, Joakim wrote:No, it only disables 4-5 things, so while you're right that it applies towards ddmd, it should be pretty easy to manually backport to the old C++ frontend. I plan to do so for the ltsmaster branch of ldc, its last C++ version, this week: you can apply that pull to Dan's ios branch or easily port it yourself.[...]Thanks for your help. The side thing is betterC change also base on d based branch, which is very hard to backporting to cpp branch.
Jun 12 2018
On Wednesday, 13 June 2018 at 02:33:22 UTC, Joakim wrote:On Wednesday, 13 June 2018 at 02:18:55 UTC, makedgreatagain wrote:I has try a lot diff way, none of them work. to apply this patch it should this error: error: patch failed: driver/main.cpp:860 error: driver/main.cpp: patch does not apply error: patch failed: gen/module.cpp:743 error: gen/module.cpp: patch does not applyWhen I cherry pick the commit 08041422, git report the IOS branch dose not have function `getCAssertFunctionName` , `DtoCAssert` there seems missing some old commit from IOS branch to ltsmaster branch. I don't know how many and how to compare to get all the missing commit to work. Thanks for you help again.Are you starting from the top, with the oldest commit first? Because the older commits supply those functions. You may not want to cherry-pick if you're not used to doing it, and just apply the patch itself: https://patch-diff.githubusercontent.com/raw/ldc-developers/ldc/pull/2748.diff
Jun 14 2018
On Friday, 15 June 2018 at 05:26:57 UTC, makedgreatagain wrote:On Wednesday, 13 June 2018 at 02:33:22 UTC, Joakim wrote:I use git apply --reject --whitespace=fix to patch and it working now. but I can not build the llvm use Dan Olson script or cmake, it report error. (I can build new llvm without problem, but after I add some patch or merge it will break) : command not found/apple/ldc-iphone-dev/llvm/autoconf/config.guess: line 6: : command not found/apple/ldc-iphone-dev/llvm/autoconf/config.guess: line 8: : command not found/apple/ldc-iphone-dev/llvm/autoconf/config.guess: line 28: : command not found/apple/ldc-iphone-dev/llvm/autoconf/config.guess: line 29: : command not found/apple/ldc-iphone-dev/llvm/autoconf/config.guess: line 40: : command not found/apple/ldc-iphone-dev/llvm/autoconf/config.guess: line 42: : command not found/apple/ldc-iphone-dev/llvm/autoconf/config.guess: line 54: : command not found/apple/ldc-iphone-dev/llvm/autoconf/config.guess: line 65: : command not found/apple/ldc-iphone-dev/llvm/autoconf/config.guess: line 68: 'var/root/.projects/apple/ldc-iphone-dev/llvm/autoconf/config.guess: line 71: syntax error near unexpected token `in 'var/root/.projects/apple/ldc-iphone-dev/llvm/autoconf/config.guess: line 71: ` case $1 in CMake Error at cmake/modules/GetHostTriple.cmake:24 (message): Failed to execute /var/root/.projects/apple/ldc-iphone-dev/llvm/autoconf/config.guess Call Stack (most recent call first): cmake/config-ix.cmake:333 (get_host_triple) CMakeLists.txt:336 (include)On Wednesday, 13 June 2018 at 02:18:55 UTC, makedgreatagain wrote:I has try a lot diff way, none of them work. to apply this patch it should this error: error: patch failed: driver/main.cpp:860 error: driver/main.cpp: patch does not apply error: patch failed: gen/module.cpp:743 error: gen/module.cpp: patch does not applyWhen I cherry pick the commit 08041422, git report the IOS branch dose not have function `getCAssertFunctionName` , `DtoCAssert` there seems missing some old commit from IOS branch to ltsmaster branch. I don't know how many and how to compare to get all the missing commit to work. Thanks for you help again.Are you starting from the top, with the oldest commit first? Because the older commits supply those functions. You may not want to cherry-pick if you're not used to doing it, and just apply the patch itself: https://patch-diff.githubusercontent.com/raw/ldc-developers/ldc/pull/2748.diff
Jun 14 2018
On Friday, 15 June 2018 at 05:35:02 UTC, makedgreatagain wrote:On Friday, 15 June 2018 at 05:26:57 UTC, makedgreatagain wrote:Not sure about llvm, but rather than use his script, it should work with CMake? We normally use CMake and I've never had an issue with it: https://wiki.dlang.org/Building_LDC_from_source#Building_LLVM_manually[...]I use git apply --reject --whitespace=fix to patch and it working now. [...]
Jun 14 2018
On Friday, 15 June 2018 at 05:42:48 UTC, Joakim wrote:On Friday, 15 June 2018 at 05:35:02 UTC, makedgreatagain wrote:Cmake build recent LLVM is ok, but not the ios llvm for d, report same error.On Friday, 15 June 2018 at 05:26:57 UTC, makedgreatagain wrote:Not sure about llvm, but rather than use his script, it should work with CMake? We normally use CMake and I've never had an issue with it: https://wiki.dlang.org/Building_LDC_from_source#Building_LLVM_manually[...]I use git apply --reject --whitespace=fix to patch and it working now. [...]
Jun 15 2018
On Friday, 15 June 2018 at 11:25:11 UTC, makedgreatagain wrote:On Friday, 15 June 2018 at 05:42:48 UTC, Joakim wrote:You're using his llvm 3.6.2 branch with no changes? I don't see how his build scripts would stop working for that, you'll have to investigate.On Friday, 15 June 2018 at 05:35:02 UTC, makedgreatagain wrote:Cmake build recent LLVM is ok, but not the ios llvm for d, report same error.On Friday, 15 June 2018 at 05:26:57 UTC, makedgreatagain wrote:Not sure about llvm, but rather than use his script, it should work with CMake? We normally use CMake and I've never had an issue with it: https://wiki.dlang.org/Building_LDC_from_source#Building_LLVM_manually[...]I use git apply --reject --whitespace=fix to patch and it working now. [...]
Jun 15 2018
On Friday, 15 June 2018 at 11:30:40 UTC, Joakim wrote:On Friday, 15 June 2018 at 11:25:11 UTC, makedgreatagain wrote:Yes, I use git submodule update --init. not touch any thing still not be able to build.On Friday, 15 June 2018 at 05:42:48 UTC, Joakim wrote: Cmake build recent LLVM is ok, but not the ios llvm for d, report same error.You're using his llvm 3.6.2 branch with no changes? I don't see how his build scripts would stop working for that, you'll have to investigate.
Jun 15 2018
On Friday, 15 June 2018 at 13:18:25 UTC, makedgreatagain wrote:On Friday, 15 June 2018 at 11:30:40 UTC, Joakim wrote:Sounds like something wrong in your environment then, as I just checked out his last llvm ios-release_362 branch in a linux/x64 VPS, ran the configure command from his llvm script (see link), ran make, and everything's building fine: https://github.com/smolt/ldc-iphone-dev/blob/master/tools/prepmake-llvm You'll have to investigate what's different about your build environment that you can't seem to build an almost-stock llvm 3.6.2.On Friday, 15 June 2018 at 11:25:11 UTC, makedgreatagain wrote:Yes, I use git submodule update --init. not touch any thing still not be able to build.On Friday, 15 June 2018 at 05:42:48 UTC, Joakim wrote: Cmake build recent LLVM is ok, but not the ios llvm for d, report same error.You're using his llvm 3.6.2 branch with no changes? I don't see how his build scripts would stop working for that, you'll have to investigate.
Jun 15 2018
On Friday, 15 June 2018 at 14:50:08 UTC, Joakim wrote:On Friday, 15 June 2018 at 13:18:25 UTC, makedgreatagain wrote:Thanks a lot, after I modify llvm/autoconf/AutoRegen.sh (to allow use the version of my pc), and regenerate config.guess, cmake build start to working. and now I get a old ldc version with betterC support. (I am not test it on iphone yet, but it can build). now I wish some maybe there is not much modify to bring the last ldc master to iphone(only betterC work still can do more stuff, with less bug compare to druntime).On Friday, 15 June 2018 at 11:30:40 UTC, Joakim wrote:Sounds like something wrong in your environment then, as I just checked out his last llvm ios-release_362 branch in a linux/x64 VPS, ran the configure command from his llvm script (see link), ran make, and everything's building fine: https://github.com/smolt/ldc-iphone-dev/blob/master/tools/prepmake-llvm You'll have to investigate what's different about your build environment that you can't seem to build an almost-stock llvm 3.6.2.
Jun 16 2018
On Saturday, 16 June 2018 at 08:10:35 UTC, makedgreatagain wrote:On Friday, 15 June 2018 at 14:50:08 UTC, Joakim wrote:Good to hear.[...]Thanks a lot, after I modify llvm/autoconf/AutoRegen.sh (to allow use the version of my pc), and regenerate config.guess, cmake build start to working. and now I get a old ldc version with betterC support. (I am not test it on iphone yet, but it can build).now I wish some maybe there is not much modify to bring the last ldc master to iphone(only betterC work still can do more stuff, with less bug compare to druntime).Looks like he modified about 35 files in ldc for his iOS branch, the diff is not that big. If you're diligent, you could probably port it to master in a day.
Jun 16 2018
On Saturday, 16 June 2018 at 10:40:44 UTC, Joakim wrote:On Saturday, 16 June 2018 at 08:10:35 UTC, makedgreatagain 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 ?On Friday, 15 June 2018 at 14:50:08 UTC, Joakim wrote:Good to hear.[...]Thanks a lot, after I modify llvm/autoconf/AutoRegen.sh (to allow use the version of my pc), and regenerate config.guess, cmake build start to working. and now I get a old ldc version with betterC support. (I am not test it on iphone yet, but it can build).now I wish some maybe there is not much modify to bring the last ldc master to iphone(only betterC work still can do more stuff, with less bug compare to druntime).Looks like he modified about 35 files in ldc for his iOS branch, the diff is not that big. If you're diligent, you could probably port it to master in a day.
Jun 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 ?
Jun 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: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. :)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 ?
Jun 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:Darwin can generally imply either macOS, tvOS or iOS, as far as I can tell.On Saturday, 16 June 2018 at 08:10:35 UTC, makedgreatagain 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 ?On Friday, 15 June 2018 at 14:50:08 UTC, Joakim wrote:[...]
Jun 16 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).
Jun 18 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:Do you mean ltsmaster or master? There shouldn't be much change with the former.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)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.netand 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.
Jun 19 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.netthis 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)
Jun 20 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: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.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.netthis 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)
Jun 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:Any update?[...]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)
Jun 28 2018