From: Martin v. Löwis <martin@v.loewis.de>
Date: Sat, 11 Feb 2006 15:55:14 +0000 (+0000)
Subject: Patch #428494: Prefer linking against ncursesw over ncurses library
X-Git-Tag: v2.5a0~690
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a55e55e9f3034ceacbf90facc1a0548d63250df4;p=python

Patch #428494: Prefer linking against ncursesw over ncurses library
---

diff --git a/Misc/NEWS b/Misc/NEWS
index 8b388325f4..c9e7a309ea 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -699,6 +699,8 @@ Library
 Build
 -----
 
+- Patch #1428494: Prefer linking against ncursesw over ncurses library.
+
 - Patch #881820: look for openpty and forkpty also in libbsd.
 
 - The sources of zlib are now part of the Python distribution (zlib 1.2.3).
diff --git a/setup.py b/setup.py
index 9762b9a60e..9eae12621d 100644
--- a/setup.py
+++ b/setup.py
@@ -450,6 +450,9 @@ class PyBuildExt(build_ext):
         if self.compiler.find_library_file(lib_dirs, 'readline'):
             readline_libs = ['readline']
             if self.compiler.find_library_file(lib_dirs,
+                                                 'ncursesw'):
+                readline_libs.append('ncursesw')
+            elif self.compiler.find_library_file(lib_dirs,
                                                  'ncurses'):
                 readline_libs.append('ncurses')
             elif self.compiler.find_library_file(lib_dirs, 'curses'):
@@ -751,7 +754,11 @@ class PyBuildExt(build_ext):
 
         # Curses support, requiring the System V version of curses, often
         # provided by the ncurses library.
-        if (self.compiler.find_library_file(lib_dirs, 'ncurses')):
+        if (self.compiler.find_library_file(lib_dirs, 'ncursesw')):
+            curses_libs = ['ncursesw']
+            exts.append( Extension('_curses', ['_cursesmodule.c'],
+                                   libraries = curses_libs) )
+        elif (self.compiler.find_library_file(lib_dirs, 'ncurses')):
             curses_libs = ['ncurses']
             exts.append( Extension('_curses', ['_cursesmodule.c'],
                                    libraries = curses_libs) )