RFR: 8371914: PNG defines in CFLAGS can cause compilation errors with external libpng [v2]
Kurt Miller
kurt at openjdk.org
Wed Dec 3 16:01:39 UTC 2025
On Wed, 3 Dec 2025 05:36:16 GMT, Jayathirth D V <jdv at openjdk.org> wrote:
>> Kurt Miller has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Clarify comment per code review
>
> make/modules/java.desktop/lib/ClientLibraries.gmk line 167:
>
>> 165: ifeq ($(USE_EXTERNAL_LIBPNG), false)
>> 166: LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/libpng
>> 167: LIBSPLASHSCREEN_CFLAGS += -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0
>
> I think we can move these flags which are not specific to any OS/Architecture to src/java.desktop/share/native/libsplashscreen/libpng/pnglibconf.h itself. But it should be handled in follow-up task not under this bug. Filed https://bugs.openjdk.org/browse/JDK-8372979 for the same.
@jayathirthrao Thank you for the review.
The internal PNG defines are treated inconsistently. MMX is x86, PNG_ARM is arm/aarch64 but they are not behind CpuArch conditionals while the others are behind OS + CpuArch conditionals. All of these defines appear to be well scoped and likely don't conflict with each other for internal png. I suspect they all can be defined without OS + CpuArch conditionals for the internal png case.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28324#discussion_r2585698160
More information about the client-libs-dev
mailing list