From 7ae51087e57a725394605ca1ff2195f0e996e212 Mon Sep 17 00:00:00 2001 From: florian <florian@freepascal.org> 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 - (cherry picked from commit 201281ae2a98d79e9fc49ec4a3e5b35e7d757027) --- compiler/Makefile | 12 ++++++++++++ compiler/Makefile.fpc | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/compiler/Makefile b/compiler/Makefile index ba2927ce86..99c788430f 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -403,6 +403,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 4f289af110..f9c04fff0c 100644 --- a/compiler/Makefile.fpc +++ b/compiler/Makefile.fpc @@ -129,6 +129,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)