diff --git a/scp.c b/scp.c index ffd69add..75ee39ac 100644 --- a/scp.c +++ b/scp.c @@ -6671,6 +6671,25 @@ if (flag) { strlcpy (os_type, getenv ("OSTYPE"), sizeof (os_type)); setenv ("SIM_OSTYPE", os_type, 1); } +#if defined(SIM_ARCHIVE_GIT_COMMIT_ID) +#define S_xstr(a) S_str(a) +#define S_str(a) #a +if (NULL == strchr (S_xstr(SIM_ARCHIVE_GIT_COMMIT_ID), '$')) { + const char *extras = strchr (S_xstr(SIM_ARCHIVE_GIT_COMMIT_ID), '+'); + + fprintf (st, "%ssimh git commit id: %8.8s%s", flag ? "\n " : " ", S_xstr(SIM_ARCHIVE_GIT_COMMIT_ID), extras ? extras : ""); + setenv ("SIM_ARCHIVE_GIT_COMMIT_ID", S_xstr(SIM_ARCHIVE_GIT_COMMIT_ID), 1); + } +#if defined(SIM_ARCHIVE_GIT_COMMIT_TIME) +if (NULL == strchr (S_xstr(SIM_ARCHIVE_GIT_COMMIT_TIME), '$')) { + setenv ("SIM_ARCHIVE_GIT_COMMIT_TIME", S_xstr(SIM_ARCHIVE_GIT_COMMIT_TIME), 1); + if (flag) + fprintf (st, "%ssimh git commit time: %s", "\n ", S_xstr(SIM_ARCHIVE_GIT_COMMIT_TIME)); + } +#endif +#undef S_str +#undef S_xstr +#endif #if defined(SIM_GIT_COMMIT_ID) #define S_xstr(a) S_str(a) #define S_str(a) #a diff --git a/sim_rev.h b/sim_rev.h index fe4a6423..fd18e574 100644 --- a/sim_rev.h +++ b/sim_rev.h @@ -56,10 +56,8 @@ information as a consequence of the "sim_rev.h export-subst" line in the .gitattributes file. */ -#if !defined(SIM_GIT_COMMIT_ID) -#define SIM_GIT_COMMIT_ID $Format:%H$ -#define SIM_GIT_COMMIT_TIME $Format:%aI$ -#endif +#define SIM_ARCHIVE_GIT_COMMIT_ID $Format:%H$ +#define SIM_ARCHIVE_GIT_COMMIT_TIME $Format:%aI$ /* The comment section below reflects the manual editing process which was in place