[libpng15] Change options.awk to use pngconf.h for versioning

instead of ANNOUNCE
diff --git a/Makefile.am b/Makefile.am
index ab92aa7..938ddec 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -149,10 +149,11 @@
 	mv dfn3.out $@
 
 # The .dfn file for pnglibconf.h is machine generated
-pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk
+pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h
 	rm -f $@ dfn?.out
-	$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out\
-	    ${srcdir}/scripts/pnglibconf.dfa $(DFA_XTRA) 1>&2
+	$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out version=search\
+	    ${srcdir}/pngconf.h ${srcdir}/scripts/pnglibconf.dfa\
+	    $(DFA_XTRA) 1>&2
 	$(AWK) -f ${srcdir}/scripts/options.awk out=dfn2.out dfn1.out 1>&2
 	rm dfn1.out
 	mv dfn2.out $@
@@ -167,12 +168,13 @@
 
 # used on demand to regenerate the standard header, CPPFLAGS should
 # be empty - no non-standard defines
-scripts/pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk
+scripts/pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h
 	rm -f $@ dfn?.out
 	test -z "$(CPPFLAGS)"
 	echo "com @PNGLIB_VERSION@ STANDARD API DEFINITION" |\
-	$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out\
-	    logunsupported=1 - ${srcdir}/scripts/pnglibconf.dfa 1>&2
+	$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out logunsupported=1
+		version=search ${srcdir}/pngconf.h -\
+		${srcdir}/scripts/pnglibconf.dfa 1>&2
 	$(AWK) -f ${srcdir}/scripts/options.awk out=dfn2.out dfn1.out 1>&2
 	rm dfn1.out
 	mv dfn2.out $@
diff --git a/Makefile.in b/Makefile.in
index 993d896..61e0417 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1347,10 +1347,11 @@
 	mv dfn3.out $@
 
 # The .dfn file for pnglibconf.h is machine generated
-pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk
+pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h
 	rm -f $@ dfn?.out
-	$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out\
-	    ${srcdir}/scripts/pnglibconf.dfa $(DFA_XTRA) 1>&2
+	$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out version=search\
+	    ${srcdir}/pngconf.h ${srcdir}/scripts/pnglibconf.dfa\
+	    $(DFA_XTRA) 1>&2
 	$(AWK) -f ${srcdir}/scripts/options.awk out=dfn2.out dfn1.out 1>&2
 	rm dfn1.out
 	mv dfn2.out $@
@@ -1365,12 +1366,13 @@
 
 # used on demand to regenerate the standard header, CPPFLAGS should
 # be empty - no non-standard defines
-scripts/pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk
+scripts/pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h
 	rm -f $@ dfn?.out
 	test -z "$(CPPFLAGS)"
 	echo "com @PNGLIB_VERSION@ STANDARD API DEFINITION" |\
-	$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out\
-	    logunsupported=1 - ${srcdir}/scripts/pnglibconf.dfa 1>&2
+	$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out logunsupported=1
+		version=search ${srcdir}/pngconf.h -\
+		${srcdir}/scripts/pnglibconf.dfa 1>&2
 	$(AWK) -f ${srcdir}/scripts/options.awk out=dfn2.out dfn1.out 1>&2
 	rm dfn1.out
 	mv dfn2.out $@
diff --git a/projects/owatcom/pngconfig.mak b/projects/owatcom/pngconfig.mak
index 6943e15..0f98878 100644
--- a/projects/owatcom/pngconfig.mak
+++ b/projects/owatcom/pngconfig.mak
@@ -57,9 +57,9 @@
 <<
  $(DELETE) dfn.c dfn1.out dfn2.out
 
-pnglibconf.dfn: ..\..\scripts\pnglibconf.dfa ..\..\scripts\options.awk pngconfig.dfa
+pnglibconf.dfn: ..\..\scripts\pnglibconf.dfa ..\..\scripts\options.awk pngconfig.dfa ..\..\pngconf.h
  $(DELETE) $@ dfn1.out dfn2.out
- $(AWK) -f ..\..\scripts\options.awk out=dfn1.out ..\..\scripts\pnglibconf.dfa pngconfig.dfa $(DFA_XTRA) 1>&2
+ $(AWK) -f ..\..\scripts\options.awk out=dfn1.out version=search ..\..\pngconf.h ..\..\scripts\pnglibconf.dfa pngconfig.dfa $(DFA_XTRA) 1>&2
  $(AWK) -f ..\..\scripts\options.awk out=dfn2.out dfn1.out 1>&2
  $(COPY) dfn2.out $@
  $(DELETE) dfn1.out dfn2.out
