RFR: 8210782: Upgrade HarfBuzz to the latest 2.3.1
philip.race at oracle.com
Fri Mar 1 00:12:57 UTC 2019
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"
- 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
I needed to reapply a fix made in JDK as JDK-8218965 that mirrors
upstream to support building with the latest AIX compilers
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 :
- 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
See hb.hh for what harfbuzz is doing there, but without this -D option
disable warnings from the build since they are enabled in the code itself.
- 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.
More information about the build-dev