Merge pull request #1925 from kaleb-himes/ZD4486-XCODE

i386 arch lacks registers to support some tfm assembly without correct CFLAGS
This commit is contained in:
toddouska
2018-11-28 08:04:09 -08:00
committed by GitHub
2 changed files with 25 additions and 0 deletions

View File

@@ -54,6 +54,15 @@ device build. Both are debug builds.
You can make an archive for a device, as well. That is a release build.
## Known issues:
When building for older i386 architectures and using tfm.c there are specific
CFLAGS required to expose the necessary registers for inline assembly in tfm.c.
An example script has been provided "build-for-i386.sh" that targets the watchos
by default. If using SDK iphonesimulator10.1 or older you can change the SDK
variable in that script however newer versions of the SDK no longer support
i386 for the iphones.
# Installing libwolfssl.a
Simply drag the file libwolfssl_XXX_.a and the directory `include` and drop it into

16
IDE/XCODE/build-for-i386.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/sh
WORKSPACE=$(eval "pwd")
PROJ=wolfssl.xcodeproj
CONFIG=Release
SCHEME=wolfssl_ios
ARCH=i386
SDK=watchsimulator5.1
CONF_BUILD_DIR=${WORKSPACE}/simulator
xcodebuild clean build -project ${PROJ} -configuration ${CONFIG} \
-scheme ${SCHEME} -arch ${ARCH} -sdk ${SDK} \
BITCODE_GENERATION_MODE=bitcode \
OTHER_CFLAGS="-fembed-bitcode -O3 -fomit-frame-pointer" \
CONFIGURATION_BUILD_DIR=${CONF_BUILD_DIR} \
-quiet