aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mlog.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/mlog.py')
-rw-r--r--mesonbuild/mlog.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/mesonbuild/mlog.py b/mesonbuild/mlog.py
index b8d3ccc..095b8fd 100644
--- a/mesonbuild/mlog.py
+++ b/mesonbuild/mlog.py
@@ -46,11 +46,13 @@ log_file = None
log_fname = 'meson-log.txt'
log_depth = 0
log_timestamp_start = None
+log_fatal_warnings = False
-def initialize(logdir):
- global log_dir, log_file
+def initialize(logdir, fatal_warnings=False):
+ global log_dir, log_file, log_fatal_warnings
log_dir = logdir
log_file = open(os.path.join(logdir, log_fname), 'w', encoding='utf8')
+ log_fatal_warnings = fatal_warnings
def set_timestamp_start(start):
global log_timestamp_start
@@ -145,6 +147,7 @@ def log(*args, **kwargs):
def _log_error(severity, *args, **kwargs):
from .mesonlib import get_error_location_string
from .environment import build_filename
+ from .mesonlib import MesonException
if severity == 'warning':
args = (yellow('WARNING:'),) + args
elif severity == 'error':
@@ -162,6 +165,10 @@ def _log_error(severity, *args, **kwargs):
log(*args, **kwargs)
+ global log_fatal_warnings
+ if log_fatal_warnings:
+ raise MesonException("Fatal warnings enabled, aborting")
+
def error(*args, **kwargs):
return _log_error('error', *args, **kwargs)