Gantry include paths are now relative
This commit is contained in:
parent
cd2c920c48
commit
6baa2fd002
@ -43,20 +43,16 @@ def addAllVHDLFiles(std: str, lib: str, init=False):
|
|||||||
return -1
|
return -1
|
||||||
vhdlFiles = []
|
vhdlFiles = []
|
||||||
currentlyAdded = []
|
currentlyAdded = []
|
||||||
absWorkDir = os.path.join(os.getcwd(), "work")
|
|
||||||
cfFileId = getCfFileId(std)
|
cfFileId = getCfFileId(std)
|
||||||
## Find already present files
|
## Find already present files
|
||||||
if not init:
|
if not init:
|
||||||
cfFileName = list(filter(lambda x: ".cf" in x and lib in x and cfFileId in x, os.listdir(absWorkDir)))[0]
|
cfFileName = list(filter(lambda x: ".cf" in x and lib in x and cfFileId in x, os.listdir("work")))[0]
|
||||||
cfFilePath = os.path.join(absWorkDir,cfFileName)
|
cfFilePath = os.path.join("work",cfFileName)
|
||||||
currentlyAdded = getCurrentlyAddedFiles(cfFilePath)
|
currentlyAdded = getCurrentlyAddedFiles(cfFilePath)
|
||||||
print(currentlyAdded)
|
|
||||||
## Add files not added
|
## Add files not added
|
||||||
for file in os.listdir():
|
for file in os.listdir():
|
||||||
print(file)
|
|
||||||
print(currentlyAdded, file, file not in currentlyAdded)
|
|
||||||
if ".vhd" in file and file not in currentlyAdded:
|
if ".vhd" in file and file not in currentlyAdded:
|
||||||
vhdlFiles.append(os.path.join(os.getcwd(), file))
|
vhdlFiles.append(file)
|
||||||
if len(vhdlFiles) > 0:
|
if len(vhdlFiles) > 0:
|
||||||
print(f"Detected new files. Adding {vhdlFiles}")
|
print(f"Detected new files. Adding {vhdlFiles}")
|
||||||
command = ["ghdl", "-i", "--workdir=work", f"--work={lib}", f"--std={std}"] + vhdlFiles
|
command = ["ghdl", "-i", "--workdir=work", f"--work={lib}", f"--std={std}"] + vhdlFiles
|
||||||
@ -68,5 +64,5 @@ def getCurrentlyAddedFiles(cfFilePath:str):
|
|||||||
lines = f.readlines()
|
lines = f.readlines()
|
||||||
f.close()
|
f.close()
|
||||||
fileLines = filter(lambda x: "file" in x, lines)
|
fileLines = filter(lambda x: "file" in x, lines)
|
||||||
files = map(lambda x: split("\"",x)[1], fileLines)
|
files = map(lambda x: split("\" \"",x)[1], fileLines)
|
||||||
return list(files)
|
return list(files)
|
||||||
|
|||||||
@ -7,7 +7,7 @@ from typing import List
|
|||||||
def generateIncludesForGHDL(includes: List[str]):
|
def generateIncludesForGHDL(includes: List[str]):
|
||||||
cmd = []
|
cmd = []
|
||||||
for inc in includes:
|
for inc in includes:
|
||||||
cmd.append(f"-P{os.path.join(os.getcwd(), f"{inc}/work")}")
|
cmd.append(f"-P{inc}/work")
|
||||||
return cmd
|
return cmd
|
||||||
|
|
||||||
def elabDesign(topDef: str, arch: str, lib: str, std: str, includes: List[str]):
|
def elabDesign(topDef: str, arch: str, lib: str, std: str, includes: List[str]):
|
||||||
@ -26,7 +26,7 @@ def runDesign(topDef: str, arch: str, lib: str, std: str, includes):
|
|||||||
print("Elaboration failed...")
|
print("Elaboration failed...")
|
||||||
return -1
|
return -1
|
||||||
os.makedirs("wave",exist_ok=True)
|
os.makedirs("wave",exist_ok=True)
|
||||||
wavePath = os.path.join(os.getcwd(), "wave")
|
wavePath = "wave"
|
||||||
incs = generateIncludesForGHDL(includes)
|
incs = generateIncludesForGHDL(includes)
|
||||||
command = [ ## may add -v for verbose
|
command = [ ## may add -v for verbose
|
||||||
"ghdl", "--elab-run", f"--workdir=work", f"--work={lib}", f"--std={std}"] + incs + ["-o", f"work/{topDef}-{arch}", f"{topDef}", f"{arch}",
|
"ghdl", "--elab-run", f"--workdir=work", f"--work={lib}", f"--std={std}"] + incs + ["-o", f"work/{topDef}-{arch}", f"{topDef}", f"{arch}",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user