mips: Wrap up the MIPS/Loongson port and acknowledge the contributors

Completion of this port required a rerun of `./autogen.sh --maintainer`
followed by a rebuild of scripts/pnglibconf.h.prebuilt.
This commit is contained in:
Cosmin Truta 2024-01-17 23:24:05 +02:00
parent ce4b632dd7
commit a7fe3414e5
9 changed files with 338 additions and 44 deletions

View File

@ -42,6 +42,9 @@ Authors, for copyright and licensing purposes.
- Mike Klein - Mike Klein
- Sami Boukortt - Sami Boukortt
- Wan-Teh Chang - Wan-Teh Chang
* Loongson Technology Corporation Ltd.
- GuXiWei
- ZhangLixia
The build projects, the build scripts, the test scripts, and other The build projects, the build scripts, the test scripts, and other
files in the "ci", "projects", "scripts" and "tests" directories, have files in the "ci", "projects", "scripts" and "tests" directories, have

View File

@ -114,19 +114,22 @@ host_triplet = @host@
@PNG_MIPS_MSA_TRUE@am__append_3 = mips/mips_init.c\ @PNG_MIPS_MSA_TRUE@am__append_3 = mips/mips_init.c\
@PNG_MIPS_MSA_TRUE@ mips/filter_msa_intrinsics.c @PNG_MIPS_MSA_TRUE@ mips/filter_msa_intrinsics.c
@PNG_INTEL_SSE_TRUE@am__append_4 = intel/intel_init.c\ @PNG_MIPS_MMI_TRUE@@PNG_MIPS_MSA_FALSE@am__append_4 = mips/mips_init.c
@PNG_MIPS_MMI_TRUE@am__append_5 = mips/filter_mmi_inline_assembly.c
@PNG_INTEL_SSE_TRUE@am__append_6 = intel/intel_init.c\
@PNG_INTEL_SSE_TRUE@ intel/filter_sse2_intrinsics.c @PNG_INTEL_SSE_TRUE@ intel/filter_sse2_intrinsics.c
@PNG_POWERPC_VSX_TRUE@am__append_5 = powerpc/powerpc_init.c\ @PNG_POWERPC_VSX_TRUE@am__append_7 = powerpc/powerpc_init.c\
@PNG_POWERPC_VSX_TRUE@ powerpc/filter_vsx_intrinsics.c @PNG_POWERPC_VSX_TRUE@ powerpc/filter_vsx_intrinsics.c
# Versioned symbols and restricted exports # Versioned symbols and restricted exports
@HAVE_LD_VERSION_SCRIPT_TRUE@@HAVE_SOLARIS_LD_TRUE@am__append_6 = -Wl,-M -Wl,libpng.vers @HAVE_LD_VERSION_SCRIPT_TRUE@@HAVE_SOLARIS_LD_TRUE@am__append_8 = -Wl,-M -Wl,libpng.vers
@HAVE_LD_VERSION_SCRIPT_TRUE@@HAVE_SOLARIS_LD_FALSE@am__append_7 = -Wl,--version-script=libpng.vers @HAVE_LD_VERSION_SCRIPT_TRUE@@HAVE_SOLARIS_LD_FALSE@am__append_9 = -Wl,--version-script=libpng.vers
# Only restricted exports when possible # Only restricted exports when possible
@HAVE_LD_VERSION_SCRIPT_FALSE@am__append_8 = -export-symbols libpng.sym @HAVE_LD_VERSION_SCRIPT_FALSE@am__append_10 = -export-symbols libpng.sym
@DO_PNG_PREFIX_TRUE@am__append_9 = -DPNG_PREFIX='@PNG_PREFIX@' @PNG_LOONGARCH_LSX_TRUE@am__append_11 = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx.la
@DO_PNG_PREFIX_TRUE@am__append_12 = -DPNG_PREFIX='@PNG_PREFIX@'
subdir = . subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/scripts/libtool.m4 \ am__aclocal_m4_deps = $(top_srcdir)/scripts/libtool.m4 \
@ -179,8 +182,7 @@ am__uninstall_files_from_dir = { \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \ $(am__cd) "$$dir" && rm -f $$files; }; \
} }
LTLIBRARIES = $(lib_LTLIBRARIES) LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LIBADD =
am__libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES_DIST = png.c \ am__libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES_DIST = png.c \
pngerror.c pngget.c pngmem.c pngpread.c pngread.c pngrio.c \ pngerror.c pngget.c pngmem.c pngpread.c pngread.c pngrio.c \
pngrtran.c pngrutil.c pngset.c pngtrans.c pngwio.c pngwrite.c \ pngrtran.c pngrutil.c pngset.c pngtrans.c pngwio.c pngwrite.c \
@ -188,24 +190,28 @@ am__libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES_DIST = png.c \
pngpriv.h pngstruct.h pngusr.dfa arm/arm_init.c \ pngpriv.h pngstruct.h pngusr.dfa arm/arm_init.c \
arm/filter_neon.S arm/filter_neon_intrinsics.c \ arm/filter_neon.S arm/filter_neon_intrinsics.c \
arm/palette_neon_intrinsics.c mips/mips_init.c \ arm/palette_neon_intrinsics.c mips/mips_init.c \
mips/filter_msa_intrinsics.c intel/intel_init.c \ mips/filter_msa_intrinsics.c mips/filter_mmi_inline_assembly.c \
intel/filter_sse2_intrinsics.c powerpc/powerpc_init.c \ intel/intel_init.c intel/filter_sse2_intrinsics.c \
powerpc/filter_vsx_intrinsics.c powerpc/powerpc_init.c powerpc/filter_vsx_intrinsics.c
am__dirstamp = $(am__leading_dot)dirstamp am__dirstamp = $(am__leading_dot)dirstamp
@PNG_ARM_NEON_TRUE@am__objects_1 = arm/arm_init.lo arm/filter_neon.lo \ @PNG_ARM_NEON_TRUE@am__objects_1 = arm/arm_init.lo arm/filter_neon.lo \
@PNG_ARM_NEON_TRUE@ arm/filter_neon_intrinsics.lo \ @PNG_ARM_NEON_TRUE@ arm/filter_neon_intrinsics.lo \
@PNG_ARM_NEON_TRUE@ arm/palette_neon_intrinsics.lo @PNG_ARM_NEON_TRUE@ arm/palette_neon_intrinsics.lo
@PNG_MIPS_MSA_TRUE@am__objects_2 = mips/mips_init.lo \ @PNG_MIPS_MSA_TRUE@am__objects_2 = mips/mips_init.lo \
@PNG_MIPS_MSA_TRUE@ mips/filter_msa_intrinsics.lo @PNG_MIPS_MSA_TRUE@ mips/filter_msa_intrinsics.lo
@PNG_INTEL_SSE_TRUE@am__objects_3 = intel/intel_init.lo \ @PNG_MIPS_MMI_TRUE@@PNG_MIPS_MSA_FALSE@am__objects_3 = \
@PNG_MIPS_MMI_TRUE@@PNG_MIPS_MSA_FALSE@ mips/mips_init.lo
@PNG_MIPS_MMI_TRUE@am__objects_4 = mips/filter_mmi_inline_assembly.lo
@PNG_INTEL_SSE_TRUE@am__objects_5 = intel/intel_init.lo \
@PNG_INTEL_SSE_TRUE@ intel/filter_sse2_intrinsics.lo @PNG_INTEL_SSE_TRUE@ intel/filter_sse2_intrinsics.lo
@PNG_POWERPC_VSX_TRUE@am__objects_4 = powerpc/powerpc_init.lo \ @PNG_POWERPC_VSX_TRUE@am__objects_6 = powerpc/powerpc_init.lo \
@PNG_POWERPC_VSX_TRUE@ powerpc/filter_vsx_intrinsics.lo @PNG_POWERPC_VSX_TRUE@ powerpc/filter_vsx_intrinsics.lo
am_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS = png.lo pngerror.lo \ am_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS = png.lo pngerror.lo \
pngget.lo pngmem.lo pngpread.lo pngread.lo pngrio.lo \ pngget.lo pngmem.lo pngpread.lo pngread.lo pngrio.lo \
pngrtran.lo pngrutil.lo pngset.lo pngtrans.lo pngwio.lo \ pngrtran.lo pngrutil.lo pngset.lo pngtrans.lo pngwio.lo \
pngwrite.lo pngwtran.lo pngwutil.lo $(am__objects_1) \ pngwrite.lo pngwtran.lo pngwutil.lo $(am__objects_1) \
$(am__objects_2) $(am__objects_3) $(am__objects_4) $(am__objects_2) $(am__objects_3) $(am__objects_4) \
$(am__objects_5) $(am__objects_6)
nodist_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS = nodist_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS =
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS = \ libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS = \
$(am_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS) \ $(am_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS) \
@ -219,6 +225,19 @@ libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LINK = $(LIBTOOL) $(AM_V_lt) \
$(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS) $(LDFLAGS) -o \ $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS) $(LDFLAGS) -o \
$@ $@
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_LIBADD =
am__libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_SOURCES_DIST = \
loongarch/loongarch_lsx_init.c \
loongarch/filter_lsx_intrinsics.c
@PNG_LOONGARCH_LSX_TRUE@am_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_OBJECTS = loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.lo \
@PNG_LOONGARCH_LSX_TRUE@ loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.lo
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_OBJECTS = \
$(am_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_OBJECTS)
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_LINK = $(LIBTOOL) $(AM_V_lt) \
--tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
$(CCLD) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
@PNG_LOONGARCH_LSX_TRUE@am_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_rpath =
am__png_fix_itxt_SOURCES_DIST = contrib/tools/png-fix-itxt.c am__png_fix_itxt_SOURCES_DIST = contrib/tools/png-fix-itxt.c
@ENABLE_TOOLS_TRUE@am_png_fix_itxt_OBJECTS = \ @ENABLE_TOOLS_TRUE@am_png_fix_itxt_OBJECTS = \
@ENABLE_TOOLS_TRUE@ contrib/tools/png-fix-itxt.$(OBJEXT) @ENABLE_TOOLS_TRUE@ contrib/tools/png-fix-itxt.$(OBJEXT)
@ -306,6 +325,9 @@ am__depfiles_remade = ./$(DEPDIR)/png.Plo ./$(DEPDIR)/pngerror.Plo \
contrib/tools/$(DEPDIR)/pngfix.Po \ contrib/tools/$(DEPDIR)/pngfix.Po \
intel/$(DEPDIR)/filter_sse2_intrinsics.Plo \ intel/$(DEPDIR)/filter_sse2_intrinsics.Plo \
intel/$(DEPDIR)/intel_init.Plo \ intel/$(DEPDIR)/intel_init.Plo \
loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.Plo \
loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.Plo \
mips/$(DEPDIR)/filter_mmi_inline_assembly.Plo \
mips/$(DEPDIR)/filter_msa_intrinsics.Plo \ mips/$(DEPDIR)/filter_msa_intrinsics.Plo \
mips/$(DEPDIR)/mips_init.Plo \ mips/$(DEPDIR)/mips_init.Plo \
powerpc/$(DEPDIR)/filter_vsx_intrinsics.Plo \ powerpc/$(DEPDIR)/filter_vsx_intrinsics.Plo \
@ -341,11 +363,13 @@ am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 = am__v_CCLD_1 =
SOURCES = $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES) \ SOURCES = $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES) \
$(nodist_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES) \ $(nodist_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES) \
$(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_SOURCES) \
$(png_fix_itxt_SOURCES) $(pngcp_SOURCES) $(pngfix_SOURCES) \ $(png_fix_itxt_SOURCES) $(pngcp_SOURCES) $(pngfix_SOURCES) \
$(pngimage_SOURCES) $(pngstest_SOURCES) $(pngtest_SOURCES) \ $(pngimage_SOURCES) $(pngstest_SOURCES) $(pngtest_SOURCES) \
$(pngunknown_SOURCES) $(pngvalid_SOURCES) $(timepng_SOURCES) $(pngunknown_SOURCES) $(pngvalid_SOURCES) $(timepng_SOURCES)
DIST_SOURCES = \ DIST_SOURCES = \
$(am__libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES_DIST) \ $(am__libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES_DIST) \
$(am__libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_SOURCES_DIST) \
$(am__png_fix_itxt_SOURCES_DIST) $(am__pngcp_SOURCES_DIST) \ $(am__png_fix_itxt_SOURCES_DIST) $(am__pngcp_SOURCES_DIST) \
$(am__pngfix_SOURCES_DIST) $(am__pngimage_SOURCES_DIST) \ $(am__pngfix_SOURCES_DIST) $(am__pngimage_SOURCES_DIST) \
$(am__pngstest_SOURCES_DIST) $(am__pngtest_SOURCES_DIST) \ $(am__pngstest_SOURCES_DIST) $(am__pngtest_SOURCES_DIST) \
@ -799,14 +823,24 @@ libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES = png.c pngerror.c \
pngrutil.c pngset.c pngtrans.c pngwio.c pngwrite.c pngwtran.c \ pngrutil.c pngset.c pngtrans.c pngwio.c pngwrite.c pngwtran.c \
pngwutil.c png.h pngconf.h pngdebug.h pnginfo.h pngpriv.h \ pngwutil.c png.h pngconf.h pngdebug.h pnginfo.h pngpriv.h \
pngstruct.h pngusr.dfa $(am__append_2) $(am__append_3) \ pngstruct.h pngusr.dfa $(am__append_2) $(am__append_3) \
$(am__append_4) $(am__append_5) $(am__append_4) $(am__append_5) $(am__append_6) \
$(am__append_7)
@PNG_LOONGARCH_LSX_TRUE@noinst_LTLIBRARIES = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx.la
@PNG_LOONGARCH_LSX_TRUE@libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_SOURCES = loongarch/loongarch_lsx_init.c\
@PNG_LOONGARCH_LSX_TRUE@ loongarch/filter_lsx_intrinsics.c
@PNG_LOONGARCH_LSX_TRUE@libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_CFLAGS = -mlsx
@PNG_LOONGARCH_LSX_TRUE@libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LIBADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx.la
# libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx.la
nodist_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES = pnglibconf.h nodist_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES = pnglibconf.h
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS = -no-undefined \ libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS = -no-undefined \
-export-dynamic -version-number \ -export-dynamic -version-number \
@PNGLIB_MAJOR@@PNGLIB_MINOR@:@PNGLIB_RELEASE@:0 \ @PNGLIB_MAJOR@@PNGLIB_MINOR@:@PNGLIB_RELEASE@:0 \
$(am__append_6) $(am__append_7) $(am__append_8) $(am__append_8) $(am__append_9) $(am__append_10)
@HAVE_LD_VERSION_SCRIPT_FALSE@libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES = libpng.sym @HAVE_LD_VERSION_SCRIPT_FALSE@libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES = \
@HAVE_LD_VERSION_SCRIPT_TRUE@libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES = libpng.vers @HAVE_LD_VERSION_SCRIPT_FALSE@ libpng.sym $(am__append_11)
@HAVE_LD_VERSION_SCRIPT_TRUE@libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES = \
@HAVE_LD_VERSION_SCRIPT_TRUE@ libpng.vers $(am__append_11)
pkginclude_HEADERS = png.h pngconf.h pkginclude_HEADERS = png.h pngconf.h
nodist_pkginclude_HEADERS = pnglibconf.h nodist_pkginclude_HEADERS = pnglibconf.h
pkgconfig_DATA = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc pkgconfig_DATA = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc
@ -840,7 +874,7 @@ SUFFIXES = .chk .out
SYMBOL_CFLAGS = -DPNGLIB_LIBNAME='PNG@PNGLIB_MAJOR@@PNGLIB_MINOR@_0' \ SYMBOL_CFLAGS = -DPNGLIB_LIBNAME='PNG@PNGLIB_MAJOR@@PNGLIB_MINOR@_0' \
-DPNGLIB_VERSION='@PNGLIB_VERSION@' \ -DPNGLIB_VERSION='@PNGLIB_VERSION@' \
-DSYMBOL_PREFIX='$(SYMBOL_PREFIX)' -DPNG_NO_USE_READ_MACROS \ -DSYMBOL_PREFIX='$(SYMBOL_PREFIX)' -DPNG_NO_USE_READ_MACROS \
-DPNG_BUILDING_SYMBOL_TABLE $(am__append_9) -DPNG_BUILDING_SYMBOL_TABLE $(am__append_12)
# EXT_LIST is a list of the possibly library directory extensions, this exists # EXT_LIST is a list of the possibly library directory extensions, this exists
# because we can't find a good way of discovering the file extensions that are # because we can't find a good way of discovering the file extensions that are
@ -997,6 +1031,17 @@ clean-libLTLIBRARIES:
echo rm -f $${locs}; \ echo rm -f $${locs}; \
rm -f $${locs}; \ rm -f $${locs}; \
} }
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@list='$(noinst_LTLIBRARIES)'; \
locs=`for p in $$list; do echo $$p; done | \
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
sort -u`; \
test -z "$$locs" || { \
echo rm -f $${locs}; \
rm -f $${locs}; \
}
arm/$(am__dirstamp): arm/$(am__dirstamp):
@$(MKDIR_P) arm @$(MKDIR_P) arm
@: > arm/$(am__dirstamp) @: > arm/$(am__dirstamp)
@ -1018,6 +1063,8 @@ mips/$(DEPDIR)/$(am__dirstamp):
mips/mips_init.lo: mips/$(am__dirstamp) mips/$(DEPDIR)/$(am__dirstamp) mips/mips_init.lo: mips/$(am__dirstamp) mips/$(DEPDIR)/$(am__dirstamp)
mips/filter_msa_intrinsics.lo: mips/$(am__dirstamp) \ mips/filter_msa_intrinsics.lo: mips/$(am__dirstamp) \
mips/$(DEPDIR)/$(am__dirstamp) mips/$(DEPDIR)/$(am__dirstamp)
mips/filter_mmi_inline_assembly.lo: mips/$(am__dirstamp) \
mips/$(DEPDIR)/$(am__dirstamp)
intel/$(am__dirstamp): intel/$(am__dirstamp):
@$(MKDIR_P) intel @$(MKDIR_P) intel
@: > intel/$(am__dirstamp) @: > intel/$(am__dirstamp)
@ -1041,6 +1088,19 @@ powerpc/filter_vsx_intrinsics.lo: powerpc/$(am__dirstamp) \
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la: $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES) $(EXTRA_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES) libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la: $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES) $(EXTRA_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES)
$(AM_V_CCLD)$(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LINK) -rpath $(libdir) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LIBADD) $(LIBS) $(AM_V_CCLD)$(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LINK) -rpath $(libdir) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LIBADD) $(LIBS)
loongarch/$(am__dirstamp):
@$(MKDIR_P) loongarch
@: > loongarch/$(am__dirstamp)
loongarch/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) loongarch/$(DEPDIR)
@: > loongarch/$(DEPDIR)/$(am__dirstamp)
loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.lo: \
loongarch/$(am__dirstamp) loongarch/$(DEPDIR)/$(am__dirstamp)
loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.lo: \
loongarch/$(am__dirstamp) loongarch/$(DEPDIR)/$(am__dirstamp)
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx.la: $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_OBJECTS) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_DEPENDENCIES) $(EXTRA_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_DEPENDENCIES)
$(AM_V_CCLD)$(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_LINK) $(am_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_rpath) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_OBJECTS) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_LIBADD) $(LIBS)
contrib/tools/$(am__dirstamp): contrib/tools/$(am__dirstamp):
@$(MKDIR_P) contrib/tools @$(MKDIR_P) contrib/tools
@: > contrib/tools/$(am__dirstamp) @: > contrib/tools/$(am__dirstamp)
@ -1150,6 +1210,8 @@ mostlyclean-compile:
-rm -f contrib/tools/*.$(OBJEXT) -rm -f contrib/tools/*.$(OBJEXT)
-rm -f intel/*.$(OBJEXT) -rm -f intel/*.$(OBJEXT)
-rm -f intel/*.lo -rm -f intel/*.lo
-rm -f loongarch/*.$(OBJEXT)
-rm -f loongarch/*.lo
-rm -f mips/*.$(OBJEXT) -rm -f mips/*.$(OBJEXT)
-rm -f mips/*.lo -rm -f mips/*.lo
-rm -f powerpc/*.$(OBJEXT) -rm -f powerpc/*.$(OBJEXT)
@ -1188,6 +1250,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@contrib/tools/$(DEPDIR)/pngfix.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@contrib/tools/$(DEPDIR)/pngfix.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@intel/$(DEPDIR)/filter_sse2_intrinsics.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@intel/$(DEPDIR)/filter_sse2_intrinsics.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@intel/$(DEPDIR)/intel_init.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@intel/$(DEPDIR)/intel_init.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@mips/$(DEPDIR)/filter_mmi_inline_assembly.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@mips/$(DEPDIR)/filter_msa_intrinsics.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@mips/$(DEPDIR)/filter_msa_intrinsics.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@mips/$(DEPDIR)/mips_init.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@mips/$(DEPDIR)/mips_init.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@powerpc/$(DEPDIR)/filter_vsx_intrinsics.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@powerpc/$(DEPDIR)/filter_vsx_intrinsics.Plo@am__quote@ # am--include-marker
@ -1247,6 +1312,20 @@ am--depfiles: $(am__depfiles_remade)
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.lo: loongarch/loongarch_lsx_init.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_CFLAGS) $(CFLAGS) -MT loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.lo -MD -MP -MF loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.Tpo -c -o loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.lo `test -f 'loongarch/loongarch_lsx_init.c' || echo '$(srcdir)/'`loongarch/loongarch_lsx_init.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.Tpo loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='loongarch/loongarch_lsx_init.c' object='loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_CFLAGS) $(CFLAGS) -c -o loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.lo `test -f 'loongarch/loongarch_lsx_init.c' || echo '$(srcdir)/'`loongarch/loongarch_lsx_init.c
loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.lo: loongarch/filter_lsx_intrinsics.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_CFLAGS) $(CFLAGS) -MT loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.lo -MD -MP -MF loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.Tpo -c -o loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.lo `test -f 'loongarch/filter_lsx_intrinsics.c' || echo '$(srcdir)/'`loongarch/filter_lsx_intrinsics.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.Tpo loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='loongarch/filter_lsx_intrinsics.c' object='loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la_CFLAGS) $(CFLAGS) -c -o loongarch/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.lo `test -f 'loongarch/filter_lsx_intrinsics.c' || echo '$(srcdir)/'`loongarch/filter_lsx_intrinsics.c
mostlyclean-libtool: mostlyclean-libtool:
-rm -f *.lo -rm -f *.lo
@ -1254,6 +1333,7 @@ clean-libtool:
-rm -rf .libs _libs -rm -rf .libs _libs
-rm -rf arm/.libs arm/_libs -rm -rf arm/.libs arm/_libs
-rm -rf intel/.libs intel/_libs -rm -rf intel/.libs intel/_libs
-rm -rf loongarch/.libs loongarch/_libs
-rm -rf mips/.libs mips/_libs -rm -rf mips/.libs mips/_libs
-rm -rf powerpc/.libs powerpc/_libs -rm -rf powerpc/.libs powerpc/_libs
@ -2076,6 +2156,8 @@ distclean-generic:
-rm -f contrib/tools/$(am__dirstamp) -rm -f contrib/tools/$(am__dirstamp)
-rm -f intel/$(DEPDIR)/$(am__dirstamp) -rm -f intel/$(DEPDIR)/$(am__dirstamp)
-rm -f intel/$(am__dirstamp) -rm -f intel/$(am__dirstamp)
-rm -f loongarch/$(DEPDIR)/$(am__dirstamp)
-rm -f loongarch/$(am__dirstamp)
-rm -f mips/$(DEPDIR)/$(am__dirstamp) -rm -f mips/$(DEPDIR)/$(am__dirstamp)
-rm -f mips/$(am__dirstamp) -rm -f mips/$(am__dirstamp)
-rm -f powerpc/$(DEPDIR)/$(am__dirstamp) -rm -f powerpc/$(DEPDIR)/$(am__dirstamp)
@ -2092,7 +2174,8 @@ maintainer-clean-generic:
clean: clean-am clean: clean-am
clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
clean-libLTLIBRARIES clean-libtool mostlyclean-am clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \
mostlyclean-am
distclean: distclean-am distclean: distclean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f $(am__CONFIG_DISTCLEAN_FILES)
@ -2126,6 +2209,9 @@ distclean: distclean-am
-rm -f contrib/tools/$(DEPDIR)/pngfix.Po -rm -f contrib/tools/$(DEPDIR)/pngfix.Po
-rm -f intel/$(DEPDIR)/filter_sse2_intrinsics.Plo -rm -f intel/$(DEPDIR)/filter_sse2_intrinsics.Plo
-rm -f intel/$(DEPDIR)/intel_init.Plo -rm -f intel/$(DEPDIR)/intel_init.Plo
-rm -f loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.Plo
-rm -f loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.Plo
-rm -f mips/$(DEPDIR)/filter_mmi_inline_assembly.Plo
-rm -f mips/$(DEPDIR)/filter_msa_intrinsics.Plo -rm -f mips/$(DEPDIR)/filter_msa_intrinsics.Plo
-rm -f mips/$(DEPDIR)/mips_init.Plo -rm -f mips/$(DEPDIR)/mips_init.Plo
-rm -f powerpc/$(DEPDIR)/filter_vsx_intrinsics.Plo -rm -f powerpc/$(DEPDIR)/filter_vsx_intrinsics.Plo
@ -2211,6 +2297,9 @@ maintainer-clean: maintainer-clean-am
-rm -f contrib/tools/$(DEPDIR)/pngfix.Po -rm -f contrib/tools/$(DEPDIR)/pngfix.Po
-rm -f intel/$(DEPDIR)/filter_sse2_intrinsics.Plo -rm -f intel/$(DEPDIR)/filter_sse2_intrinsics.Plo
-rm -f intel/$(DEPDIR)/intel_init.Plo -rm -f intel/$(DEPDIR)/intel_init.Plo
-rm -f loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-filter_lsx_intrinsics.Plo
-rm -f loongarch/$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@lsx_la-loongarch_lsx_init.Plo
-rm -f mips/$(DEPDIR)/filter_mmi_inline_assembly.Plo
-rm -f mips/$(DEPDIR)/filter_msa_intrinsics.Plo -rm -f mips/$(DEPDIR)/filter_msa_intrinsics.Plo
-rm -f mips/$(DEPDIR)/mips_init.Plo -rm -f mips/$(DEPDIR)/mips_init.Plo
-rm -f powerpc/$(DEPDIR)/filter_vsx_intrinsics.Plo -rm -f powerpc/$(DEPDIR)/filter_vsx_intrinsics.Plo
@ -2245,18 +2334,18 @@ uninstall-man: uninstall-man3 uninstall-man5
.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles am--refresh check \ .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles am--refresh check \
check-TESTS check-am clean clean-binPROGRAMS \ check-TESTS check-am clean clean-binPROGRAMS \
clean-checkPROGRAMS clean-cscope clean-generic \ clean-checkPROGRAMS clean-cscope clean-generic \
clean-libLTLIBRARIES clean-libtool cscope cscopelist-am ctags \ clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \
ctags-am dist dist-all dist-bzip2 dist-gzip dist-hook \ cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
dist-lzip dist-shar dist-tarZ dist-xz dist-zip dist-zstd \ dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \
distcheck distclean distclean-compile distclean-generic \ dist-zip dist-zstd distcheck distclean distclean-compile \
distclean-hdr distclean-libtool distclean-tags distcleancheck \ distclean-generic distclean-hdr distclean-libtool \
distdir distuninstallcheck dvi dvi-am html html-am info \ distclean-tags distcleancheck distdir distuninstallcheck dvi \
info-am install install-am install-binPROGRAMS \ dvi-am html html-am info info-am install install-am \
install-binSCRIPTS install-data install-data-am \ install-binPROGRAMS install-binSCRIPTS install-data \
install-data-hook install-dvi install-dvi-am install-exec \ install-data-am install-data-hook install-dvi install-dvi-am \
install-exec-am install-exec-hook install-html install-html-am \ install-exec install-exec-am install-exec-hook install-html \
install-info install-info-am install-libLTLIBRARIES \ install-html-am install-info install-info-am \
install-man install-man3 install-man5 \ install-libLTLIBRARIES install-man install-man3 install-man5 \
install-nodist_pkgincludeHEADERS install-pdf install-pdf-am \ install-nodist_pkgincludeHEADERS install-pdf install-pdf-am \
install-pkgconfigDATA install-pkgincludeHEADERS install-ps \ install-pkgconfigDATA install-pkgincludeHEADERS install-ps \
install-ps-am install-strip installcheck installcheck-am \ install-ps-am install-strip installcheck installcheck-am \

View File

@ -78,6 +78,18 @@
/* Enable Intel SSE optimizations */ /* Enable Intel SSE optimizations */
#undef PNG_INTEL_SSE_OPT #undef PNG_INTEL_SSE_OPT
/* Enable LOONGARCH LSX optimizations */
#undef PNG_LOONGARCH_LSX_OPT
/* Turn on MIPS MMI optimizations at run-time */
#undef PNG_MIPS_MMI_API_SUPPORTED
/* Check for MIPS MMI support at run-time */
#undef PNG_MIPS_MMI_CHECK_SUPPORTED
/* Enable MIPS MMI optimizations */
#undef PNG_MIPS_MMI_OPT
/* Turn on MIPS MSA optimizations at run-time */ /* Turn on MIPS MSA optimizations at run-time */
#undef PNG_MIPS_MSA_API_SUPPORTED #undef PNG_MIPS_MSA_API_SUPPORTED

