RFR: JDK-8072106 Properly handle dependencies for deleted header files

Dave Pointon pointo1d at gmail.com
Tue Feb 3 11:32:21 UTC 2015


Hiya David ,

Like you, I don't understand why a header file might be deleted following
compilation but I can 'sort of' understand why it might not actually be
needed following that compilation. Having said that, it makes no sense that
a header file required for the initial compilation would not be needed in
the event that the initial compilation is repeated ... unless there's some
sort of dynamic modification going on in the source file.

Best rgds ,

--
Dave Pointon FIAP MBCS

Now I saw, tho' too late, the folly of beginning a work before we count the
cost and before we we judge rightly of our strength to go thro' with it -
Robinson Crusoe

On 2 February 2015 at 22:14, David Holmes <david.holmes at oracle.com> wrote:

> Hi Magnus,
>
> On 3/02/2015 1:51 AM, Magnus Ihse Bursie wrote:
>
>> When a header file is deleted, make will complain "No rule to make
>> target <old header file>". This often breaks incremental build
>> completely unnecessary.
>>
>
> When/why would a header file be deleted?
>
> There's one typo "dependeny" but I can't comment on the rest of the make
> magic.
>
> David
>
>
>  This can be fixed by adding dummy rules for all header files like this:
>> <header file>:
>>
>> gcc can create such rules by itself by using -MP in the generated make
>> dependency files, but that feature is not available for any other
>> compiler, so I opted not to use it, in favour of a solution that works
>> on all platforms.
>>
>> This patch also contain a cosmetic fix for printing incremental build
>> information that was made somewhat less clear when the vardeps
>> functionality was introduced.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8072106
>> WebRev:
>> http://cr.openjdk.java.net/~ihse/JDK-8072106-make-
>> dependency-targets-generation/webrev.01
>>
>>
>> /Magnus
>>
>



More information about the build-dev mailing list