Make python3 build on macOS 11, including for arm64

There is no /usr/lib/libz.dylib any longer in macOS 11.

No idea whether it works (especially on arm64), but that is another
issue.

Change-Id: I92ac0c500388730eca0be4766f07b1af2d2808e0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105897
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
This commit is contained in:
Tor Lillqvist
2020-11-15 13:30:34 +00:00
committed by Tor Lillqvist
parent 0c14e5154c
commit 0b95a5f9d5
2 changed files with 39 additions and 0 deletions

View File

@@ -23,6 +23,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,python3,\
external/python3/ubsan.patch.0 \
external/python3/python-3.5.tweak.strip.soabi.patch \
external/python3/darwin.patch.0 \
external/python3/macos-11.patch.0 \
))
ifneq ($(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD SOLARIS,$(OS)),)

38
external/python3/macos-11.patch.0 vendored Normal file
View File

@@ -0,0 +1,38 @@
-*- Mode: diff -*-
--- configure
+++ configure
@@ -9372,6 +9275,9 @@
esac
else
case `/usr/bin/arch` in
+ arm64)
+ MACOSX_DEFAULT_ARCH="arm64"
+ ;;
i386)
MACOSX_DEFAULT_ARCH="x86_64"
;;
--- Mac/Tools/pythonw.c
+++ Mac/Tools/pythonw.c
@@ -121,6 +121,8 @@
cpu_types[0] = CPU_TYPE_POWERPC;
#elif defined(__i386__)
cpu_types[0] = CPU_TYPE_X86;
+#elif defined(__arm64__)
+ cpu_types[0] = CPU_TYPE_ARM64;
#else
# error "Unknown CPU"
#endif
--- setup.py
+++ setup.py
@@ -670,7 +670,10 @@
add_dir_to_list(self.compiler.include_dirs,
sysconfig.get_config_var("INCLUDEDIR"))
- system_lib_dirs = ['/lib64', '/usr/lib64', '/lib', '/usr/lib']
+ if MACOS:
+ system_lib_dirs = ['/usr/lib', macosx_sdk_root()+'/usr/lib']
+ else:
+ system_lib_dirs = ['/lib64', '/usr/lib64', '/lib', '/usr/lib']
system_include_dirs = ['/usr/include']
# lib_dirs and inc_dirs are used to search for files;
# if a file is found in one of those directories, it can