RFR: JDK-8190484 Move jvm.h, jmm.h et al to hotspot/*/include
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Tue Dec 5 07:40:09 UTC 2017
On 2017-12-05 06:59, David Holmes wrote:
> Magnus,
>
> It seems these changes have broken all Windows builds:
Oh f*ck. :-(
I didn't test my re-addition of the Copy-jdk.accessibility.gmk file
properly. :(
I opened https://bugs.openjdk.java.net/browse/JDK-8193045.
/Magnus
>
> Copying support/modules_include/jdk.accessibility/win32/bridge
> /usr/bin/cp -fP
> '/cygdrive/c/jprt/T/P1/042744.daholme/s/open/src/jdk.accessibility/windows/native/include/bridge'
> '/cygdrive/c/jprt/T/P1/042744.daholme/s/build/windows-x64-debug/support/modules_include/jdk.accessibility/win32/bridge'
>
> /usr/bin/cp: omitting directory
> '/cygdrive/c/jprt/T/P1/042744.daholme/s/open/src/jdk.accessibility/windows/native/include/bridge'
> CopyCommon.gmk:62: recipe for target
> '/cygdrive/c/jprt/T/P1/042744.daholme/s/build/windows-x64-debug/support/modules_include/jdk.accessibility/win32/bridge'
> failed
> make[3]: ***
> [/cygdrive/c/jprt/T/P1/042744.daholme/s/build/windows-x64-debug/support/modules_include/jdk.accessibility/win32/bridge]
> Error 1
>
> David
> -----
>
> On 5/12/2017 7:26 AM, Erik Joelsson wrote:
>> Looks good.
>>
>> /Erik
>>
>>
>> On 2017-12-04 12:40, Magnus Ihse Bursie wrote:
>>> On 2017-12-04 19:17, mandy chung wrote:
>>>>
>>>>
>>>> On 12/4/17 9:33 AM, Erik Joelsson wrote:
>>>>> Hello Magnus,
>>>>>
>>>>> The <module>-copy targets are currently only being generated for
>>>>> modules that have make/copy/Copy-<module>.gmk makefiles present.
>>>>> By removing make/copy/Copy-jdk.accessibility.gmk and
>>>>> make/copy/Copy-jdk.jdwp.agent.gmk, those targets are no longer
>>>>> created so the logic in CopyCommon will not be executed.
>>>>>
>>>>> This can be solved in two ways. Either generate <module>-copy
>>>>> rules for all modules or leave the files there with just include
>>>>> CopyCommon.gmk as the only contents. I would recommend the latter
>>>>> for now. Most modules do not need to copy anything.
>>>>
>>>> Is it possible to generate <module>-copy rules for module where
>>>> src/<module>/{share, $OS}/include directory or
>>>> make/copy/Copy-<module>.gmk is present?
>>> Technically, it's of course possible. But it does not fit very well
>>> with the current DeclareRecipesForPhase. I agree with Erik, that for
>>> now the reasonable approach is to have files that only include
>>> CopyCommon. We can consider for future updates if it's worth
>>> generalizing this.
>>>
>>> Updated webrev that restores the removed Copy-$MODULE.gmk files:
>>> http://cr.openjdk.java.net/~ihse/JDK-8190484-move-hotspot-exported-includes/webrev.02
>>>
>>>
>>>>>
>>>>> Another minor note, when ordering include directories, I usually
>>>>> put the most specific dir first, so that any platform specific
>>>>> header file with the same name would override a more general one.
>>>>> We don't have that situation in this case, but I still think it's
>>>>> good practice.
>>>>>
>>>>> Regarding where to push this. IMO, if it depends on a change
>>>>> currently in hs, push it to hs. If it ends up in JDK 10 or 11
>>>>> doesn't really matter that much.
>>>>>
>>>>
>>>> I would love this in JDK 10 if time permits and I am happy to see
>>>> Coleen retarget it to 10. This is a really nice clean up that
>>>> shows the benefit from JEP 201 w.r.t. exported native header
>>>> files. But this is not a must for JDK 10 and if it can't make 10,
>>>> it's okay for 11.
>>>
>>> Ok. I'll try to get it into jdk 10. Will push this to jdk/jdk as
>>> soon as the needed fixes are integrated from jdk/hs.
>>>
>>> /Magnus
>>>
>>>>
>>>> Mandy
>>>>
>>>>
>>>>> /Erik
>>>>>
>>>>>
>>>>> On 2017-12-04 03:06, Magnus Ihse Bursie wrote:
>>>>>> JDK-8190484 was created as a follow-up bug to the unification of
>>>>>> the duplicated jvm.h, jvm_md.h and jmm.h, to determine the proper
>>>>>> location of these files. This has now been decided to be
>>>>>> hotspot/share/include and hotspot/os/$OS/include, respectively.
>>>>>>
>>>>>> This patch moves the relevant files there, but since this also
>>>>>> frees up the src/$MODULE/native/include directories for the
>>>>>> original purpose, it also unifies and simplifies the build logic
>>>>>> for these directories, so that common code is executed for all
>>>>>> modules to just copy any exported header files from these
>>>>>> directories, should they exist.
>>>>>>
>>>>>> I'm intending to push this to jdk-hs.
>>>>>>
>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8190484
>>>>>> WebRev:
>>>>>> http://cr.openjdk.java.net/~ihse/JDK-8190484-move-hotspot-exported-includes/webrev.01
>>>>>>
>>>>>>
>>>>>> /Magnus
>>>>>
>>>>
>>>
>>
More information about the hotspot-dev
mailing list