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