[libpng17] Removed cc -E workround, corrected png_get_palette_max API. Tested

on SUN OS cc 5.9, which demonstrates the tokenization problem previously
avoided by using /lib/cpp.  Since all .dfn output is now protected
in double quotes unless it is to be macro substituted the fix should work
everywhere.
diff --git a/ANNOUNCE b/ANNOUNCE
index 9acf68a..916925b 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -128,6 +128,11 @@
   Ported libpng 1.5 options.awk/dfn file handling to 1.7, fixed one bug.
   Rebuilt Makefile.in, configure, etc., with autoconf-2.69 and automake-1.13.
   Minor fixes to assembler changes, verified with a dummy .S file
+  Removed cc -E workround, corrected png_get_palette_max API. Tested on
+    SUN OS cc 5.9, which demonstrates the tokenization problem previously
+    avoided by using /lib/cpp.  Since all .dfn output is now protected
+    in double quotes unless it is to be macro substituted the fix should work
+    everywhere.
 
   ===========================================================================
                        NOTICE November 17, 2012:
diff --git a/CHANGES b/CHANGES
index 12304c2..ddfeb68 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4414,6 +4414,11 @@
   Ported libpng 1.5 options.awk/dfn file handling to 1.7, fixed one bug.
   Rebuilt Makefile.in, configure, etc., with autoconf-2.69 and automake-1.13.
   Minor fixes to assembler changes, verified with a dummy .S file
+  Removed cc -E workround, corrected png_get_palette_max API. Tested on
+    SUN OS cc 5.9, which demonstrates the tokenization problem previously
+    avoided by using /lib/cpp.  Since all .dfn output is now protected
+    in double quotes unless it is to be macro substituted the fix should work
+    everywhere.
 
   ===========================================================================
                        NOTICE November 17, 2012:
diff --git a/configure.ac b/configure.ac
index c3f21c0..108d392 100644
--- a/configure.ac
+++ b/configure.ac
@@ -53,8 +53,7 @@
 AM_PROG_AS
 LT_PATH_LD
 AC_PROG_CPP
-AC_CHECK_TOOL(SED, sed, :)
-AC_CHECK_TOOL(AWK, awk, :)
+AC_PROG_AWK
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
@@ -64,30 +63,23 @@
 LT_INIT([win32-dll])
 LT_PREREQ([2.4.2])
 
-# On Solaris 10 and 12 CPP gets set to cc -E, however this still
-# does some input parsing.  We need strict ANSI-C style tokenization,
-# check this:
-AC_REQUIRE_CPP
-AC_MSG_CHECKING([for a C preprocessor that does not parse its input])
-AC_PREPROC_IFELSE([AC_LANG_SOURCE([[1.1.1 16BIT]])],
-   [DFNCPP="$CPP"],
-   [  DFNCPP=""
-      sav_CPP="$CPP"
-      for CPP in "${CC-cc} -E" "${CC-cc} -E -traditional-cpp" "/lib/cpp" "cpp"
-      do
-         AC_PREPROC_IFELSE([AC_LANG_SOURCE([[1.1.1 16BIT]])],
-            [DFNCPP="$CPP"]
-            [break],,)
-      done
-      CPP="$sav_CPP"
-   ])
-if test -n "$DFNCPP"; then
-   AC_MSG_RESULT([$DFNCPP])
-   AC_SUBST(DFNCPP)
+# Some awks crash when confronted with pnglibconf.dfa, do a test run now
+# to make sure this doesn't happen
+AC_MSG_CHECKING([that AWK works])
+if ${AWK} -f ${srcdir}/scripts/options.awk out="/dev/null" version=search\
+   ${srcdir}/pngconf.h ${srcdir}/scripts/pnglibconf.dfa\
+   ${srcdir}/pngusr.dfa 1>&2
+then
+   AC_MSG_RESULT([ok])
 else
-   AC_MSG_FAILURE([not found], 1)
+   AC_MSG_FAILURE([failed], 1)
 fi
 
+# This is a remnant of the old cc -E validation, where it may have been
+# necessary to use a different preprocessor for .dfn files
+DFNCPP="$CPP"
+AC_SUBST(DFNCPP)
+
 # -Werror cannot be passed to GCC in CFLAGS because configure will fail (it
 # checks the compiler with a program that generates a warning), add the
 # following option to deal with this
@@ -116,7 +108,7 @@
 # Checks for header files.
 AC_HEADER_STDC
 # Headers used in pngpriv.h:
-AC_CHECK_HEADERS([stdlib.h string.h float.h fp.h math.h m68881.h])
+AC_CHECK_HEADERS([assert.h stdlib.h string.h float.h fp.h math.h m68881.h])
 # Additional headers used in pngconf.h:
 AC_CHECK_HEADERS([limits.h stddef.h stdio.h setjmp.h time.h])
 # Used by pngread.c (for the simplified API):
@@ -126,8 +118,6 @@
 AC_CHECK_HEADERS([ctype.h])
 # Additional requirements of contrib/libtests/pngvalid.c:
 AC_CHECK_HEADERS([fenv.h])
-# Additional requirements of contrib/libtests/tarith.c:
-AC_CHECK_HEADERS([assert.h])
 
 # Checks for typedefs, structures, and compiler characteristics.
 # Most of these have been removed from 1.7.0 because they checked for non-ANSI-C
diff --git a/png.h b/png.h
index 53d8481..b6e949b 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.7.0alpha10 - February 5, 2013
+ * libpng version 1.7.0alpha10 - February 6, 2013
  * Copyright (c) 1998-2013 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -11,7 +11,7 @@
  * Authors and maintainers:
  *   libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *   libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *   libpng versions 0.97, January 1998, through 1.7.0alpha10 - February 5, 2013: Glenn
+ *   libpng versions 0.97, January 1998, through 1.7.0alpha10 - February 6, 2013: Glenn
  *   See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -199,7 +199,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.7.0alpha10, February 5, 2013, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.7.0alpha10, February 6, 2013, are
  * Copyright (c) 2004, 2006-2013 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.2.5
  * with the following individual added to the list of Contributing Authors:
@@ -311,7 +311,7 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    February 5, 2013
+ *    February 6, 2013
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
@@ -379,7 +379,7 @@
 /* Version information for png.h - this should match the version in png.c */
 #define PNG_LIBPNG_VER_STRING "1.7.0alpha10"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.7.0alpha10 - February 5, 2013\n"
+     " libpng version 1.7.0alpha10 - February 6, 2013\n"
 
 #define PNG_LIBPNG_VER_SONUM   17
 #define PNG_LIBPNG_VER_DLLNUM  17
@@ -3208,8 +3208,8 @@
     defined(PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED)
 PNG_EXPORT(242, void, png_set_check_for_invalid_index,
     (png_structrp png_ptr, int allowed));
-PNG_EXPORT(243, int, png_get_palette_max, (png_const_structp png_ptr,
-    png_const_infop info_ptr));
+PNG_EXPORT(243, int, png_get_palette_max, (png_const_structrp png_ptr,
+    png_const_inforp info_ptr));
 #endif
 
 /* Maintainer: Put new public prototypes here ^, in libpng.3, and project
diff --git a/pngget.c b/pngget.c
index 6d1aaa3..5a6d966 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1164,7 +1164,7 @@
 
 #ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED
 int PNGAPI
-png_get_palette_max(png_const_structp png_ptr, png_const_infop info_ptr)
+png_get_palette_max(png_const_structrp png_ptr, png_const_inforp info_ptr)
 {
    if (png_ptr != NULL && info_ptr != NULL)
       return png_ptr->num_palette_max;