diff options
-rw-r--r-- | Modules/Setup.stdlib.in | 5 | ||||
-rwxr-xr-x | configure | 85 | ||||
-rw-r--r-- | configure.ac | 5 | ||||
-rw-r--r-- | setup.py | 10 |
4 files changed, 99 insertions, 6 deletions
diff --git a/Modules/Setup.stdlib.in b/Modules/Setup.stdlib.in index b12ae9d..0c88eed 100644 --- a/Modules/Setup.stdlib.in +++ b/Modules/Setup.stdlib.in @@ -135,9 +135,14 @@ @MODULE__TESTBUFFER_TRUE@_testbuffer _testbuffer.c @MODULE__TESTINTERNALCAPI_TRUE@_testinternalcapi _testinternalcapi.c + # Some testing modules MUST be built as shared libraries. *shared* @MODULE__TESTCAPI_TRUE@_testcapi _testcapimodule.c @MODULE__TESTIMPORTMULTIPLE_TRUE@_testimportmultiple _testimportmultiple.c @MODULE__TESTMULTIPHASE_TRUE@_testmultiphase _testmultiphase.c @MODULE__CTYPES_TEST_TRUE@_ctypes_test _ctypes/_ctypes_test.c + +# Limited API template modules; must be built as shared modules. +@MODULE_XXLIMITED_TRUE@xxlimited xxlimited.c +@MODULE_XXLIMITED_35_TRUE@xxlimited_35 xxlimited_35.c @@ -624,6 +624,10 @@ ac_includes_default="\ ac_subst_vars='LTLIBOBJS MODULE_BLOCK +MODULE_XXLIMITED_35_FALSE +MODULE_XXLIMITED_35_TRUE +MODULE_XXLIMITED_FALSE +MODULE_XXLIMITED_TRUE MODULE__CTYPES_TEST_FALSE MODULE__CTYPES_TEST_TRUE MODULE__XXTESTFUZZ_FALSE @@ -21838,6 +21842,79 @@ fi $as_echo "$py_cv_module__ctypes_test" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module xxlimited" >&5 +$as_echo_n "checking for stdlib extension module xxlimited... " >&6; } + case $py_stdlib_not_available in #( + *xxlimited*) : + py_cv_module_xxlimited=n/a ;; #( + *) : + if test "$Py_TRACE_REFS" = no; then : + if true; then : + py_cv_module_xxlimited=yes +else + py_cv_module_xxlimited=missing +fi +else + py_cv_module_xxlimited=disabled +fi + ;; +esac + as_fn_append MODULE_BLOCK "MODULE_XXLIMITED=$py_cv_module_xxlimited$as_nl" + if test "x$py_cv_module_xxlimited" = xyes; then : + + + + +fi + if test "$py_cv_module_xxlimited" = yes; then + MODULE_XXLIMITED_TRUE= + MODULE_XXLIMITED_FALSE='#' +else + MODULE_XXLIMITED_TRUE='#' + MODULE_XXLIMITED_FALSE= +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $py_cv_module_xxlimited" >&5 +$as_echo "$py_cv_module_xxlimited" >&6; } + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module xxlimited_35" >&5 +$as_echo_n "checking for stdlib extension module xxlimited_35... " >&6; } + case $py_stdlib_not_available in #( + *xxlimited_35*) : + py_cv_module_xxlimited_35=n/a ;; #( + *) : + if test "$Py_TRACE_REFS" = no; then : + if true; then : + py_cv_module_xxlimited_35=yes +else + py_cv_module_xxlimited_35=missing +fi +else + py_cv_module_xxlimited_35=disabled +fi + ;; +esac + as_fn_append MODULE_BLOCK "MODULE_XXLIMITED_35=$py_cv_module_xxlimited_35$as_nl" + if test "x$py_cv_module_xxlimited_35" = xyes; then : + + + + +fi + if test "$py_cv_module_xxlimited_35" = yes; then + MODULE_XXLIMITED_35_TRUE= + MODULE_XXLIMITED_35_FALSE='#' +else + MODULE_XXLIMITED_35_TRUE='#' + MODULE_XXLIMITED_35_FALSE= +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $py_cv_module_xxlimited_35" >&5 +$as_echo "$py_cv_module_xxlimited_35" >&6; } + + # substitute multiline block, must come after last PY_STDLIB_MOD() @@ -22214,6 +22291,14 @@ if test -z "${MODULE__CTYPES_TEST_TRUE}" && test -z "${MODULE__CTYPES_TEST_FALSE as_fn_error $? "conditional \"MODULE__CTYPES_TEST\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${MODULE_XXLIMITED_TRUE}" && test -z "${MODULE_XXLIMITED_FALSE}"; then + as_fn_error $? "conditional \"MODULE_XXLIMITED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${MODULE_XXLIMITED_35_TRUE}" && test -z "${MODULE_XXLIMITED_35_FALSE}"; then + as_fn_error $? "conditional \"MODULE_XXLIMITED_35\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 diff --git a/configure.ac b/configure.ac index 5757c3b..ec7d1a4 100644 --- a/configure.ac +++ b/configure.ac @@ -6219,6 +6219,11 @@ PY_STDLIB_MOD([_testmultiphase], [test "$TEST_MODULES" = yes]) PY_STDLIB_MOD([_xxtestfuzz], [test "$TEST_MODULES" = yes]) PY_STDLIB_MOD([_ctypes_test], [test "$TEST_MODULES" = yes], [], [], [-lm]) +dnl Limited API template modules. +dnl The limited C API is not compatible with the Py_TRACE_REFS macro. +PY_STDLIB_MOD([xxlimited], [test "$Py_TRACE_REFS" = no]) +PY_STDLIB_MOD([xxlimited_35], [test "$Py_TRACE_REFS" = no]) + # substitute multiline block, must come after last PY_STDLIB_MOD() AC_SUBST([MODULE_BLOCK]) @@ -1477,13 +1477,11 @@ class PyBuildExt(build_ext): self.missing.append('_tkinter') self.detect_uuid() -## # Uncomment these lines if you want to play with xxmodule.c -## self.add(Extension('xx', ['xxmodule.c'])) + # Uncomment the next line if you want to play with xxmodule.c +# self.add(Extension('xx', ['xxmodule.c'])) - # The limited C API is not compatible with the Py_TRACE_REFS macro. - if not sysconfig.get_config_var('Py_TRACE_REFS'): - self.add(Extension('xxlimited', ['xxlimited.c'])) - self.add(Extension('xxlimited_35', ['xxlimited_35.c'])) + self.addext(Extension('xxlimited', ['xxlimited.c'])) + self.addext(Extension('xxlimited_35', ['xxlimited_35.c'])) def detect_tkinter_fromenv(self): # Build _tkinter using the Tcl/Tk locations specified by |