Updating python files and riscv for calling from any directory.
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 27 Oct 2018 22:53:29 +0000 (23:53 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 27 Oct 2018 22:53:29 +0000 (23:53 +0100)
id_regs.py
riscv/riscv.mk.in
sv_proc_gen.py

index ccb4f388ee7bc4afa0431ff8b424b3efd51362cc..d8b587ae81b3052ad8c2d8ecc3000b659752f8b0 100644 (file)
@@ -21,7 +21,8 @@
 import os
 import sys
 
-insns_dir = "./riscv/insns"
+dir_path = os.path.dirname(os.path.realpath(__file__))
+insns_dir = os.path.join(dir_path, 'riscv', 'insns')
 def list_insns():
     if len(sys.argv) == 2:
         fullfname = sys.argv[1]
index 9226eff2ef0a939e396073c9a7c79b2aa1aea001..6916d073206b6814b689b5c5e11c268547d226e7 100644 (file)
@@ -310,11 +310,11 @@ insn_list.h: $(src_dir)/riscv/riscv.mk.in
                printf 'DEFINE_INSN(%s)\n' "$${insn}" ; \
        done > $@.tmp
        mv $@.tmp $@
-       python sv_proc_gen.py
+       python $(src_dir)/sv_proc_gen.py
 
 $(riscv_gen_srcs): %.cc: insns/%.h insn_template.cc
        sed 's/NAME/$(subst .cc,,$@)/' $(src_dir)/riscv/insn_template.cc | sed 's/OPCODE/$(call get_opcode,$(src_dir)/riscv/encoding.h,$(subst .cc,,$@))/' > $@
-       python id_regs.py $(src_dir)/riscv/insns/$(subst .cc,,$@).h
+       python $(src_dir)/id_regs.py $(src_dir)/riscv/insns/$(subst .cc,,$@).h
 
 riscv_junk = \
        $(riscv_gen_srcs) \
index 13eddaf3f926f26803c07eaaf304d7846b1d69d6..07d3dac465b22f233f59b4c6d0d26046836c7b00 100644 (file)
 import os
 import sys
 
-insns_dir = "./riscv/insns"
+dir_path = os.path.dirname(os.path.realpath(__file__))
+riscv_dir = os.path.join(dir_path, "riscv")
+insns_dir = os.path.join(dir_path, "riscv", "insns")
+print(os.getcwd())
 def list_insns():
     if len(sys.argv) == 2:
         fullfname = sys.argv[1]
@@ -46,7 +49,7 @@ sv_hdr_template = """\
 
 if __name__ == '__main__':
     files = list_insns()
-    with open("riscv/sv_insn_decl.h", "w") as f:
+    with open(os.path.join(riscv_dir, "sv_insn_decl.h"), "w") as f:
         for (fname, insn) in files:
             f.write(sv_hdr_template.format(insn))