[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