aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/ninjabackend.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-10-26 14:16:18 -0700
committerGitHub <noreply@github.com>2016-10-26 14:16:18 -0700
commit33323bb7e301a4148ca1cdb8d3feb11201fdbe66 (patch)
treeb024088202adb2a0909835f82050a1e38d2c8a6c /mesonbuild/backend/ninjabackend.py
parent8105c6f027b18cab3f3abea74471cbb0febd54d5 (diff)
parentf3bb6bb227af00411346cfe3d901532c00ceeb55 (diff)
downloadmeson-33323bb7e301a4148ca1cdb8d3feb11201fdbe66.zip
meson-33323bb7e301a4148ca1cdb8d3feb11201fdbe66.tar.gz
meson-33323bb7e301a4148ca1cdb8d3feb11201fdbe66.tar.bz2
Merge pull request #952 from centricular/deterministic-sources-outputs
Ninja: Use OrderedDict in places where order matters
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r--mesonbuild/backend/ninjabackend.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 1c856a1..dd0143c 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -23,6 +23,7 @@ from .backends import InstallData
from ..build import InvalidArguments
import os, sys, pickle, re
import subprocess, shutil
+from collections import OrderedDict
if mesonlib.is_windows():
quote_char = '"'
@@ -239,7 +240,7 @@ int dummy;
(relative to the build directory) of that type and the value
being the GeneratorList or CustomTarget that generated it.
"""
- srcs = {}
+ srcs = OrderedDict()
for gensrc in target.get_generated_sources():
for s in gensrc.get_outputs():
f = self.get_target_generated_dir(target, gensrc, s)
@@ -247,7 +248,7 @@ int dummy;
return srcs
def get_target_sources(self, target):
- srcs = {}
+ srcs = OrderedDict()
for s in target.get_sources():
# BuildTarget sources are always mesonlib.File files which are
# either in the source root, or generated with configure_file and
@@ -300,10 +301,10 @@ int dummy;
# Pre-existing target C/C++ sources to be built; dict of full path to
# source relative to build root and the original File object.
- target_sources = {}
+ target_sources = OrderedDict()
# GeneratedList and CustomTarget sources to be built; dict of the full
# path to source relative to build root and the generating target/list
- generated_sources = {}
+ generated_sources = OrderedDict()
# Array of sources generated by valac that have to be compiled
vala_generated_sources = []
if 'vala' in target.compilers:
@@ -939,10 +940,10 @@ int dummy;
the keys being the path to the file (relative to the build directory)
and the value being the object that generated or represents the file.
"""
- vala = {}
- vapi = {}
- others = {}
- othersgen = {}
+ vala = OrderedDict()
+ vapi = OrderedDict()
+ others = OrderedDict()
+ othersgen = OrderedDict()
# Split pre-existing sources
for s in t.get_sources():
# BuildTarget sources are always mesonlib.File files which are
@@ -1087,7 +1088,7 @@ int dummy;
args += ['--out-dir', target.subdir]
args += ['--emit', 'dep-info', '--emit', 'link']
orderdeps = [os.path.join(t.subdir, t.get_filename()) for t in target.link_targets]
- linkdirs = {}
+ linkdirs = OrderedDict()
for d in target.link_targets:
linkdirs[d.subdir] = True
for d in linkdirs.keys():