build: ensure we return to working directory after building

This commit is contained in:
Florent Kermarrec 2015-11-30 13:33:39 +01:00
parent f6aeb6e41a
commit 53c86e34f4
3 changed files with 6 additions and 3 deletions

View File

@ -114,6 +114,7 @@ quartus_sta {build_name} -c {build_name}
class AlteraQuartusToolchain:
def build(self, platform, fragment, build_dir="build", build_name="top",
toolchain_path="/opt/Altera", run=True):
cwd = os.getcwd()
tools.mkdir_noerror(build_dir)
os.chdir(build_dir)
@ -135,7 +136,7 @@ class AlteraQuartusToolchain:
if run:
_run_quartus(build_name, toolchain_path)
os.chdir("..")
os.chdir(cwd)
return v_output.ns

View File

@ -78,6 +78,7 @@ class LatticeDiamondToolchain:
def build(self, platform, fragment, build_dir="build", build_name="top",
toolchain_path="/opt/Diamond", run=True):
tools.mkdir_noerror(build_dir)
cwd = os.getcwd()
os.chdir(build_dir)
if not isinstance(fragment, _Fragment):
@ -96,7 +97,7 @@ class LatticeDiamondToolchain:
if run:
_run_diamond(build_name, toolchain_path)
os.chdir("..")
os.chdir(cwd)
return v_output.ns

View File

@ -114,6 +114,7 @@ class XilinxVivadoToolchain:
def build(self, platform, fragment, build_dir="build", build_name="top",
toolchain_path="/opt/Xilinx/Vivado", source=True, run=True):
tools.mkdir_noerror(build_dir)
cwd = os.getcwd()
os.chdir(build_dir)
if not isinstance(fragment, _Fragment):
@ -129,7 +130,7 @@ class XilinxVivadoToolchain:
if run:
_run_vivado(build_name, toolchain_path, source)
os.chdir("..")
os.chdir(cwd)
return v_output.ns