@@ -4,8 +4,8 @@ PROJECTDIR=$(shell pwd)
44OSX_SDK_ROOT =$(shell xcrun --sdk macosx --show-sdk-path)
55
66# 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
99RUBICON_VERSION =0.1.2
1010
1111# IPHONE build commands and flags
@@ -30,7 +30,8 @@ IPHONE_SIMULATOR_CFLAGS=-arch i386 -pipe -no-cpp-precomp -isysroot $(IPHONE_SIMU
3030IPHONE_SIMULATOR_LDFLAGS =-arch i386 -isysroot $(IPHONE_SIMULATOR_SDK_ROOT ) -miphoneos-version-min=6.0
3131
3232
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
3435
3536# Clean all builds
3637clean :
@@ -75,13 +76,23 @@ src/libffi-$(FFI_VERSION): downloads/libffi-$(FFI_VERSION).tar.gz
7576
7677# Patch and build the framework
7778build/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
8596
8697# ##########################################################################
8798# rubicon-objc
0 commit comments