diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py index 137932ef784..9c34be0a07e 100644 --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py @@ -260,7 +260,12 @@ def _parse_makefile(filename, vars=None): while len(variables) > 0: for name in tuple(variables): value = notdone[name] - m = _findvar1_rx.search(value) or _findvar2_rx.search(value) + m1 = _findvar1_rx.search(value) + m2 = _findvar2_rx.search(value) + if m1 and m2: + m = m1 if m1.start() < m2.start() else m2 + else: + m = m1 if m1 else m2 if m is not None: n = m.group(1) found = True diff --git a/Misc/NEWS b/Misc/NEWS index 7bdce713012..20d8bb2e0de 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -44,6 +44,9 @@ Core and Builtins Library ------- +- Issue #24705: Fix sysconfig._parse_makefile not expanding ${} vars + appearing before $() vars. + - Issue #22138: Fix mock.patch behavior when patching descriptors. Restore original values after patching. Patch contributed by Sean McCully.