diff options
author | erikkay@google.com <erikkay@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-04 20:03:50 +0000 |
---|---|---|
committer | erikkay@google.com <erikkay@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-04 20:03:50 +0000 |
commit | 467d8a78689a19aaa96c6700eb02dd94cac5eae1 (patch) | |
tree | 43f56d82d54fadefff979dcb5ba74c9a09cb2a4c /webkit/build/webkit_version.py | |
parent | 856ac4b39c729d184511244ebe0349e99e89879e (diff) | |
download | chromium_src-467d8a78689a19aaa96c6700eb02dd94cac5eae1.zip chromium_src-467d8a78689a19aaa96c6700eb02dd94cac5eae1.tar.gz chromium_src-467d8a78689a19aaa96c6700eb02dd94cac5eae1.tar.bz2 |
Pull the major and minor webkit version numbers from WebCore/Configurations/Version.xcconfig and generate a header file that allows us to keep our user agent info up to date.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@334 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/build/webkit_version.py')
-rw-r--r-- | webkit/build/webkit_version.py | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/webkit/build/webkit_version.py b/webkit/build/webkit_version.py new file mode 100644 index 0000000..52c0212 --- /dev/null +++ b/webkit/build/webkit_version.py @@ -0,0 +1,88 @@ +#!/usr/bin/python +# Copyright 2008, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +'''Reads the Webkit Version.xcconfig file looking for MAJOR_VERSION and +MINOR_VERSION, emitting them into a webkit_version.h header file as +WEBKIT_MAJOR_VERSION and WEBKIT_MINOR_VERSION macros. +''' + +import os +import re +import sys + +def ReadVersionFile(fname): + '''Reads the Webkit Version.xcconfig file looking for MAJOR_VERSION and + MINOR_VERSION. This function doesn't attempt to support the full syntax + of xcconfig files.''' + re_major = re.compile('MAJOR_VERSION\s*=\s*(\d+).*') + re_minor = re.compile('MINOR_VERSION\s*=\s*(\d+).*') + major = -1 + minor = -1 + f = open(fname, 'rb') + line = "not empty" + while line and not (major >= 0 and minor >= 0): + line = f.readline() + if major == -1: + match = re_major.match(line) + if match: + major = int(match.group(1)) + continue + if minor == -1: + match = re_minor.match(line) + if match: + minor = int(match.group(1)) + continue + assert(major >= 0 and minor >= 0) + return (major, minor) + +def EmitVersionHeader(version_file, output_dir): + '''Given webkit's version file, emit a header file that we can use from + within webkit_glue.cc. + ''' + (major, minor) = ReadVersionFile(version_file) + fname = os.path.join(output_dir, "webkit_version.h") + f = open(fname, 'wb') + template = """// webkit_version.h +// generated from %s + +#define WEBKIT_VERSION_MAJOR %d +#define WEBKIT_VERSION_MINOR %d +""" % (version_file, major, minor) + f.write(template) + f.close() + +def main(): + EmitVersionHeader(sys.argv[1], sys.argv[2]) + + +if __name__ == "__main__": + main() + +
\ No newline at end of file |