LLVM 4.2 support for iOS standalone engine

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, LCMark

Locked
SamanthaLC
Posts: 22
Joined: Sat Jul 20, 2013 11:57 pm

LLVM 4.2 support for iOS standalone engine

Post by SamanthaLC » Thu Oct 03, 2013 1:45 am

I am using XCode 4.6.3 to build the open source LiveCode release. During the standalone engine build for mobile iOS the following warning is presented by XCode:
Target 'external' - Ugrade Compiler configuration to LLVM
The compiler configuration is set to 'com.apple.compilers.llvmgcc42'. This will upgrade to 'Apple LLVM compiler 4.2', which is the recommended settings for iOS targets.
Is the LLVM compiler supported for LiveCode iOS standalone applications? Will this cause problems for any third party externals which are used but not built in the Open Source edition?

Thanks!

LCMark
Livecode Staff Member
Livecode Staff Member
Posts: 1206
Joined: Thu Apr 11, 2013 11:27 am

Re: LLVM 4.2 support for iOS standalone engine

Post by LCMark » Fri Oct 04, 2013 9:01 am

@SamanthaLC:

At present (up to but not including 6.1.2) the iOS engines are built with llvmgcc42... However, with 6.1.2, we've tweaked things to ensure they build with the latest compilers with Xcode 5 as this is required for doing iOS7 builds. Since the binaries we generate (for devices) have to be built against different SDKs and thus different compilers (so we can support older versions of Xcode still), we use xcodebuild to build the variety of production binaries needed:

Code: Select all

BASEDIR=$(dirname $0)
cd $BASEDIR/..

./sdks/Xcode_3_2/usr/bin/xcodebuild -project stage-mobile.xcodeproj -configuration Release -sdk iphonesimulator4.3
./sdks/Xcode_4_2/usr/bin/xcodebuild -project stage-mobile.xcodeproj -configuration Release -sdk iphonesimulator5.0
./sdks/Xcode_4_3/usr/bin/xcodebuild -project stage-mobile.xcodeproj -configuration Release -sdk iphonesimulator5.1 GCC_VERSION=com.apple.compilers.llvmgcc42
./sdks/Xcode_4_5/usr/bin/xcodebuild -project stage-mobile.xcodeproj -configuration Release -sdk iphonesimulator6.0
./sdks/Xcode_4_6/usr/bin/xcodebuild -project stage-mobile.xcodeproj -configuration Release -sdk iphonesimulator6.1
./sdks/Xcode_5_0/usr/bin/xcodebuild -project stage-mobile.xcodeproj -configuration Release -sdk iphonesimulator7.0

./sdks/Xcode_4_2/usr/bin/xcodebuild -project stage-mobile.xcodeproj -configuration Release -sdk iphoneos5.0 ARCHS="armv6 armv7"
./sdks/Xcode_4_3/usr/bin/xcodebuild -project stage-mobile.xcodeproj -configuration Release -sdk iphoneos5.1 ARCHS="armv6 armv7" GCC_VERSION=com.apple.compilers.llvmgcc42
./sdks/Xcode_4_6/usr/bin/xcodebuild -project stage-mobile.xcodeproj -configuration Release -sdk iphoneos6.1 ARCHS=armv7
./sdks/Xcode_5_0/usr/bin/xcodebuild -project stage-mobile.xcodeproj -configuration Release -sdk iphoneos7.0 ARCHS=armv7
This is in tools/build-ios.osx.

(For reference, the changes in 6.1.2 related to building are to unset the default compiler in rules/Global Mobile.xcconfig, and the changes to the above file).

monte
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1564
Joined: Fri Jan 13, 2012 1:47 am
Contact:

Re: LLVM 4.2 support for iOS standalone engine

Post by monte » Fri Oct 04, 2013 9:04 am

How are you managing to use xcode 5.0 on the same machine as the older ones... or is it only the UI that won't work? What OS are you using for your build machine?
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

LCMark
Livecode Staff Member
Livecode Staff Member
Posts: 1206
Joined: Thu Apr 11, 2013 11:27 am

Re: LLVM 4.2 support for iOS standalone engine

Post by LCMark » Fri Oct 04, 2013 9:07 am

@monte: Two ways I think... Older machines that have had their OS upgraded already had them installed, and new machines we just copied across the Xcode Developer / app folders from an existing machine. I think its the UI from the older Xcodes that doesn't work on newer machines, xcodebuild seems unaffected.

SamanthaLC
Posts: 22
Joined: Sat Jul 20, 2013 11:57 pm

Re: LLVM 4.2 support for iOS standalone engine

Post by SamanthaLC » Fri Oct 04, 2013 2:30 pm

Thank you for this information! It has answered my question and provided additional useful details.

Locked

Return to “Engine Contributors”