From 201281ae2a98d79e9fc49ec4a3e5b35e7d757027 Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 18 Oct 2020 17:13:39 +0000 Subject: [PATCH] * compiler Makefile checks if SOURCE_SOURCE_DATE_EPOCH_DATE is set or if git is used, in either case the former or the latter are used for the build date reported by the compiler git-svn-id: trunk@47133 - --- compiler/Makefile | 12 ++++++++++++ compiler/Makefile.fpc | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/compiler/Makefile b/compiler/Makefile index 209eb602b2..48b7ce7c8f 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -451,6 +451,18 @@ endif ifndef RTLOPT RTLOPT:=$(OPT) endif +DATE_FMT = +%Y/%m/%d +ifdef SOURCE_DATE_EPOCH + DATESTR ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u "$(DATE_FMT)") +else + GIT_DIR = $(wildcard ../.git) + ifneq ($(GIT_DIR),) + DATESTR:=$(shell git log -1 --pretty=%cd --date=format:'%Y/%m/%d') + endif +endif +ifdef DATESTR +override OPTNEW+=-DD$(DATESTR) +endif ifdef CYCLELEVEL ifeq ($(CYCLELEVEL),1) override LOCALOPT+=$(OPTLEVEL1) diff --git a/compiler/Makefile.fpc b/compiler/Makefile.fpc index b613550db6..a3852109dc 100644 --- a/compiler/Makefile.fpc +++ b/compiler/Makefile.fpc @@ -168,6 +168,22 @@ ifndef RTLOPT RTLOPT:=$(OPT) endif +DATE_FMT = +%Y/%m/%d +ifdef SOURCE_DATE_EPOCH + COMPDATESTR ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u "$(DATE_FMT)") +else + # does a git directory exist? ... + GIT_DIR = $(wildcard ../.git) + ifneq ($(GIT_DIR),) + # ... then take date from head + COMPDATESTR:=$(shell git log -1 --pretty=%cd --date=format:'%Y/%m/%d') + endif +endif + +ifdef COMPDATESTR +override OPTNEW+=-DD$(COMPDATESTR) +endif + ifdef CYCLELEVEL ifeq ($(CYCLELEVEL),1) override LOCALOPT+=$(OPTLEVEL1)