diff --git a/Modules/Setup.stdlib.in b/Modules/Setup.stdlib.in index 0688c350db2..b12ae9db5e9 100644 --- a/Modules/Setup.stdlib.in +++ b/Modules/Setup.stdlib.in @@ -40,6 +40,7 @@ @MODULE__PICKLE_TRUE@_pickle _pickle.c @MODULE__QUEUE_TRUE@_queue _queuemodule.c @MODULE__RANDOM_TRUE@_random _randommodule.c +@MODULE__STRUCT_TRUE@_struct _struct.c @MODULE__TYPING_TRUE@_typing _typingmodule.c @MODULE__XXSUBINTERPRETERS_TRUE@_xxsubinterpreters _xxsubinterpretersmodule.c @MODULE__ZONEINFO_TRUE@_zoneinfo _zoneinfo.c diff --git a/configure b/configure index 193d6b9179b..a1fc09fc048 100755 --- a/configure +++ b/configure @@ -718,6 +718,8 @@ MODULE__XXSUBINTERPRETERS_FALSE MODULE__XXSUBINTERPRETERS_TRUE MODULE__TYPING_FALSE MODULE__TYPING_TRUE +MODULE__STRUCT_FALSE +MODULE__STRUCT_TRUE MODULE_SELECT_FALSE MODULE_SELECT_TRUE MODULE__RANDOM_FALSE @@ -20571,6 +20573,15 @@ else fi as_fn_append MODULE_BLOCK "MODULE_SELECT=yes$as_nl" + if true; then + MODULE__STRUCT_TRUE= + MODULE__STRUCT_FALSE='#' +else + MODULE__STRUCT_TRUE='#' + MODULE__STRUCT_FALSE= +fi + as_fn_append MODULE_BLOCK "MODULE__STRUCT=yes$as_nl" + if true; then MODULE__TYPING_TRUE= MODULE__TYPING_FALSE='#' @@ -22011,6 +22022,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__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 +fi if test -z "${MODULE__TYPING_TRUE}" && test -z "${MODULE__TYPING_FALSE}"; then as_fn_error $? "conditional \"MODULE__TYPING\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/configure.ac b/configure.ac index b48fa56d399..5757c3b2586 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([_struct]) PY_STDLIB_MOD_SIMPLE([_typing]) PY_STDLIB_MOD_SIMPLE([_xxsubinterpreters]) PY_STDLIB_MOD_SIMPLE([_zoneinfo]) diff --git a/setup.py b/setup.py index 139847c87ec..a3aa787a1b7 100644 --- a/setup.py +++ b/setup.py @@ -1023,6 +1023,7 @@ def detect_simple_extensions(self): self.addext(Extension("_queue", ["_queuemodule.c"])) self.addext(Extension("_statistics", ["_statisticsmodule.c"])) + self.addext(Extension("_struct", ["_struct.c"])) self.addext(Extension("_typing", ["_typingmodule.c"])) # Modules with some UNIX dependencies -- on by default: @@ -1446,6 +1447,9 @@ def detect_uuid(self): self.missing.append('_uuid') def detect_modules(self): + # remove dummy extension + self.extensions = [] + self.configure_compiler() self.init_inc_lib_dirs() @@ -2100,9 +2104,9 @@ class DummyProcess: 'build_scripts': PyBuildScripts, 'install': PyBuildInstall, 'install_lib': PyBuildInstallLib}, - # The struct module is defined here, because build_ext won't be + # A dummy module is defined here, because build_ext won't be # called unless there's at least one extension module defined. - ext_modules=[Extension('_struct', ['_struct.c'])], + ext_modules=[Extension('_dummy', ['_dummy.c'])], # If you change the scripts installed here, you also need to # check the PyBuildScripts command above, and change the links