183
configure vendored
View File

@ -663,10 +663,14 @@ ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE am__EXEEXT_TRUE
LTLIBOBJS LTLIBOBJS
LIBOBJS LIBOBJS
PNG_LOONGARCH_LSX_FALSE
PNG_LOONGARCH_LSX_TRUE
PNG_POWERPC_VSX_FALSE PNG_POWERPC_VSX_FALSE
PNG_POWERPC_VSX_TRUE PNG_POWERPC_VSX_TRUE
PNG_INTEL_SSE_FALSE PNG_INTEL_SSE_FALSE
PNG_INTEL_SSE_TRUE PNG_INTEL_SSE_TRUE
PNG_MIPS_MMI_FALSE
PNG_MIPS_MMI_TRUE
PNG_MIPS_MSA_FALSE PNG_MIPS_MSA_FALSE
PNG_MIPS_MSA_TRUE PNG_MIPS_MSA_TRUE
PNG_ARM_NEON_FALSE PNG_ARM_NEON_FALSE
@ -853,8 +857,10 @@ enable_unversioned_libpng_config
enable_hardware_optimizations enable_hardware_optimizations
enable_arm_neon enable_arm_neon
enable_mips_msa enable_mips_msa
enable_mips_mmi
enable_intel_sse enable_intel_sse
enable_powerpc_vsx enable_powerpc_vsx
enable_loongarch_lsx
' '
ac_precious_vars='build_alias ac_precious_vars='build_alias
host_alias host_alias
@ -1559,6 +1565,13 @@ Optional Features:
call to png_set_option; yes/on: turn on call to png_set_option; yes/on: turn on
unconditionally. If not specified: determined by the unconditionally. If not specified: determined by the
compiler. compiler.
--enable-mips-mmi Enable MIPS MMI optimizations: =no/off, check, api,
yes/on: no/off: disable the optimizations; check:
use internal checking code (deprecated and poorly
supported); api: disable by default, enable by a
call to png_set_option; yes/on: turn on
unconditionally. If not specified: determined by the
compiler.
--enable-intel-sse Enable Intel SSE optimizations: =no/off, yes/on: --enable-intel-sse Enable Intel SSE optimizations: =no/off, yes/on:
no/off: disable the optimizations; yes/on: enable no/off: disable the optimizations; yes/on: enable
the optimizations. If not specified: determined by the optimizations. If not specified: determined by
@ -1569,6 +1582,11 @@ Optional Features:
default, enable by a call to png_set_option yes/on: default, enable by a call to png_set_option yes/on:
turn on unconditionally. If not specified: turn on unconditionally. If not specified:
determined by the compiler. determined by the compiler.
--enable-loongarch-lsx
Enable LOONGARCH LSX optimizations: =no/off, yes/on:
no/off: disable the optimizations; yes/on: turn on
unconditionally. If not specified: determined by the
compiler.
Optional Packages: Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@ -14098,6 +14116,10 @@ printf "%s\n" "#define PNG_ARM_NEON_OPT 0" >>confdefs.h
printf "%s\n" "#define PNG_MIPS_MSA_OPT 0" >>confdefs.h printf "%s\n" "#define PNG_MIPS_MSA_OPT 0" >>confdefs.h
enable_mips_mmi=no
printf "%s\n" "#define PNG_MIPS_MMI_OPT 0" >>confdefs.h
enable_powerpc_vsx=no enable_powerpc_vsx=no
printf "%s\n" "#define PNG_POWERPC_VSX_OPT 0" >>confdefs.h printf "%s\n" "#define PNG_POWERPC_VSX_OPT 0" >>confdefs.h
@ -14106,6 +14128,10 @@ printf "%s\n" "#define PNG_POWERPC_VSX_OPT 0" >>confdefs.h
printf "%s\n" "#define PNG_INTEL_SSE_OPT 0" >>confdefs.h printf "%s\n" "#define PNG_INTEL_SSE_OPT 0" >>confdefs.h
enable_loongarch_lsx=no
printf "%s\n" "#define PNG_LOONGARCH_LSX_OPT 0" >>confdefs.h
;; ;;
*) *)
# allow enabling hardware optimization on any system: # allow enabling hardware optimization on any system:
@ -14117,8 +14143,12 @@ printf "%s\n" "#define PNG_ARM_NEON_OPT 2" >>confdefs.h
;; ;;
mipsel*|mips64el*) mipsel*|mips64el*)
enable_mips_mmi=yes
enable_mips_msa=yes enable_mips_msa=yes
printf "%s\n" "#define PNG_MIPS_MMI_OPT 1" >>confdefs.h
printf "%s\n" "#define PNG_MIPS_MSA_OPT 2" >>confdefs.h printf "%s\n" "#define PNG_MIPS_MSA_OPT 2" >>confdefs.h
;; ;;
@ -14133,6 +14163,12 @@ printf "%s\n" "#define PNG_INTEL_SSE_OPT 1" >>confdefs.h
printf "%s\n" "#define PNG_POWERPC_VSX_OPT 2" >>confdefs.h printf "%s\n" "#define PNG_POWERPC_VSX_OPT 2" >>confdefs.h
;;
loongarch*)
enable_loongarch_lsx=yes
printf "%s\n" "#define PNG_LOONGARCH_LSX_OPT 1" >>confdefs.h
;; ;;
esac esac
;; ;;
@ -14253,6 +14289,62 @@ else
fi fi
# MIPS
# ===
#
# MIPS MMI (SIMD) support.
# Check whether --enable-mips-mmi was given.
if test ${enable_mips_mmi+y}
then :
enableval=$enable_mips_mmi; case "$enableval" in
no|off)
# disable the default enabling on __mips_mmi systems:
printf "%s\n" "#define PNG_MIPS_MMI_OPT 0" >>confdefs.h
# Prevent inclusion of the assembler files below:
enable_mips_mmi=no;;
check)
printf "%s\n" "#define PNG_MIPS_MMI_CHECK_SUPPORTED /**/" >>confdefs.h
;;
api)
printf "%s\n" "#define PNG_MIPS_MMI_API_SUPPORTED /**/" >>confdefs.h
;;
yes|on)
printf "%s\n" "#define PNG_MIPS_MMI_OPT 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --enable-mips-mmi: please specify 'check' or 'api', if
you want the optimizations unconditionally pass '-mloongson-mmi -march=loongson3a'
to the compiler." >&5
printf "%s\n" "$as_me: WARNING: --enable-mips-mmi: please specify 'check' or 'api', if
you want the optimizations unconditionally pass '-mloongson-mmi -march=loongson3a'
to the compiler." >&2;};;
*)
as_fn_error $? "--enable-mips-mmi=${enable_mips_mmi}: invalid value" "$LINENO" 5
esac
fi
# Add MIPS specific files to all builds where the host_cpu is mips ('mips*') or
# where MIPS optimizations were explicitly requested (this allows a fallback if a
# future host CPU does not match 'mips*')
if test "$enable_mips_mmi" != 'no' &&
case "$host_cpu" in
mipsel*|mips64el*) :;;
esac; then
PNG_MIPS_MMI_TRUE=
PNG_MIPS_MMI_FALSE='#'
else
PNG_MIPS_MMI_TRUE='#'
PNG_MIPS_MMI_FALSE=
fi
# INTEL # INTEL
# ===== # =====
# #
@ -14355,6 +14447,89 @@ else
fi fi
# LOONGARCH
# ===
#
# LOONGARCH LSX (SIMD) support
if test "$LSX_CFLAGS" = ''; then
LSX_CFLAGS="-mlsx"
fi
compiler_support_loongarch_lsx=no
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use loongarch LSX intrinsics" >&5
printf %s "checking whether to use loongarch LSX intrinsics... " >&6; }
save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $LSX_CFLAGS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include<lsxintrin.h>
int main(){
__m128i a, b, c;
a = __lsx_vadd_w(b, c);
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
compiler_support_loongarch_lsx=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS=$save_CFLAGS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compiler_support_loongarch_lsx" >&5
printf "%s\n" "$compiler_support_loongarch_lsx" >&6; }
# Check whether --enable-loongarch-lsx was given.
if test ${enable_loongarch_lsx+y}
then :
enableval=$enable_loongarch_lsx; case "$enableval" in
no|off)
# disable the default enabling on __loongarch_simd systems:
printf "%s\n" "#define PNG_LOONGARCH_LSX_OPT 0" >>confdefs.h
# Prevent inclusion of the assembler files below:
enable_loongarch_lsx=no;;
yes|on)
printf "%s\n" "#define PNG_LOONGARCH_LSX_OPT 1" >>confdefs.h
;;
*)
as_fn_error $? "--enable-loongarch-lsx=${enable_loongarch_lsx}: invalid value" "$LINENO" 5
esac
fi
if test "$enable_loongarch_lsx" != 'no'; then
if test $compiler_support_loongarch_lsx = yes; then
printf "%s\n" "#define PNG_LOONGARCH_LSX_OPT 1" >>confdefs.h
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Compiler does not support loongarch LSX." >&5
printf "%s\n" "$as_me: WARNING: Compiler does not support loongarch LSX." >&2;}
fi
fi
# Add LOONGARCH specific files to all builds where the host_cpu is loongarch ('loongarch*') or
# where LOONGARCH optimizations were explicitly requested (this allows a fallback if a
# future host CPU does not match 'loongarch*')
if test "$enable_loongarch_lsx" != 'no' && test $compiler_support_loongarch_lsx = yes &&
case "$host_cpu" in
loongarch*) :;;
*) test "$enable_loongarch_lsx" != '';;
esac; then
PNG_LOONGARCH_LSX_TRUE=
PNG_LOONGARCH_LSX_FALSE='#'
else
PNG_LOONGARCH_LSX_TRUE='#'
PNG_LOONGARCH_LSX_FALSE=
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Extra options for compiler: $PNG_COPTS" >&5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Extra options for compiler: $PNG_COPTS" >&5
printf "%s\n" "$as_me: Extra options for compiler: $PNG_COPTS" >&6;} printf "%s\n" "$as_me: Extra options for compiler: $PNG_COPTS" >&6;}
@ -14549,6 +14724,10 @@ if test -z "${PNG_MIPS_MSA_TRUE}" && test -z "${PNG_MIPS_MSA_FALSE}"; then
as_fn_error $? "conditional \"PNG_MIPS_MSA\" was never defined. as_fn_error $? "conditional \"PNG_MIPS_MSA\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5 Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi fi
if test -z "${PNG_MIPS_MMI_TRUE}" && test -z "${PNG_MIPS_MMI_FALSE}"; then
as_fn_error $? "conditional \"PNG_MIPS_MMI\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${PNG_INTEL_SSE_TRUE}" && test -z "${PNG_INTEL_SSE_FALSE}"; then if test -z "${PNG_INTEL_SSE_TRUE}" && test -z "${PNG_INTEL_SSE_FALSE}"; then
as_fn_error $? "conditional \"PNG_INTEL_SSE\" was never defined. as_fn_error $? "conditional \"PNG_INTEL_SSE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@ -14557,6 +14736,10 @@ if test -z "${PNG_POWERPC_VSX_TRUE}" && test -z "${PNG_POWERPC_VSX_FALSE}"; then
as_fn_error $? "conditional \"PNG_POWERPC_VSX\" was never defined. as_fn_error $? "conditional \"PNG_POWERPC_VSX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5 Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi fi
if test -z "${PNG_LOONGARCH_LSX_TRUE}" && test -z "${PNG_LOONGARCH_LSX_FALSE}"; then
as_fn_error $? "conditional \"PNG_LOONGARCH_LSX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
: "${CONFIG_STATUS=./config.status}" : "${CONFIG_STATUS=./config.status}"
ac_write_fail=0 ac_write_fail=0

