Hi, Phil.
Should we update the "harfbuzz.md" file as well?

On 28/02/2019 16:12, Philip Race wrote:
Bug: https://bugs.openjdk.java.net/browse/JDK-8210782
Webrev: http://cr.openjdk.java.net/~prr/8210782/

This change upgrades JDK 13 from using harfbuzz v 1.8.1 to v 2.3.1 which is 
currently the latest release of harfbuzz

harfbuzz is the 3rd party (external) C++ library used by OpenJDK for OpenType 
text layout.

In this large upgrade
- Many files were renamed following the pattern of "hb-foo-private.cc" becoming 
"hb-foo.cc"
- Many new files were added
- A couple of files were deleted.

There are two additional changes on top of this
I needed to import a published but un-released fix to enable building with 
Oracle Studio 12.6 on Solaris
See 
https://github.com/harfbuzz/harfbuzz/commit/1e06282105a2d579aab32094cc7abc10ed231978
I needed to reapply a fix made in JDK as JDK-8218965 that mirrors upstream to 
support building with the latest AIX compilers
See 
https://github.com/harfbuzz/harfbuzz/commit/5c2bb1de8de31fecf0dae2ef905b896e42d39f1d
This doesn't show up as a "diff" in the JDK webrev which demonstrates that it 
is correctly re-applied as previously.

There are two JDK files changed :
(1)
- The makefile has been updated to disable several new warnings.
- To prevent harfbuzz from enabling warnings that were disabled - and avoid 
unknown pragma warnings we now define

-DHB_NO_PRAGMA_GCC_DIAGNOSTIC


See hb.hh for what harfbuzz is doing there, but without this -D option we cannot
disable warnings from the build since they are enabled in the code itself.

(2)
- A couple of harfbuzz APIs were deprecated so I needed to make code changes in 
hb-jdk-font.cc to use
the new API.

I have tested that this builds cleanly with all the current devkits (via the 
build servers) and that it also builds
with the in progress work to provide a gcc 8.2 devkit for Linux
I have also run all the related automated tests and performed some manual 
testing too.

-phil.


--
Best regards, Sergey.

Reply via email to