Closes #15366: Corrected computation of include location for source builds. Thanks to Richard Oudkerk for the bug report and patch.
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index f6e5d99..409ef74 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -101,10 +101,11 @@
             base = _sys_home or os.path.dirname(os.path.abspath(sys.executable))
             if plat_specific:
                 return base
+            if _sys_home:
+                incdir = os.path.join(_sys_home, get_config_var('AST_H_DIR'))
             else:
-                incdir = os.path.join(_sys_home or get_config_var('srcdir'),
-                                      'Include')
-                return os.path.normpath(incdir)
+                incdir = os.path.join(get_config_var('srcdir'), 'Include')
+            return os.path.normpath(incdir)
         python_dir = 'python' + get_python_version() + build_flags
         return os.path.join(prefix, "include", python_dir)
     elif os.name == "nt":