mirror of
https://github.com/mpv-player/mpv
synced 2024-12-20 13:52:10 +00:00
7475f7d957
Simply override the cprogram Task's __str__ method with our own implementation. This is way easier on the eyes when compiling mpv during development, since warnings are not pushed outside of your average screenful of content.
51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
from waflib.Configure import conf
|
|
|
|
@conf
|
|
def get_config_header(self, defines=True, headers=False, define_prefix=''):
|
|
"""
|
|
Only difference is it outputs `#define VAR 0` or `#define VAR value`
|
|
instead of `#undef VAR` or `#define VAR val`.
|
|
"""
|
|
from waflib.Tools.c_config import DEFKEYS, INCKEYS
|
|
lst = []
|
|
if headers:
|
|
for x in self.env[INCKEYS]:
|
|
lst.append('#include <%s>' % x)
|
|
|
|
if defines:
|
|
for x in self.env[DEFKEYS]:
|
|
val = self.is_defined(x) and self.get_define(x) or "0"
|
|
lst.append('#define %s %s' % (define_prefix + x, val))
|
|
|
|
return "\n".join(lst)
|
|
|
|
from waflib import TaskGen
|
|
|
|
@TaskGen.extension('.m')
|
|
def m_hook(self, node):
|
|
"""
|
|
Makes waf call the c compiler for objective-c files
|
|
"""
|
|
return self.create_compiled_task('c', node)
|
|
|
|
def build(ctx):
|
|
from waflib import Task
|
|
cls = Task.classes['cprogram']
|
|
class cprogram(cls):
|
|
run_str = cls.hcode + '${LAST_LINKFLAGS}'
|
|
|
|
def __str__(self):
|
|
tgt_str = ' '.join([a.nice_path() for a in self.outputs])
|
|
return 'linking -> {0}\n'.format(tgt_str)
|
|
|
|
cls = Task.classes['macplist']
|
|
class macplist(cls):
|
|
def run(self):
|
|
from waflib import Utils
|
|
if getattr(self, 'code', None):
|
|
txt = self.code
|
|
else:
|
|
txt = self.inputs[0].read()
|
|
txt = Utils.subst_vars(txt, self.env)
|
|
self.outputs[0].write(txt)
|