View File

@ -1,12 +1,14 @@
/* contrib/mips-mmi/linux.c /* contrib/mips-mmi/linux.c
* *
* Written by guxiwei 2023 * Copyright (c) 2024 Cosmin Truta
* Written by guxiwei, 2023
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer
* and license in png.h * and license in png.h
*
*/ */
#include <stdint.h> #include <stdint.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>

View File

@ -1,6 +1,7 @@
/* filter_mmi_intrinsics.c - MMI optimized filter functions /* filter_mmi_intrinsics.c - MMI optimized filter functions
* *
* Written by zhanglixia and guxiwei * Copyright (c) 2024 Cosmin Truta
* Written by zhanglixia and guxiwei, 2023
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer

View File

@ -1,9 +1,9 @@
/* filter_msa_intrinsics.c - MSA optimised filter functions /* filter_msa_intrinsics.c - MSA optimised filter functions
* *
* Copyright (c) 2018 Cosmin Truta * Copyright (c) 2018-2024 Cosmin Truta
* Copyright (c) 2016 Glenn Randers-Pehrson * Copyright (c) 2016 Glenn Randers-Pehrson
* Written by Mandar Sahastrabuddhe, August 2016. * Written by Mandar Sahastrabuddhe, August 2016
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer

View File

@ -1,10 +1,10 @@
/* mips_init.c - MSA optimised filter functions /* mips_init.c - MSA optimised filter functions
* *
* Copyright (c) 2018 Cosmin Truta * Copyright (c) 2018-2024 Cosmin Truta
* Copyright (c) 2016 Glenn Randers-Pehrson * Copyright (c) 2016 Glenn Randers-Pehrson
* Written by Mandar Sahastrabuddhe, 2016. * Written by Mandar Sahastrabuddhe, 2016
* Update by guxiwei, 2023. * Updated by guxiwei, 2023
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer

View File

@ -41,6 +41,10 @@
#define PNG_INCH_CONVERSIONS_SUPPORTED #define PNG_INCH_CONVERSIONS_SUPPORTED
#define PNG_INFO_IMAGE_SUPPORTED #define PNG_INFO_IMAGE_SUPPORTED
#define PNG_IO_STATE_SUPPORTED #define PNG_IO_STATE_SUPPORTED
/*#undef PNG_MIPS_MMI_API_SUPPORTED*/
/*#undef PNG_MIPS_MMI_CHECK_SUPPORTED*/
/*#undef PNG_MIPS_MSA_API_SUPPORTED*/
/*#undef PNG_MIPS_MSA_CHECK_SUPPORTED*/
#define PNG_MNG_FEATURES_SUPPORTED #define PNG_MNG_FEATURES_SUPPORTED
#define PNG_POINTER_INDEXING_SUPPORTED #define PNG_POINTER_INDEXING_SUPPORTED
/*#undef PNG_POWERPC_VSX_API_SUPPORTED*/ /*#undef PNG_POWERPC_VSX_API_SUPPORTED*/