Aaron Hurst <aaronpaulhu...@gmail.com> added the comment:

Hi Ned,

Thanks for testing this.  I also observe that macOS compiles "without error"... 
but it's still broken... and silently.

This is because the pyexpat line isn't being turned into the expected set of 
source compilation rules, but it is instead being dumped into the variable 
definition section.  Why is it being interpreted by makesetup as a variable 
definition?  With the equals character, it matches this pattern:

# Lines can also have the form
#
# <name> = <value>
#
# which defines a Make variable definition inserted into Makefile.in

But it is intended to match this pattern:

# Lines have the following structure:
#
# <module> ... [<sourcefile> ...] [<cpparg> ...] [<library> ...]

For reference, here is the corresponding rule in makesetup:

> *=*)    DEFS="$line$NL$DEFS"; continue;;

I fully support tweaking this pattern to better differentiate when "=" means a 
variable definition and when "=" is part of a compilation flag, but given that 
pyexpat is the only such case, my one-line fix makes things consistent again.  
For now.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue35184>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to