Moved some print functions to logging.

pull/15/head
Jussi Pakkanen 12 years ago
parent 7e3d951882
commit bbc3664028
  1. 42
      dependencies.py
  2. 5
      interpreter.py
  3. 8
      meson.py
  4. 6
      mlog.py

@ -24,6 +24,7 @@
import os, stat, glob, subprocess, shutil
from coredata import MesonException
import environment
import mlog
class DependencyException(MesonException):
def __init__(self, *args, **kwargs):
@ -80,14 +81,14 @@ class PkgConfigDependency(Dependency):
stderr=subprocess.PIPE)
out = p.communicate()[0]
if p.returncode != 0:
print('Dependency', name, 'found: NO')
mlog.log('Dependency', name, 'found:', mlog.red('NO'))
if required:
raise DependencyException('Required dependency %s not found.' % name)
self.modversion = 'none'
self.cflags = []
self.libs = []
else:
print('Dependency', name, 'found: YES')
mlog.log('Dependency', name, 'found:', mlog.green('YES'))
self.is_found = True
self.modversion = out.decode().strip()
p = subprocess.Popen(['pkg-config', '--cflags', name], stdout=subprocess.PIPE,
@ -119,7 +120,7 @@ class PkgConfigDependency(Dependency):
out = p.communicate()[0]
if p.returncode != 0:
raise RuntimeError('Pkg-config executable not found.')
print('Found pkg-config version %s.' % out.decode().strip())
mlog.log('Found pkg-config version %s.' % out.decode().strip())
PkgConfigDependency.pkgconfig_found = True
def found(self):
@ -133,9 +134,9 @@ class ExternalProgram():
else:
self.fullpath = shutil.which(name)
if self.found():
print('Program %s found: YES (%s)' % (name, self.fullpath))
mlog.log('Program', name, 'found:', mlog.green('YES'), '(%s)' % self.fullpath)
else:
print('Program %s found: NO' % name)
mlog.log('Program', name, 'found:,', mlog.red('NO'))
def found(self):
return self.fullpath is not None
@ -187,10 +188,9 @@ class BoostDependency(Dependency):
self.detect_src_modules()
self.detect_lib_modules()
self.validate_requested()
print('Dependency Boost (%s) found: YES (%s)' %
(module_str, self.version))
mlog.log('Dependency Boost (%s) found:,' % module_str, mlog.green('YES'), self.version)
else:
print("Dependency Boost (%s) found: NO" % module_str)
mlog.log("Dependency Boost (%s) found:" % module_str, mlog.red('NO'))
def get_compile_flags(self):
return []
@ -288,7 +288,7 @@ class GTestDependency(Dependency):
if self.main:
self.link_flags.append('-lgtest_main')
self.sources = []
print('Dependency GTest found: YES (prebuilt)')
mlog.log('Dependency GTest found:', mlog.green('YES'), '(prebuilt)')
elif os.path.exists(self.src_dir):
self.is_found = True
self.compile_flags = ['-I' + self.src_include_dir]
@ -297,9 +297,9 @@ class GTestDependency(Dependency):
self.sources = [self.all_src, self.main_src]
else:
self.sources = [self.all_src]
print('Dependency GTest found: YES (building self)')
mlog.log('Dependency GTest found:', mlog.green('YES'), '(building self)')
else:
print('Dependency GTest found: NO')
mlog.log('Dependency GTest found:', mlog.red('NO'))
self.is_found = False
self.link_flags.append('-lpthread')
return self.is_found
@ -336,7 +336,7 @@ class GMockDependency(Dependency):
self.compile_flags = []
self.link_flags = ['-lgmock']
self.sources = []
print('Dependency GMock found: YES (prebuilt)')
mlog.log('Dependency GMock found:', mlog.green('YES'), '(prebuilt)')
elif os.path.exists(self.src_dir):
self.is_found = True
self.compile_flags = ['-I' + self.src_include_dir]
@ -345,10 +345,10 @@ class GMockDependency(Dependency):
self.sources = [self.all_src, self.main_src]
else:
self.sources = [self.all_src]
print('Dependency GMock found: YES (building self)')
mlog.log('Dependency GMock found:', mlog.green('YES'), '(building self)')
else:
print('Dependency GMock found: NO')
mlog.log('Dependency GMock found:', mlog.red('NO'))
self.is_found = False
def get_version(self):
@ -379,7 +379,7 @@ class Qt5Dependency(Dependency):
self.modules.append(PkgConfigDependency('Qt5' + module, False))
if len(self.modules) == 0:
raise DependencyException('No Qt5 modules specified.')
print('Dependency Qt5 tools:')
mlog.log('Dependency Qt5 tools:')
self.find_exes()
def find_exes(self):
@ -394,18 +394,18 @@ class Qt5Dependency(Dependency):
moc_ver = mp.communicate()[1].decode().strip()
if 'Qt 5' not in moc_ver:
raise DependencyException('Moc preprocessor is not for Qt 5. Output: %s' % moc_ver)
print(' moc: YES (%s)' % moc_ver)
mlog.log(' moc:', mlog.green('YES'), '(%s)' % moc_ver)
else:
print(' moc: NO')
mlog.log(' moc:', mlog.red('NO'))
if self.uic.found():
up = subprocess.Popen([self.uic.get_command(), '-v'],
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
uic_ver = up.communicate()[1].decode().strip()
if 'version 5.' not in uic_ver:
raise DependencyException('Uic compiler is not for Qt 5. Output: %s' % uic_ver)
print(' uic: YES (%s)' % uic_ver)
mlog.log(' uic:', mlog.green('YES'), '(%s)' % uic_ver)
else:
print(' uic: NO')
mlog.log(' uic:', mlog.red('NO'))
def get_version(self):
return self.modules[0].get_version()
@ -462,7 +462,7 @@ class GnuStepDependency(Dependency):
gp.communicate()
if gp.returncode != 0:
self.flags = None
print('Dependency GnuStep found: NO')
mlog.log('Dependency GnuStep found:', mlog.red('NO'))
return
if 'gui' in self.modules:
arg = '--gui-libs'
@ -485,7 +485,7 @@ class GnuStepDependency(Dependency):
if fp.returncode != 0:
raise DependencyException('Error getting objc-lib flags: %s %s' % (libtxt, liberr))
self.libs = self.weird_filter(libtxt.split())
print('Dependency GnuStep found: YES')
mlog.log('Dependency GnuStep found:', mlog.green('YES'))
def weird_filter(self, elems):
"""When building packages, the output of the enclosing Make

@ -17,6 +17,7 @@ import nodes
import environment
import coredata
import dependencies
import mlog
import os, sys, platform, copy, subprocess, shutil
class InterpreterException(coredata.MesonException):
@ -833,12 +834,12 @@ class Interpreter():
if self.build.project is not None:
raise InvalidCode('Second call to project().')
self.build.project = args[0]
print('Project name is "%s".' % self.build.project)
mlog.log('Project name is "', mlog.bold(self.build.project), '".', sep='')
self.add_languages(node, args[1:])
def func_message(self, node, args, kwargs):
self.validate_arguments(args, 1, [str])
print('Message: %s' % args[0])
mlog.log(mlog.bold('Message:'), args[0])
def add_languages(self, node, args):
for lang in args:

@ -19,7 +19,7 @@ import sys, stat, traceback
import os.path
import environment, interpreter
import backends, build
import mlog
import mlog, coredata
from coredata import version, MesonException
@ -96,6 +96,10 @@ class MesonApp():
def generate(self):
env = environment.Environment(self.source_dir, self.build_dir, self.meson_script_file, options)
mlog.initialize(env.get_log_dir())
mlog.log(mlog.bold('The Meson build system'))
mlog.log(' version:', coredata.version)
mlog.log('Source dir:', mlog.cyan(app.source_dir))
mlog.log('Build dir:', mlog.cyan(app.build_dir))
b = build.Build(env)
intr = interpreter.Interpreter(b)
intr.run()
@ -125,8 +129,6 @@ if __name__ == '__main__':
else:
this_file = resolved
app = MesonApp(dir1, dir2, this_file, options)
print ('Source dir: ' + app.source_dir)
print ('Build dir: ' + app.build_dir)
try:
app.generate()
except Exception as e:

@ -62,10 +62,10 @@ def process_markup(args, keep):
arr.append(str(arg))
return arr
def log(*args):
def log(*args, **kwargs):
arr = process_markup(args, False)
if log_file is not None:
print(*arr, file=log_file) # Log file never gets ANSI codes.
print(*arr, file=log_file, **kwargs) # Log file never gets ANSI codes.
if colorize_console:
arr = process_markup(args, True)
print(*arr)
print(*arr, **kwargs)

Loading…
Cancel
Save