1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-24 07:42:17 +00:00
mpv/waftools/generators/headers.py
Ryan Goulden 3160182a7b build: fix unicode handling of the version string
Don't pass unicode types to waf ENV.
As per https://code.google.com/p/waf/issues/detail?id=1420
This directly fixes the "CFVersion" key in the .app bundle plist.
2014-03-14 22:10:22 +01:00

37 lines
1.2 KiB
Python

def __get_version__(ctx):
import subprocess
process = subprocess.Popen(["sh", "./version.sh", "--print"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
cwd=ctx.srcnode.abspath())
process.wait()
(version, err) = process.communicate()
return version.strip().decode('utf-8').encode('ascii', 'ignore')
def __get_build_date__():
import time
return time.strftime("%Y-%m-%dT%H:%M:%S", time.gmtime())
def __write_config_h__(ctx):
ctx.start_msg("Writing configuration header:")
ctx.write_config_header('config.h')
ctx.end_msg("config.h", "PINK")
def __write_version_h__(ctx):
ctx.start_msg("Writing header:")
ctx.env.VERSION = __get_version__(ctx)
ctx.define("VERSION", ctx.env.VERSION)
ctx.define("BUILDDATE", __get_build_date__())
ctx.write_config_header("version.h")
ctx.end_msg("version.h", "PINK")
def __add_mplayer_defines__(ctx):
from sys import argv
ctx.define("CONFIGURATION", " ".join(argv))
ctx.define("MPLAYER_CONFDIR", ctx.env.CONFDIR)
def configure(ctx):
__add_mplayer_defines__(ctx)
__write_config_h__(ctx)
__write_version_h__(ctx)