diff --git a/Makefile.in b/Makefile.in
index 4befb9aa88..36c69c7276 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -124,7 +124,16 @@ WXPNG_OBJECTS = \
wxpng_pngwio.o \
wxpng_pngwrite.o \
wxpng_pngwtran.o \
- wxpng_pngwutil.o
+ wxpng_pngwutil.o \
+ wxpng_arm_init.o \
+ wxpng_filter_neon_intrinsics.o \
+ wxpng_palette_neon_intrinsics.o \
+ wxpng_intel_init.o \
+ wxpng_filter_sse2_intrinsics.o \
+ wxpng_filter_msa_intrinsics.o \
+ wxpng_mips_init.o \
+ wxpng_filter_vsx_intrinsics.o \
+ wxpng_powerpc_init.o
WXJPEG_CFLAGS = $(WX_CPPFLAGS) -DNDEBUG $(WX_CFLAGS) $(____SHARED) $(CPPFLAGS) \
$(CFLAGS)
WXJPEG_OBJECTS = \
@@ -14820,6 +14829,33 @@ wxpng_pngwtran.o: $(srcdir)/src/png/pngwtran.c
wxpng_pngwutil.o: $(srcdir)/src/png/pngwutil.c
$(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/pngwutil.c
+wxpng_arm_init.o: $(srcdir)/src/png/arm/arm_init.c
+ $(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/arm/arm_init.c
+
+wxpng_filter_neon_intrinsics.o: $(srcdir)/src/png/arm/filter_neon_intrinsics.c
+ $(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/arm/filter_neon_intrinsics.c
+
+wxpng_palette_neon_intrinsics.o: $(srcdir)/src/png/arm/palette_neon_intrinsics.c
+ $(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/arm/palette_neon_intrinsics.c
+
+wxpng_intel_init.o: $(srcdir)/src/png/intel/intel_init.c
+ $(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/intel/intel_init.c
+
+wxpng_filter_sse2_intrinsics.o: $(srcdir)/src/png/intel/filter_sse2_intrinsics.c
+ $(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/intel/filter_sse2_intrinsics.c
+
+wxpng_filter_msa_intrinsics.o: $(srcdir)/src/png/mips/filter_msa_intrinsics.c
+ $(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/mips/filter_msa_intrinsics.c
+
+wxpng_mips_init.o: $(srcdir)/src/png/mips/mips_init.c
+ $(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/mips/mips_init.c
+
+wxpng_filter_vsx_intrinsics.o: $(srcdir)/src/png/powerpc/filter_vsx_intrinsics.c
+ $(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/powerpc/filter_vsx_intrinsics.c
+
+wxpng_powerpc_init.o: $(srcdir)/src/png/powerpc/powerpc_init.c
+ $(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/powerpc/powerpc_init.c
+
wxjpeg_jaricom.o: $(srcdir)/src/jpeg/jaricom.c
$(CCC) -c -o $@ $(WXJPEG_CFLAGS) $(srcdir)/src/jpeg/jaricom.c
diff --git a/build/bakefiles/png.bkl b/build/bakefiles/png.bkl
index aebf9d2bcb..03c984baf3 100644
--- a/build/bakefiles/png.bkl
+++ b/build/bakefiles/png.bkl
@@ -43,7 +43,20 @@
src/png/pngwrite.c
src/png/pngwtran.c
src/png/pngwutil.c
+ src/png/arm/arm_init.c
+ src/png/arm/filter_neon_intrinsics.c
+ src/png/arm/palette_neon_intrinsics.c
+ src/png/intel/intel_init.c
+ src/png/intel/filter_sse2_intrinsics.c
+
+
+ src/png/mips/filter_msa_intrinsics.c
+ src/png/mips/mips_init.c
+ src/png/powerpc/filter_vsx_intrinsics.c
+ src/png/powerpc/powerpc_init.c
+
+
diff --git a/build/cmake/lib/png.cmake b/build/cmake/lib/png.cmake
index 9dd9fdcf3b..1226473ef2 100644
--- a/build/cmake/lib/png.cmake
+++ b/build/cmake/lib/png.cmake
@@ -8,6 +8,14 @@
#############################################################################
if(wxUSE_LIBPNG STREQUAL "builtin")
+ if(NOT MSVC)
+ set(PNG_EXTRA_SOURCES
+ src/png/mips/filter_msa_intrinsics.c
+ src/png/mips/mips_init.c
+ src/png/powerpc/filter_vsx_intrinsics.c
+ src/png/powerpc/powerpc_init.c
+ )
+ endif()
wx_add_builtin_library(wxpng
src/png/png.c
src/png/pngerror.c
@@ -24,6 +32,12 @@ if(wxUSE_LIBPNG STREQUAL "builtin")
src/png/pngwrite.c
src/png/pngwtran.c
src/png/pngwutil.c
+ src/png/arm/arm_init.c
+ src/png/arm/filter_neon_intrinsics.c
+ src/png/arm/palette_neon_intrinsics.c
+ src/png/intel/intel_init.c
+ src/png/intel/filter_sse2_intrinsics.c
+ ${PNG_EXTRA_SOURCES}
)
if(WIN32)
# define this to get rid of a warning about using POSIX lfind():
diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc
index d812ac6e55..91a7ba490e 100644
--- a/build/msw/makefile.bcc
+++ b/build/msw/makefile.bcc
@@ -93,7 +93,16 @@ WXPNG_OBJECTS = \
$(OBJS)\wxpng_pngwio.obj \
$(OBJS)\wxpng_pngwrite.obj \
$(OBJS)\wxpng_pngwtran.obj \
- $(OBJS)\wxpng_pngwutil.obj
+ $(OBJS)\wxpng_pngwutil.obj \
+ $(OBJS)\wxpng_arm_init.obj \
+ $(OBJS)\wxpng_filter_neon_intrinsics.obj \
+ $(OBJS)\wxpng_palette_neon_intrinsics.obj \
+ $(OBJS)\wxpng_intel_init.obj \
+ $(OBJS)\wxpng_filter_sse2_intrinsics.obj \
+ $(OBJS)\wxpng_filter_msa_intrinsics.obj \
+ $(OBJS)\wxpng_mips_init.obj \
+ $(OBJS)\wxpng_filter_vsx_intrinsics.obj \
+ $(OBJS)\wxpng_powerpc_init.obj
WXJPEG_CFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
$(__OPTIMIZEFLAG) $(__THREADSFLAG) -DNDEBUG -I$(SETUPHDIR) -w-8004 -w-8008 \
-w-8057 -w-8066 $(CPPFLAGS) $(CFLAGS)
@@ -5734,6 +5743,33 @@ $(OBJS)\wxpng_pngwtran.obj: ..\..\src\png\pngwtran.c
$(OBJS)\wxpng_pngwutil.obj: ..\..\src\png\pngwutil.c
$(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\pngwutil.c
+$(OBJS)\wxpng_arm_init.obj: ..\..\src\png\arm\arm_init.c
+ $(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\arm\arm_init.c
+
+$(OBJS)\wxpng_filter_neon_intrinsics.obj: ..\..\src\png\arm\filter_neon_intrinsics.c
+ $(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\arm\filter_neon_intrinsics.c
+
+$(OBJS)\wxpng_palette_neon_intrinsics.obj: ..\..\src\png\arm\palette_neon_intrinsics.c
+ $(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\arm\palette_neon_intrinsics.c
+
+$(OBJS)\wxpng_intel_init.obj: ..\..\src\png\intel\intel_init.c
+ $(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\intel\intel_init.c
+
+$(OBJS)\wxpng_filter_sse2_intrinsics.obj: ..\..\src\png\intel\filter_sse2_intrinsics.c
+ $(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\intel\filter_sse2_intrinsics.c
+
+$(OBJS)\wxpng_filter_msa_intrinsics.obj: ..\..\src\png\mips\filter_msa_intrinsics.c
+ $(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\mips\filter_msa_intrinsics.c
+
+$(OBJS)\wxpng_mips_init.obj: ..\..\src\png\mips\mips_init.c
+ $(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\mips\mips_init.c
+
+$(OBJS)\wxpng_filter_vsx_intrinsics.obj: ..\..\src\png\powerpc\filter_vsx_intrinsics.c
+ $(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\powerpc\filter_vsx_intrinsics.c
+
+$(OBJS)\wxpng_powerpc_init.obj: ..\..\src\png\powerpc\powerpc_init.c
+ $(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\powerpc\powerpc_init.c
+
$(OBJS)\wxjpeg_jaricom.obj: ..\..\src\jpeg\jaricom.c
$(CC) -q -c -P- -o$@ $(WXJPEG_CFLAGS) ..\..\src\jpeg\jaricom.c
diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc
index 43c628c6dc..8156849df8 100644
--- a/build/msw/makefile.gcc
+++ b/build/msw/makefile.gcc
@@ -84,7 +84,16 @@ WXPNG_OBJECTS = \
$(OBJS)\wxpng_pngwio.o \
$(OBJS)\wxpng_pngwrite.o \
$(OBJS)\wxpng_pngwtran.o \
- $(OBJS)\wxpng_pngwutil.o
+ $(OBJS)\wxpng_pngwutil.o \
+ $(OBJS)\wxpng_arm_init.o \
+ $(OBJS)\wxpng_filter_neon_intrinsics.o \
+ $(OBJS)\wxpng_palette_neon_intrinsics.o \
+ $(OBJS)\wxpng_intel_init.o \
+ $(OBJS)\wxpng_filter_sse2_intrinsics.o \
+ $(OBJS)\wxpng_filter_msa_intrinsics.o \
+ $(OBJS)\wxpng_mips_init.o \
+ $(OBJS)\wxpng_filter_vsx_intrinsics.o \
+ $(OBJS)\wxpng_powerpc_init.o
WXJPEG_CFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \
-DHAVE_W32API_H -DNDEBUG -I$(SETUPHDIR) $(CPPFLAGS) $(CFLAGS)
WXJPEG_OBJECTS = \
@@ -6037,6 +6046,33 @@ $(OBJS)\wxpng_pngwtran.o: ../../src/png/pngwtran.c
$(OBJS)\wxpng_pngwutil.o: ../../src/png/pngwutil.c
$(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
+$(OBJS)\wxpng_arm_init.o: ../../src/png/arm/arm_init.c
+ $(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\wxpng_filter_neon_intrinsics.o: ../../src/png/arm/filter_neon_intrinsics.c
+ $(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\wxpng_palette_neon_intrinsics.o: ../../src/png/arm/palette_neon_intrinsics.c
+ $(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\wxpng_intel_init.o: ../../src/png/intel/intel_init.c
+ $(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\wxpng_filter_sse2_intrinsics.o: ../../src/png/intel/filter_sse2_intrinsics.c
+ $(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\wxpng_filter_msa_intrinsics.o: ../../src/png/mips/filter_msa_intrinsics.c
+ $(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\wxpng_mips_init.o: ../../src/png/mips/mips_init.c
+ $(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\wxpng_filter_vsx_intrinsics.o: ../../src/png/powerpc/filter_vsx_intrinsics.c
+ $(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\wxpng_powerpc_init.o: ../../src/png/powerpc/powerpc_init.c
+ $(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
+
$(OBJS)\wxjpeg_jaricom.o: ../../src/jpeg/jaricom.c
$(CC) -c -o $@ $(WXJPEG_CFLAGS) $(CPPDEPS) $<
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
index f1d7016dba..7c61cb5159 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -94,7 +94,12 @@ WXPNG_OBJECTS = \
$(OBJS)\wxpng_pngwio.obj \
$(OBJS)\wxpng_pngwrite.obj \
$(OBJS)\wxpng_pngwtran.obj \
- $(OBJS)\wxpng_pngwutil.obj
+ $(OBJS)\wxpng_pngwutil.obj \
+ $(OBJS)\wxpng_arm_init.obj \
+ $(OBJS)\wxpng_filter_neon_intrinsics.obj \
+ $(OBJS)\wxpng_palette_neon_intrinsics.obj \
+ $(OBJS)\wxpng_intel_init.obj \
+ $(OBJS)\wxpng_filter_sse2_intrinsics.obj
WXJPEG_CFLAGS = /M$(__RUNTIME_LIBS_55)$(__DEBUGRUNTIME) /DWIN32 $(__DEBUGINFO) \
/Fd$(LIBDIRNAME)\wxjpeg$(WXDEBUGFLAG).pdb $(____DEBUGRUNTIME) \
$(__OPTIMIZEFLAG) /D_CRT_SECURE_NO_DEPRECATE=1 \
@@ -6652,6 +6657,21 @@ $(OBJS)\wxpng_pngwtran.obj: ..\..\src\png\pngwtran.c
$(OBJS)\wxpng_pngwutil.obj: ..\..\src\png\pngwutil.c
$(CC) /c /nologo /TC /Fo$@ $(WXPNG_CFLAGS) ..\..\src\png\pngwutil.c
+$(OBJS)\wxpng_arm_init.obj: ..\..\src\png\arm\arm_init.c
+ $(CC) /c /nologo /TC /Fo$@ $(WXPNG_CFLAGS) ..\..\src\png\arm\arm_init.c
+
+$(OBJS)\wxpng_filter_neon_intrinsics.obj: ..\..\src\png\arm\filter_neon_intrinsics.c
+ $(CC) /c /nologo /TC /Fo$@ $(WXPNG_CFLAGS) ..\..\src\png\arm\filter_neon_intrinsics.c
+
+$(OBJS)\wxpng_palette_neon_intrinsics.obj: ..\..\src\png\arm\palette_neon_intrinsics.c
+ $(CC) /c /nologo /TC /Fo$@ $(WXPNG_CFLAGS) ..\..\src\png\arm\palette_neon_intrinsics.c
+
+$(OBJS)\wxpng_intel_init.obj: ..\..\src\png\intel\intel_init.c
+ $(CC) /c /nologo /TC /Fo$@ $(WXPNG_CFLAGS) ..\..\src\png\intel\intel_init.c
+
+$(OBJS)\wxpng_filter_sse2_intrinsics.obj: ..\..\src\png\intel\filter_sse2_intrinsics.c
+ $(CC) /c /nologo /TC /Fo$@ $(WXPNG_CFLAGS) ..\..\src\png\intel\filter_sse2_intrinsics.c
+
$(OBJS)\wxjpeg_jaricom.obj: ..\..\src\jpeg\jaricom.c
$(CC) /c /nologo /TC /Fo$@ $(WXJPEG_CFLAGS) ..\..\src\jpeg\jaricom.c
diff --git a/build/msw/wx_vc7_wxpng.vcproj b/build/msw/wx_vc7_wxpng.vcproj
index 60b7e66256..ea607b9bc9 100644
--- a/build/msw/wx_vc7_wxpng.vcproj
+++ b/build/msw/wx_vc7_wxpng.vcproj
@@ -243,6 +243,21 @@
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+
+
+
+
+
+
+
+
+
+
diff --git a/build/msw/wx_vc8_wxpng.vcproj b/build/msw/wx_vc8_wxpng.vcproj
index cf71091aed..f3fc8bdbca 100644
--- a/build/msw/wx_vc8_wxpng.vcproj
+++ b/build/msw/wx_vc8_wxpng.vcproj
@@ -670,6 +670,26 @@
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
+
+
+
+
+
+
+
+
+
+
diff --git a/build/msw/wx_vc9_wxpng.vcproj b/build/msw/wx_vc9_wxpng.vcproj
index 8bd7f3efcf..81926af9f1 100644
--- a/build/msw/wx_vc9_wxpng.vcproj
+++ b/build/msw/wx_vc9_wxpng.vcproj
@@ -666,6 +666,26 @@
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
+
+
+
+
+
+
+
+
+
+
diff --git a/build/msw/wx_wxpng.vcxproj b/build/msw/wx_wxpng.vcxproj
index 9aafd4b9a1..bc683a3c43 100644
--- a/build/msw/wx_wxpng.vcxproj
+++ b/build/msw/wx_wxpng.vcxproj
@@ -417,8 +417,13 @@
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/build/msw/wx_wxpng.vcxproj.filters b/build/msw/wx_wxpng.vcxproj.filters
index 2355a6eaf8..f66c563380 100644
--- a/build/msw/wx_wxpng.vcxproj.filters
+++ b/build/msw/wx_wxpng.vcxproj.filters
@@ -52,5 +52,20 @@
Source Files
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
-
\ No newline at end of file
+