Hi, attached is a proposal for a replacement for revision.h. (Heavily influenced by svn-docs.)
--Dennis
Index: src/Makefile.am
===================================================================
--- src/Makefile.am (revision 59)
+++ src/Makefile.am (working copy)
@@ -8,6 +8,7 @@
-I$(top_srcdir)/lib/sequence -I$(top_srcdir)/lib/sound \
-I$(top_srcdir)/lib/widget -I$(top_srcdir)/lib/ivis_common -I$(top_srcdir)
warzone_SOURCES = \
+ version.c \
scriptvals_parser.y \
scriptvals_lexer.l \
level_lexer.l \
@@ -269,7 +270,6 @@
../lib/script/libscript.a \
../lib/ivis_common/libivis_common.a \
../lib/$(RENDERER)/lib$(RENDERER).a \
- ../lib/ivis_common/libivis_common.a \
../lib/gamelib/libgamelib.a \
../lib/sequence/libsequence.a \
../lib/widget/libwidget.a
@@ -280,12 +280,14 @@
warzone_DEPENDENCIES = $(warzone_libs)
warzone_LDADD = $(warzone_libs)
-# On every build, record the working copy revision string in revision.h
-# if svnversion is not installed, it will be just an empty string.
-# Also delete frontend.o so it is remade unconditionally to have an
-# up-to-date revision number.
-STUPID_TRICK := $(shell rm -rf frontend.o)
-REWRITE_REVISION_H1 := $(shell echo -n '\#define SVN_REVISION "Revision ' > revision.h)
-REWRITE_REVISION_H2 := $(shell svnversion -n . >> revision.h)
-REWRITE_REVISION_H3 := $(shell echo '"' >> revision.h)
-
+##
+## on every build, record the working copy revision string
+##
+.PHONY: version.c
+version.c:
+ echo -n 'const char* version(void) { return "' \
+ $(VERSION) \
+ '"; }' > version.c
+ echo -n 'const char* revision(void) { return "' \
+ `svnversion -n .` \
+ '"; }' >> version.c
Index: src/frontend.c
===================================================================
--- src/frontend.c (revision 59)
+++ src/frontend.c (working copy)
@@ -64,12 +64,9 @@
#include "netplay.h"
+extern const char * version( void ); // Returns current version.
+extern const char * revision( void ); // Returns current SVN revision.
-#include "revision.h"
-#ifndef SVN_REVISION
-#error "SVN_REVISION must be defined!"
-#endif
-
extern BOOL bSubtitles;
extern VOID intUpdateOptionText(struct _widget *psWidget, struct _w_context *psContext);
@@ -1641,7 +1638,7 @@
iV_SetFont(WFont);
iV_SetTextColour(-1);
- snprintf(sTmp, sTmpSize, "Version %s w/%s - Built %s", SVN_REVISION,
+ snprintf(sTmp, sTmpSize, "Version %s - Revision %s - w/%s - Built %s", version(), revision(),
pie_Hardware() ? "OpenGL" : "SDL", __DATE__);
pgpoQ9uBZNtyt.pgp
Description: PGP signature
_______________________________________________ Warzone-dev mailing list [email protected] https://mail.gna.org/listinfo/warzone-dev
