https://github.com/Python-SIP/sip/issues/118
--- a/sipbuild/project.py
+++ b/sipbuild/project.py
@@ -248,4 +248,13 @@
         super().apply_user_defaults(tool)
 
+        # Get the provisional ABI version to target.  If it is not specified
+        # then the major number will be 0 which is interpreted as being any ABI
+        # prior to v14 (ie. v12 or v13).  The parser will finalise the actual
+        # target ABI.
+        if self.abi_version:
+            self.abi_version = parse_abi_version(self.abi_version)
+        else:
+            self.abi_version = (0, None)
+
         # Adjust the list of bindings according to what has been explicitly
         # enabled and disabled.
@@ -777,13 +786,4 @@
                             self.py_major_version, self.py_minor_version))
 
-        # Get the provisional ABI version to target.  If it is not specified
-        # then the major number will be 0 which is interpreted as being any ABI
-        # prior to v14 (ie. v12 or v13).  The parser will finalise the actual
-        # target ABI.
-        if self.abi_version:
-            self.abi_version = parse_abi_version(self.abi_version)
-        else:
-            self.abi_version = (0, None)
-
         # We know enough about the ABI to create an appropriate backend.
         self.backend = AbstractBackend.factory(self)
