add the git prefix to the long version output

Tested on MacOS, written and not tested for Linux, not attempted for Windows
This commit is contained in:
nhkeni
2024-06-19 12:28:13 -04:00
parent 0cc134bb95
commit a8b5e88744
6 changed files with 23 additions and 1 deletions
+1
View File
@@ -386,6 +386,7 @@ struct nomakedefs_s {
const char *copyright_banner_c; const char *copyright_banner_c;
const char *git_sha; const char *git_sha;
const char *git_branch; const char *git_branch;
const char *git_prefix;
const char *version_string; const char *version_string;
const char *version_id; const char *version_id;
unsigned long version_number; unsigned long version_number;
+9
View File
@@ -29,6 +29,7 @@ struct nomakedefs_s nomakedefs = {
"Version 1.0, built Jul 28 13:18:57 1987.", "Version 1.0, built Jul 28 13:18:57 1987.",
(const char *) 0, /* git_sha */ (const char *) 0, /* git_sha */
(const char *) 0, /* git_branch */ (const char *) 0, /* git_branch */
(const char *) 0, /* git_prefix */
"1.0.0-0", "1.0.0-0",
"NetHack Version 1.0.0-0 - last build Tue Jul 28 13:18:57 1987.", "NetHack Version 1.0.0-0 - last build Tue Jul 28 13:18:57 1987.",
0x01010000UL, 0x01010000UL,
@@ -125,6 +126,9 @@ populate_nomakedefs(struct version_info *version)
#ifdef NETHACK_GIT_BRANCH #ifdef NETHACK_GIT_BRANCH
nomakedefs.git_branch = dupstr(NETHACK_GIT_BRANCH); nomakedefs.git_branch = dupstr(NETHACK_GIT_BRANCH);
#endif #endif
#ifdef NETHACK_GIT_PREFIX
nomakedefs.git_prefix = dupstr(NETHACK_GIT_PREFIX);
#endif
nomakedefs_populated = 1; nomakedefs_populated = 1;
return; return;
@@ -161,6 +165,11 @@ free_nomakedefs(void)
free((genericptr_t) nomakedefs.git_branch), free((genericptr_t) nomakedefs.git_branch),
nomakedefs.git_branch = 0; nomakedefs.git_branch = 0;
#endif #endif
#ifdef NETHACK_GIT_PREFIX
if (nomakedefs.git_prefix)
free((genericptr_t) nomakedefs.git_prefix),
nomakedefs.git_prefix = 0;
#endif
/* values are Null now; dynamic vs static doesn't really matter anymore */ /* values are Null now; dynamic vs static doesn't really matter anymore */
nomakedefs_populated = 0; nomakedefs_populated = 0;
+4
View File
@@ -58,6 +58,10 @@ getversionstring(char *buf, size_t bufsz)
"%sbranch:%s", "%sbranch:%s",
c++ ? "," : "", nomakedefs.git_branch); c++ ? "," : "", nomakedefs.git_branch);
#endif #endif
if (nomakedefs.git_prefix)
Snprintf(eos(buf), (bufsz - strlen(buf)) - 1,
"%sprefix:%s",
c++ ? "," : "", nomakedefs.git_prefix);
if (c) if (c)
Snprintf(eos(buf), (bufsz - strlen(buf)) - 1, Snprintf(eos(buf), (bufsz - strlen(buf)) - 1,
"%s", ")"); "%s", ")");
+1 -1
View File
@@ -765,7 +765,7 @@ $(TARGETPFX)sfstruct.o: sfstruct.c $(HACK_H)
# date.c should be recompiled any time any of the source or include code # date.c should be recompiled any time any of the source or include code
# is modified. # is modified.
$(TARGETPFX)date.o: date.c $(HACK_H) $(HACKCSRC) $(HOBJ) $(TARGET_HACKLIB) $(TARGETPFX)date.o: date.c $(HACK_H) $(HACKCSRC) $(HOBJ) $(TARGET_HACKLIB)
$(TARGET_CC) $(TARGET_CFLAGS) $(GITHASH) $(GITBRANCH) -c -o $@ date.c $(TARGET_CC) $(TARGET_CFLAGS) $(GITHASH) $(GITBRANCH) $(GITPREFIX) -c -o $@ date.c
# date.h should be remade any time any of the source or include code # date.h should be remade any time any of the source or include code
# is modified. Unfortunately, this would make the contents of this # is modified. Unfortunately, this would make the contents of this
+4
View File
@@ -288,6 +288,7 @@ VARDATND += $(sort $(VARDATND0))
GIT_HASH := $(shell echo `git rev-parse --verify HEAD` 2>&1) GIT_HASH := $(shell echo `git rev-parse --verify HEAD` 2>&1)
GIT_BRANCH := $(shell echo `git rev-parse --abbrev-ref HEAD` 2>&1) GIT_BRANCH := $(shell echo `git rev-parse --abbrev-ref HEAD` 2>&1)
GIT_PREFIX := $(shell echo `git config nethack.substprefix` 2>&1)
ifdef GIT_HASH ifdef GIT_HASH
GITHASH = -DNETHACK_GIT_SHA=\"$(GIT_HASH)\" GITHASH = -DNETHACK_GIT_SHA=\"$(GIT_HASH)\"
@@ -295,6 +296,9 @@ endif
ifdef GIT_BRANCH ifdef GIT_BRANCH
GITBRANCH = -DNETHACK_GIT_BRANCH=\"$(GIT_BRANCH)\" GITBRANCH = -DNETHACK_GIT_BRANCH=\"$(GIT_BRANCH)\"
endif endif
ifdef GIT_PREFIX
GITPREFIX = -DNETHACK_GIT_PREFIX=\"$(GIT_PREFIX)\"
endif
ifdef WANT_LIBNH ifdef WANT_LIBNH
CFLAGS += -DSHIM_GRAPHICS -DNOTTYGRAPHICS -DNOSHELL -DLIBNH -fpic CFLAGS += -DSHIM_GRAPHICS -DNOTTYGRAPHICS -DNOSHELL -DLIBNH -fpic
+4
View File
@@ -285,6 +285,7 @@ VARDATND += $(sort $(VARDATND0))
GIT_HASH := $(shell echo `git rev-parse --verify HEAD` 2>&1) GIT_HASH := $(shell echo `git rev-parse --verify HEAD` 2>&1)
GIT_BRANCH := $(shell echo `git rev-parse --abbrev-ref HEAD` 2>&1) GIT_BRANCH := $(shell echo `git rev-parse --abbrev-ref HEAD` 2>&1)
GIT_PREFIX := $(shell echo `git config nethack.substprefix` 2>&1)
ifdef GIT_HASH ifdef GIT_HASH
GITHASH = -DNETHACK_GIT_SHA=\"$(GIT_HASH)\" GITHASH = -DNETHACK_GIT_SHA=\"$(GIT_HASH)\"
@@ -292,6 +293,9 @@ endif
ifdef GIT_BRANCH ifdef GIT_BRANCH
GITBRANCH = -DNETHACK_GIT_BRANCH=\"$(GIT_BRANCH)\" GITBRANCH = -DNETHACK_GIT_BRANCH=\"$(GIT_BRANCH)\"
endif endif
ifdef GIT_PREFIX
GITPREFIX = -DNETHACK_GIT_PREFIX=\"$(GIT_PREFIX)\"
endif
ifdef WANT_LIBNH ifdef WANT_LIBNH
CFLAGS += -DSHIM_GRAPHICS -DNOTTYGRAPHICS -DNOSHELL -DLIBNH CFLAGS += -DSHIM_GRAPHICS -DNOTTYGRAPHICS -DNOSHELL -DLIBNH