sinofool / build-openssl-ios Goto Github PK
View Code? Open in Web Editor NEWBuild openssl for iOS development, include armv7 armv7s arm64 i386 and x86_64 support.
Home Page: http://sinofool.net/blog/archives/172
License: MIT License
Build openssl for iOS development, include armv7 armv7s arm64 i386 and x86_64 support.
Home Page: http://sinofool.net/blog/archives/172
License: MIT License
build_openssl_dist.sh:
build_for ios64sim-cross x86_64 SIM || exit 2
no ios64sim-cross os/compiler exist for Configure
no-asm
is quite questionable, openssl has arm-specific optimizations why would you disable them?
build-openssl-ios/build_openssl_dist.sh
Line 23 in c06ee3d
lipo creates a static library, not a framework - you've just used a different file extension (.framework) instead of .a
An iOS framework is actually a folder. It needs to contain a Headers and a Modules folder for example. And a binary for the dynamically linked component.
Please can @sinofool add a few screenshots on how to integrate with xCode or would you like me to add some?
Could you please add a license to your project?
I'd like to use it for an iOS app that will be distributed by the App Store, and I need to be sure I can use your script under a license compatible to the App Store Terms for developers.
Github has some documentation on how to best add a license to a project here: https://help.github.com/articles/licensing-a-repository/.
Thank you for your consideration, and the effort you have already put into this!
If in doubt, on Unix-ish systems use './config', what should I do ?
Hello Sinofool,
thank you very much for this wonderful script.
I have found a couple of issues with the build script which I would like to share. While the master branch builds correctly for me, the 1.02 branch doesn't. The reason is: The URLs used for downloading via curl use the raw URLs from the master branch, and those do not work with the 1.02 branch.
The invocations of curl in the build script should look like this:
curl -O https://raw.githubusercontent.com/sinofool/build-openssl-ios/1.0/patch-conf.patch
and
curl -O https://raw.githubusercontent.com/sinofool/build-openssl-ios/1.0/patch-include.patch
Also, the README.md file should use the proper URL for the 1.02 branch, not the master branch.
HTH,
--
Stefan
Hello Sinofool,
can you please elaborate what the purpose of the patch-include.patch file is? It is used to patch opensslconf.h and removes the following lines from it:
`# define NO_SSL_TRACE
`
What strikes me is that this is done after the build has completed. Can you please explain what the reason is for removing these preprocessor statements from the header file?
TIA,
--
Stefan
The readme suggests to download BWO http, but https should be used:
curl -O http://www.openssl.org/source/openssl-1.1.1.tar.gz
./build.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8021k 100 8021k 0 0 2899k 0 0:00:02 0:00:02 --:--:-- 2898k
~/github/iwins/build-openssl-ios/openssl-1.1.1b ~/github/iwins/build-openssl-ios
Failure! build file wasn't produced.
Please read INSTALL and associated NOTES files. You may also have to look over
your available compiler tool chain or change your configuration.
Directory given with --prefix MUST be absolute
Looks like the frameworks won't compile for UIKitForMac. I believe they are gonna have to be packed into the new XCFramework format. This is in regards to bring iPad apps to the mac.
XCFrameworks make it possible to bundle a binary framework or library for multiple platforms —including iOS devices, iOS simulators, and UIKit for Mac — into a single distributable .xcframework bundle that your developers can use within their own applications. An .xcframework bundle can be added to an Xcode target’s Link Libraries phase and Xcode uses the right platform’s version of the included framework or library at build time. Creation of XCFrameworks is supported from the command line using xcodebuild -create-xcframework. Frameworks or libraries bundled in an XCFramework should be built with the Build Libraries for Distribution build setting set to YES. (49948269
)https://developer.apple.com/documentation/xcode_release_notes/xcode_11_beta_release_notes
I needed to use curl -OL to be able to use tar on the .gz file.
Got:
tar: Unrecognized archive format
otherwise.
Hi. I create crossplatform apps with C++ for iOS and Android. I have code written in C++ that is compiled with Xcode for iOS and ndk-build
for android. Is there a way to add pure sources for this lib and curl? I need this because this is a way package managers work - they bring sources to project not binaries. Could you please create an additional script for this or assist me with it. I tried it by myself by had no luck. Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.