Objects/typeslots.inc is broken, and make stop on cygwin-1.7.35-i686. If built-in python is not found in make processing, Objects/typeslots.inc generating will fail. Because Objects/typeslots.inc is generated using (PYTHON)inMakefile,but(PYTHON) in Makefile, but (PYTHON)inMakefile,but(PYTHON) variable is a hard-coding value that isn't check a built-in python existent. make steps to fail and error message: $ ./configure --prefix=/opt/py34 $ touch Include/typeslots.h $ make ... python.exe ./Objects/typeslots.py < ./Include/typeslots.h > Objects/typeslots.inc /bin/sh: python.exe: command not found Makefile:851: recipe for target 'Objects/typeslots.inc' failed make: *** [Objects/typeslots.inc] Error 127 Cygwin python executable files: $ find /usr/bin/ -name 'python*.exe' /usr/bin/python2.7.exe /usr/bin/python3.2m.exe
I wrote the patch to replace (PYTHON).Changes:AddTYPESLOTSGENtoconfigure.ac.TYPESLOTSGENvaluesisthebuilt−inpython.Ifthebuilt−inpythonisnotfound,TYPESLOTSGENechoesmessagethatisskippinglikeASDLGEN.Generatedtheconfigurescriptusingautoreconf.ModifyMakefile.pre.intoreplace(PYTHON). Changes: Add TYPESLOTSGEN to configure.ac. TYPESLOTSGEN values is the built-in python. If the built-in python is not found, TYPESLOTSGEN echoes message that is skipping like ASDLGEN. Generated the configure script using autoreconf. Modify Makefile.pre.in to replace (PYTHON).Changes:AddTYPESLOTSGENtoconfigure.ac.TYPESLOTSGENvaluesisthebuilt−inpython.Ifthebuilt−inpythonisnotfound,TYPESLOTSGENechoesmessagethatisskippinglikeASDLGEN.Generatedtheconfigurescriptusingautoreconf.ModifyMakefile.pre.intoreplace(PYTHON) to (TYPESLOTSGEN).Andremove(TYPESLOTSGEN). And remove (TYPESLOTSGEN).Andremove(PYTHON) that isn't used anywhere. It seems already needless. Although I understand that the generated file touch can avoid to fail regenerate, I want to check built-in python to generate safer the Objects/typeslots.inc.