summarylogtreecommitdiffstats
path: root/0102-build-Fix-ncursesw-include-lookup.patch
blob: e25e92f126d22abf5eeb73a69d236bd54a50d693 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
From 7f0e7c96729a306b58ab87ecb4e051b460bec6ce 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 102/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 a8aecc2..3aca037 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -313,6 +313,7 @@ IO_OBJS=	\
 ##########################################################################
 
 LIBFFI_INCLUDEDIR=	@LIBFFI_INCLUDEDIR@
+NCURSESW_INCLUDEDIR=	@NCURSESW_INCLUDEDIR@
 
 ##########################################################################
 # Parser
diff --git a/configure.ac b/configure.ac
index 69cb8fb..6b21b79 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5557,10 +5557,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 d161108..46de8be 100644
--- a/setup.py
+++ b/setup.py
@@ -1104,7 +1104,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'
-- 
2.33.0