|
Tired of trying to find online versions of OpenSSL, libEtPan, zlib, libssh2 or cURL ready to use in your iOS project, or even a working method to build them? Then this project is for you! This project provides a single-step build-script as well as ready to use binaries for iOS devices and simulator of the following libraries: How to build everything yourself: - Clone the repository and cd into it
- Run build-all.sh {iOS_SDK_Version}
How to use the binaries directly: - Download the binaries corresponding to your target iOS SDK
- Configure the Xcode project build settings to point to the headers and libraries, as such (assuming the iOS 4.2 SDK in this example):
HEADER_SEARCH_PATHS[sdk=iphoneos4.2][arch=*] = ${SRCROOT}/../iPhoneOS-4.2/include
HEADER_SEARCH_PATHS[sdk=iphonesimulator4.2][arch=*] = ${SRCROOT}/../iPhoneSimulator-4.2/include
LIBRARY_SEARCH_PATHS[sdk=iphoneos4.2][arch=*] = ${SRCROOT}/../iPhoneOS-4.2/lib
LIBRARY_SEARCH_PATHS[sdk=iphonesimulator4.2][arch=*] = ${SRCROOT}/../iPhoneSimulator-4.2/lib
OTHER_LDFLAGS = -Wl,-search_paths_first -lz -lcrypto -liconv -lssl -lsasl2 -letpan -lgcrypt -lgpg-error -lssh2 -lcurl
With iOS 4.3 SDK and later, you will need to use the armv7 version of the libraries when building your application for armv7 or Xcode will fail linking:
HEADER_SEARCH_PATHS[sdk=iphoneos4.3][arch=armv7] = ${SRCROOT}/../iPhoneOS-V7-4.3/include
HEADER_SEARCH_PATHS[sdk=iphoneos4.3][arch=armv6] = ${SRCROOT}/../iPhoneOS-V6-4.3/include
HEADER_SEARCH_PATHS[sdk=iphonesimulator4.3][arch=*] = ${SRCROOT}/../iPhoneSimulator-4.3/include
LIBRARY_SEARCH_PATHS[sdk=iphoneos4.3][arch=armv7] = ${SRCROOT}/../iPhoneOS-V7-4.3/lib
LIBRARY_SEARCH_PATHS[sdk=iphoneos4.3][arch=armv6] = ${SRCROOT}/../iPhoneOS-V6-4.3/lib
LIBRARY_SEARCH_PATHS[sdk=iphonesimulator4.3][arch=*] = ${SRCROOT}/../iPhoneSimulator-4.3/lib
OTHER_LDFLAGS = -Wl,-search_paths_first -lz -lcrypto -liconv -lssl -lsasl2 -letpan -lgcrypt -lgpg-error -lssh2 -lcurl Notes: - All libraries are built "release"
- The pre-iOS 4.3 version of the libraries use the armv6 architecture (compatible with all iPhones and iPads)
- The iOS 4.3 and later version of the libraries use the armv6 or armv7 architectures for increased compatibility with all iOS devices
- The libEtPan and cURL libraries are built without IPv6 support
Thanks to: - Remail-iPhone for providing some build scripts to learn from
- The Rare Air for providing an OpenSSL for iPhone tutorial
- olipion for sharing build instructions for libssh2
Contributors welcomed: send email to project owner to participate!
|