[OpenJDK 2D-Dev] RFR: 8210782: Upgrade HarfBuzz to the latest 2.3.1

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Fri Mar 1 13:28:25 UTC 2019


On 2019-03-01 01:12, Philip Race wrote:
> Bug: https://bugs.openjdk.java.net/browse/JDK-8210782
> Webrev: http://cr.openjdk.java.net/~prr/8210782/
Looks good from a build PoV.

/Magnus

>
> 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.



More information about the build-dev mailing list