Skip to content
Snippets Groups Projects
Commit 7cd59c5b authored by Damien George's avatar Damien George
Browse files

py/mpconfig: Move MICROPY_VERSION macros to static ones in mpconfig.h.

It's more robust to have the version defined statically in a header file,
rather than dynamically generating it via git using a git tag.  In case
git doesn't exist, or a different source control tool is used, it's
important to still have the uPy version number available.
parent ce0c5811
No related branches found
No related tags found
No related merge requests found
......@@ -35,7 +35,6 @@
#include "py/mphal.h"
#endif
#include "extmod/modwebsocket.h"
#include "genhdr/mpversion.h"
#if MICROPY_PY_WEBREPL
......
......@@ -46,15 +46,7 @@ def get_version_info_from_git():
except OSError:
return None
# Try to extract MicroPython version from git tag
if git_tag.startswith("v"):
ver = git_tag[1:].split("-")[0].split(".")
if len(ver) == 2:
ver.append("0")
else:
ver = ["0", "0", "1"]
return git_tag, git_hash, ver
return git_tag, git_hash
def get_version_info_from_docs_conf():
with open(os.path.join(os.path.dirname(sys.argv[0]), "..", "docs", "conf.py")) as f:
......@@ -62,10 +54,7 @@ def get_version_info_from_docs_conf():
if line.startswith("version = release = '"):
ver = line.strip().split(" = ")[2].strip("'")
git_tag = "v" + ver
ver = ver.split(".")
if len(ver) == 2:
ver.append("0")
return git_tag, "<no hash>", ver
return git_tag, "<no hash>"
return None
def make_version_header(filename):
......@@ -74,7 +63,7 @@ def make_version_header(filename):
if info is None:
info = get_version_info_from_docs_conf()
git_tag, git_hash, ver = info
git_tag, git_hash = info
# Generate the file with the git and version info
file_data = """\
......@@ -82,12 +71,7 @@ def make_version_header(filename):
#define MICROPY_GIT_TAG "%s"
#define MICROPY_GIT_HASH "%s"
#define MICROPY_BUILD_DATE "%s"
#define MICROPY_VERSION_MAJOR (%s)
#define MICROPY_VERSION_MINOR (%s)
#define MICROPY_VERSION_MICRO (%s)
#define MICROPY_VERSION_STRING "%s.%s.%s"
""" % (git_tag, git_hash, datetime.date.today().strftime("%Y-%m-%d"),
ver[0], ver[1], ver[2], ver[0], ver[1], ver[2])
""" % (git_tag, git_hash, datetime.date.today().strftime("%Y-%m-%d"))
# Check if the file contents changed from last time
write_file = True
......
......@@ -37,8 +37,6 @@
#if MICROPY_PY_SYS
#include "genhdr/mpversion.h"
// defined per port; type of these is irrelevant, just need pointer
extern struct _mp_dummy_t mp_sys_stdin_obj;
extern struct _mp_dummy_t mp_sys_stdout_obj;
......
......@@ -26,6 +26,23 @@
#ifndef MICROPY_INCLUDED_PY_MPCONFIG_H
#define MICROPY_INCLUDED_PY_MPCONFIG_H
// Current version of MicroPython
#define MICROPY_VERSION_MAJOR (1)
#define MICROPY_VERSION_MINOR (9)
#define MICROPY_VERSION_MICRO (4)
// Combined version as a 32-bit number for convenience
#define MICROPY_VERSION ( \
MICROPY_VERSION_MAJOR << 16 \
| MICROPY_VERSION_MINOR << 8 \
| MICROPY_VERSION_MICRO)
// String version
#define MICROPY_VERSION_STRING \
MP_STRINGIFY(MICROPY_VERSION_MAJOR) "." \
MP_STRINGIFY(MICROPY_VERSION_MINOR) "." \
MP_STRINGIFY(MICROPY_VERSION_MICRO)
// This file contains default configuration settings for MicroPython.
// You can override any of the options below using mpconfigport.h file
// located in a directory of your port.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment