netsurf/amiga/version.rexx
Chris Young ea205ecf23 Generate AmigaOS version string in correct format, taking:
netsurf_version_major from desktop/version.c as version
SVN revision from local repository as revision

This should ensure that the internal version number will increase correctly
(version and revision are treated as seperate values > 0), whereas NetSurf's public
release version (currently coming up to 2.0) is not guaranteed to be in legal AmigaOS
format or increase validly under AmigaOS rules.

The internal version string has been added for future AmiUpdate support as well as
making it easier to see and compare versions of interim builds.

amiga/version.c can safely be removed from the source list when cross-compiling (where
ARexx is not available), or manually created, as it only defines this internal
version string and does not contain any code.

amiga/version.c is automatically removed after linking to ensure it always reflects
the current SVN revision.


svn path=/trunk/netsurf/; revision=5510
2008-10-08 22:55:58 +00:00

46 lines
1.4 KiB
Rexx

/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
* NetSurf is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* NetSurf is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* This file generates an AmigaOS compliant version string in version.h */
address command 'svn info >t:ns_svn'
if open('tmp','t:ns_svn','R') then do
do until word(var,1) = "REVISION:"
var = upper(readln('tmp'))
end
dummy = close('tmp')
address command 'delete t:ns_svn'
end
svnrev = word(var,2)
if open('tmp','desktop/version.c','R') then do
do until word(var,3) = "NETSURF_VERSION_MAJOR"
var = upper(readln('tmp'))
end
dummy = close('tmp')
end
majorver = compress(word(var,5),";")
date = translate(date('E'),'.','/')
say '/* This file was automatically generated from version.rexx */'
say 'static __attribute__((used)) char verstag[] = "\0$VER: NetSurf' majorver || '.' || svnrev '(' || date || ')\0";'