1
1
#
2
2
# Useful targets:
3
- # - all - build everything
4
- # - iOS - build everything for iOS
5
- # - tvOS - build everything for tvOS
6
- # - watchOS - build everything for watchOS
7
- # - OpenSSL.framework-iOS - build OpenSSL.framework for iOS
8
- # - OpenSSL.framework-tvOS - build OpenSSL.framework for tvOS
9
- # - OpenSSL.framework-watchOS - build OpenSSL.framework for watchOS
10
- # - BZip2-iOS - build BZip2 library for iOS
11
- # - BZip2-tvOS - build BZip2 library for tvOS
12
- # - BZip2-watchOS - build BZip2 library for watchOS
13
- # - XZ-iOS - build XZ library for iOS
14
- # - XZ-tvOS - build XZ library for tvOS
15
- # - XZ-watchOS - build XZ library for watchOS
16
- # - Python.framework-iOS - build Python.framework for iOS
17
- # - Python.framework-tvOS - build Python.framework for tvOS
18
- # - Python.framework-watchOS - build Python.framework for watchOS
19
- # - Python-host - build host python
3
+ # - all - build everything
4
+ # - iOS - build everything for iOS
5
+ # - tvOS - build everything for tvOS
6
+ # - watchOS - build everything for watchOS
7
+ # - OpenSSL.framework-iOS - build OpenSSL.framework for iOS
8
+ # - OpenSSL.framework-tvOS - build OpenSSL.framework for tvOS
9
+ # - OpenSSL.framework-watchOS - build OpenSSL.framework for watchOS
10
+ # - BZip2-iOS - build BZip2 library for iOS
11
+ # - BZip2-tvOS - build BZip2 library for tvOS
12
+ # - BZip2-watchOS - build BZip2 library for watchOS
13
+ # - XZ-iOS - build XZ library for iOS
14
+ # - XZ-tvOS - build XZ library for tvOS
15
+ # - XZ-watchOS - build XZ library for watchOS
16
+ # - Python.framework-iOS - build Python.framework for iOS
17
+ # - Python.framework-tvOS - build Python.framework for tvOS
18
+ # - Python.framework-watchOS - build Python.framework for watchOS
19
+ # - Python-host - build host python
20
20
21
21
# Current director
22
22
PROJECT_DIR =$(shell pwd)
@@ -25,7 +25,7 @@ BUILD_NUMBER=5
25
25
26
26
# Version of packages that will be compiled by this meta-package
27
27
PYTHON_VERSION =3.4.2
28
- PYTHON_VER = $(basename $(PYTHON_VERSION ) )
28
+ PYTHON_VER =$(basename $(PYTHON_VERSION ) )
29
29
30
30
OPENSSL_VERSION_NUMBER =1.0.2
31
31
OPENSSL_REVISION =f
@@ -36,25 +36,25 @@ BZIP2_VERSION=1.0.6
36
36
XZ_VERSION =5.2.2
37
37
38
38
# Supported OS
39
- OS = iOS tvOS watchOS
39
+ OS =iOS tvOS watchOS
40
40
41
41
# iOS targets
42
42
TARGETS-iOS =iphonesimulator.x86_64 iphonesimulator.i386 iphoneos.armv7 iphoneos.armv7s iphoneos.arm64
43
43
CFLAGS-iOS=-miphoneos-version-min =7.0
44
- CFLAGS-iphoneos.armv7 = -fembed-bitcode
45
- CFLAGS-iphoneos.armv7s = -fembed-bitcode
46
- CFLAGS-iphoneos.arm64 = -fembed-bitcode
44
+ CFLAGS-iphoneos.armv7 =-fembed-bitcode
45
+ CFLAGS-iphoneos.armv7s =-fembed-bitcode
46
+ CFLAGS-iphoneos.arm64 =-fembed-bitcode
47
47
48
48
# tvOS targets
49
49
TARGETS-tvOS =appletvsimulator.x86_64 appletvos.arm64
50
50
CFLAGS-tvOS=-mtvos-version-min =9.0
51
- CFLAGS-appletvos.arm64 = -fembed-bitcode
52
- PYTHON_CONFIGURE-tvOS = ac_cv_func_sigaltstack=no
51
+ CFLAGS-appletvos.arm64 =-fembed-bitcode
52
+ PYTHON_CONFIGURE-tvOS=ac_cv_func_sigaltstack =no
53
53
54
54
# watchOS targets
55
55
TARGETS-watchOS =watchsimulator.i386 watchos.armv7k
56
56
CFLAGS-watchOS=-mwatchos-version-min =2.0
57
- CFLAGS-watchos.armv7k = -fembed-bitcode
57
+ CFLAGS-watchos.armv7k =-fembed-bitcode
58
58
PYTHON_CONFIGURE-watchOS=ac_cv_func_sigaltstack =no
59
59
60
60
# override machine types for arm64
@@ -160,29 +160,29 @@ $(PYTHON_DIR-host)/dist/bin/python$(PYTHON_VER): $(PYTHON_DIR-host)/Makefile
160
160
# - $1 - target
161
161
# - $2 - OS
162
162
define build-target
163
- ARCH-$1= $$(subst .,,$$(suffix $1) )
163
+ ARCH-$1=$$(subst .,,$$(suffix $1) )
164
164
ifdef MACHINE_DETAILED-$$(ARCH-$1)
165
- MACHINE_DETAILED-$1 = $$(MACHINE_DETAILED-$$(ARCH-$1 ) )
165
+ MACHINE_DETAILED-$1 =$$(MACHINE_DETAILED-$$(ARCH-$1 ) )
166
166
else
167
- MACHINE_DETAILED-$1 = $$(ARCH-$1 )
167
+ MACHINE_DETAILED-$1 =$$(ARCH-$1 )
168
168
endif
169
169
ifdef MACHINE_SIMPLE-$$(ARCH-$1)
170
- MACHINE_SIMPLE-$1 = $$(MACHINE_SIMPLE-$$(ARCH-$1 ) )
170
+ MACHINE_SIMPLE-$1 =$$(MACHINE_SIMPLE-$$(ARCH-$1 ) )
171
171
else
172
- MACHINE_SIMPLE-$1 = $$(ARCH-$1 )
172
+ MACHINE_SIMPLE-$1 =$$(ARCH-$1 )
173
173
endif
174
- SDK-$1= $$(basename $1)
174
+ SDK-$1=$$(basename $1)
175
175
176
- SDK_ROOT-$1= $$(shell xcrun --sdk $$(SDK-$1 ) --show-sdk-path)
177
- CC-$1= xcrun --sdk $$(SDK-$1 ) clang\
176
+ SDK_ROOT-$1=$$(shell xcrun --sdk $$(SDK-$1 ) --show-sdk-path)
177
+ CC-$1=xcrun --sdk $$(SDK-$1 ) clang\
178
178
-arch $$(ARCH-$1 ) --sysroot=$$(SDK_ROOT-$1 ) $$(CFLAGS-$2 ) $$(CFLAGS-$1 )
179
- LDFLAGS-$1= -arch $$(ARCH-$1 ) -isysroot=$$(SDK_ROOT-$1 )
179
+ LDFLAGS-$1=-arch $$(ARCH-$1 ) -isysroot=$$(SDK_ROOT-$1 )
180
180
181
- OPENSSL_DIR-$1= build/$2/openssl-$(OPENSSL_VERSION ) -$1
182
- BZIP2_DIR-$1= build/$2/bzip2-$(BZIP2_VERSION ) -$1
183
- XZ_DIR-$1= build/$2/xz-$(XZ_VERSION ) -$1
184
- PYTHON_DIR-$1= build/$2/Python-$(PYTHON_VERSION ) -$1
185
- pyconfig.h-$1= pyconfig-$$(ARCH-$1 ) .h
181
+ OPENSSL_DIR-$1=build/$2/openssl-$(OPENSSL_VERSION ) -$1
182
+ BZIP2_DIR-$1=build/$2/bzip2-$(BZIP2_VERSION ) -$1
183
+ XZ_DIR-$1=build/$2/xz-$(XZ_VERSION ) -$1
184
+ PYTHON_DIR-$1=build/$2/Python-$(PYTHON_VERSION ) -$1
185
+ pyconfig.h-$1=pyconfig-$$(ARCH-$1 ) .h
186
186
187
187
# Unpack OpenSSL
188
188
$$(OPENSSL_DIR-$1 ) /Makefile: downloads/openssl-$(OPENSSL_VERSION ) .tgz
@@ -254,6 +254,8 @@ $$(PYTHON_DIR-$1)/Makefile: downloads/Python-$(PYTHON_VERSION).tgz $(PYTHON_HOST
254
254
# Apply target Python patches
255
255
cd $$(PYTHON_DIR-$1 ) && patch -p1 <$(PROJECT_DIR ) /patch/Python/Python.patch
256
256
cp -f $(PROJECT_DIR ) /patch/Python/Setup.embedded $$(PYTHON_DIR-$1 ) /Modules/Setup.embedded
257
+ # Copy in the host _freeze_importlib
258
+ cp $(PYTHON_DIR-host ) /Programs/_freeze_importlib $$(PYTHON_DIR-$1 ) /iOS/_freeze_importlib
257
259
# Configure target Python
258
260
cd $$(PYTHON_DIR-$1 ) && PATH=$(PROJECT_DIR ) /$(PYTHON_DIR-host ) /dist/bin:$(PATH ) ./configure \
259
261
CC="$$(CC-$1 ) " LD="$$(CC-$1 ) " \
@@ -295,11 +297,11 @@ endef
295
297
define build
296
298
$$(foreach target,$$(TARGETS-$1 ) ,$$(eval $$(call build-target,$$(target ) ,$1) ) )
297
299
298
- OPENSSL_FRAMEWORK-$1= build/$1/OpenSSL.framework
299
- BZIP2_LIB-$1= build/$1/bzip2/lib/libbz2.a
300
- XZ_LIB-$1= build/$1/xz/lib/liblzma.a
301
- PYTHON_FRAMEWORK-$1= build/$1/Python.framework
302
- PYTHON_RESOURCES-$1= $$(PYTHON_FRAMEWORK-$1 ) /Versions/$(PYTHON_VER ) /Resources
300
+ OPENSSL_FRAMEWORK-$1=build/$1/OpenSSL.framework
301
+ BZIP2_LIB-$1=build/$1/bzip2/lib/libbz2.a
302
+ XZ_LIB-$1=build/$1/xz/lib/liblzma.a
303
+ PYTHON_FRAMEWORK-$1=build/$1/Python.framework
304
+ PYTHON_RESOURCES-$1=$$(PYTHON_FRAMEWORK-$1 ) /Versions/$(PYTHON_VER ) /Resources
303
305
304
306
$1: dist/Python-$(PYTHON_VERSION ) -$1-support.b$(BUILD_NUMBER ) .tar.gz
305
307
0 commit comments