aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/depends/Makefile.include.in2
-rw-r--r--tools/depends/target/config.site.in2
-rw-r--r--tools/depends/target/python3/Makefile2
-rw-r--r--tools/depends/target/python3/android.patch6
-rw-r--r--tools/depends/target/python3/apple.patch6
-rw-r--r--tools/depends/target/python3/crosscompile.patch21
-rw-r--r--tools/depends/target/python3/darwin_embedded.patch127
-rw-r--r--tools/depends/target/python3/modules.setup38
-rw-r--r--tools/depends/target/pythonmodule-pil/Makefile2
-rw-r--r--tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch5
10 files changed, 105 insertions, 106 deletions
diff --git a/tools/depends/Makefile.include.in b/tools/depends/Makefile.include.in
index 5930ac3958..d1e6799465 100644
--- a/tools/depends/Makefile.include.in
+++ b/tools/depends/Makefile.include.in
@@ -103,7 +103,7 @@ VERSION.TXT := $(CMAKE_SOURCE_DIR)/version.txt
APP_NAME=$(shell awk '/APP_NAME/ {print tolower($$2)}' $(VERSION.TXT))
# Python related vars
-PYTHON_VERSION=3.8
+PYTHON_VERSION=3.9
PYTHON_SITE_PKG=@prefix@/@deps_dir@/lib/python${PYTHON_VERSION}/site-packages
ifeq ($(CPU), arm64)
diff --git a/tools/depends/target/config.site.in b/tools/depends/target/config.site.in
index f0c9fd030c..e641560c78 100644
--- a/tools/depends/target/config.site.in
+++ b/tools/depends/target/config.site.in
@@ -34,7 +34,7 @@ LIBGCRYPT_CONFIG=@prefix@/@deps_dir@/bin/libgcrypt-config
PATH=@prefix@/@tool_dir@/bin:@use_toolchain@/usr/bin:@use_toolchain@/bin:$PATH
LD_LIBRARY_PATH=@prefix@/@tool_dir@/lib:$LD_LIBRARY_PATH
-PYTHON_VERSION=3.8
+PYTHON_VERSION=3.9
NATIVE_ROOT=@prefix@/@tool_dir@
#libomxil-bellagio
diff --git a/tools/depends/target/python3/Makefile b/tools/depends/target/python3/Makefile
index f724f581a6..0d9b683c15 100644
--- a/tools/depends/target/python3/Makefile
+++ b/tools/depends/target/python3/Makefile
@@ -4,7 +4,7 @@ DEPS= ../../Makefile.include Makefile apple.patch crosscompile.patch android.pat
# lib name, version
LIBNAME=Python
-VERSION=3.8.5
+VERSION=3.9.7
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.xz
BASE_URL=https://www.python.org/ftp/python/$(VERSION)
diff --git a/tools/depends/target/python3/android.patch b/tools/depends/target/python3/android.patch
index 6139e2e221..0d72053d84 100644
--- a/tools/depends/target/python3/android.patch
+++ b/tools/depends/target/python3/android.patch
@@ -1,6 +1,6 @@
--- a/Modules/termios.c
+++ b/Modules/termios.c
-@@ -224,6 +224,7 @@
+@@ -239,6 +239,7 @@
Py_RETURN_NONE;
}
@@ -8,7 +8,7 @@
PyDoc_STRVAR(termios_tcdrain__doc__,
"tcdrain(fd) -> None\n\
\n\
-@@ -242,6 +243,7 @@
+@@ -257,6 +257,7 @@
Py_RETURN_NONE;
}
@@ -16,7 +16,7 @@
PyDoc_STRVAR(termios_tcflush__doc__,
"tcflush(fd, queue) -> None\n\
-@@ -295,8 +297,10 @@
+@@ -310,8 +310,10 @@
METH_VARARGS, termios_tcsetattr__doc__},
{"tcsendbreak", termios_tcsendbreak,
METH_VARARGS, termios_tcsendbreak__doc__},
diff --git a/tools/depends/target/python3/apple.patch b/tools/depends/target/python3/apple.patch
index 8d63246eed..d8ab9fcea1 100644
--- a/tools/depends/target/python3/apple.patch
+++ b/tools/depends/target/python3/apple.patch
@@ -1,6 +1,6 @@
--- a/configure.ac
+++ b/configure.ac
-@@ -379,6 +379,9 @@
+@@ -400,6 +400,9 @@
*-*-cygwin*)
ac_sys_system=Cygwin
;;
@@ -10,7 +10,7 @@
*-*-vxworks*)
ac_sys_system=VxWorks
;;
-@@ -428,6 +431,8 @@
+@@ -449,6 +449,8 @@
*-*-cygwin*)
_host_cpu=
;;
@@ -19,7 +19,7 @@
*-*-vxworks*)
_host_cpu=$host_cpu
;;
-@@ -500,6 +505,8 @@
+@@ -521,6 +521,8 @@
define_xopen_source=no;;
Darwin/@<:@[12]@:>@@<:@0-9@:>@.*)
define_xopen_source=no;;
diff --git a/tools/depends/target/python3/crosscompile.patch b/tools/depends/target/python3/crosscompile.patch
index a65296ceb6..7c27870fed 100644
--- a/tools/depends/target/python3/crosscompile.patch
+++ b/tools/depends/target/python3/crosscompile.patch
@@ -1,6 +1,6 @@
--- a/configure.ac
+++ b/configure.ac
-@@ -1184,15 +1184,6 @@
+@@ -1214,15 +1214,6 @@
ARFLAGS="rcs"
fi
@@ -26,7 +26,7 @@
SOABI= @SOABI@
LDVERSION= @LDVERSION@
LIBPYTHON= @LIBPYTHON@
-@@ -608,7 +607,7 @@
+@@ -635,7 +635,7 @@
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
@@ -35,7 +35,7 @@
# Build static library
-@@ -1600,10 +1599,11 @@
+@@ -1695,10 +1595,11 @@
# This goes into $(exec_prefix)
sharedinstall: sharedmods
$(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
@@ -52,7 +52,7 @@
--- a/setup.py
+++ b/setup.py
-@@ -21,7 +21,7 @@
+@@ -41,7 +41,7 @@
# Compile extensions used to test Python?
@@ -61,7 +61,7 @@
# This global variable is used to hold the list of modules to be disabled.
DISABLED_MODULE_LIST = []
-@@ -38,7 +38,7 @@
+@@ -58,7 +58,7 @@
return sys.platform
@@ -70,11 +70,12 @@
HOST_PLATFORM = get_platform()
MS_WINDOWS = (HOST_PLATFORM == 'win32')
CYGWIN = (HOST_PLATFORM == 'cygwin')
-@@ -310,6 +310,7 @@
- self.extensions.append(ext)
+@@ -442,6 +442,7 @@
+ self.compiler.set_executables(**args)
def build_extensions(self):
+ return
- self.srcdir = sysconfig.get_config_var('srcdir')
- if not self.srcdir:
- # Maybe running on Windows but not using CYGWIN?
+ self.set_srcdir()
+
+ # Detect which modules should be compiled
+
diff --git a/tools/depends/target/python3/darwin_embedded.patch b/tools/depends/target/python3/darwin_embedded.patch
index 6f77fcf2fa..aeadf14dfb 100644
--- a/tools/depends/target/python3/darwin_embedded.patch
+++ b/tools/depends/target/python3/darwin_embedded.patch
@@ -1,6 +1,6 @@
--- a/Lib/os.py
+++ b/Lib/os.py
-@@ -599,6 +599,7 @@
+@@ -605,6 +605,7 @@
fullname = path.join(dir, file)
try:
exec_func(fullname, *argrest)
@@ -10,16 +10,7 @@
except OSError as e:
--- a/Lib/platform.py
+++ b/Lib/platform.py
-@@ -604,7 +604,7 @@
-
- """ Interface to the system's uname command.
- """
-- if sys.platform in ('dos', 'win32', 'win16'):
-+ if sys.platform in ('dos', 'win32', 'win16', 'darwin'):
- # XXX Others too ?
- return default
-
-@@ -626,7 +626,7 @@
+@@ -614,7 +614,7 @@
default in case the command should fail.
"""
@@ -30,16 +21,16 @@
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
-@@ -737,6 +737,8 @@
- restore_signals=True, start_new_session=False,
- pass_fds=(), *, encoding=None, errors=None, text=None):
+@@ -762,6 +762,8 @@
+ pass_fds=(), *, user=None, group=None, extra_groups=None,
+ encoding=None, errors=None, text=None, umask=-1):
"""Create new Popen instance."""
+ raise RuntimeError("Subprocesses are not supported on this platform.")
+
_cleanup()
# Held while anything is calling waitpid before returncode has been
# updated to prevent clobbering returncode if wait() or poll() are
-@@ -936,6 +936,7 @@
+@@ -1046,6 +1048,7 @@
if not self._child_created:
# We didn't get to successfully create a child process.
return
@@ -47,7 +38,7 @@
if self.returncode is None:
# Not reading subprocess exit status creates a zombie process which
# is only destroyed at the parent python process exit
-@@ -1566,6 +1566,7 @@
+@@ -1679,6 +1682,7 @@
else:
args = list(args)
@@ -55,15 +46,15 @@
if shell:
# On Android the default shell is at '/system/bin/sh'.
unix_shell = ('/system/bin/sh' if
-@@ -1643,6 +1643,7 @@
- errpipe_read, errpipe_write,
- restore_signals, start_new_session, preexec_fn)
+@@ -1762,6 +1766,7 @@
+ gid, gids, uid, umask,
+ preexec_fn)
self._child_created = True
+ return
finally:
# be sure the FD is closed no matter what
os.close(errpipe_write)
-@@ -1662,6 +1662,7 @@
+@@ -1781,6 +1786,7 @@
finally:
# be sure the FD is closed no matter what
os.close(errpipe_read)
@@ -71,16 +62,16 @@
if errpipe_data:
try:
-@@ -1721,7 +1724,7 @@
- raise SubprocessError("Unknown child exit status!")
-
+@@ -1834,7 +1840,7 @@
+ else:
+ self.returncode = waitstatus_to_exitcode(sts)
- def _internal_poll(self, _deadstate=None, _waitpid=os.waitpid,
+ def _internal_poll(self, _deadstate=None, _waitpid=None,
_WNOHANG=os.WNOHANG, _ECHILD=errno.ECHILD):
"""Check if child process has terminated. Returns returncode
attribute.
-@@ -1730,6 +1733,8 @@
+@@ -1843,6 +1849,8 @@
outside of the local scope (nor can any methods it calls).
"""
@@ -91,7 +82,7 @@
# Something else is busy calling waitpid. Don't allow two
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
-@@ -2616,11 +2616,9 @@
+@@ -2617,11 +2617,9 @@
if sys.platform == 'darwin':
@@ -104,7 +95,7 @@
def getproxies_macosx_sysconf():
"""Return a dictionary of scheme -> proxy server URL mappings.
-@@ -2628,7 +2628,7 @@
+@@ -2629,7 +2627,7 @@
This function uses the MacOSX framework SystemConfiguration
to fetch the proxy information.
"""
@@ -113,7 +104,7 @@
-@@ -2641,9 +2641,9 @@
+@@ -2642,9 +2640,9 @@
"""
proxies = getproxies_environment()
if proxies:
@@ -127,17 +118,17 @@
return getproxies_environment() or getproxies_macosx_sysconf()
--- a/Modules/_posixsubprocess.c
+++ b/Modules/_posixsubprocess.c
-@@ -49,6 +49,9 @@
-
- #define POSIX_CALL(call) do { if ((call) == -1) goto error; } while (0)
+@@ -100,6 +100,9 @@
+ return 0;
+ }
+#if defined(__APPLE__)
+#include <TargetConditionals.h>
+#endif
- /* If gc was disabled, call gc.enable(). Return 0 on success. */
+ /* Convert ASCII to a positive int, no libc call. no overflow. -1 on error. */
static int
-@@ -419,14 +422,14 @@
+@@ -456,14 +459,14 @@
goto error;
/* Close parent's pipe ends. */
@@ -154,7 +145,7 @@
/* When duping fds, if there arises a situation where one of the fds is
either 0, 1 or 2, it is possible that it is overwritten (#12607). */
if (c2pwrite == 0) {
-@@ -471,6 +474,8 @@
+@@ -508,6 +511,8 @@
/* We no longer manually close p2cread, c2pwrite, and errwrite here as
* _close_open_fds takes care when it is not already non-inheritable. */
@@ -163,7 +154,7 @@
if (cwd)
POSIX_CALL(chdir(cwd));
-@@ -496,13 +501,13 @@
+@@ -552,13 +557,13 @@
errno = 0; /* We don't want to report an OSError. */
goto error;
}
@@ -179,7 +170,7 @@
}
/* This loop matches the Lib/os.py _execvpe()'s PATH search when */
-@@ -511,20 +516,34 @@
+@@ -567,20 +572,34 @@
for (i = 0; exec_array[i] != NULL; ++i) {
const char *executable = exec_array[i];
if (envp) {
@@ -214,7 +205,7 @@
/* Report the posix error to our parent process. */
/* We ignore all write() return values as the total size of our writes is
less than PIPEBUF and we cannot do anything about an error anyways.
-@@ -686,11 +705,12 @@
+@@ -837,11 +856,12 @@
preexec_fn_args_tuple = PyTuple_New(0);
if (!preexec_fn_args_tuple)
goto cleanup;
@@ -229,7 +220,7 @@
if (pid == 0) {
/* Child process */
/*
-@@ -704,7 +724,7 @@
+@@ -855,7 +875,7 @@
* This call may not be async-signal-safe but neither is calling
* back into Python. The user asked us to use hope as a strategy
* to avoid deadlock... */
@@ -238,7 +229,7 @@
}
child_exec(exec_array, argv, envp, cwd,
-@@ -723,8 +743,8 @@
+@@ -876,8 +896,8 @@
Py_XDECREF(cwd_obj2);
@@ -251,42 +242,42 @@
if (argv)
--- a/Modules/getpath.c
+++ b/Modules/getpath.c
-@@ -806,8 +806,10 @@
- * will fail if a relative path was used. but in that case,
- * absolutize() should help us out below
- */
-- else if(0 == _NSGetExecutablePath(execpath, &nsexeclength) &&
-- execpath[0] == SEP)
+@@ -935,8 +935,10 @@
+ will fail if a relative path was used. but in that case,
+ absolutize() should help us out below
+ */
+- if (_NSGetExecutablePath(execpath, &nsexeclength) != 0
+- || (wchar_t)execpath[0] != SEP)
+ char *iospath = Py_GETENV("PYTHONHOME");
+ char *prog = Py_GETENV("PYTHONEXECUTABLE");
+ sprintf(execpath, "%s/bin/%s", iospath, prog);
-+ if (execpath[0] == SEP)
++ if (execpath[0] != SEP)
{
- size_t len;
- wchar_t *path = Py_DecodeLocale(execpath, &len);
+ /* _NSGetExecutablePath() failed or the path is relative */
+ return _PyStatus_OK();
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
-@@ -196,8 +196,8 @@
- #else
- /* Unix functions that the configure script doesn't check for */
- #ifndef __VXWORKS__
--#define HAVE_EXECV 1
--#define HAVE_FORK 1
-+//#define HAVE_EXECV 0
-+//#define HAVE_FORK 0
- #if defined(__USLC__) && defined(__SCO_VERSION__) /* SCO UDK Compiler */
- #define HAVE_FORK1 1
- #endif
-@@ -210,8 +210,8 @@
- #define HAVE_KILL 1
- #define HAVE_OPENDIR 1
- #define HAVE_PIPE 1
--#define HAVE_SYSTEM 1
--#define HAVE_WAIT 1
-+//#define HAVE_SYSTEM 0
-+//#define HAVE_WAIT 0
- #define HAVE_TTYNAME 1
- #endif /* _MSC_VER */
+@@ -313,8 +313,8 @@
+ # else
+ /* Unix functions that the configure script doesn't check for */
+ # ifndef __VXWORKS__
+-# define HAVE_EXECV 1
+-# define HAVE_FORK 1
++//# define HAVE_EXECV 0
++//# define HAVE_FORK 0
+ # if defined(__USLC__) && defined(__SCO_VERSION__) /* SCO UDK Compiler */
+ # define HAVE_FORK1 1
+ # endif
+@@ -327,8 +327,8 @@
+ # define HAVE_KILL 1
+ # define HAVE_OPENDIR 1
+ # define HAVE_PIPE 1
+-# define HAVE_SYSTEM 1
+-# define HAVE_WAIT 1
++//# define HAVE_SYSTEM 0
++//# define HAVE_WAIT 0
+ # define HAVE_TTYNAME 1
+ # endif /* _MSC_VER */
#endif /* ! __WATCOMC__ || __QNX__ */
--- a/Include/intrcheck.h
+++ b/Include/intrcheck.h
diff --git a/tools/depends/target/python3/modules.setup b/tools/depends/target/python3/modules.setup
index 44fea4c8a9..fa52e2160f 100644
--- a/tools/depends/target/python3/modules.setup
+++ b/tools/depends/target/python3/modules.setup
@@ -111,7 +111,7 @@ _weakref _weakref.c # weak references
_functools -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _functoolsmodule.c # Tools for working with functions and callable objects
_operator _operator.c # operator.add() and similar goodies
_collections _collectionsmodule.c # Container types
-_abc _abc.c # Abstract base classes
+_abc _abc.c -DPy_BUILD_CORE_MODULE # Abstract base classes
itertools itertoolsmodule.c # Functions creating iterators for efficient looping
atexit atexitmodule.c # Register functions to be run at interpreter-shutdown
_signal -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal signalmodule.c
@@ -132,7 +132,10 @@ faulthandler faulthandler.c
#
# bpo-35053: The module must be builtin since _Py_NewReference()
# can call _PyTraceMalloc_NewReference().
-_tracemalloc _tracemalloc.c hashtable.c
+_tracemalloc _tracemalloc.c
+
+# PEG-based parser module -- slated to be *the* parser
+_peg_parser _peg_parser.c
# The rest of the modules listed in this file are all commented out by
# default. Usually they can be detected and built as dynamically
@@ -166,25 +169,26 @@ _symtable symtablemodule.c
# Modules that should always be present (non UNIX dependent):
-array arraymodule.c # array objects
-cmath cmathmodule.c _math.c # -lm # complex math library functions
-math mathmodule.c _math.c # -lm # math library functions, e.g. sin()
+array arraymodule.c -DPy_BUILD_CORE_MODULE # array objects
+cmath cmathmodule.c _math.c -DPy_BUILD_CORE_MODULE # -lm # complex math library functions
+math mathmodule.c _math.c -DPy_BUILD_CORE_MODULE # -lm # math library functions, e.g. sin()
_contextvars _contextvarsmodule.c # Context Variables
_struct _struct.c # binary structure packing/unpacking
_weakref _weakref.c # basic weak reference support
#_testcapi _testcapimodule.c # Python C API test module
#_testinternalcapi _testinternalcapi.c -I$(srcdir)/Include/internal -DPy_BUILD_CORE_MODULE # Python internal C API test module
-_random _randommodule.c # Random number generator
+_random _randommodule.c -DPy_BUILD_CORE_MODULE # Random number generator
_elementtree -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c # elementtree accelerator
-_pickle _pickle.c # pickle accelerator
-_datetime _datetimemodule.c # datetime accelerator
+_pickle _pickle.c -DPy_BUILD_CORE_MODULE # pickle accelerator
+_datetime _datetimemodule.c -DPy_BUILD_CORE_MODULE # datetime accelerator
+_zoneinfo _zoneinfo.c -DPy_BUILD_CORE_MODULE # zoneinfo accelerator
_bisect _bisectmodule.c # Bisection algorithms
-_heapq _heapqmodule.c # Heap queue algorithm
-_asyncio _asynciomodule.c # Fast asyncio Future
+_heapq _heapqmodule.c -DPy_BUILD_CORE_MODULE # Heap queue algorithm
+_asyncio _asynciomodule.c -DPy_BUILD_CORE_MODULE # Fast asyncio Future
_json -I$(srcdir)/Include/internal -DPy_BUILD_CORE_BUILTIN _json.c # _json speedups
_statistics _statisticsmodule.c # statistics accelerator
-unicodedata unicodedata.c # static Unicode character database
+unicodedata unicodedata.c -DPy_BUILD_CORE_MODULE # static Unicode character database
# Modules with some UNIX dependencies -- on by default:
@@ -225,7 +229,7 @@ _ssl _ssl.c \
termios termios.c # Steen Lumholt's termios module
resource resource.c # Jeremy Hylton's rlimit interface
-_posixsubprocess _posixsubprocess.c # POSIX subprocess module helper
+_posixsubprocess _posixsubprocess.c -DPy_BUILD_CORE_MODULE # POSIX subprocess module helper
# Multimedia modules -- off by default.
# These don't work for 64-bit platforms!!!
@@ -247,8 +251,8 @@ _md5 md5module.c
# The _sha module implements the SHA checksum algorithms.
# (NIST's Secure Hash Algorithms.)
_sha1 sha1module.c
-_sha256 sha256module.c
-_sha512 sha512module.c
+_sha256 sha256module.c -DPy_BUILD_CORE_BUILTIN
+_sha512 sha512module.c -DPy_BUILD_CORE_BUILTIN
_sha3 _sha3/sha3module.c
# _blake module
@@ -337,7 +341,7 @@ binascii binascii.c
parser parsermodule.c
# profiling
-_lsprof _lsprof.c rotatingtree.c
+_lsprof _lsprof.c rotatingtree.c -DPy_BUILD_CORE_MODULE
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
@@ -374,10 +378,10 @@ _sqlite3 _sqlite/connection.c \
-I$(prefix)/include -L$(prefix)/lib -lsqlite3 $(SQLITEDEFINES)
_ctypes _ctypes/callbacks.c _ctypes/callproc.c _ctypes/cfield.c _ctypes/_ctypes.c \
- _ctypes/malloc_closure.c _ctypes/stgdict.c \
+ _ctypes/malloc_closure.c _ctypes/stgdict.c -DPy_BUILD_CORE_MODULE \
-I$(prefix)/include/ffi -L$(prefix)/lib -lffi
-_queue _queuemodule.c
+_queue _queuemodule.c -DPy_BUILD_CORE_MODULE
_bz2 _bz2module.c -I$(prefix)/include -L$(prefix)/lib -lbz2
_lzma _lzmamodule.c -I$(prefix)/include -L$(prefix)/lib -llzma
diff --git a/tools/depends/target/pythonmodule-pil/Makefile b/tools/depends/target/pythonmodule-pil/Makefile
index feabc7a791..14bf1a466b 100644
--- a/tools/depends/target/pythonmodule-pil/Makefile
+++ b/tools/depends/target/pythonmodule-pil/Makefile
@@ -36,7 +36,7 @@ ZLIB_ROOT=ZLIB_ROOT="$(SDKROOT)/usr"
endif
BUILD_OPTS=--plat-name $(OS)-$(CPU) --disable-jpeg2000 --disable-webp --disable-imagequant --disable-tiff --disable-webp --disable-webpmux --disable-xcb --disable-lcms --disable-platform-guessing
-CROSSFLAGS=$(ZLIB_ROOT) PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(LDSHARED)" LDFLAGS="$(LDFLAGS) $(EXTRALDFLAGS)" PYTHONPATH="$(PYTHONPATH)"
+CROSSFLAGS=$(ZLIB_ROOT) PYTHONXINCLUDE="$(PREFIX)/include/python$(PYTHON_VERSION)" PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(LDSHARED)" LDFLAGS="$(LDFLAGS) $(EXTRALDFLAGS)" PYTHONPATH="$(PYTHONPATH)"
all: .installed-$(PLATFORM)
diff --git a/tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch b/tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch
index b62aa5522e..b1ccdfd3d8 100644
--- a/tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch
+++ b/tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch
@@ -1,6 +1,6 @@
--- a/setup.py
+++ b/setup.py
-@@ -363,6 +363,16 @@
+@@ -363,6 +363,19 @@
if _cmd_exists(os.environ.get("PKG_CONFIG", "pkg-config")):
pkg_config = _pkg_config
@@ -14,6 +14,9 @@
+ args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
+ self.compiler.set_executables(**args)
+
++ self.compiler.include_dirs.clear()
++ self.compiler.include_dirs.append(os.environ.get('PYTHONXINCLUDE'))
++
#
# add configured kits
for root_name, lib_name in dict(