Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #18 from smcv/reproducible-date
Pick up date from SOURCE_DATE_EPOCH, for reproducible builds
  • Loading branch information
sago007 committed Jun 27, 2017
2 parents 732d320 + e084973 commit 3150715
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 10 deletions.
23 changes: 15 additions & 8 deletions Makefile
Expand Up @@ -1077,6 +1077,13 @@ else
STRIP_FLAG = -s
endif

# https://reproducible-builds.org/specs/source-date-epoch/
ifdef SOURCE_DATE_EPOCH
BASE_CFLAGS = -DPRODUCT_DATE=\\\"$(shell date --date="@$$SOURCE_DATE_EPOCH" "+%b %_d %Y" | sed -e 's/ /\\\ /'g)\\\"
# q3lcc CFLAGS go through one fewer level of interpolation
QVM_CFLAGS += -DPRODUCT_DATE=\"$(shell date --date="@$$SOURCE_DATE_EPOCH" "+%b %_d %Y" | sed -e 's/ /\\\ /'g)\"
endif

BASE_CFLAGS += -DPRODUCT_VERSION=\\\"$(VERSION)\\\"
BASE_CFLAGS += -Wformat=2 -Wno-format-zero-length -Wformat-security -Wno-format-nonliteral
BASE_CFLAGS += -Wstrict-aliasing=2 -Wmissing-format-attribute
Expand Down Expand Up @@ -1429,42 +1436,42 @@ $(Q3LCC): $(Q3LCCOBJ) $(Q3RCC) $(Q3CPP)

define DO_Q3LCC
$(echo_cmd) "Q3LCC $<"
$(Q)$(Q3LCC) $(BASEGAME_CFLAGS) -o $@ $<
$(Q)$(Q3LCC) $(QVM_CFLAGS) $(BASEGAME_CFLAGS) -o $@ $<
endef

define DO_CGAME_Q3LCC
$(echo_cmd) "CGAME_Q3LCC $<"
$(Q)$(Q3LCC) $(BASEGAME_CFLAGS) -DCGAME -o $@ $<
$(Q)$(Q3LCC) $(QVM_CFLAGS) $(BASEGAME_CFLAGS) -DCGAME -o $@ $<
endef

define DO_GAME_Q3LCC
$(echo_cmd) "GAME_Q3LCC $<"
$(Q)$(Q3LCC) $(BASEGAME_CFLAGS) -DQAGAME -o $@ $<
$(Q)$(Q3LCC) $(QVM_CFLAGS) $(BASEGAME_CFLAGS) -DQAGAME -o $@ $<
endef

define DO_UI_Q3LCC
$(echo_cmd) "UI_Q3LCC $<"
$(Q)$(Q3LCC) $(BASEGAME_CFLAGS) -DUI -o $@ $<
$(Q)$(Q3LCC) $(QVM_CFLAGS) $(BASEGAME_CFLAGS) -DUI -o $@ $<
endef

define DO_Q3LCC_MISSIONPACK
$(echo_cmd) "Q3LCC_MISSIONPACK $<"
$(Q)$(Q3LCC) $(MISSIONPACK_CFLAGS) -o $@ $<
$(Q)$(Q3LCC) $(QVM_CFLAGS) $(MISSIONPACK_CFLAGS) -o $@ $<
endef

define DO_CGAME_Q3LCC_MISSIONPACK
$(echo_cmd) "CGAME_Q3LCC_MISSIONPACK $<"
$(Q)$(Q3LCC) $(MISSIONPACK_CFLAGS) -DCGAME -o $@ $<
$(Q)$(Q3LCC) $(QVM_CFLAGS) $(MISSIONPACK_CFLAGS) -DCGAME -o $@ $<
endef

define DO_GAME_Q3LCC_MISSIONPACK
$(echo_cmd) "GAME_Q3LCC_MISSIONPACK $<"
$(Q)$(Q3LCC) $(MISSIONPACK_CFLAGS) -DQAGAME -o $@ $<
$(Q)$(Q3LCC) $(QVM_CFLAGS) $(MISSIONPACK_CFLAGS) -DQAGAME -o $@ $<
endef

define DO_UI_Q3LCC_MISSIONPACK
$(echo_cmd) "UI_Q3LCC_MISSIONPACK $<"
$(Q)$(Q3LCC) $(MISSIONPACK_CFLAGS) -DUI -o $@ $<
$(Q)$(Q3LCC) $(QVM_CFLAGS) $(MISSIONPACK_CFLAGS) -DUI -o $@ $<
endef


Expand Down
4 changes: 2 additions & 2 deletions code/game/g_main.c
Expand Up @@ -215,7 +215,7 @@ static cvarTable_t gameCvarTable[] = {

// noset vars
{ NULL, "gamename", GAMEVERSION , CVAR_SERVERINFO | CVAR_ROM, 0, qfalse },
{ NULL, "gamedate", __DATE__ , CVAR_ROM, 0, qfalse },
{ NULL, "gamedate", PRODUCT_DATE , CVAR_ROM, 0, qfalse },
{ &g_restarted, "g_restarted", "0", CVAR_ROM, 0, qfalse },

// latched vars
Expand Down Expand Up @@ -757,7 +757,7 @@ void G_InitGame( int levelTime, int randomSeed, int restart )

G_Printf ("------- Game Initialization -------\n");
G_Printf ("gamename: %s\n", GAMEVERSION);
G_Printf ("gamedate: %s\n", __DATE__);
G_Printf ("gamedate: %s\n", PRODUCT_DATE);

srand( randomSeed );

Expand Down
4 changes: 4 additions & 0 deletions code/qcommon/q_shared.h
Expand Up @@ -42,6 +42,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#define PRODUCT_VERSION "1.35"
#endif

#ifndef PRODUCT_DATE
# define PRODUCT_DATE __DATE__
#endif

#define Q3_VERSION PRODUCT_NAME " " PRODUCT_VERSION

#define MAX_TEAMNAME 32
Expand Down

0 comments on commit 3150715

Please sign in to comment.