mirror of https://github.com/lumapu/ahoy.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
836 B
31 lines
836 B
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
#
|
|
# Copyright (C) 2022 Thomas Basler and others
|
|
#
|
|
import pkg_resources
|
|
|
|
Import("env")
|
|
|
|
required_pkgs = {'dulwich'}
|
|
installed_pkgs = {pkg.key for pkg in pkg_resources.working_set}
|
|
missing_pkgs = required_pkgs - installed_pkgs
|
|
|
|
if missing_pkgs:
|
|
env.Execute('"$PYTHONEXE" -m pip install dulwich')
|
|
|
|
from dulwich import porcelain
|
|
|
|
def get_firmware_specifier_build_flag():
|
|
try:
|
|
build_version = porcelain.describe('../') # refers to the repository root dir
|
|
except:
|
|
build_version = "g0000000"
|
|
|
|
build_flag = "-D AUTO_GIT_HASH=\\\"" + build_version[1:] + "\\\" "
|
|
build_flag += "-DENV_NAME=\\\"" + env["PIOENV"] + "\\\" ";
|
|
print ("Firmware Revision: " + build_version)
|
|
return (build_flag)
|
|
|
|
env.Append(
|
|
BUILD_FLAGS=[get_firmware_specifier_build_flag()]
|
|
)
|
|
|