FWIW I am very much in favor of (1) and if aesthetics are a problem in awt_GraphicsEnv.c, a "HAVE_XRANDR" define would make things a bit prettier...
just my 2c. On Mon, Nov 19, 2018 at 6:58 PM Volker Simonis <volker.simo...@gmail.com> wrote: > > Hi Phil, > > I'd like to kindly ask you to suggest how we can proceed with this issue. > > As I wrote before, Xrandr is not officially supported on AIX and there > are no official packages available for it. There are some OpenSource > sites for AIX which provide Xrandr, but they are all not compatible > with the default native libraries (e.g. the open source Xrandr package > depends on another open source package of Xrender.so.1 but the system > only provides Xrender.so.0 natively). We can't compile the whole JDK > (i.e. libawt_xawt.so) against some open source package of Xrender.so.1 > because that simply won't be available on the majority of systems. > > Remember that forcing people to install these open-source packages > even as a build dependency is like expecting Linux users to install > some non-official packages just to be able to build. Especially in > corporate environments that's not easy. Moreover the benefit would be > really minimal, because the Xrandr functionality won't be available at > runtime anyway. > > So to cut a long story short, I see two options: > > 1. Go with my current patch (ugly but efficient) > > 2. Check-in in an AIX specific version of XRander.h/randr.h under > src/java.desktop/aix (OK for me, but that would actually negate the > initial purpose of "8210863: Remove Xrandr include files") > > Do you have a better proposal? > > Thank you and best regards, > Volker > > On Fri, Nov 16, 2018 at 11:22 AM Volker Simonis > <volker.simo...@gmail.com> wrote: > > > > On Thu, Nov 15, 2018 at 6:01 PM Philip Race <philip.r...@oracle.com> wrote: > > > > > > PS I am not sure why xrandr headers would not be available for AIX. > > > They are a standard part of the xdistribution. > > > > > > > I'm not an X11 guru, but as far as I understand, xrandr is an > > extension and as such it doesn't have to be supported by every > > implementation. To the best of my knowledge (I've just started another > > poll among some experts) AIX doesn't support Xrandr and does not have > > the corresponding headers. > > > > > If true, think what you are going to have to do is add a > > > --with-xrandr-include option > > > and provide it that way. > > > > > > > What if there are no standard Xrandr headers on a platform? Do you > > really want to force users to get them from some dubious sources just > > for building the OpenJDK? Sorry, but I don't think that's a good > > solution. Than I'd rather prefer the ugly ifdefs (or I check the > > headers back in again in an AIX-specific directory :) > > > > Thank you and best regards, > > Volker > > > > > -phil. > > > > > > On 11/15/18, 8:55 AM, Philip Race wrote: > > > > Hmm. I don't like the ifdefs. > > > > > > > > Xrandr is a requirement for the build. If its not there at runtime > > > > that's OK. > > > > > > > > -phil. > > > > > > > > On 11/15/18, 8:06 AM, Volker Simonis wrote: > > > >> Hi, > > > >> > > > >> can I please have a review for the following small change: > > > >> > > > >> http://cr.openjdk.java.net/~simonis/webrevs/2018/8213944/ > > > >> https://bugs.openjdk.java.net/browse/JDK-8213944 > > > >> > > > >> Change JDK-8210863 removed the Xrandr.h/randr.h headers from the > > > >> OpenJDK sources but forgot to add a configure check for the Xrandr > > > >> extension which is now a build dependency. > > > >> > > > >> The change also broke the AIX build. AIX never supported Xrandr, but > > > >> that was only detected at runtime, when the JDK was unable to > > > >> dynamically load libXrand.so. Now, without Xrandr.h/randr.h in the > > > >> source tree any more, we have to conditionally compile some parts of > > > >> src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c such > > > >> that it doesn't require the definitions and declarations from > > > >> Xrandr.h/randr.h any more. > > > >> > > > >> Thank you and best regards, > > > >> Volker