diff --git a/IDE/XCODE/README.md b/IDE/XCODE/README.md index 6e065b1f1..284e6069a 100644 --- a/IDE/XCODE/README.md +++ b/IDE/XCODE/README.md @@ -56,10 +56,12 @@ You can make an archive for a device, as well. That is a release build. ## Known issues: -When building for older iPhone models that support the i386 architecture some -inline assembly in the fast math library assumes 64-bit registers and must be -disabled. This inline assembly can be disabled with `#define TFM_NO_ASM` when -using the setting `#define USE_FAST_MATH` on i386 targets. +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 diff --git a/IDE/XCODE/build-for-i386.sh b/IDE/XCODE/build-for-i386.sh new file mode 100755 index 000000000..88507d2fe --- /dev/null +++ b/IDE/XCODE/build-for-i386.sh @@ -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 diff --git a/IDE/XCODE/user_settings.h b/IDE/XCODE/user_settings.h index 5030b89ce..132c9235d 100644 --- a/IDE/XCODE/user_settings.h +++ b/IDE/XCODE/user_settings.h @@ -18,9 +18,6 @@ /* fast math */ #define USE_FAST_MATH - #ifdef __i386__ - #define TFM_NO_ASM - #endif #define HAVE_ECC /* ECC speedups */