blob: 1d90fd3be10624985171a567ac30b1f6a2b88bfc [file] [log] [blame]
From fa68425708485de2cea225d6c3ff58bff6965ab5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?=
<alexey.pawlow@gmail.com>
Date: Thu, 17 Jun 2021 18:51:14 +0530
Subject: [PATCH 005/N] MINGW configure MACHDEP and platform for build
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: Алексей <alexey.pawlow@gmail.com>
---
Python/getplatform.c | 6 ++++++
configure.ac | 22 ++++++++++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/Python/getplatform.c b/Python/getplatform.c
index 81a0f7a..636b0a8 100644
--- a/Python/getplatform.c
+++ b/Python/getplatform.c
@@ -1,6 +1,12 @@
#include "Python.h"
+#ifdef __MINGW32__
+# undef PLATFORM
+/* see PC/pyconfig.h */
+# define PLATFORM "win32"
+#endif
+
#ifndef PLATFORM
#define PLATFORM "unknown"
#endif
diff --git a/configure.ac b/configure.ac
index 005fc8f..ecdf22d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -383,6 +383,17 @@ AC_DEFINE_UNQUOTED(_PYTHONFRAMEWORK, "${PYTHONFRAMEWORK}", [framework name])
# Set name for machine-dependent library files
AC_ARG_VAR([MACHDEP], [name for machine-dependent library files])
AC_MSG_CHECKING(MACHDEP)
+case $host in
+ *-*-mingw*)
+ # On those hosts MACHDEP is 'win', as platform specific files
+ # go in plat-$(MACHDEP), but runtime platform is 'win32'
+ test -z "$MACHDEP" && MACHDEP=win
+
+ dnl Configuration will be based only on "host triplet" as build
+ dnl must not depend from posix compatible environement.
+ ac_sys_system=ignore
+ ;;
+esac
if test -z "$MACHDEP"
then
# avoid using uname for cross builds
@@ -452,12 +463,23 @@ if test "$cross_compiling" = yes; then
*-*-vxworks*)
_host_cpu=$host_cpu
;;
+ *-*-mingw*)
+ _host_cpu=
+ ;;
*)
# for now, limit cross builds to known configurations
MACHDEP="unknown"
AC_MSG_ERROR([cross build not supported for $host])
esac
_PYTHON_HOST_PLATFORM="$MACHDEP${_host_cpu:+-$_host_cpu}"
+
+ case "$host_os" in
+ mingw*)
+ # As sys.platform() return 'win32' to build python and extantions
+ # we will use 'mingw' (in setup.py and etc.)
+ _PYTHON_HOST_PLATFORM=mingw
+ ;;
+ esac
fi
# Some systems cannot stand _XOPEN_SOURCE being defined at all; they
--
2.32.0