create-framework.sh 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/bin/sh
  2. # Bitcode is not working
  3. FWNAME="OpenSSL"
  4. OSX_MIN="10.9"
  5. IOS_MIN="8.0"
  6. rm -rf Frameworks/ios/$FWNAME.framework
  7. rm -rf Frameworks/macos/$FWNAME.framework
  8. echo "Creating $FWNAME.framework"
  9. mkdir -p Frameworks/ios/$FWNAME.framework/Headers
  10. mkdir -p Frameworks/macos/$FWNAME.framework/Headers
  11. # xcrun --sdk iphoneos ld -dylib -arch armv7 -bitcode_bundle -ios_version_min $IOS_MIN lib-ios/libcrypto.a -o Frameworks/ios/$FWNAME.framework/$FWNAME-armv7
  12. # xcrun --sdk iphoneos ld -dylib -arch armv7s -bitcode_bundle -ios_version_min $IOS_MIN lib-ios/libcrypto.a -o Frameworks/ios/$FWNAME.framework/$FWNAME-armv7s
  13. # xcrun --sdk iphoneos ld -dylib -arch arm64 -bitcode_bundle -ios_version_min $IOS_MIN lib-ios/libcrypto.a -o Frameworks/ios/$FWNAME.framework/$FWNAME-arm64
  14. # xcrun --sdk iphoneos lipo -create Frameworks/ios/$FWNAME.framework/$FWNAME-* -output Frameworks/ios/$FWNAME.framework/$FWNAME
  15. # rm -rf Frameworks/ios/$FWNAME.framework/$FWNAME-*
  16. xcrun --sdk iphoneos libtool -dynamic -no_warning_for_no_symbols -undefined dynamic_lookup -ios_version_min $IOS_MIN -o Frameworks/ios/$FWNAME.framework/$FWNAME lib-ios/libcrypto.a lib-ios/libssl.a
  17. xcrun --sdk macosx libtool -dynamic -no_warning_for_no_symbols -undefined dynamic_lookup -macosx_version_min $OSX_MIN -o Frameworks/macos/$FWNAME.framework/$FWNAME lib-macos/libcrypto.a lib-macos/libssl.a
  18. cp -r include-ios/$FWNAME/* Frameworks/ios/$FWNAME.framework/Headers/
  19. sed -i '' 's/openssl/OpenSSL/' Frameworks/ios/$FWNAME.framework/Headers/*.h
  20. cp -r include-macos/$FWNAME/* Frameworks/macos/$FWNAME.framework/Headers/
  21. sed -i '' 's/openssl/OpenSSL/' Frameworks/macos/$FWNAME.framework/Headers/*.h
  22. echo "Create module OpenSSL"
  23. mkdir -p Frameworks/ios/$FWNAME.framework/Modules
  24. mkdir -p Frameworks/macos/$FWNAME.framework/Modules
  25. echo "framework module OpenSSL {
  26. umbrella header \"OpenSSL.h\"
  27. export *
  28. module * { export *}
  29. }" > Frameworks/ios/$FWNAME.framework/Modules/module.modulemap
  30. echo "framework module OpenSSL {
  31. umbrella header \"OpenSSL.h\"
  32. export *
  33. module * { export *}
  34. }" > Frameworks/macos/$FWNAME.framework/Modules/module.modulemap
  35. echo "Created $FWNAME.framework"