[11u] Backport of 8247872: Upgrade HarfBuzz to the latest 2.7.2
Doerr, Martin
martin.doerr at sap.com
Thu Jan 7 17:16:25 UTC 2021
Hi,
I've created a jdk11u backport of JDK-8247872: Upgrade HarfBuzz to the latest 2.7.2
http://cr.openjdk.java.net/~mdoerr/8247872_harfbuzz_11u/webrev.00/
I had to resolve it a bit manually [1].
However, the main problem is that it heavily uses C++11, so easiest solution is to add HARFBUZZ_CFLAGS := -std=c++11.
This works for all supported compilers [2] except xlC on AIX and sun studio on Solaris.
I could envision different solutions:
1. Change code to work with older C++ standard. I don't want to do this because this seems to be significant effort and is probably error prone (I'm not really familiar with the code and TMP code is hard to adapt). And we may have to repeat it for future HB upgrades.
2. Upgrade compilers: This is possible on AIX. We'd need to backport some build changes and use xlclang++. But I guess there's no solaris studio available which can compile it. Note that the original bug was blocked by JEP 362: Deprecate the Solaris and SPARC Ports.
3. Use configure flag --with-harfbuzz=system on the problematic platforms. Disadvantage: All machines require new enough version of libharfbuzz installed.
4. Skip JDK-8247872 backport. Oracle must have had a reason for backporting it to 11.0.11-oracle, so some jdk11u users will probably want to have it at least on the main platforms.
Any comments or ideas will be appreciated.
Best regards,
Martin
[1] Resolution steps:
- Manually delete hb-dsalgs.hh.
- Awt2dLibraries.gmk is at a different location in 11u.
- Integrate a few hunks manually due to minor adaptations for Solaris build: see http://cr.openjdk.java.net/~mdoerr/8247872_harfbuzz_11u/8247872_harfbuzz_failing_hunks.txt
- Add HARFBUZZ_CFLAGS := -std=c++11 to Awt2dLibraries.gmk.
[2] Supported compilers:
https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms
More information about the jdk-updates-dev
mailing list