[PATCH 4/6] Remove need for version.mk file.
Diego 'Flameeyes' Pettenò
flamee... at gmail.com
Wed Oct 1 14:37:30 UTC 2008
Use autoconf to generate version.tex and the man pages, instead of
using Makefile and version.mk. Also define PACKAGE_PUBDATE and
PACKAGE_VERSION through autoconf/autoheader.
---
Makefile.in | 2 --
common/Makefile.in | 6 +-----
configure.in | 12 ++++++++----
doc/Makefile.in | 14 ++------------
doc/ragel.1.in | 2 +-
doc/rlgen-cd.1.in | 2 +-
doc/rlgen-dot.1.in | 2 +-
doc/rlgen-java.1.in | 2 +-
doc/rlgen-ruby.1.in | 2 +-
doc/version.tex.in | 2 ++
ragel/main.cpp | 2 +-
ragel/parsedata.cpp | 4 ++--
redfsm/Makefile.in | 2 --
redfsm/xmlparse.kl | 2 +-
rlgen-cd/Makefile.in | 2 --
rlgen-csharp/Makefile.in | 2 --
rlgen-csharp/main.cpp | 2 +-
rlgen-dot/Makefile.in | 2 --
rlgen-java/Makefile.in | 2 --
rlgen-ruby/Makefile.in | 2 --
version.mk | 2 --
21 files changed, 23 insertions(+), 47 deletions(-)
create mode 100644 doc/version.tex.in
delete mode 100644 version.mk
diff --git a/Makefile.in b/Makefile.in
index 2666c48..4619bb5 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -27,8 +27,6 @@ ALL_SUBDIRS = $(BUILD_COMMON) $(BUILD_SUBDIRS) test examples doc
# Programs
CXX = @CXX@
-# Get the version info.
-include version.mk
# build targets
all: $(BUILD_SUBDIRS)
diff --git a/common/Makefile.in b/common/Makefile.in
index 112e59c..e79d6a4 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -40,8 +40,6 @@ RANLIB = @RANLIB@
OBJS = $(CC_SRCS:%.cpp=%.o)
DEPS = $(CC_SRCS:%.cpp=.%.d)
-# Get the version info.
-include ../version.mk
# rules
@@ -51,9 +49,7 @@ common.a: $(GEN_SRC) $(OBJS)
$(AR) -cr $@ $(OBJS)
$(RANLIB) $@
-version.h: ../version.mk
- echo '#define VERSION "$(VERSION)"' > version.h
- echo '#define PUBDATE "$(PUBDATE)"' >> version.h
+version.h:
echo '#define PREFIX "$(prefix)"' >> version.h
%.o: %.cpp
diff --git a/configure.in b/configure.in
index 3995551..85e93b0 100644
--- a/configure.in
+++ b/configure.in
@@ -16,11 +16,15 @@ dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with Ragel; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-AC_INIT(ragel/main.cpp)
+dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+AC_INIT(ragel/main.cpp, 6.3)
AC_CONFIG_HEADER(common/config.h)
+PACKAGE_PUBDATE="August 2008"
+AC_SUBST(PACKAGE_PUBDATE)
+AC_DEFINE_UNQUOTED([PACKAGE_PUBDATE], ["$PACKAGE_PUBDATE"], [Package publication date])
+
dnl You need to enable this unless the generated files are included
dnl and don't need to be built.
AC_ARG_ENABLE([parsers],
@@ -107,6 +111,6 @@ AC_CHECK_PROG(GMCS, gmcs, gmcs)
AC_SUBST(GMCS)
dnl write output files
-AC_OUTPUT(Makefile common/Makefile ragel/Makefile redfsm/Makefile rlgen-cd/Makefile rlgen-java/Makefile rlgen-ruby/Makefile rlgen-dot/Makefile rlgen-csharp/Makefile doc/Makefile test/Makefile test/runtests)
+AC_OUTPUT(Makefile common/Makefile ragel/Makefile redfsm/Makefile rlgen-cd/Makefile rlgen-java/Makefile rlgen-ruby/Makefile rlgen-dot/Makefile rlgen-csharp/Makefile doc/Makefile test/Makefile test/runtests doc/ragel.1 doc/rlgen-cd.1 doc/rlgen-java.1 doc/rlgen-ruby.1 doc/rlgen-dot.1 doc/version.tex)
echo "configuration of ragel complete"
diff --git a/doc/Makefile.in b/doc/Makefile.in
index a6ff456..6178f0d 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -24,8 +24,6 @@ INPUT = version.tex ragel-guide.tex
FIGURES = $(wildcard *.fig)
PDFFIGS = $(FIGURES:%.fig=%.pdf)
-# Get the version info.
-include ../version.mk
# Installation locations.
PACKAGE = ragel
@@ -49,19 +47,11 @@ ragel-guide.pdf: $(PDFFIGS) $(INPUT)
pdflatex -interaction=nonstopmode $< >/dev/null
pdflatex -interaction=nonstopmode $< >/dev/null
-version.tex: ../version.mk
- echo '|def|version{$(VERSION)}' | tr '|' '\\' > version.tex
- echo '|def|pubdate{$(PUBDATE)}' | tr '|' '\\' >> version.tex
-
-%.1: %.1.in ../version.mk
- cat $< | sed 's/@PUBDATE@/$(PUBDATE)/' \
- | sed 's/@VERSION@/$(VERSION)/' > $@
-
clean:
- rm -f $(MANPAGES) *.bak *.aux *.dvi *.log *.toc *.pdf
+ rm -f *.bak *.aux *.dvi *.log *.toc *.pdf
distclean: clean
- rm -f Makefile
+ rm -f Makefile $(MANPAGES) version.tex
man: $(MANPAGES)
diff --git a/doc/ragel.1.in b/doc/ragel.1.in
index 68142e2..66753cc 100644
--- a/doc/ragel.1.in
+++ b/doc/ragel.1.in
@@ -21,7 +21,7 @@
.\" Process this file with
.\" groff -man -Tascii ragel.1
.\"
-.TH RAGEL 1 "@PUBDATE@" "Ragel @VERSION@" "Ragel State Machine Compiler"
+.TH RAGEL 1 "@PACKAGE_PUBDATE@" "Ragel @PACKAGE_VERSION@" "Ragel State Machine Compiler"
.SH NAME
ragel \- compile regular languages into executable state machines
.SH SYNOPSIS
diff --git a/doc/rlgen-cd.1.in b/doc/rlgen-cd.1.in
index 33cc088..0d0087f 100644
--- a/doc/rlgen-cd.1.in
+++ b/doc/rlgen-cd.1.in
@@ -21,7 +21,7 @@
.\" Process this file with
.\" groff -man -Tascii rlgen-cd.1
.\"
-.TH RLGEN-CD 1 "@PUBDATE@" "Ragel @VERSION@" "Ragel State Machine Compiler"
+.TH RLGEN-CD 1 "@PACKAGE_PUBDATE@" "Ragel @PACKAGE_VERSION@" "Ragel State Machine Compiler"
.SH NAME
rlgen-cd \- code generator for Ragel State Machine Compiler
.SH SYNOPSIS
diff --git a/doc/rlgen-dot.1.in b/doc/rlgen-dot.1.in
index 5c24091..c7a7cbe 100644
--- a/doc/rlgen-dot.1.in
+++ b/doc/rlgen-dot.1.in
@@ -21,7 +21,7 @@
.\" Process this file with
.\" groff -man -Tascii rlgen-dot.1
.\"
-.TH RLGEN-DOT 1 "@PUBDATE@" "Ragel @VERSION@" "Ragel State Machine Compiler"
+.TH RLGEN-DOT 1 "@PACKAGE_PUBDATE@" "Ragel @PACKAGE_VERSION@" "Ragel State Machine Compiler"
.SH NAME
rlgen-dot \- Dotfile generator for Ragel State Machine Compiler
.SH SYNOPSIS
diff --git a/doc/rlgen-java.1.in b/doc/rlgen-java.1.in
index c143d15..5528a2f 100644
--- a/doc/rlgen-java.1.in
+++ b/doc/rlgen-java.1.in
@@ -21,7 +21,7 @@
.\" Process this file with
.\" groff -man -Tascii rlgen-java.1
.\"
-.TH RLGEN-JAVA 1 "@PUBDATE@" "Ragel @VERSION@" "Ragel State Machine Compiler"
+.TH RLGEN-JAVA 1 "@PACKAGE_PUBDATE@" "Ragel @PACKAGE_VERSION@" "Ragel State Machine Compiler"
.SH NAME
rlgen-java \- code generator for Ragel State Machine Compiler
.SH SYNOPSIS
diff --git a/doc/rlgen-ruby.1.in b/doc/rlgen-ruby.1.in
index 9aecfe2..08f1dce 100644
--- a/doc/rlgen-ruby.1.in
+++ b/doc/rlgen-ruby.1.in
@@ -21,7 +21,7 @@
.\" Process this file with
.\" groff -man -Tascii rlgen-ruby.1
.\"
-.TH RLGEN-RUBY 1 "@PUBDATE@" "Ragel @VERSION@" "Ragel State Machine Compiler"
+.TH RLGEN-RUBY 1 "@PACKAGE_PUBDATE@" "Ragel @PACKAGE_VERSION@" "Ragel State Machine Compiler"
.SH NAME
rlgen-ruby \- code generator for Ragel State Machine Compiler
.SH SYNOPSIS
diff --git a/doc/version.tex.in b/doc/version.tex.in
new file mode 100644
index 0000000..3c0fc35
--- /dev/null
+++ b/doc/version.tex.in
@@ -0,0 +1,2 @@
+\def\version{@PACKAGE_VERSION@}
+\def\pubdate{@PACKAGE_PUBDATE@}
diff --git a/ragel/main.cpp b/ragel/main.cpp
index 1e7ccc0..56095db 100644
--- a/ragel/main.cpp
+++ b/ragel/main.cpp
@@ -153,7 +153,7 @@ void usage()
/* Print version information and exit. */
void version()
{
- cout << "Ragel State Machine Compiler version " VERSION << " " PUBDATE << endl <<
+ cout << "Ragel State Machine Compiler version " PACKAGE_VERSION " " PACKAGE_PUBDATE << endl <<
"Copyright (c) 2001-2007 by Adrian Thurston" << endl;
exit(0);
}
diff --git a/ragel/parsedata.cpp b/ragel/parsedata.cpp
index 73f52c6..3985b2f 100644
--- a/ragel/parsedata.cpp
+++ b/ragel/parsedata.cpp
@@ -1482,7 +1482,7 @@ void writeMachines( std::ostream &out, std::string hostData,
}
if ( gblErrorCount == 0 ) {
- out << "<ragel version=\"" VERSION "\" filename=\"" << inputFileName << "\"";
+ out << "<ragel version=\"" PACKAGE_VERSION "\" filename=\"" << inputFileName << "\"";
writeLanguage( out );
out << ">\n";
for ( ParserDict::Iter parser = parserDict; parser.lte(); parser++ ) {
@@ -1523,7 +1523,7 @@ void writeMachines( std::ostream &out, std::string hostData,
/* Section/Machine to emit was found. Prepare and emit it. */
parseData->prepareMachineGen( graphDictEl );
if ( gblErrorCount == 0 ) {
- out << "<ragel version=\"" VERSION "\" filename=\"" << inputFileName << "\"";
+ out << "<ragel version=\"" PACKAGE_VERSION "\" filename=\"" << inputFileName << "\"";
writeLanguage( out );
out << ">\n";
parseData->generateXML( out );
diff --git a/redfsm/Makefile.in b/redfsm/Makefile.in
index 951de79..8e67233 100644
--- a/redfsm/Makefile.in
+++ b/redfsm/Makefile.in
@@ -41,8 +41,6 @@ RANLIB = @RANLIB@
OBJS = $(CC_SRCS:%.cpp=%.o)
DEPS = $(CC_SRCS:%.cpp=.%.d)
-# Get the version info.
-include ../version.mk
# Rules.
all: redfsm.a
diff --git a/redfsm/xmlparse.kl b/redfsm/xmlparse.kl
index e725fcc..6ce677a 100644
--- a/redfsm/xmlparse.kl
+++ b/redfsm/xmlparse.kl
@@ -108,7 +108,7 @@ tag_ragel_head: TAG_ragel
Attribute *versionAttr = $1->tag->findAttr( "version" );
if ( versionAttr == 0 )
error($1->loc) << "tag <ragel> requires a version attribute" << endp;
- if ( strcmp( versionAttr->value, VERSION ) != 0 )
+ if ( strcmp( versionAttr->value, PACKAGE_VERSION ) != 0 )
error($1->loc) << "version mismatch between frontend and backend" << endp;
/* Check for file name attribute. */
diff --git a/rlgen-cd/Makefile.in b/rlgen-cd/Makefile.in
index 49031e3..7b06285 100644
--- a/rlgen-cd/Makefile.in
+++ b/rlgen-cd/Makefile.in
@@ -45,8 +45,6 @@ RANLIB = @RANLIB@
OBJS = $(CC_SRCS:%.cpp=%.o)
DEPS = $(CC_SRCS:%.cpp=.%.d)
-# Get the version info.
-include ../version.mk
# Rules.
all: rlgen-cd.a
diff --git a/rlgen-csharp/Makefile.in b/rlgen-csharp/Makefile.in
index fa57e49..fc5380f 100644
--- a/rlgen-csharp/Makefile.in
+++ b/rlgen-csharp/Makefile.in
@@ -45,8 +45,6 @@ RANLIB = @RANLIB@
OBJS = $(CC_SRCS:%.cpp=%.o)
DEPS = $(CC_SRCS:%.cpp=.%.d)
-# Get the version info.
-include ../version.mk
# Rules.
all: rlgen-csharp.a
diff --git a/rlgen-csharp/main.cpp b/rlgen-csharp/main.cpp
index 1a78848..8a6fa4b 100644
--- a/rlgen-csharp/main.cpp
+++ b/rlgen-csharp/main.cpp
@@ -92,7 +92,7 @@ void csharp_usage()
void csharp_version()
{
cout << "Ragel Code Generator for C#" << endl <<
- "Version " VERSION << ", " PUBDATE << endl <<
+ "Version " PACKAGE_VERSION ", " PACKAGE_PUBDATE << endl <<
"Copyright (c) 2001-2007 by Adrian Thurston" << endl;
}
diff --git a/rlgen-dot/Makefile.in b/rlgen-dot/Makefile.in
index 5d33931..c5611c2 100644
--- a/rlgen-dot/Makefile.in
+++ b/rlgen-dot/Makefile.in
@@ -41,8 +41,6 @@ RANLIB = @RANLIB@
OBJS = $(CC_SRCS:%.cpp=%.o)
DEPS = $(CC_SRCS:%.cpp=.%.d)
-# Get the version info.
-include ../version.mk
# Rules.
all: rlgen-dot.a
diff --git a/rlgen-java/Makefile.in b/rlgen-java/Makefile.in
index 2fe5cd7..c429dde 100644
--- a/rlgen-java/Makefile.in
+++ b/rlgen-java/Makefile.in
@@ -42,8 +42,6 @@ RANLIB = @RANLIB@
OBJS = $(CC_SRCS:%.cpp=%.o)
DEPS = $(CC_SRCS:%.cpp=.%.d)
-# Get the version info.
-include ../version.mk
# Rules.
all: rlgen-java.a
diff --git a/rlgen-ruby/Makefile.in b/rlgen-ruby/Makefile.in
index a0a2d52..96d5399 100644
--- a/rlgen-ruby/Makefile.in
+++ b/rlgen-ruby/Makefile.in
@@ -43,8 +43,6 @@ RANLIB = @RANLIB@
OBJS = $(CC_SRCS:%.cpp=%.o)
DEPS = $(CC_SRCS:%.cpp=.%.d)
-# Get the version info.
-include ../version.mk
# Rules.
all: rlgen-ruby.a
diff --git a/version.mk b/version.mk
deleted file mode 100644
index 12353fa..0000000
--- a/version.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VERSION = 6.3
-PUBDATE = August 2008
More information about the ragel-users
mailing list