build: add git version (sha-1) used to create the scripts

This commit is contained in:
Florent Kermarrec 2019-04-23 06:03:12 +02:00
parent cc141a64b9
commit eff141da2d
8 changed files with 17 additions and 13 deletions

View File

@ -111,7 +111,8 @@ def _build_files(device, sources, vincpaths, named_sc, named_pc, build_name):
def _run_quartus(build_name, quartus_path): def _run_quartus(build_name, quartus_path):
build_script_contents = """# Autogenerated by LiteX build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\n"
build_script_contents += """
set -e set -e

View File

@ -72,12 +72,12 @@ def _build_files(device, sources, vincpaths, build_name):
def _build_script(build_name, device, toolchain_path, ver=None): def _build_script(build_name, device, toolchain_path, ver=None):
if sys.platform in ("win32", "cygwin"): if sys.platform in ("win32", "cygwin"):
script_ext = ".bat" script_ext = ".bat"
build_script_contents = "@echo off\nrem Autogenerated by LiteX\n\n" build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_version() + "\n\n"
copy_stmt = "copy" copy_stmt = "copy"
fail_stmt = " || exit /b" fail_stmt = " || exit /b"
else: else:
script_ext = ".sh" script_ext = ".sh"
build_script_contents = "# Autogenerated by LiteX\nset -e\n\n" build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\nset -e\n"
copy_stmt = "cp" copy_stmt = "cp"
fail_stmt = "" fail_stmt = ""

View File

@ -35,11 +35,11 @@ def _build_pre_pack(vns, freq_cstrs):
def _build_script(source, build_template, build_name, **kwargs): def _build_script(source, build_template, build_name, **kwargs):
if sys.platform in ("win32", "cygwin"): if sys.platform in ("win32", "cygwin"):
script_ext = ".bat" script_ext = ".bat"
build_script_contents = "@echo off\nrem Autogenerated by LiteX\n\n" build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_version() + "\n\n"
fail_stmt = " || exit /b" fail_stmt = " || exit /b"
else: else:
script_ext = ".sh" script_ext = ".sh"
build_script_contents = "# Autogenerated by LiteX\nset -e\n\n" build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\nset -e\n"
fail_stmt = "" fail_stmt = ""
for s in build_template: for s in build_template:

View File

@ -75,11 +75,11 @@ def _build_script(source, build_template, build_name, architecture,
package, freq_constraint): package, freq_constraint):
if sys.platform in ("win32", "cygwin"): if sys.platform in ("win32", "cygwin"):
script_ext = ".bat" script_ext = ".bat"
build_script_contents = "@echo off\nrem Autogenerated by LiteX\n\n" build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_version() + "\n\n"
fail_stmt = " || exit /b" fail_stmt = " || exit /b"
else: else:
script_ext = ".sh" script_ext = ".sh"
build_script_contents = "# Autogenerated by LiteX\nset -e\n\n" build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\nset -e\n"
fail_stmt = "" fail_stmt = ""
for s in build_template: for s in build_template:

View File

@ -181,12 +181,12 @@ def _build_timing_sdc(vns, clocks, false_paths, build_name, additional_timing_co
def _build_script(build_name, device, toolchain_path, ver=None): def _build_script(build_name, device, toolchain_path, ver=None):
if sys.platform in ("win32", "cygwin"): if sys.platform in ("win32", "cygwin"):
script_ext = ".bat" script_ext = ".bat"
build_script_contents = "@echo off\nrem Autogenerated by LiteX\n\n" build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_version() + "\n\n"
copy_stmt = "copy" copy_stmt = "copy"
fail_stmt = " || exit /b" fail_stmt = " || exit /b"
else: else:
script_ext = ".sh" script_ext = ".sh"
build_script_contents = "# Autogenerated by LiteX\n\n" build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\n"
copy_stmt = "cp" copy_stmt = "cp"
fail_stmt = " || exit 1" fail_stmt = " || exit 1"

View File

@ -88,3 +88,6 @@ if sys.platform == "cygwin":
else: else:
def cygpath(p): def cygpath(p):
return p return p
def git_version():
return subprocess.check_output(["git", "describe", "--always"]).strip().decode("utf-8")

View File

@ -91,13 +91,13 @@ def _run_ise(build_name, ise_path, source, mode, ngdbuild_opt,
source_cmd = "call " source_cmd = "call "
script_ext = ".bat" script_ext = ".bat"
shell = ["cmd", "/c"] shell = ["cmd", "/c"]
build_script_contents = "@echo off\nrem Autogenerated by LiteX\n" build_script_contents = "@echo off\nrem Autogenerated by LiteX / git: " + tools.git_version() + "\n"
fail_stmt = " || exit /b" fail_stmt = " || exit /b"
else: else:
source_cmd = "source " source_cmd = "source "
script_ext = ".sh" script_ext = ".sh"
shell = ["bash"] shell = ["bash"]
build_script_contents = "# Autogenerated by LiteX\nset -e\n" build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\nset -e\n"
fail_stmt = "" fail_stmt = ""
if source: if source:
settings = common.settings(ise_path, ver, "ISE_DS") settings = common.settings(ise_path, ver, "ISE_DS")

View File

@ -58,13 +58,13 @@ def _build_xdc(named_sc, named_pc):
def _run_vivado(build_name, vivado_path, source, ver=None): def _run_vivado(build_name, vivado_path, source, ver=None):
if sys.platform == "win32" or sys.platform == "cygwin": if sys.platform == "win32" or sys.platform == "cygwin":
build_script_contents = "REM Autogenerated by LiteX\n" build_script_contents = "REM Autogenerated by LiteX / git: " + tools.git_version() + "\n"
build_script_contents += "vivado -mode batch -source " + build_name + ".tcl\n" build_script_contents += "vivado -mode batch -source " + build_name + ".tcl\n"
build_script_file = "build_" + build_name + ".bat" build_script_file = "build_" + build_name + ".bat"
tools.write_to_file(build_script_file, build_script_contents) tools.write_to_file(build_script_file, build_script_contents)
command = build_script_file command = build_script_file
else: else:
build_script_contents = "# Autogenerated by LiteX\nset -e\n" build_script_contents = "# Autogenerated by LiteX / git: " + tools.git_version() + "\nset -e\n"
# Only source Vivado settings if not already in our $PATH # Only source Vivado settings if not already in our $PATH
if not find_executable("vivado"): if not find_executable("vivado"):
# For backwards compatibility with ISE paths, also # For backwards compatibility with ISE paths, also