www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - LDC iOS cross-compiler with arm64

reply Dan Olson <gorox comcast.net> writes:
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
Oct 24 2015
next sibling parent reply 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
Oct 24 2015
parent Dan Olson <gorox comcast.net> writes:
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.
Oct 24 2015
prev sibling parent reply Suliman <evermind live.ru> writes:
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?
Oct 24 2015
parent reply 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. -- /Jacob Carlborg
Oct 24 2015
parent Dan Olson <gorox comcast.net> writes:
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.
Oct 24 2015