[OpenJDK 2D-Dev] RFR: Allow using a system-installed lcms2

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Fri Feb 21 13:21:44 UTC 2014

On 2014-02-20 23:40, Omair Majid wrote:
> Hi,
> The following is a preliminary webrev that allows OpenJDK to build and
> run against a system-installed copy of lcms2 rather than the copy
> bundled with OpenJDK:
> root: http://cr.openjdk.java.net/~omajid/webrevs/system-lcms/00/
> jdk: http://cr.openjdk.java.net/~omajid/webrevs/system-lcms/00-jdk/
> The goal is to add a new option `--with-lcms=` with possible values
> `bundled` or `system`. Using `--with-lcms=system` builds using the
> system-installed copy of lcms2 while `--with-lcms=bundled` builds with
> the bundled copy of lcms2 in OpenJDK.
> This patch is quite a bit more invasive than the libpng one [1]. There
> are a few issues that came up:
> 1. The sources for the bundled library are contained next to
> OpenJDK-specific sources. This is not true for the bundled copies of
> zlib, libpng and giflib. On the other hand, the jpeg code in OpenJDK
> also mixes OpenJDK-specific code with bundled libjpeg code.  To make it
> easier to see (and compile) only non-lcms2 code, I moved the
> lcms2-specific code into a separate directory. There are no code changes
> there.
The only OpenJDK-specific file here is LCMS.c, right?

> I made changes which made sense to me, but I am not sure how this fits
> in with existing conventions. Perhaps people here have suggestions on
> how to make this less invasive and still achieve the goal while keep
> things separate and distinct?

I think it makes sense in separating our own code and an imported library.
I think the "j2" convention is reasonable.
I think the --with-lcms option is reasonable.

So, the parts seems to work out fine. Still there's something bothering 
me with this fix, that I can't really put my finger on. Let's hear what 
the 2D people are saying. If they don't object, I won't object.

But I like the way you're working on cleaning up our relationship to our 
bundled libraries!


More information about the 2d-dev mailing list