diff --git a/scripts/makefile.std b/scripts/makefile.std
index 0d0c5e5..a04dbb8 100644
--- a/scripts/makefile.std
+++ b/scripts/makefile.std
@@ -50,9 +50,9 @@
 
 # The standard pnglibconf.h exists as scripts/pnglibconf.h.prebuilt,
 # copy this if the following doesn't work.
-pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk ANNOUNCE
+pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h
 	$(RM_F) $@ dfn?.out
-	$(AWK) -f scripts/options.awk out=dfn1.out ANNOUNCE\
+	$(AWK) -f scripts/options.awk out=dfn1.out version=search pngconf.h\
 	    scripts/pnglibconf.dfa $(DFA_XTRA) 1>&2
 	$(AWK) -f scripts/options.awk out=dfn2.out dfn1.out 1>&2
 	cp dfn2.out $@
diff --git a/scripts/options.awk b/scripts/options.awk
index dc09e12..6b069ae 100755
--- a/scripts/options.awk
+++ b/scripts/options.awk
@@ -32,7 +32,8 @@
 BEGIN{
    out="/dev/null"              # intermediate, preprocessed, file
    pre=-1                       # preprocess (first line)
-   version=""                   # version information
+   version="libpng version unknown" # version information
+   version_file=""              # where to find the version
    err=0                        # in-line exit sets this
    start="PNG_DEFN_MAGIC-"      # Arbitrary start
    end="-PNG_DEFN_END"          # Arbitrary end
@@ -87,14 +88,25 @@
    }
 }
 
-# While pre-processing if the filename is ANNOUNCE then just look for a line
-# which gives the version information for this build.
-pre && FILENAME ~ /ANNOUNCE$/ && version == "" && $1 == "Libpng"{
-   version=$0
-   print "version =", version >out
+# While pre-processing if version is set to "search" look for a version string
+# in the following file.
+pre && version == "search" && version_file == ""{
+   version_file = FILENAME
 }
 
-pre && FILENAME ~ /ANNOUNCE$/{
+pre && version == "search" && version_file != FILENAME{
+   print "version string not found in", version_file
+   err = 1
+   exit 1
+}
+
+pre && version == "search" && $0 ~ /^ \* libpng version/{
+   version = substr($0, 4)
+   print "version =", version >out
+   next
+}
+
+pre && FILENAME == version_file{
    next
 }
 
diff --git a/scripts/pnglibconf.mak b/scripts/pnglibconf.mak
index 3cdb46a..c04578f 100755
--- a/scripts/pnglibconf.mak
+++ b/scripts/pnglibconf.mak
@@ -41,12 +41,13 @@
 	$(COPY) dfn3.out $@
 	$(DELETE) dfn.c dfn1.out dfn2.out dfn3.out
 
-pnglibconf.dfn: $(srcdir)/scripts/pnglibconf.dfa $(srcdir)/scripts/options.awk $(srcdir)/ANNOUNCE
+pnglibconf.dfn: $(srcdir)/scripts/pnglibconf.dfa $(srcdir)/scripts/options.awk $(srcdir)/pngconf.h
 	$(DELETE) $@ dfn1.out dfn2.out
 	$(ECHO) "Calling $(AWK) from scripts/pnglibconf.mak" >&2
 	$(ECHO) "If 'awk' crashes try a better awk (e.g. AWK='nawk')" >&2
-	$(AWK) -f $(srcdir)/scripts/options.awk out=dfn1.out $(srcdir)/ANNOUNCE\
-	    $(srcdir)/scripts/pnglibconf.dfa $(DFA_XTRA) 1>&2
+	$(AWK) -f $(srcdir)/scripts/options.awk out=dfn1.out version=search\
+		$(srcdir)/pngconf.h $(srcdir)/scripts/pnglibconf.dfa\
+		$(DFA_XTRA) 1>&2
 	$(AWK) -f $(srcdir)/scripts/options.awk out=dfn2.out dfn1.out 1>&2
 	$(COPY) dfn2.out $@
 	$(DELETE) dfn1.out dfn2.out