javah deprecated?

Kevin Rushforth kevin.rushforth at oracle.com
Thu Nov 30 16:31:38 UTC 2017


Yes, something along those lines is what I was thinking. Preferably it 
would be added in an existing class in the javafx.web module rather than 
a new class if a suitable one can be found. In either case, it will need 
to be done in a way that does not expose these constants as part of the 
public API (e.g., either they need to go into a non-public class, or a 
public class in a non-exported package, or the new constants need to be 
package scope).

Thanks.

-- Kevin


Johan Vos wrote:
> Hi Kevin,
>
> Just to make sure I understand this approach: you want a (new or 
> existing) Foo.Java file in the modules/javafx.web space that contains 
> e.g. this:
>
> public static int DIRECTIONALITY_LEFT_TO_RIGHT = 
> Character.DIRECTIONALITY_LEFT_TO_RIGHT;
>
> Applying javac -h (which the build already does) will generate Foo.h 
>
> In modules/javafx.web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h  
> we replace the
>
> #include java_lang_Character.h
>
> with
>
> #include Foo.h
>
>
> Is this correct?
>
>
> - Johan
>
>
> On Thu, Nov 30, 2017 at 2:13 PM Kevin Rushforth 
> <kevin.rushforth at oracle.com <mailto:kevin.rushforth at oracle.com>> wrote:
>
>     Hi Johan,
>
>     Thanks for filing the bug.
>
>     If we really do need Character and IDN, then the cleanest approach
>     might be to define new fields in a  suitable JavaFX class and
>     assign the appropriate values to them.
>
>
>     -- Kevin
>
>
>
>     Johan Vos wrote:
>>     I filed a bug (https://bugs.openjdk.java.net/browse/JDK-8192806)
>>     and I am looking into it.
>>
>>     It seems a bit weird to me that the java.lang.Character and
>>     java.net.IDN header files are needed. I'll remove them and see
>>     where it fails.
>>     But if they are needed (and they probably are), it won't be easy
>>     to generate them with javac -h as that requires the source code
>>     instead of the classfiles. That would require access to the
>>     java.lang.Character and java.net.IDN java source code in OpenJDK,
>>     from within OpenJFX.
>>
>>     - Johan
>>
>>     On Wed, Nov 29, 2017 at 8:02 PM Kevin Rushforth
>>     <kevin.rushforth at oracle.com <mailto:kevin.rushforth at oracle.com>>
>>     wrote:
>>
>>         Hi Johan,
>>
>>         Thanks for pointing this out. I had missed that this was
>>         targeted to JDK 10.
>>
>>         We eliminated all but one use of javah, in favor of javac -h,
>>         in JDK 9
>>         [1]. The only one remaining is in the web module. I can't
>>         remember why
>>         that wasn't switched at the same time (I have a fuzzy
>>         recollection that
>>         it might have had something to do with incremental
>>         compilation), but
>>         yes, it seems like this will need to be fixed.
>>
>>         If you would like to file a bug then this would be a great
>>         thing for the
>>         community to work on. This will block us from moving to JDK
>>         10 as a boot
>>         JDK, so if we end up doing that for JDK 10 then this would
>>         need to be
>>         done soon.
>>
>>         Let me know if you would like to work on this.
>>
>>         Thanks.
>>
>>         -- Kevin
>>
>>         [1] https://bugs.openjdk.java.net/browse/JDK-8161704
>>
>>
>>         Johan Vos wrote:
>>         > Hi,
>>         >
>>         > I learned javah might be removed in Java 10 (
>>         > http://openjdk.java.net/jeps/313) but as far as I know, it
>>         is still used in
>>         > OpenJFX:
>>         >
>>         > defineProperty("JAVAH",
>>         cygpath("$JDK_HOME/bin/javah${IS_WINDOWS ? '.exe' :
>>         > ''}"))
>>         >
>>         > Are there already plans to move to javac -h instead?
>>         > It seems a relative easy task that might be done by someone
>>         from the wider
>>         > community?
>>         >
>>         > Thanks,
>>         >
>>         > - Johan
>>         >
>>


More information about the openjfx-dev mailing list