|
1 | 1 | # ldc-iphone-dev |
2 | | -An LDC (LLVM-base D Compiler) development sandbox for targetting iOS. |
| 2 | +An LDC (LLVM-base D Compiler) development sandbox for targetting |
| 3 | +iOS and soon its siblings tvOS, watchOS. |
3 | 4 |
|
4 | | -This [repo](https://github.com/smolt/ldc-iphone-dev) glues together various pieces needed to build an LDC cross compiler targeting Apple's iOS for iPhone, iPad, and iPod Touch. It also includes a few samples to show how to get started. The compiler and libraries are in good enough shape to pass the druntime/phobos unittests with a few minor math failures (see [Unittest Status](#unittest-status) below). This means someone could, if so inclined, build their D library and use it in an iOS App. |
| 5 | +This [repo](https://github.com/smolt/ldc-iphone-dev) glues together |
| 6 | +various pieces needed to build an LDC cross compiler targeting Apple's |
| 7 | +iOS for iPhone, iPad, and iPod Touch. It also includes a few samples |
| 8 | +to show how to get started. The compiler and libraries are in good |
| 9 | +enough shape to pass the druntime/phobos unittests (see |
| 10 | +[Unittest Status](#unittest-status) below). So yes, you can build |
| 11 | +your D library and use it in an iOS App. |
5 | 12 |
|
6 | | -Versions derived from: LDC 0.16.1 (DMD v2.067.1) and LLVM 3.6.2. |
| 13 | +Versions derived from: LDC 0.17.0 alpha (DMD v2.068.2) and LLVM 3.6.2. |
7 | 14 |
|
8 | 15 | There is still stuff to [work on](#what-is-missing), but overall the core D language is ready for iOS. |
9 | 16 |
|
@@ -129,21 +136,14 @@ Restoring FPU mode |
129 | 136 | Note: that iOS by default runs with the ARM FPU "Default NaN" (arm,arm64) and "Flush to Zero" (arm only) modes enabled. In order to pass many of the math unittests, these modes are disabled first. This is something to consider if you are doing some fancy math and expect full subnormal and NaN behavior. |
130 | 137 |
|
131 | 138 | ### Unittest Status |
132 | | -Most druntime and phobos unittests pass with the exceptions being math |
133 | | -related. |
134 | | - |
135 | | -- std.internal.math.gammafunction - needs update for 64-bit reals |
136 | | - |
137 | | -All the failures are marked in the druntime and phobos source with |
138 | | -versions that begin with "WIP" to workaround the failure so rest of |
139 | | -test can run. Grep for "WIP" to see all the details. |
| 139 | +Everything seems to be working! A couple comparisons in |
| 140 | +std.internal.math.gammafunction are off by a ulp, but no big deal. |
140 | 141 |
|
141 | 142 | ## What is Missing |
142 | | -Or what is left to do. |
143 | | - |
144 | | -Back burner |
| 143 | +- Support tvOS and watchOS. Working on this thanks to LLVM 3.8, hopefully done |
| 144 | + before new years! |
| 145 | +- Xcode/D integration. I think this is the next most import thing. |
145 | 146 | - Objective-C interop - work in progress under [DIP 43](http://wiki.dlang.org/DIP43) |
146 | | -- Xcode/D integration (could use someone who loves working with Xcode plugins) |
147 | 147 | - APIs for iPhone SDK - [DStep](https://github.com/jacob-carlborg/dstep) helps here |
148 | 148 | - A D-based iOS App submitted to Apple App Store |
149 | 149 | - A D-based iOS App accepted by the Apple App Store! |
|
0 commit comments