Monero
Loading...
Searching...
No Matches
versiongenerate Namespace Reference

Variables

 input_dir = sys.argv[1]
 output_dir = sys.argv[2]
 config_file = open("%s/configure.ac" % input_dir, 'r')
int buffer_size = 1024
 opening_string = config_file.read(buffer_size)
 version_expression
 version_values = version_expression.search(opening_string)
 major_version = version_values.group(1)
 minor_version = version_values.group(2)
 fix_version = version_values.group(3)
str file_data
 version_file = open("%s/Version.h" % output_dir, 'w')

Detailed Description

A script to prepare version informtion for use the gtest Info.plist file.

  This script extracts the version information from the configure.ac file and
  uses it to generate a header file containing the same information. The
  #defines in this header file will be included in during the generation of
  the Info.plist of the framework, giving the correct value to the version
  shown in the Finder.

  This script makes the following assumptions (these are faults of the script,
  not problems with the Autoconf):
    1. The AC_INIT macro will be contained within the first 1024 characters
       of configure.ac
    2. The version string will be 3 integers separated by periods and will be
       surrounded by squre brackets, "[" and "]" (e.g. [1.0.1]). The first
       segment represents the major version, the second represents the minor
       version and the third represents the fix version.
    3. No ")" character exists between the opening "(" and closing ")" of
       AC_INIT, including in comments and character strings.

Variable Documentation

◆ buffer_size

int versiongenerate.buffer_size = 1024

◆ config_file

versiongenerate.config_file = open("%s/configure.ac" % input_dir, 'r')

◆ file_data

str versiongenerate.file_data
Initial value:
1= """//
2// DO NOT MODIFY THIS FILE (but you can delete it)
3//
4// This file is autogenerated by the versiongenerate.py script. This script
5// is executed in a "Run Script" build phase when creating gtest.framework. This
6// header file is not used during compilation of C-source. Rather, it simply
7// defines some version strings for substitution in the Info.plist. Because of
8// this, we are not not restricted to C-syntax nor are we using include guards.
9//
10
11#define GTEST_VERSIONINFO_SHORT %s.%s
12#define GTEST_VERSIONINFO_LONG %s.%s.%s
13
14""" % (major_version, minor_version, major_version, minor_version, fix_version)

◆ fix_version

versiongenerate.fix_version = version_values.group(3)

◆ input_dir

versiongenerate.input_dir = sys.argv[1]

◆ major_version

versiongenerate.major_version = version_values.group(1)

◆ minor_version

versiongenerate.minor_version = version_values.group(2)

◆ opening_string

versiongenerate.opening_string = config_file.read(buffer_size)

◆ output_dir

versiongenerate.output_dir = sys.argv[2]

◆ version_expression

versiongenerate.version_expression
Initial value:
1= re.compile(r"AC_INIT\‍(.*?\‍[(\d+)\.(\d+)\.(\d+)\‍].*?\‍)",
2 re.DOTALL)

◆ version_file

versiongenerate.version_file = open("%s/Version.h" % output_dir, 'w')

◆ version_values

versiongenerate.version_values = version_expression.search(opening_string)