Magnus,
Looks good to me.
/Erik
On 2013-10-23 09:52, Magnus Ihse Bursie wrote:
On 2013-10-21 15:38, Magnus Ihse Bursie wrote:
A question on Windows. If we find freetype in $PROGRAMFILES/GnuWin32, will the
resulting jdk image find the library there at runtime or should we still bundle
it?
[...]
*) Actually, when I scrutinized the code, I noticed that USING_SYSTEM_FT_LIB
was incorrectly set when using builddeps or pkg-config. I'll update the WebRe
regarding this and the typo.
This fix has grown a bit. I've published a new webrev. Some comments
about the changes since the last webrev: The old logic with
USING_SYSTEM_FT_LIB was very hard to follow, and arguably completely
wrong in certain situations. Instead of trying harder to adapt the
configure code to the existing makefile logic, I decided to fix the
makefile logic, and make our behavior more explicit.
The explicit behaviour is now that we, by default, bundle the freetype
library on Windows, or (on any platform) when using --with-freetype.
There is now a new flag, --enable/disable-freetype-bundling, which
overrides this behavior, and forces/prohibits bundling, regardless of
circumstances. If we force bundling, but do not specify a freetype
library path, we might be unable to use a freetype library that was
provided via builddeps or pkg-config. This is now correctly checked
for, and this freetype library is skipped, and we continue search for
one that we can bundle.
I also finally got tired of the mix between using "FREETYPE" and
"FREETYPE2", and replaced all instances with just FREETYPE (the
versioning is not relevant, and we don't use it for any other
library). It's still needed when interfacing external systems such as
pkg-config, though.
Finally, it turned out that we do indeed require freetype to build on
macosx, contrary to the apparent look of the code, and contrary to
general build instructions. :-) We just sneakily detected freetype,
and if it were not there, we could not build successfully on macosx.
(This is for the open part only; the closed build does not require
freetype). I'm not sure if this is a documentation bug, or a build
system bug. In any case; I've restored the previous behavior, and made
it more explicit. If this behavior should be changed, it must be
covered in another bug.
Updated webrev:
http://cr.openjdk.java.net/~ihse/JDK-8001922-improve-freetype-detection/webrev.03
/Magnus