aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2021-12-09 15:58:30 +0100
committerMichał Górny <mgorny@gentoo.org>2022-06-02 08:31:40 +0200
commit5dc3f228ed7609de4669a91e5a853ab9b7fe5f13 (patch)
treedc75d3b38f1d65984a3f2c6d2edaa3e5efcafe68
parentssl: Hard-disable SSLv3 to avoid automagic deps (diff)
downloadcpython-5dc3f228ed7609de4669a91e5a853ab9b7fe5f13.tar.gz
cpython-5dc3f228ed7609de4669a91e5a853ab9b7fe5f13.tar.bz2
cpython-5dc3f228ed7609de4669a91e5a853ab9b7fe5f13.zip
Temporary hack: handle all extensions via .addext()gentoo-3.11.0b3
Use .addext() for all modules in order to enable Makefile control over building them.
-rw-r--r--configure.ac6
-rw-r--r--setup.py18
2 files changed, 15 insertions, 9 deletions
diff --git a/configure.ac b/configure.ac
index 91f124aebb6..4370bfcb83a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6837,6 +6837,12 @@ PY_STDLIB_MOD_SIMPLE([_codecs_tw])
PY_STDLIB_MOD_SIMPLE([_multibytecodec])
PY_STDLIB_MOD_SIMPLE([unicodedata])
+dnl Gentoo hack
+PY_STDLIB_MOD_SIMPLE([_curses])
+PY_STDLIB_MOD_SIMPLE([_curses_panel])
+PY_STDLIB_MOD_SIMPLE([_dbm])
+PY_STDLIB_MOD_SIMPLE([readline])
+
dnl By default we always compile these even when OpenSSL is available
dnl (issue #14693). The modules are small.
PY_STDLIB_MOD([_md5], [test "$with_builtin_md5" = yes])
diff --git a/setup.py b/setup.py
index 4c497346e8d..d85e2adf138 100644
--- a/setup.py
+++ b/setup.py
@@ -1109,11 +1109,11 @@ class PyBuildExt(build_ext):
['/usr/lib/termcap'],
'termcap'):
readline_libs.append('termcap')
- self.add(Extension('readline', ['readline.c'],
+ self.addext(Extension('readline', ['readline.c'],
library_dirs=['/usr/lib/termcap'],
libraries=readline_libs))
else:
- self.missing.append('readline')
+ self.addext(Extension('readline', ['readline.c']))
# Curses support, requiring the System V version of curses, often
# provided by the ncurses library.
@@ -1143,7 +1143,7 @@ class PyBuildExt(build_ext):
curses_enabled = True
if curses_library.startswith('ncurses'):
curses_libs = [curses_library]
- self.add(Extension('_curses', ['_cursesmodule.c'],
+ self.addext(Extension('_curses', ['_cursesmodule.c'],
include_dirs=curses_includes,
define_macros=curses_defines,
libraries=curses_libs))
@@ -1157,24 +1157,24 @@ class PyBuildExt(build_ext):
else:
curses_libs = ['curses']
- self.add(Extension('_curses', ['_cursesmodule.c'],
+ self.addext(Extension('_curses', ['_cursesmodule.c'],
define_macros=curses_defines,
libraries=curses_libs))
else:
curses_enabled = False
- self.missing.append('_curses')
+ self.addext(Extension('_curses', ['_cursesmodule.c']))
# If the curses module is enabled, check for the panel module
# _curses_panel needs some form of ncurses
skip_curses_panel = True if AIX else False
if (curses_enabled and not skip_curses_panel and
self.compiler.find_library_file(self.lib_dirs, panel_library)):
- self.add(Extension('_curses_panel', ['_curses_panel.c'],
+ self.addext(Extension('_curses_panel', ['_curses_panel.c'],
include_dirs=curses_includes,
define_macros=curses_defines,
libraries=[panel_library, *curses_libs]))
elif not skip_curses_panel:
- self.missing.append('_curses_panel')
+ self.addext(Extension('_curses_panel', ['_curses_panel.c']))
def detect_crypt(self):
self.addext(Extension('_crypt', ['_cryptmodule.c']))
@@ -1247,9 +1247,9 @@ class PyBuildExt(build_ext):
)
break
if dbmext is not None:
- self.add(dbmext)
+ self.addext(dbmext)
else:
- self.missing.append('_dbm')
+ self.addext(Extension('_dbm', ['_dbmmodule.c']))
# Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm:
self.addext(Extension('_gdbm', ['_gdbmmodule.c']))