Thread overview
LDC iOS cross-compiler with arm64
Oct 24, 2015
Dan Olson
Oct 24, 2015
extrawurst
Oct 24, 2015
Dan Olson
Oct 24, 2015
Suliman
Oct 24, 2015
Jacob Carlborg
Oct 24, 2015
Dan Olson
Oct 13, 2018
test
October 24, 2015
This is another set of binaries and universal libs for the experimental LDC iOS cross-compiler.  It is now based on LDC 0.15.2 (2.066.1) and LLVM 3.6.1.

https://github.com/smolt/ldc-iphone-dev/releases/tag/ios-0.15.2-151023

What's new?
- arm64 for iOS 64-bit devices
- C ABI compatibility improvements
- supports Xcode 7
- includes libcurl

The release download ldc2-ios-0.15.2-151023-osx.tar.xz should have everything needed to run on an OS X build host in the same fashion as an LDC release.  But I may have missed something.

Binary is named iphoneos-ldc2 so you can have both it and a native ldc2 in your PATH.  Usage of iphoneos-ldc2 is the same as ldc2 with the addition of clang style -arch option to select the iOS architecture to compile code for.  Valid -arch options are armv6, armv7, armv7s, arm64, X86_64, or i386 (armv6 is not included in the druntime/phobos universal libs however).

Xcode or similar is needed to link and bundle an iOS app.

Xcode is not D aware and I am unaware of a working plugin.  In the meantime, xc-iphoneos-dc in the bin dir can be used as a custom *.d build script.  Or you can compile D source externally and add your libraries/object files to an Xcode project.

If you want to build LDC and the libs yourself, instructions are at:

https://github.com/smolt/ldc-iphone-dev

It is not a quick build because druntime and phobos have to be compiled for five architectures (armv7, armv7s, arm64, i386, and x86_64).

Feedback is really appreciated.
-- 
Dan
October 24, 2015
On Saturday, 24 October 2015 at 07:07:18 UTC, Dan Olson wrote:
> This is another set of binaries and universal libs for the experimental LDC iOS cross-compiler.  It is now based on LDC 0.15.2 (2.066.1) and LLVM 3.6.1.
>
> [...]

Cool work!

Can this be merged with official LDC eventually ?

--Stephan
October 24, 2015
>Only binaries for OS X build host are available.
Would it be hard to add Windows/Linux host available? Would it be hard to develop iOS apps on Windows in comparison of using MacOSX?
October 24, 2015
On 2015-10-24 12:01, Suliman wrote:

> Would it be hard to add Windows/Linux host available? Would it be hard
> to develop iOS apps on Windows in comparison of using MacOSX?

It depends on what you mean. Microsoft already supports developing iOS apps on Windows, but the building is actually performed on OS X.

-- 
/Jacob Carlborg
October 24, 2015
extrawurst <stephan@extrawurst.org> writes:

> On Saturday, 24 October 2015 at 07:07:18 UTC, Dan Olson wrote:
>> This is another set of binaries and universal libs for the experimental LDC iOS cross-compiler.  It is now based on LDC 0.15.2 (2.066.1) and LLVM 3.6.1.
>>
>> [...]
>
> Cool work!
>
> Can this be merged with official LDC eventually ?
>
> --Stephan

Yes, that is the plan.
October 24, 2015
Jacob Carlborg <doob@me.com> writes:

> On 2015-10-24 12:01, Suliman wrote:
>
>> Would it be hard to add Windows/Linux host available? Would it be hard to develop iOS apps on Windows in comparison of using MacOSX?
>
> It depends on what you mean. Microsoft already supports developing iOS apps on Windows, but the building is actually performed on OS X.

In addition, the LDC cross-compiler could be built with a few tweaks for any build host that LDC already supports.  If someone already has a Windows/Linux dev environment for iOS, then LDC could be used with it.
October 13, 2018
On Saturday, 24 October 2015 at 15:43:03 UTC, Dan Olson wrote:
> Jacob Carlborg <doob@me.com> writes:
>
>> On 2015-10-24 12:01, Suliman wrote:
>>
>>> Would it be hard to add Windows/Linux host available? Would it be hard to develop iOS apps on Windows in comparison of using MacOSX?
>>
>> It depends on what you mean. Microsoft already supports developing iOS apps on Windows, but the building is actually performed on OS X.
>
> In addition, the LDC cross-compiler could be built with a few tweaks for any build host that LDC already supports.  If someone already has a Windows/Linux dev environment for iOS, then LDC could be used with it.

hope some one can continue work on this.