aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r--mesonbuild/build.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 062b70a..6c16cf9 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -83,9 +83,9 @@ class Build:
self.project_version = None
self.environment = environment
self.projects = {}
- self.targets = {}
- self.compilers = {}
- self.cross_compilers = {}
+ self.targets = OrderedDict()
+ self.compilers = OrderedDict()
+ self.cross_compilers = OrderedDict()
self.global_args = {}
self.projects_args = {}
self.global_link_args = {}
@@ -345,6 +345,9 @@ class BuildTarget(Target):
self.validate_sources()
self.validate_cross_install(environment)
+ def __lt__(self, other):
+ return self.get_id() < other.get_id()
+
def __repr__(self):
repr_str = "<{0} {1}: {2}>"
return repr_str.format(self.__class__.__name__, self.get_id(), self.filename)
@@ -1304,6 +1307,9 @@ class CustomTarget(Target):
mlog.warning('Unknown keyword arguments in target %s: %s' %
(self.name, ', '.join(unknowns)))
+ def __lt__(self, other):
+ return self.get_id() < other.get_id()
+
def __repr__(self):
repr_str = "<{0} {1}: {2}>"
return repr_str.format(self.__class__.__name__, self.get_id(), self.command)
@@ -1470,6 +1476,9 @@ class RunTarget(Target):
self.args = args
self.dependencies = dependencies
+ def __lt__(self, other):
+ return self.get_id() < other.get_id()
+
def __repr__(self):
repr_str = "<{0} {1}: {2}>"
return repr_str.format(self.__class__.__name__, self.get_id(), self.command)