1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-19 04:29:09 +00:00

(svn r2032) -Codechange: A less hackish version of SVN version detection for OS/2 (orudge)

This commit is contained in:
Celestar
2005-03-19 23:23:56 +00:00
parent f179dc7acc
commit 1990c139d5
5 changed files with 23 additions and 59 deletions

View File

@@ -1,33 +1,30 @@
@echo off
echo Running SVN version detection script...
rem
rem Requires subversion (`svnversion'), GNU make and some other GNU tools (eg, textutils)
rem installed - a hack, I know, but it seems to work if you have the appropriate tools
rem installed.
rem Requires subversion (`svnversion') to be installed
rem
cd ..\..
if not exist .svn goto nosvn
make -f os/os2/svn_version.mak
if not %ERRORLEVEL%==0 goto nomake
if not "%RELEASE%"=="" goto forcerelease
svnversion -n . > os\os2\svnver.tmp
if not "%ERRORLEVEL%"=="0" goto nosvn
copy os\os2\svnver1.c+os\os2\svnver.tmp+os\os2\svnver2.c rev.c /a /y > nul 2> nul
goto end
:nomake
gmake -f os/os2/svn_version.mak
if not %ERRORLEVEL%==0 goto nomake2
:forcerelease
echo Forcing release string "%RELEASE%"...
echo const char _openttd_revision[] = "%RELEASE%"; > rev.c
echo const int _revision_number = 0; >> rev.c
goto end
:nomake2
echo Neither `make` nor `gmake' could be found, SVN version detection unable to
echo run. Default rev.c used...
:nosvn
echo Error executing `svnversion' or no SVN data detected
echo const char _openttd_revision[] = "norev000"; > rev.c
echo const int _revision_number = 0; >> rev.c
echo #ifdef __MORPHOS__ >> rev.c
echo const char morphos_versions_tag[] = "\\0$VER: OpenTTD norev000 (00.00.00) <20> OpenTTD Team [MorphOS, PowerPC]"; >> rev.c
echo #endif >> rev.c
goto end
:end
cd os\os2
del svnver.tmp > nul 2> nul
rem end

View File

@@ -1,34 +0,0 @@
all : rev.c
# What revision are we compiling, if we have an idea?
REV_NUMBER := $(shell if test -d .svn; then svnversion . | tr -dc 0-9; fi)
ifdef RELEASE
REV:=$(RELEASE)
else
REV := $(shell if test -d .svn; then svnversion . | awk '{ print "r"$$0 }'; fi)
tmp_test:=$(shell echo "$(REV)" | grep "M" )
ifdef tmp_test
REV_NUMBER:=1
endif
endif
ifndef REV_NUMBER
REV_NUMBER:=0
endif
rev.c: FORCE
@# setting the revision number in a place, there the binary can read it
@echo 'const char _openttd_revision[] = "$(REV)";' >>rev.c.new
@echo 'const int _revision_number = $(REV_NUMBER);' >>rev.c.new
@# some additions for MorphOS versions tag
@echo '#ifdef __MORPHOS__' >>rev.c.new
@echo 'const char morphos_versions_tag[] = "\\0$$VER: OpenTTD $(REV) ('${BUILDDATE}') <20> OpenTTD Team [MorphOS, PowerPC]";' >>rev.c.new
@echo '#endif' >>rev.c.new
@# Only update the real rev.c if it actually changed, to prevent
@# useless rebuilds.
@cmp -s rev.c rev.c.new 2>/dev/null || mv rev.c.new rev.c
@rm -f rev.c.new
FORCE:

3
os/os2/svnver1.c Normal file
View File

@@ -0,0 +1,3 @@
/* rev.c part #1 for OS/2 - ensure no newline at end of file! */
const char _openttd_revision[] = "

4
os/os2/svnver2.c Normal file
View File

@@ -0,0 +1,4 @@
";
const int _revision_number = 0;
/* rev.c part 2 for OS/2 - ensure no newline at start of file! */