review: @native annotations

David Hill David.Hill at Oracle.com
Sat Sep 17 02:46:40 UTC 2016


Kevin, Guru,

The javac tool now provides the ability to generate native headers as needed. This removes the need to run the javah tool as a separate step in the build pipeline. The feature is enabled in javac by using the new -h option, which is used to specify a directory in which the header files should be written. Header files will be generated for any class which has either native methods, or constant fields annotated with a new annotation of type java.lang.annotation.Native. (Since JDK 1.8)

This should ease the transition to a modular build by allowing us to remove one extra javah step.

These two change sets add @Native annotations to classes that we need in native that are not currently  being generated automatically with javac -h. In two cases, I removed "empty" header includes (the javah generated header does not have any meaningful content).

https://bugs.openjdk.java.net/browse/JDK-8166230
http://cr.openjdk.java.net/~ddhill/8166230 graphics, media

https://bugs.openjdk.java.net/browse/JDK-8166231
http://cr.openjdk.java.net/~ddhill/8166231 webkit

Note that the actual conversion to using the javac -h step will happen at a later date. These changesets just allow us to get ready for that future, and reduce the risk of merge conflicts later.


-- 
David Hill<David.Hill at Oracle.com>
Java Embedded Development

"A man's feet should be planted in his country, but his eyes should survey the world."
-- George Santayana (1863 - 1952)



More information about the openjfx-dev mailing list