#!/bin/sh
set -e

FILE="$1"
if [ -z "$FILE" ]; then
  echo "Usage: $0 FILENAME" >&2
  echo "\nThe reproducible definitions of the C time macros will be written to FILENAME\nand options for \$CPPFLAGS will be printed on standard output."
  exit 1
fi

CHANGELOG_DATE=$(dpkg-parsechangelog --show-field Date)

if [ -z "$CHANGELOG_DATE" ]; then
  echo "dpkg-parsechangelog is unable to parse the changelog date!" >&2
  exit 1
fi

export LC_CTIME='C'
export TZ='UTC'

cat <<END > $FILE
/* Reproducible timestamp macros generated by $0. */
#ifdef __TIME__
# undef __TIME__
#endif
#define __TIME__ "$(date --date="$CHANGELOG_DATE" "+%T")"

#ifdef __DATE__
# undef __DATE__
#endif
#define __DATE__ "$(date --date="$CHANGELOG_DATE" "+%b %e %Y")"

#ifdef __TIMESTAMP__
# undef __TIMESTAMP__
#endif
#define __TIMESTAMP__ "$(date --date="$CHANGELOG_DATE" "+%a %b %e %T %Y")"
END

echo "-Wno-builtin-macro-redefined -include $(pwd)/$FILE"

