<AWT Dev> RfR JDK-8055831 Open Source Java Access Bridge

Pete Brunet peter.brunet at oracle.com
Mon Mar 23 17:31:08 UTC 2015

Hi Erik,

I tried the restructuring about 2 weeks ago and the build failed trying
to find an h file in the common directory.  I used two directories on
the SRC := setting for SetupNativeCompilation but the build failed not
finding an h file located in the second (common) directory.

On 3/23/15 5:06 AM, Erik Joelsson wrote:
> Hello Pete,
> In general this looks good. However, to better fit with our intended
> source code file layout, I would prefer if the source was organized by
> the names of the libraries being built, and this would be a good time
> to get it done properly. Something like this:
> jdk.accessibility/windows/native/libjavaaccessbridge/
>     AccessBridgeATInstance.cpp
>     AccessBridgeJavaEntryPoints.cpp
>     JavaAccessBridge.cpp
> jdk.accessibility/windows/native/libwindowsaccessbridge/
>     AccessBridgeJavaVMInstance.cpp
>     AccessBridgeMessageQueue.cpp
>     AccessBridgeWindowsEntryPoints.cpp
>     WinAccessBridge.cpp
>     AccessBridgeEventHandler.cpp
> jdk.accessibility/windows/native/common
>     AccessBridgeDebug.cpp
>     AccessBridgeMessages.cpp
> jdk.accessibility/windows/native/libjabsysinfo/
>     AccessBridgeSysInfo.cpp
> The header files needed for more than one lib would also go in common,
> otherwise in the specific lib dir. The SetupNativeCompilation calls
> would then not need to list explicit files but would only need to list
> the necessary directories.
Maybe that will fix the issue I encountered.  I'll try that.
> There are a number of extra .cpp files in the libaccessbridge dir that
> aren't used in any of the libraries. What is the purpose of those?
> Keeping source code around that is not being built seems strange to
> me. There are also extra .rc files and a bunch of .DEF files. Are the
> .DEF files used for anything? If all these files really need to be
> included in our source base, perhaps sort them out into a
> jdk.accessibility/windows/native/misc dir or something so that it's
> clear what is needed to build the product and what is not?
The Ferret and Monkey tools need to be built and added to the JDK
image.  This is JDK-8056925.  That covers 2 CPP and the 3 RC files plus
AccessInfo.cpp.  Do you want me to remove those now and add them back in

JavaAccessBridge.DEF is pretty empty.  I'll see if the build will work
without it.

WinAccessBridge.DEF seems like it might be needed.  What do you think?

> /Erik
> On 2015-03-21 05:33, Pete Brunet wrote:
>> Please review the following patch which will add the code of the Java
>> Access Bridge (JAB) and related Java Accessibility Utilities to OpenJDK.
>> This code is used by Assistive Technology such as screen readers and
>> screen magnifiers used by those who are blind or have low vision.  AT
>> use the JAB native API and the JAB in turn uses the Java Accessibility
>> API (JAAPI).  For more information on JAAPI see the javax.accessibility
>> package.  This is a Windows accessibility solution.
>> http://cr.openjdk.java.net/~ptbrunet/JDK-8055831/webrev.00/
>> Pete

More information about the awt-dev mailing list