diff options
author | Bryan O'Sullivan <bos@lindenlab.com> | 2008-06-02 21:14:31 +0000 |
---|---|---|
committer | Bryan O'Sullivan <bos@lindenlab.com> | 2008-06-02 21:14:31 +0000 |
commit | 9db949eec327df4173fde3de934a87bedb0db13c (patch) | |
tree | aeffa0f0e68b1d2ceb74d460cbbd22652c9cd159 /scripts/build_version.py | |
parent | 419e13d0acaabf5e1e02e9b64a07648bce822b2f (diff) |
svn merge -r88066:88786 svn+ssh://svn.lindenlab.com/svn/linden/branches/cmake-9-merge
dataserver-is-deprecated
for-fucks-sake-whats-with-these-commit-markers
Diffstat (limited to 'scripts/build_version.py')
-rwxr-xr-x | scripts/build_version.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/scripts/build_version.py b/scripts/build_version.py new file mode 100755 index 0000000000..4bef290b7d --- /dev/null +++ b/scripts/build_version.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python +# +# Print the build information embedded in a header file. +# +# Expects to be invoked from the command line with a file name and a +# list of directories to search. The file name will be one of the +# following: +# +# llversionserver.h +# llversionviewer.h +# +# The directory list that follows will include indra/llcommon, where +# these files live. + +import errno, os, re + +def get_version(filename): + fp = open(filename) + data = fp.read() + fp.close() + + vals = {} + m = re.search('const S32 LL_VERSION_MAJOR = (\d+);', data) + vals['major'] = m.group(1) + m = re.search('const S32 LL_VERSION_MINOR = (\d+);', data) + vals['minor'] = m.group(1) + m = re.search('const S32 LL_VERSION_PATCH = (\d+);', data) + vals['patch'] = m.group(1) + m = re.search('const S32 LL_VERSION_BUILD = (\d+);', data) + vals['build'] = m.group(1) + + return "%(major)s.%(minor)s.%(patch)s.%(build)s" % vals + +if __name__ == '__main__': + import sys + + try: + for path in sys.argv[2:]: + name = os.path.join(path, sys.argv[1]) + try: + print get_version(name) + break + except OSError, err: + if err.errno != errno.ENOENT: + raise + else: + print >> sys.stderr, 'File not found:', sys.argv[1] + sys.exit(1) + except AttributeError: + print >> sys.stderr, 'Error: malformatted file: ', name + sys.exit(1) + except IndexError: + print >> sys.stderr, ('Usage: %s llversion[...].h [directories]' % + sys.argv[0]) |