From cace650c47db6c7598bdc1b3a69e853538db600e Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Sat, 4 Aug 2018 23:38:03 +0200 Subject: [PATCH] timestamp may be overruled by setting env var SOURCE_DATE_EPOCH to allow Reproducible builds See https://wiki.debian.org/ReproducibleBuilds --- configure.ac | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 824e35a67..4f62b7a4b 100644 --- a/configure.ac +++ b/configure.ac @@ -809,7 +809,25 @@ else AC_DEFINE_UNQUOTED([NGSPICEBINDIR], ["`echo $dprefix/bin`"], [Define the directory for executables]) AC_DEFINE_UNQUOTED([NGSPICEDATADIR], ["`echo $dprefix/share/ngspice`"], [Define the directory for architecture independent data files]) fi -AC_DEFINE_UNQUOTED([NGSPICEBUILDDATE], ["`date`"], [Define the build date]) + +# Create timestamp, may be overruled by setting env var SOURCE_DATE_EPOCH +case $host_os in + *freebsd* ) + DATE_FMT="%Y-%m-%d" + SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH:-$(date +%s)}" + BUILD_DATE=$(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") + ;; + *openbsd* ) + DATE_FMT="%Y-%m-%d" + SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH:-$(date +%s)}" + BUILD_DATE=$(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") + ;; + * ) + BUILD_DATE="$(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}")" + ;; +esac + +AC_DEFINE_UNQUOTED([NGSPICEBUILDDATE], ["$BUILD_DATE"], [Define the build date]) if test "x$with_wingui" = xyes; then AC_MSG_RESULT([WINDOWS GUI code enabled])