aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/backend/backends.py2
-rw-r--r--mesonbuild/backend/ninjabackend.py3
-rw-r--r--mesonbuild/backend/vs2010backend.py2
-rw-r--r--mesonbuild/backend/xcodebackend.py2
-rw-r--r--mesonbuild/build.py8
-rw-r--r--mesonbuild/compilers.py2
-rw-r--r--mesonbuild/coredata.py5
-rw-r--r--mesonbuild/dependencies.py2
-rw-r--r--mesonbuild/environment.py8
-rw-r--r--mesonbuild/interpreter.py6
-rw-r--r--mesonbuild/mconf.py2
-rw-r--r--mesonbuild/mesonlib.py4
-rw-r--r--mesonbuild/mesonmain.py4
-rw-r--r--mesonbuild/modules/gnome.py2
-rw-r--r--mesonbuild/modules/pkgconfig.py12
-rw-r--r--mesonbuild/modules/qt4.py2
-rw-r--r--mesonbuild/modules/qt5.py2
-rw-r--r--mesonbuild/modules/windows.py2
-rw-r--r--mesonbuild/mparser.py2
-rw-r--r--mesonbuild/optinterpreter.py5
20 files changed, 38 insertions, 39 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index 313580b..57a39d1 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -18,7 +18,7 @@ from .. import dependencies
from .. import mesonlib
import json
import subprocess
-from ..coredata import MesonException
+from ..mesonlib import MesonException
class InstallData():
def __init__(self, source_dir, build_dir, prefix):
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index dfd792b..8984008 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -18,10 +18,9 @@ from .. import build
from .. import mlog
from .. import dependencies
from .. import compilers
-from ..mesonlib import File
+from ..mesonlib import File, MesonException
from .backends import InstallData
from ..build import InvalidArguments
-from ..coredata import MesonException
import os, sys, pickle, re
import subprocess, shutil
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py
index ae4cd33..2f05c97 100644
--- a/mesonbuild/backend/vs2010backend.py
+++ b/mesonbuild/backend/vs2010backend.py
@@ -24,7 +24,7 @@ from .. import dependencies
from .. import mlog
import xml.etree.ElementTree as ET
import xml.dom.minidom
-from ..coredata import MesonException
+from ..mesonlib import MesonException
from ..environment import Environment
class RegenInfo():
diff --git a/mesonbuild/backend/xcodebackend.py b/mesonbuild/backend/xcodebackend.py
index eb8b0b9..6bda826 100644
--- a/mesonbuild/backend/xcodebackend.py
+++ b/mesonbuild/backend/xcodebackend.py
@@ -17,7 +17,7 @@ from .. import build
from .. import mesonlib
import uuid, os, sys
-from ..coredata import MesonException
+from ..mesonlib import MesonException
class XCodeBackend(backends.Backend):
def __init__(self, build):
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 3f480e8..5def800 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -17,7 +17,7 @@ from . import environment
from . import dependencies
from . import mlog
import copy, os
-from .mesonlib import File, flatten
+from .mesonlib import File, flatten, MesonException
known_basic_kwargs = {'install' : True,
'c_pch' : True,
@@ -71,7 +71,7 @@ We are fully aware that these are not really usable or pleasant ways to do
this but it's the best we can do given the way shell quoting works.
'''
-class InvalidArguments(coredata.MesonException):
+class InvalidArguments(MesonException):
pass
class Build:
@@ -299,10 +299,10 @@ class BuildTarget():
srclist = [srclist]
for src in srclist:
if not isinstance(src, str):
- raise coredata.MesonException('Extraction arguments must be strings.')
+ raise MesonException('Extraction arguments must be strings.')
src = File(False, self.subdir, src)
if src not in self.sources:
- raise coredata.MesonException('Tried to extract unknown source %s.' % src)
+ raise MesonException('Tried to extract unknown source %s.' % src)
obj_src.append(src)
return ExtractedObjects(self, obj_src)
diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py
index 3079c5e..a06e2a9 100644
--- a/mesonbuild/compilers.py
+++ b/mesonbuild/compilers.py
@@ -16,7 +16,7 @@ import subprocess, os.path
import tempfile
from .import mesonlib
from . import mlog
-from .coredata import MesonException
+from .mesonlib import MesonException
from . import coredata
"""This file contains the data files of all compilers Meson knows
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index d085532..3ad0cd2 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -13,6 +13,7 @@
# limitations under the License.
import pickle, os, uuid
+from .mesonlib import MesonException
version = '0.31.0.dev1'
@@ -39,10 +40,6 @@ builtin_options = {'buildtype': True,
'default_library': True,
}
-class MesonException(Exception):
- def __init__(self, *args, **kwargs):
- Exception.__init__(self, *args, **kwargs)
-
class UserOption:
def __init__(self, name, description, choices):
super().__init__()
diff --git a/mesonbuild/dependencies.py b/mesonbuild/dependencies.py
index b9f5c89..d8081b0 100644
--- a/mesonbuild/dependencies.py
+++ b/mesonbuild/dependencies.py
@@ -22,7 +22,7 @@
import re
import os, stat, glob, subprocess, shutil
import sysconfig
-from . coredata import MesonException
+from . mesonlib import MesonException
from . import mlog
from . import mesonlib
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index c381ab5..3b5fb98 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -19,7 +19,7 @@ import configparser
build_filename = 'meson.build'
-class EnvironmentException(coredata.MesonException):
+class EnvironmentException(mesonlib.MesonException):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@@ -657,11 +657,11 @@ class CrossBuildInfo():
if 'target_machine' in self.config:
return
if not 'host_machine' in self.config:
- raise coredata.MesonException('Cross info file must have either host or a target machine.')
+ raise mesonlib.MesonException('Cross info file must have either host or a target machine.')
if not 'properties' in self.config:
- raise coredata.MesonException('Cross file is missing "properties".')
+ raise mesonlib.MesonException('Cross file is missing "properties".')
if not 'binaries' in self.config:
- raise coredata.MesonException('Cross file is missing "binaries".')
+ raise mesonlib.MesonException('Cross file is missing "binaries".')
def ok_type(self, i):
return isinstance(i, str) or isinstance(i, int) or isinstance(i, bool)
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index ef6f3c1..8eefd5f 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -28,7 +28,7 @@ from functools import wraps
import importlib
-class InterpreterException(coredata.MesonException):
+class InterpreterException(mesonlib.MesonException):
pass
class InvalidCode(InterpreterException):
@@ -932,7 +932,7 @@ class Interpreter():
assert(isinstance(code, str))
try:
self.ast = mparser.Parser(code).parse()
- except coredata.MesonException as me:
+ except mesonlib.MesonException as me:
me.file = environment.build_filename
raise me
self.sanity_check_ast()
@@ -1801,7 +1801,7 @@ class Interpreter():
assert(isinstance(code, str))
try:
codeblock = mparser.Parser(code).parse()
- except coredata.MesonException as me:
+ except mesonlib.MesonException as me:
me.file = buildfilename
raise me
self.evaluate_codeblock(codeblock)
diff --git a/mesonbuild/mconf.py b/mesonbuild/mconf.py
index c8ea494..30c2da3 100644
--- a/mesonbuild/mconf.py
+++ b/mesonbuild/mconf.py
@@ -26,7 +26,7 @@ parser.add_argument('-D', action='append', default=[], dest='sets',
help='Set an option to the given value.')
parser.add_argument('directory', nargs='*')
-class ConfException(coredata.MesonException):
+class ConfException(mesonlib.MesonException):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py
index 2087eee..031bbc0 100644
--- a/mesonbuild/mesonlib.py
+++ b/mesonbuild/mesonlib.py
@@ -18,7 +18,9 @@ import platform, subprocess, operator, os, shutil, re, sys
from glob import glob
-from .coredata import MesonException
+class MesonException(Exception):
+ def __init__(self, *args, **kwargs):
+ Exception.__init__(self, *args, **kwargs)
class File:
def __init__(self, is_built, subdir, fname):
diff --git a/mesonbuild/mesonmain.py b/mesonbuild/mesonmain.py
index 22b52e3..af09e11 100644
--- a/mesonbuild/mesonmain.py
+++ b/mesonbuild/mesonmain.py
@@ -21,8 +21,8 @@ from . import environment, interpreter, mesonlib
from . import build
import platform
from . import mlog, coredata
-
-from .coredata import MesonException, build_types, layouts, warning_levels, libtypelist
+from .mesonlib import MesonException
+from .coredata import build_types, layouts, warning_levels, libtypelist
backendlist = ['ninja', 'vs2010', 'xcode']
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 55bb321..f0de363 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -18,7 +18,7 @@ functionality such as gobject-introspection and gresources.'''
from .. import build
import os, sys
import subprocess
-from ..coredata import MesonException
+from ..mesonlib import MesonException
from .. import mlog
from .. import mesonlib
diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py
index ffe03e2..fe5ca45 100644
--- a/mesonbuild/modules/pkgconfig.py
+++ b/mesonbuild/modules/pkgconfig.py
@@ -55,7 +55,7 @@ class PkgConfigModule:
def generate(self, state, args, kwargs):
if len(args) > 0:
- raise coredata.MesonException('Pkgconfig_gen takes no positional arguments.')
+ raise mesonlib.MesonException('Pkgconfig_gen takes no positional arguments.')
libs = kwargs.get('libraries', [])
if not isinstance(libs, list):
libs = [libs]
@@ -64,22 +64,22 @@ class PkgConfigModule:
if hasattr(l, 'held_object'):
l = l.held_object
if not (isinstance(l, build.SharedLibrary) or isinstance(l, build.StaticLibrary)):
- raise coredata.MesonException('Library argument not a library object.')
+ raise mesonlib.MesonException('Library argument not a library object.')
processed_libs.append(l)
libs = processed_libs
subdirs = mesonlib.stringlistify(kwargs.get('subdirs', ['.']))
version = kwargs.get('version', '')
if not isinstance(version, str):
- raise coredata.MesonException('Version must be a string.')
+ raise mesonlib.MesonException('Version must be a string.')
name = kwargs.get('name', None)
if not isinstance(name, str):
- raise coredata.MesonException('Name not specified.')
+ raise mesonlib.MesonException('Name not specified.')
filebase = kwargs.get('filebase', name)
if not isinstance(filebase, str):
- raise coredata.MesonException('Filebase must be a string.')
+ raise mesonlib.MesonException('Filebase must be a string.')
description = kwargs.get('description', None)
if not isinstance(description, str):
- raise coredata.MesonException('Description is not a string.')
+ raise mesonlib.MesonException('Description is not a string.')
pub_reqs = mesonlib.stringlistify(kwargs.get('requires', []))
priv_reqs = mesonlib.stringlistify(kwargs.get('requires_private', []))
priv_libs = mesonlib.stringlistify(kwargs.get('libraries_private', []))
diff --git a/mesonbuild/modules/qt4.py b/mesonbuild/modules/qt4.py
index 162b553..81a70fc 100644
--- a/mesonbuild/modules/qt4.py
+++ b/mesonbuild/modules/qt4.py
@@ -15,7 +15,7 @@
from .. import dependencies, mlog
import os, subprocess
from .. import build
-from ..coredata import MesonException
+from ..mesonlib import MesonException
import xml.etree.ElementTree as ET
class Qt4Module():
diff --git a/mesonbuild/modules/qt5.py b/mesonbuild/modules/qt5.py
index cb743a6..f669d77 100644
--- a/mesonbuild/modules/qt5.py
+++ b/mesonbuild/modules/qt5.py
@@ -15,7 +15,7 @@
from .. import dependencies, mlog
import os, subprocess
from .. import build
-from ..coredata import MesonException
+from ..mesonlib import MesonException
import xml.etree.ElementTree as ET
class Qt5Module():
diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py
index a785250..29d6236 100644
--- a/mesonbuild/modules/windows.py
+++ b/mesonbuild/modules/windows.py
@@ -13,7 +13,7 @@
# limitations under the License.
from .. import mesonlib, dependencies, build
-from ..coredata import MesonException
+from ..mesonlib import MesonException
import os
class WindowsModule:
diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py
index 090684c..fd720fb 100644
--- a/mesonbuild/mparser.py
+++ b/mesonbuild/mparser.py
@@ -13,7 +13,7 @@
# limitations under the License.
import re
-from .coredata import MesonException
+from .mesonlib import MesonException
class ParseException(MesonException):
def __init__(self, text, lineno, colno):
diff --git a/mesonbuild/optinterpreter.py b/mesonbuild/optinterpreter.py
index e2f7ca5..aaa99b0 100644
--- a/mesonbuild/optinterpreter.py
+++ b/mesonbuild/optinterpreter.py
@@ -14,6 +14,7 @@
from . import mparser
from . import coredata
+from . import mesonlib
import os, re
forbidden_option_names = coredata.builtin_options
@@ -37,7 +38,7 @@ def is_invalid_name(name):
return True
return False
-class OptionException(coredata.MesonException):
+class OptionException(mesonlib.MesonException):
pass
optname_regex = re.compile('[^a-zA-Z0-9_-]')
@@ -77,7 +78,7 @@ class OptionInterpreter:
def process(self, option_file):
try:
ast = mparser.Parser(open(option_file, 'r', encoding='utf8').read()).parse()
- except coredata.MesonException as me:
+ except mesonlib.MesonException as me:
me.file = option_file
raise me
if not isinstance(ast, mparser.CodeBlockNode):