"SMPE can only track dependencies it has been told about. Somehow they need to be tracked prior to that so they can be added to the SMPE packaging."
The information that you need to construct the SMP packaging you also need to avoid breaking the build. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Discussion List <IBM-MAIN@listserv.ua.edu> on behalf of Andrew Rowley <and...@blackhillsoftware.com> Sent: Thursday, December 7, 2017 5:57 PM To: IBM-MAIN@listserv.ua.edu Subject: Re: SFTP On 8/12/2017 7:35 AM, Seymour J Metz wrote: > WTF? The whole point of SMP is that *SMP* tracks dependencies. SMPE can only track dependencies it has been told about. Somehow they need to be tracked prior to that so they can be added to the SMPE packaging. > It's trivial to take interface changes into account. Of course, that5 takes > proper packaging, but you don't blame the hammer when someone uses it do > drive in a screw. CVS, git, SMP, subversion, etc., are not magic bullets and > should not be judged based on how people who don't understand them might > misuse them. > > > The same bookkeeping needed to avoid a bad build gives you the information > that you need for SMP packaging. It's not that simple. The compiler can do stuff that the builder knows nothing about. e.g. you have module A, called by module B, C and D. The compiler can take functions from module A, and to save the overhead of a function call it can inline pieces of code from A into B, C and D. Then you make an internal change to A. No code changes to B, C and D. However, maybe the changes mean the code can no longer be inlined into other modules. So you only changed A, but also need to ship B, C, D. It's also possible that the changes to B, C, D also affected other modules that call them (e.g. maybe they inlined the B code that inlined the A code). Maybe you then make a seemingly unrelated change to module F, but that affects the compiler heuristics about what should be inlined (e.g. module size) and inlining of A, B, C, D changes again. To develop correct SMP requisites you need to know not only what you changed, but also track whether any other related modules have consequential changes to the *output* from the compiler - not just their source code. -- Andrew Rowley Black Hill Software ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN