Bug: https://bugs.openjdk.java.net/browse/JDK-8081315 Webrev: http://cr.openjdk.java.net/~andrew/8081315/webrev.01/
In 8011278, the option was added to build OpenJDK with a system installation of giflib, something we've been doing for many years in the IcedTea project. Following 8077982, the internal copy of giflib was upgraded to version 5.1 and appropriate changes were made to the splashscreen code to adapt to this version. However, these changes were made unconditionally and, in the process, the build of OpenJDK with a system version of giflib < 5 was broken. This is because giflib 5.0 altered the signature of DGifOpen to take an optional error code and the same change was made to DGifCloseFile in 5.1. Such changes were made upstream to allow the use of giflib from multi-threaded applications where a shared error number may cause concurrency issues. We adapted IcedTea to these changes in 2.3.7 (2013-02-20) and 2.5.5 (2015-04-14) using conditionals to allow the code to still build on older versions. A slightly updated version of this code forms the webrev included here. As can be seen from the patch, the same code is largely retained for the in-tree giflib 5, with the minor addition of checking for an error from DGifCloseFile. However, the conditionals also allow the return of the older code used prior to 8077982, so that older system giflibs can still be used. Does this look OK to push to client? Thanks, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: ed25519/35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 PGP Key: rsa4096/248BDC07 (hkp://keys.gnupg.net) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07