Issue #18517: Move definition of "xxlimited" extension to detect_modules().
diff --git a/setup.py b/setup.py
index d4183d4..461d379 100644
--- a/setup.py
+++ b/setup.py
@@ -1525,6 +1525,15 @@
         if '_tkinter' not in [e.name for e in self.extensions]:
             missing.append('_tkinter')
 
+##         # Uncomment these lines if you want to play with xxmodule.c
+##         ext = Extension('xx', ['xxmodule.c'])
+##         self.extensions.append(ext)
+
+        if 'd' not in sys.abiflags:
+            ext = Extension('xxlimited', ['xxlimited.c'],
+                            define_macros=[('Py_LIMITED_API', 1)])
+            self.extensions.append(ext)
+
         return missing
 
     def detect_tkinter_darwin(self, inc_dirs, lib_dirs):
@@ -1722,14 +1731,6 @@
                         )
         self.extensions.append(ext)
 
-##         # Uncomment these lines if you want to play with xxmodule.c
-##         ext = Extension('xx', ['xxmodule.c'])
-##         self.extensions.append(ext)
-        if 'd' not in sys.abiflags:
-            ext = Extension('xxlimited', ['xxlimited.c'],
-                            define_macros=[('Py_LIMITED_API', 1)])
-            self.extensions.append(ext)
-
         # XXX handle these, but how to detect?
         # *** Uncomment and edit for PIL (TkImaging) extension only:
         #       -DWITH_PIL -I../Extensions/Imaging/libImaging  tkImaging.c \