SCP: Move .git-commit-id.h to where used
Move .git-commit-id.h include to where it's actually referenced in scp.c to reduce the recompile overhead for build systems that track build dependencies. Ensure that headers that reference SIM_MAJOR include sim_rev.h as a defensive coding practice. Net effect: Reduces recompiled source to a minimum when .git-commit-id.h is updated and removes the sim_defs.h > sim_rev.h > .git-commit-id.h dependency subgraph. Everything includes sim_defs.h, so a change to .git-commit-id.h causes a large recompile, vice what should just be a scp.c recompile and simulator suite relink. Does not impact makefile builds, since makefile builds will recompile everything; dependency tracking is superfluous.
This commit is contained in:
parent
06d41835fe
commit
c57f925256
5 changed files with 11 additions and 10 deletions
|
@ -41,6 +41,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "sim_rev.h" /* For SIM_MAJOR */
|
||||||
#include "sim_tape.h"
|
#include "sim_tape.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@
|
||||||
#ifndef I1620_DEFS_H_
|
#ifndef I1620_DEFS_H_
|
||||||
#define I1620_DEFS_H_ 0
|
#define I1620_DEFS_H_ 0
|
||||||
|
|
||||||
|
#include "sim_rev.h"
|
||||||
#include "sim_defs.h" /* simulator defns */
|
#include "sim_defs.h" /* simulator defns */
|
||||||
|
|
||||||
#if defined(USE_INT64) || defined(USE_ADDR64)
|
#if defined(USE_INT64) || defined(USE_ADDR64)
|
||||||
|
|
4
scp.c
4
scp.c
|
@ -249,6 +249,10 @@
|
||||||
#include <editline/readline.h>
|
#include <editline/readline.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(SIM_NEED_GIT_COMMIT_ID)
|
||||||
|
#include ".git-commit-id.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef MAX
|
#ifndef MAX
|
||||||
#define MAX(a,b) (((a) >= (b)) ? (a) : (b))
|
#define MAX(a,b) (((a) >= (b)) ? (a) : (b))
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -121,6 +121,7 @@
|
||||||
#define SIM_DEFS_H_ 0
|
#define SIM_DEFS_H_ 0
|
||||||
|
|
||||||
#include "sim_rev.h"
|
#include "sim_rev.h"
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
14
sim_rev.h
14
sim_rev.h
|
@ -44,17 +44,11 @@
|
||||||
#define SIM_VERSION_MODE "Current"
|
#define SIM_VERSION_MODE "Current"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(SIM_NEED_GIT_COMMIT_ID)
|
|
||||||
#include ".git-commit-id.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Simh's git commit id would be undefined when working with an
|
SIM__GIT_COMMMIT_ID is undefined when working with an
|
||||||
extracted archive (zip file or tar ball). To address this
|
archive (zip file or tar ball). Use Git keyword subsitution
|
||||||
problem and record the commit id that the archive was created
|
to record the archive's commit id via the .gitattributes
|
||||||
from, the archive creation process populates the below
|
"export-subst".
|
||||||
information as a consequence of the "sim_rev.h export-subst"
|
|
||||||
line in the .gitattributes file.
|
|
||||||
*/
|
*/
|
||||||
#define SIM_ARCHIVE_GIT_COMMIT_ID $Format:%H$
|
#define SIM_ARCHIVE_GIT_COMMIT_ID $Format:%H$
|
||||||
#define SIM_ARCHIVE_GIT_COMMIT_TIME $Format:%aI$
|
#define SIM_ARCHIVE_GIT_COMMIT_TIME $Format:%aI$
|
||||||
|
|
Loading…
Add table
Reference in a new issue