@@ -4,7 +4,7 @@ PROJECTDIR=$(shell pwd)
4
4
OSX_SDK_ROOT =$(shell xcrun --sdk macosx --show-sdk-path)
5
5
6
6
# Version of packages that will be compiled by this meta-package
7
- FFI_VERSION =3.0.13
7
+ FFI_VERSION =3.1
8
8
PYTHON_VERSION =2.7.1
9
9
RUBICON_VERSION =0.1.2
10
10
@@ -75,13 +75,22 @@ src/libffi-$(FFI_VERSION): downloads/libffi-$(FFI_VERSION).tar.gz
75
75
76
76
# Patch and build the framework
77
77
build/ffi.framework : src/libffi-$(FFI_VERSION )
78
- cd src/libffi-$(FFI_VERSION ) && patch -p1 -N < ../../patch/libffi/ffi-sysv.S.patch
79
- cd src/libffi-$(FFI_VERSION ) && patch -p1 -N < ../../patch/libffi/project.pbxproj.patch
80
- cd src/libffi-$(FFI_VERSION ) && patch -p1 -N < ../../patch/libffi/build-ios.sh.patch
81
- cd src/libffi-$(FFI_VERSION ) && patch -p1 -N < ../../patch/libffi/generate-ios-source-and-headers.py.patch
82
- cd src/libffi-$(FFI_VERSION ) && python generate-ios-source-and-headers.py
83
- cd src/libffi-$(FFI_VERSION ) && xcodebuild -project libffi.xcodeproj -target " Framework" -configuration Release -sdk iphoneos$(SDKVER ) OTHER_CFLAGS=" -no-integrated-as"
84
- cp -a src/libffi-$(FFI_VERSION ) /build/Release-universal/ffi.framework build
78
+ cd src/libffi-$(FFI_VERSION ) && patch -p1 -N < ../../patch/libffi/generate-darwin-source-and-headers.py.patch
79
+ cd src/libffi-$(FFI_VERSION ) && python generate-darwin-source-and-headers.py --only-ios
80
+ # Build all required targets.
81
+ cd src/libffi-$(FFI_VERSION ) /build_iphoneos-armv7 && make
82
+ cd src/libffi-$(FFI_VERSION ) /build_iphoneos-arm64 && make
83
+ cd src/libffi-$(FFI_VERSION ) /build_iphonesimulator-i386 && make
84
+ # Copy the headers into a single directory
85
+ mkdir -p build/ffi.framework/Versions/${FFI_VERSION} /Headers
86
+ cp src/libffi-$(FFI_VERSION ) /darwin_common/include/* build/ffi.framework/Versions/${FFI_VERSION} /Headers
87
+ cp src/libffi-$(FFI_VERSION ) /darwin_ios/include/* build/ffi.framework/Versions/${FFI_VERSION} /Headers
88
+ # Make the fat binary
89
+ xcrun lipo -create -output build/ffi.framework/Versions/$(FFI_VERSION ) /ffi src/libffi-$(FFI_VERSION ) /build_iphoneos-arm64/.libs/libffi.a src/libffi-$(FFI_VERSION ) /build_iphoneos-armv7/.libs/libffi.a src/libffi-$(FFI_VERSION ) /build_iphonesimulator-i386/.libs/libffi.a
90
+ # Link the Current, Headers and binary.
91
+ cd build/ffi.framework/Versions && ln -si ${FFI_VERSION} Current
92
+ cd build/ffi.framework && ln -si Versions/Current/Headers
93
+ cd build/ffi.framework && ln -si Versions/Current/ffi
85
94
86
95
# ##########################################################################
87
96
# rubicon-objc
0 commit comments