[libpng16] Conditionally compile SSE2 headers in contrib/intel/intel_sse.patch
diff --git a/ANNOUNCE b/ANNOUNCE
index 90d3cd8..b1ed620 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,4 +1,4 @@
-Libpng 1.6.24rc01 - July 25, 2016
+Libpng 1.6.24rc02 - August 1, 2016
 
 This is not intended to be a public release.  It will be replaced
 within a few weeks by a public version or by another test version.
@@ -8,20 +8,20 @@
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   1.6.24rc01.tar.xz (LZMA-compressed, recommended)
-   1.6.24rc01.tar.gz
+   1.6.24rc02.tar.xz (LZMA-compressed, recommended)
+   1.6.24rc02.tar.gz
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp1624r01.7z  (LZMA-compressed, recommended)
-   lp1624r01.zip
+   lp1624r02.7z  (LZMA-compressed, recommended)
+   lp1624r02.zip
 
 Other information:
 
-   1.6.24rc01-README.txt
-   1.6.24rc01-LICENSE.txt
-   libpng-1.6.24rc01-*.asc (armored detached GPG signatures)
+   1.6.24rc02-README.txt
+   1.6.24rc02-LICENSE.txt
+   libpng-1.6.24rc02-*.asc (armored detached GPG signatures)
 
 Changes since the last public release (1.6.23):
 
@@ -93,6 +93,9 @@
 Version 1.6.24rc01 [July 25, 2016]
   No changes.
 
+Version 1.6.24rc02 [August 1, 2016]
+  Conditionally compile SSE2 headers in contrib/intel/intel_sse.patch
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
diff --git a/CHANGES b/CHANGES
index c1bef6c..1d5d351 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5664,6 +5664,9 @@
 Version 1.6.24rc01 [July 25, 2016]
   No changes.
 
+Version 1.6.24rc02 [August 1, 2016]
+  Conditionally compile SSE2 headers in contrib/intel/intel_sse.patch
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
diff --git a/contrib/intel/intel_sse.patch b/contrib/intel/intel_sse.patch
index 99ccd54..2f31a06 100644
--- a/contrib/intel/intel_sse.patch
+++ b/contrib/intel/intel_sse.patch
@@ -77,8 +77,8 @@
  #   Versioned symbols and restricted exports
  if HAVE_SOLARIS_LD
 diff --git a/pngpriv.h b/pngpriv.h
---- a/pngpriv.h	2016-05-31 09:20:34.442885047 -0500
-+++ b/pngpriv.h	2016-05-31 09:14:54.583492341 -0500
+--- a/pngpriv.h	2016-07-25 07:49:33.000000000 -0500
++++ b/pngpriv.h	2016-07-31 21:07:24.040395258 -0500
 @@ -177,16 +177,52 @@
  #  endif /* !PNG_ARM_NEON_IMPLEMENTATION */
  
@@ -132,7 +132,7 @@
   * PNG_BUILD_DLL must not be set.  To avoid the code below kicking in build a
   * static library of libpng then link the DLL against that.
   */
-@@ -1184,16 +1220,29 @@ PNG_INTERNAL_FUNCTION(void,png_read_filt
+@@ -1184,16 +1220,31 @@ PNG_INTERNAL_FUNCTION(void,png_read_filt
      row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
  PNG_INTERNAL_FUNCTION(void,png_read_filter_row_avg4_neon,(png_row_infop
      row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
@@ -141,6 +141,7 @@
  PNG_INTERNAL_FUNCTION(void,png_read_filter_row_paeth4_neon,(png_row_infop
      row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
  
++#if PNG_INTEL_SSE_IMPLEMENTATION > 0
 +PNG_INTERNAL_FUNCTION(void,png_read_filter_row_sub3_sse2,(png_row_infop
 +    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
 +PNG_INTERNAL_FUNCTION(void,png_read_filter_row_sub4_sse2,(png_row_infop
@@ -153,6 +154,7 @@
 +    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
 +PNG_INTERNAL_FUNCTION(void,png_read_filter_row_paeth4_sse2,(png_row_infop
 +    row_info, png_bytep row, png_const_bytep prev_row),PNG_EMPTY);
++#endif
 +
  /* Choose the best filter to use and filter the row data */
  PNG_INTERNAL_FUNCTION(void,png_write_find_filter,(png_structrp png_ptr,
@@ -162,7 +164,7 @@
  PNG_INTERNAL_FUNCTION(void,png_read_IDAT_data,(png_structrp png_ptr,
     png_bytep output, png_alloc_size_t avail_out),PNG_EMPTY);
     /* Read 'avail_out' bytes of data from the IDAT stream.  If the output buffer
-@@ -1910,16 +1959,18 @@ PNG_INTERNAL_FUNCTION(void, PNG_FILTER_O
+@@ -1910,16 +1961,20 @@ PNG_INTERNAL_FUNCTION(void, PNG_FILTER_O
     /* Just declare the optimization that will be used */
  #else
     /* List *all* the possible optimizations here - this branch is required if
@@ -171,8 +173,10 @@
      */
  PNG_INTERNAL_FUNCTION(void, png_init_filter_functions_neon,
     (png_structp png_ptr, unsigned int bpp), PNG_EMPTY);
++#  if PNG_INTEL_SSE_IMPLEMENTATION > 0
 +PNG_INTERNAL_FUNCTION(void, png_init_filter_functions_sse2,
 +   (png_structp png_ptr, unsigned int bpp), PNG_EMPTY);
++#  endif
  #endif
  
  PNG_INTERNAL_FUNCTION(png_uint_32, png_check_keyword, (png_structrp png_ptr,