[OpenJDK 2D-Dev] Code Review 7110002: Rename xawt/libmawt.so and headless/libmawt.so so they can be colocated with libawt

David Holmes david.holmes at oracle.com
Fri Nov 11 05:00:05 UTC 2011


I just discovered that there is an additional change needed for 
JAVASE_EMBEDDED. On the JDK side we also have a check to try and 
determine if this is a headless or headful JRE, because a true 
headless-JRE requires the special HToolkit. That code checks for the 
existence of lib/<arch>/xawt to make that decision and so presently all 
JRE's appear to headless JREs :(

Here's a fix:

diff -r 830d2e46023a src/solaris/native/java/lang/java_props_md.c
--- a/src/solaris/native/java/lang/java_props_md.c
+++ b/src/solaris/native/java/lang/java_props_md.c
@@ -325,8 +325,8 @@
      realpath((char *)dlinfo.dli_fname, buf);
      len = strlen(buf);
      p = strrchr(buf, '/');
-    /* Default AWT Toolkit on Linux and Solaris is XAWT. */
-    strncpy(p, "/xawt/", MAXPATHLEN-len-1);
+    /* Default AWT Toolkit on Linux and Solaris is libawt_xawt. */
+    strncpy(p, "/libawt_xawt.so", MAXPATHLEN-len-1);
      /* Check if it exists */
      if (stat(buf, &statbuf) == -1 && errno == ENOENT) {
          /* No - this is a reduced-headless-jre so use special HToolkit */

Sorry I didn't think of this earlier.


On 9/11/2011 10:28 PM, Chris Hegarty wrote:
> Hi,
> CR 7110002 proposes to rename the unix version of the awt toolkit
> libraries to allow them reside in the same directory as libawt.
> xawt/libmawt.so -> libawt_xawt.so
> headless/libmawt.so -> libawt_headless.so
> The proposed new library names are prefixed with 'libawt' since they are
> subcomponents of libawt and this will make them more easily recognizably
> as such. But this is not necessarily a requirement, just that they are
> unique and can be colocated with libawt.
> This CR is part of the modularity effort. A future requirement of the
> jigsaw prototype is to treat native JDK implementation libraries as it
> would any user module installed in a module library. That is, native
> libraries should reside within the lib directory of the installed
> module. In the module library then AWT's libraries might be located in
> somewhere like modules/sun.desktop/8.0/lib.
> See discussion on the awt-dev mailing list for further context:
> http://mail.openjdk.java.net/pipermail/awt-dev/2011-April/001666.html
> Webrev:
> http://cr.openjdk.java.net/~chegar/7110002/webrev.00/
> Thanks,
> -Chris

More information about the 2d-dev mailing list