On 6/27/25 12:41 PM, Michael Olbrich wrote: > On Mon, Jun 16, 2025 at 08:21:08PM +0200, Christian Melki wrote: >> https://sourceforge.net/p/libpng/code/ci/libpng16/tree/CHANGES >> >> * Add RISC-V vector option. >> >> * Re-add lost ARM NEON optimization. I removed this, misunderstanding >> the work done. This can be enabled for ARM64 where NEON >> is an unconditional addition. I think it also could be enabled >> for ARM NEON capable hard-float and soft-fp (not soft-float). >> >> * Disable the automatic optimization. It seems to not get the ARM >> NEON case right. > > What exactly did not work for you? > > So I looked at that stuff, and I think, the correct way to handle this is > to _not_ specify --{en,dis}able-hardware-optimizations at all and then use > --enable-arm-neon=$(call ptx/ifdef, PTXCONF_ARCH_ARM_NEON,api,no) > > Does that work in your case? > > Michael >
I think the ARM neon case is slightly more complex than it looks. If I enable it, it breaks on my builds. Maybe I need a way to discern if the toolchain is generating hard floats or soft-fp with neon or not? Not sure how to formulate it, that's why the update ignores ARM for now. Christian >> Signed-off-by: Christian Melki <[email protected]> >> --- >> rules/libpng.make | 7 +++++-- >> 1 file changed, 5 insertions(+), 2 deletions(-) >> >> diff --git a/rules/libpng.make b/rules/libpng.make >> index 07c6ea99b..824974289 100644 >> --- a/rules/libpng.make >> +++ b/rules/libpng.make >> @@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_LIBPNG) += libpng >> # >> # Paths and names >> # >> -LIBPNG_VERSION := 1.6.48 >> -LIBPNG_MD5 := 6ddbe2107e3811d51da698794b8fb4a2 >> +LIBPNG_VERSION := 1.6.49 >> +LIBPNG_MD5 := 66c58f211e8e9fc66e621965960df19c >> LIBPNG := libpng-$(LIBPNG_VERSION) >> LIBPNG_SUFFIX := tar.xz >> LIBPNG_URL := $(call ptx/mirror, SF, libpng/$(LIBPNG).$(LIBPNG_SUFFIX)) >> @@ -41,11 +41,14 @@ LIBPNG_CONF_OPT := \ >> --enable-unversioned-links \ >> --enable-unversioned-libpng-pc \ >> --enable-unversioned-libpng-config \ >> + --disable-hardware-optimizations \ >> + --$(call ptx/endis, PTXCONF_ARCH_ARM64)-arm-neon \ >> --disable-mips-msa \ >> --disable-mips-mmi \ >> --$(call ptx/endis, PTXCONF_ARCH_X86)-intel-sse \ >> --disable-powerpc-vsx \ >> --disable-loongarch-lsx \ >> + --$(call ptx/endis, PTXCONF_ARCH_RISCV)-riscv-rvv \ >> --with-binconfigs >> >> # >> ---------------------------------------------------------------------------- >> -- >> 2.34.1 >> >> >> >
