summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Bowler <jbowler@acm.org>2011-11-08 19:34:54 -0600
committerGlenn Randers-Pehrson <glennrp@shaggy.simplesystems.org>2011-11-08 19:34:54 -0600
commitd4973837b2ce831eacc800e1460cdc594d87a693 (patch)
tree170e1a6292d784dc510cf5e809973255e896b8af
parentdd81915d5b52cfd8ee8abf5a452c6afd456f4944 (diff)
downloadlibpng-d4973837b2ce831eacc800e1460cdc594d87a693.tar.gz
[libpng15] Change options.awk to use pngconf.h for versioning
instead of ANNOUNCE
-rw-r--r--Makefile.am14
-rw-r--r--Makefile.in14
-rw-r--r--projects/owatcom/pngconfig.mak4
-rw-r--r--scripts/makefile.std4
-rwxr-xr-xscripts/options.awk24
-rwxr-xr-xscripts/pnglibconf.mak7
6 files changed, 42 insertions, 25 deletions
diff --git a/Makefile.am b/Makefile.am
index ab92aa783..938ddec24 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -149,10 +149,11 @@ SYMBOL_CFLAGS = -DPNGLIB_LIBNAME='PNG@PNGLIB_MAJOR@@PNGLIB_MINOR@_0'\
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 @@ scripts/symbols.chk: scripts/checksym.awk scripts/symbols.def scripts/symbols.ou
# 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 993d89618..61e04171b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1347,10 +1347,11 @@ pngvalid.o pngtest.o: pnglibconf.h
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 @@ scripts/symbols.chk: scripts/checksym.awk scripts/symbols.def scripts/symbols.ou
# 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 6943e15d4..0f9887805 100644
--- a/projects/owatcom/pngconfig.mak
+++ b/projects/owatcom/pngconfig.mak
@@ -57,9 +57,9 @@ instructions consult and edit projects/openwatcom/pngconfig.dfa
<<
$(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 0d0c5e53f..a04dbb856 100644
--- a/scripts/makefile.std
+++ b/scripts/makefile.std
@@ -50,9 +50,9 @@ all: libpng.a pngtest
# 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 dc09e122d..6b069ae2f 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 @@ pre == -1{
}
}
-# 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
+# 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 && 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 ~ /ANNOUNCE$/{
+pre && FILENAME == version_file{
next
}
diff --git a/scripts/pnglibconf.mak b/scripts/pnglibconf.mak
index 3cdb46a31..c04578f31 100755
--- a/scripts/pnglibconf.mak
+++ b/scripts/pnglibconf.mak
@@ -41,12 +41,13 @@ pnglibconf.h: pnglibconf.dfn
$(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