mirror of
https://github.com/mpv-player/mpv
synced 2024-12-20 22:02:59 +00:00
7e2edad8ef
This commit adds a new build system based on waf. configure and Makefile are deprecated effective immediately and someday in the future they will be removed (they are still available by running ./old-configure). You can find how the choice for waf came to be in `DOCS/waf-buildsystem.rst`. TL;DR: we couldn't get the same level of abstraction and customization with other build systems we tried (CMake and autotools). For guidance on how to build the software now, take a look at README.md and the cross compilation guide. CREDITS: This is a squash of ~250 commits. Some of them are not by me, so here is the deserved attribution: - @wm4 contributed some Windows fixes, renamed configure to old-configure and contributed to the bootstrap script. Also, GNU/Linux testing. - @lachs0r contributed some Windows fixes and the bootstrap script. - @Nikoli contributed a lot of testing and discovered many bugs. - @CrimsonVoid contributed changes to the bootstrap script.
37 lines
1.2 KiB
Python
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()
|
|
|
|
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)
|