Issue533008
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.
Created on 2002-03-21 11:09 by theller, last changed 2022-04-10 16:05 by admin. This issue is now closed.
Files | ||||
---|---|---|---|---|
File name | Uploaded | Description | Edit | |
headers_patch_3 | theller, 2002-03-21 11:09 | patch1.txt |
Messages (9) | |||
---|---|---|---|
msg39305 - (view) | Author: Thomas Heller (theller) * | Date: 2002-03-21 11:09 | |
This patch allows to specify that C header files are part of source files for dependency checking. The 'sources' list in Extension instances can be simple filenames as before, but they can also be SourceFile instances created by SourceFile("myfile.c", headers=["inc1.h", "inc2.h"]). Unfortunately not only changes to command.build_ext and command.build_clib had to be made, also all the ccompiler (sub)classes have to be changed because the ccompiler does the actual dependency checking. I updated all the ccompiler subclasses except mwerkscompiler.py, but only msvccompiler has actually been tested. The argument list which dep_util.newer_pairwise() now accepts has changed, the first arg must now be a sequence of SourceFile instances. This may be problematic, better would IMO be to move this function (with a new name?) into ccompiler. |
|||
msg39306 - (view) | Author: Guido van Rossum (gvanrossum) * | Date: 2002-03-24 22:05 | |
Logged In: YES user_id=6380 Why is this priority 7?????? |
|||
msg39307 - (view) | Author: Thomas Heller (theller) * | Date: 2002-03-25 09:03 | |
Logged In: YES user_id=11105 Fred requested it this way: http://mail.python.org/pipermail/distutils-sig/2002- March/002806.html |
|||
msg39308 - (view) | Author: Fred Drake (fdrake) | Date: 2002-04-04 19:57 | |
Logged In: YES user_id=3066 Wow! That's certainly more patch than I'd expected, but the approach looks about right to me. I'd like to take another look at it in a few days (mail me if I don't take action soon) before we accept, just to make sure I understand it better. Thanks! |
|||
msg39309 - (view) | Author: Thomas Heller (theller) * | Date: 2002-04-25 17:13 | |
Logged In: YES user_id=11105 This patch has two problems: - it is too large, - it breaks custom subclasses of distutils' build command family. I have two of them in my setup scripts, there are probably more out in the world. Here is an idea for a totally different approach: The checking whether targets needs to be rebuild is done with the newer_group() and newer_pairwise() functions in distutils.dep_util. These methods could scan the source-files for include directives and user the timestamps of the include files as well. This patch would be fairly small. OTOH, I have no C-source scanner lying around, and also don't feel to write one. |
|||
msg39310 - (view) | Author: Thomas Heller (theller) * | Date: 2002-05-24 18:28 | |
Logged In: YES user_id=11105 Shouldn't holdup any release. |
|||
msg39311 - (view) | Author: Fred Drake (fdrake) | Date: 2002-06-12 20:13 | |
Logged In: YES user_id=3066 Assigned to Jeremy since he's dealing with this issue today. |
|||
msg39312 - (view) | Author: Jeremy Hylton (jhylton) | Date: 2002-06-12 20:18 | |
Logged In: YES user_id=31392 I think this approach to dependency tracking is too complicated. The recent depends argument to Extension rebuilds everything. This patch would allow individual .o files to be rebuilt, but at the expense of complicating the list of sources too much. Perhaps a compromise would be to use depends to specify either a list of global dependencies or a list of per-file dependencies specified as a pair containing a filename and a list. |
|||
msg39313 - (view) | Author: Thomas Heller (theller) * | Date: 2002-10-15 16:03 | |
Logged In: YES user_id=11105 Jeremy's solution works nicely, and is already implemented. Closing as works for me. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-10 16:05:07 | admin | set | github: 36301 |
2002-03-21 11:09:37 | theller | create |