RFR: Allow using a system-installed lcms2 (original) (raw)

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!

/Magnus



More information about the build-dev mailing list