@@ -4,8 +4,8 @@ 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
8
- PYTHON_VERSION =2.7.1
7
+ FFI_VERSION =3.1
8
+ PYTHON_VERSION =3.4.2
9
9
RUBICON_VERSION =0.1.2
10
10
11
11
# IPHONE build commands and flags
@@ -30,7 +30,8 @@ IPHONE_SIMULATOR_CFLAGS=-arch i386 -pipe -no-cpp-precomp -isysroot $(IPHONE_SIMU
30
30
IPHONE_SIMULATOR_LDFLAGS =-arch i386 -isysroot $(IPHONE_SIMULATOR_SDK_ROOT ) -miphoneos-version-min=6.0
31
31
32
32
33
- all : working-dirs build/ffi.framework build/Python.framework
33
+ # all: working-dirs build/ffi.framework build/Python.framework
34
+ all : working-dirs build/ffi.framework
34
35
35
36
# Clean all builds
36
37
clean :
@@ -75,13 +76,23 @@ src/libffi-$(FFI_VERSION): downloads/libffi-$(FFI_VERSION).tar.gz
75
76
76
77
# Patch and build the framework
77
78
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
79
+ cd src/libffi-$(FFI_VERSION ) && patch -p1 -N < ../../patch/libffi/generate-darwin-source-and-headers.py.patch
80
+ cd src/libffi-$(FFI_VERSION ) && python generate-darwin-source-and-headers.py --only-ios
81
+ # Build all required targets.
82
+ cd src/libffi-$(FFI_VERSION ) /build_iphoneos-armv7 && make
83
+ cd src/libffi-$(FFI_VERSION ) /build_iphoneos-arm64 && make
84
+ cd src/libffi-$(FFI_VERSION ) /build_iphonesimulator-i386 && make
85
+ cd src/libffi-$(FFI_VERSION ) /build_iphonesimulator-x86_64 && make
86
+ # Copy the headers into a single directory
87
+ mkdir -p build/ffi.framework/Versions/${FFI_VERSION} /Headers
88
+ cp src/libffi-$(FFI_VERSION ) /darwin_common/include/* build/ffi.framework/Versions/${FFI_VERSION} /Headers
89
+ cp src/libffi-$(FFI_VERSION ) /darwin_ios/include/* build/ffi.framework/Versions/${FFI_VERSION} /Headers
90
+ # Make the fat binary
91
+ 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 src/libffi-$(FFI_VERSION ) /build_iphonesimulator-x86_64/.libs/libffi.a
92
+ # Link the Current, Headers and binary.
93
+ cd build/ffi.framework/Versions && ln -si ${FFI_VERSION} Current
94
+ cd build/ffi.framework && ln -si Versions/Current/Headers
95
+ cd build/ffi.framework && ln -si Versions/Current/ffi
85
96
86
97
# ##########################################################################
87
98
# rubicon-objc
0 commit comments