diff --git a/Modules/Setup.stdlib.in b/Modules/Setup.stdlib.in index 0c88eed3b5e..338de84f09e 100644 --- a/Modules/Setup.stdlib.in +++ b/Modules/Setup.stdlib.in @@ -109,6 +109,7 @@ @MODULE__POSIXSUBPROCESS_TRUE@_posixsubprocess _posixsubprocess.c @MODULE_RESOURCE_TRUE@resource resource.c @MODULE_SELECT_TRUE@select selectmodule.c +@MODULE__SOCKET_TRUE@_socket socketmodule.c # AIX has shadow passwords, but does not provide getspent API @MODULE_SPWD_TRUE@spwd spwdmodule.c @MODULE_SYSLOG_TRUE@syslog syslogmodule.c diff --git a/configure b/configure index 7c0d866cb92..148ef58b6a5 100755 --- a/configure +++ b/configure @@ -724,6 +724,8 @@ MODULE__TYPING_FALSE MODULE__TYPING_TRUE MODULE__STRUCT_FALSE MODULE__STRUCT_TRUE +MODULE__SOCKET_FALSE +MODULE__SOCKET_TRUE MODULE_SELECT_FALSE MODULE_SELECT_TRUE MODULE__RANDOM_FALSE @@ -20577,6 +20579,15 @@ else fi as_fn_append MODULE_BLOCK "MODULE_SELECT=yes$as_nl" + if true; then + MODULE__SOCKET_TRUE= + MODULE__SOCKET_FALSE='#' +else + MODULE__SOCKET_TRUE='#' + MODULE__SOCKET_FALSE= +fi + as_fn_append MODULE_BLOCK "MODULE__SOCKET=yes$as_nl" + if true; then MODULE__STRUCT_TRUE= MODULE__STRUCT_FALSE='#' @@ -22099,6 +22110,10 @@ if test -z "${MODULE_SELECT_TRUE}" && test -z "${MODULE_SELECT_FALSE}"; then as_fn_error $? "conditional \"MODULE_SELECT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${MODULE__SOCKET_TRUE}" && test -z "${MODULE__SOCKET_FALSE}"; then + as_fn_error $? "conditional \"MODULE__SOCKET\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${MODULE__STRUCT_TRUE}" && test -z "${MODULE__STRUCT_FALSE}"; then as_fn_error $? "conditional \"MODULE__STRUCT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/configure.ac b/configure.ac index e63d8af807b..a950cc91d65 100644 --- a/configure.ac +++ b/configure.ac @@ -6137,6 +6137,7 @@ PY_STDLIB_MOD_SIMPLE([_posixsubprocess]) PY_STDLIB_MOD_SIMPLE([_queue]) PY_STDLIB_MOD_SIMPLE([_random]) PY_STDLIB_MOD_SIMPLE([select]) +PY_STDLIB_MOD_SIMPLE([_socket]) PY_STDLIB_MOD_SIMPLE([_struct]) PY_STDLIB_MOD_SIMPLE([_typing]) PY_STDLIB_MOD_SIMPLE([_xxsubinterpreters]) diff --git a/setup.py b/setup.py index a3d377a696a..304168a657c 100644 --- a/setup.py +++ b/setup.py @@ -1034,6 +1034,8 @@ class PyBuildExt(build_ext): self.addext(Extension('fcntl', ['fcntlmodule.c'])) # grp(3) self.addext(Extension('grp', ['grpmodule.c'])) + + self.addext(Extension('_socket', ['socketmodule.c'])) self.addext(Extension('spwd', ['spwdmodule.c'])) # select(2); not on ancient System V @@ -1254,9 +1256,6 @@ class PyBuildExt(build_ext): self.add(Extension('_crypt', ['_cryptmodule.c'], libraries=libs)) - def detect_socket(self): - self.add(Extension('_socket', ['socketmodule.c'])) - def detect_dbm_gdbm(self): # Modules that provide persistent dictionary-like semantics. You will # probably want to arrange for at least one of them to be available on @@ -1460,7 +1459,6 @@ class PyBuildExt(build_ext): self.detect_test_extensions() self.detect_readline_curses() self.detect_crypt() - self.detect_socket() self.detect_openssl_hashlib() self.detect_hash_builtins() self.detect_dbm_gdbm()