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__);
 
 

Attachment: pgpoQ9uBZNtyt.pgp
Description: PGP signature

_______________________________________________
Warzone-dev mailing list
[email protected]
https://mail.gna.org/listinfo/warzone-dev

Reply via email to