1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-12 18:06:18 +00:00
mpv/waftools/generators/headers.py
Stefano Pigozzi 212374149f build: expose waf variants to the user
This allows the user to execute multiple configuration and build steps. It
can be used for several scenarios where you need different compiler flags.
2014-08-06 09:31:59 +02:00

47 lines
1.6 KiB
Python

def __cp_to_variant__(ctx, variant, basename):
src = ctx.bldnode.search(basename).read()
node = ctx.bldnode.make_node("{0}/{1}".format(variant, basename))
node.parent.mkdir()
node.write(src)
def __get_version__(ctx):
import subprocess
process = subprocess.Popen(["sh", "./version.sh", "--print"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
cwd=ctx.srcnode.abspath())
(version, err) = process.communicate()
version = version.strip()
if not isinstance(version, str):
version = version.decode('utf-8')
return version
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')
__cp_to_variant__(ctx, ctx.options.variant, '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")
__cp_to_variant__(ctx, ctx.options.variant, '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)