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 089388ed080..1d1146f86c2 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -131,6 +131,9 @@ Core and Builtins Library ------- +- Issue #24705: Fix sysconfig._parse_makefile not expanding ${} vars + appearing before $() vars. + - Issue #26069: Remove the deprecated apis in the trace module. - Issue #22138: Fix mock.patch behavior when patching descriptors. Restore