33 env[
'VERSIONCOMSTR'] =
'Version ${TARGET}' 36 def generate_version_header(target, source, env):
37 headername = os.path.basename(target[0].abspath)
38 headerdef = headername.replace(
'.',
'_').replace(
'-',
'_').upper()
41 version = open(source[0].abspath,
'r').readline().strip().split('.')
43 version = [
'0',
'0',
'0' ]
45 f = open(headername,
'w')
46 f.write(
'/* Auto Generated Header built by version.py - DO NOT MODIFY */\n')
48 f.write(
'#ifndef __%s__\n' % (headerdef))
49 f.write(
'#define __%s__\n' % (headerdef))
51 f.write(
'#define VERSION_MAJOR %s\n' % version[0])
52 f.write(
'#define VERSION_MINOR %s\n' % version[1])
53 f.write(
'#define VERSION_MICRO %s\n' % version[2])
55 f.write(
'#endif /* __%s__ */\n' % (headerdef))
58 env.Append(BUILDERS = {
59 'Version' : SCons.Builder.Builder(
60 action = SCons.Action.Action(generate_version_header,
'${VERSIONCOMSTR}'),
69 [f(env)
for f
in (version_flags, version_builders)]
def version_builders(env)
def generate(env, kwargs)