This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vinay.sajip
Recipients vinay.sajip
Date 2019-09-24.17:56:57
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1569347817.5.0.215967707465.issue38264@roundup.psfhosted.org>
In-reply-to
Content
There appears to be a failure in the Makefile build logic. Steps to reproduce:

1. Make a fresh build using "make clean && make"
2. run "touch Modules/_io/_iomodule.h"
3. Run "make" again.

Observed result: No related files get built.
Expected result: The directly including compilation units Modules/_io/{_iomodule,iobase,fileio,bufferedio,textio,bytesio,stringio}.o should be built. The compilation units which depend on these (e.g. Modules/textio.o) should also be built.

The problem appears to be related to Modules/makesetup, which adds rules to tbe Makefile. An example of a rule is

Modules/textio.o: $(srcdir)/Modules/_io/textio.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS)  -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal -I$(srcdir)/Modules/_io -c $(srcdir)/Modules/_io/textio.c -o Modules/textio.o

The problem here looks like the lack of a dependency between Modules/_io/textio.o and Modules/_io/textio.o - there is only a dependency on Modules/_io/textio.c, which wouldn't be rebuilt on a touch of Modules/_io/_iomodule.h.
History
Date User Action Args
2019-09-24 17:56:57vinay.sajipsetrecipients: + vinay.sajip
2019-09-24 17:56:57vinay.sajipsetmessageid: <1569347817.5.0.215967707465.issue38264@roundup.psfhosted.org>
2019-09-24 17:56:57vinay.sajiplinkissue38264 messages
2019-09-24 17:56:57vinay.sajipcreate