Files
MINGW-packages/mingw-w64-python/0100-build-Fix-ncursesw-include-lookup.patch
2023-02-10 12:56:41 +01:00

63 lines
2.1 KiB
Diff

From 57912b6c7941fb904b766e3ba5d431bb2af534af 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:52:09 +0530
Subject: [PATCH 100/N] build: Fix ncursesw include lookup
Mirror what is already done for libffi; Look it up via
pkg-config and use the exported path via sysconfig in setup.py
---
Makefile.pre.in | 1 +
configure.ac | 9 ++++++++-
setup.py | 2 +-
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index a01b1fd..6e615b5 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -318,6 +318,7 @@ IO_OBJS= \
##########################################################################
LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@
+NCURSESW_INCLUDEDIR= @NCURSESW_INCLUDEDIR@
##########################################################################
# Parser
diff --git a/configure.ac b/configure.ac
index 814e439..e16948b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5630,10 +5630,17 @@ then
[Define if you have struct stat.st_mtimensec])
fi
+if test -n "$PKG_CONFIG"; then
+ NCURSESW_INCLUDEDIR="`"$PKG_CONFIG" ncursesw --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`"
+else
+ NCURSESW_INCLUDEDIR=""
+fi
+AC_SUBST(NCURSESW_INCLUDEDIR)
+
# first curses header check
ac_save_cppflags="$CPPFLAGS"
if test "$cross_compiling" = no; then
- CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw"
+ CPPFLAGS="$CPPFLAGS -I$NCURSESW_INCLUDEDIR"
fi
AC_CHECK_HEADERS(curses.h ncurses.h)
diff --git a/setup.py b/setup.py
index 72a1358..3ad324c 100644
--- a/setup.py
+++ b/setup.py
@@ -1210,7 +1210,7 @@ class PyBuildExt(build_ext):
if curses_library == 'ncursesw':
curses_defines.append(('HAVE_NCURSESW', '1'))
if not CROSS_COMPILING:
- curses_includes.append('/usr/include/ncursesw')
+ curses_includes.append(sysconfig.get_config_var("NCURSESW_INCLUDEDIR"))
# Bug 1464056: If _curses.so links with ncursesw,
# _curses_panel.so must link with panelw.
panel_library = 'panelw'