Both sources and vincpaths are sets which don't have any order. Hence sort them
before outputting.
---
 migen/build/xilinx/ise.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/migen/build/xilinx/ise.py b/migen/build/xilinx/ise.py
index 6d6394f..dbe9644 100644
--- a/migen/build/xilinx/ise.py
+++ b/migen/build/xilinx/ise.py
@@ -46,7 +46,7 @@ def _build_ucf(named_sc, named_pc):
 
 def _build_xst_files(device, sources, vincpaths, build_name, xst_opt):
     prj_contents = ""
-    for filename, language, library in sources:
+    for filename, language, library in sorted(sources):
         prj_contents += language + " " + library + " " + filename + "\n"
     tools.write_to_file(build_name + ".prj", prj_contents)
 
@@ -57,7 +57,7 @@ def _build_xst_files(device, sources, vincpaths, build_name, 
xst_opt):
 -ofn {build_name}.ngc
 -p {device}
 """.format(build_name=build_name, xst_opt=xst_opt, device=device)
-    for path in vincpaths:
+    for path in sorted(vincpaths):
         xst_contents += "-vlgincdir " + path + "\n"
     tools.write_to_file(build_name + ".xst", xst_contents)
 
@@ -65,9 +65,9 @@ def _build_xst_files(device, sources, vincpaths, build_name, 
xst_opt):
 def _run_yosys(device, sources, vincpaths, build_name):
     ys_contents = ""
     incflags = ""
-    for path in vincpaths:
+    for path in sorted(vincpaths):
         incflags += " -I" + path
-    for filename, language, library in sources:
+    for filename, language, library in sorted(sources):
         ys_contents += "read_{}{} {}\n".format(language, incflags, filename)
 
     ys_contents += """hierarchy -check -top top
-- 
2.8.0.rc3.226.g39d4020

_______________________________________________
M-Labs devel mailing list
https://ssl.serverraum.org/lists/listinfo/devel

Reply via email to