Sat Apr 20 08:03:08 2024 UTC (20d)
libntp: clean up MKREPRO_TIMESTAMP handling

NetBSD's make has built-in support for formatting timestamps, so use
that instead of relying on an external tool.  The month name is still
always in the C locale, and possible errors are reported in the affected
line, due to the ':=' assignment operator.

Without the ':=' assignment operator, the intermediate variable would
not be necessary, but in that case, make's error handling is broken and
unspecific.


(rillig)
diff -r1.34 -r1.35 src/external/bsd/ntp/lib/libntp/Makefile

cvs diff -r1.34 -r1.35 src/external/bsd/ntp/lib/libntp/Makefile (expand / switch to unified diff)

--- src/external/bsd/ntp/lib/libntp/Makefile 2024/04/19 16:04:28 1.34
+++ src/external/bsd/ntp/lib/libntp/Makefile 2024/04/20 08:03:08 1.35
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.34 2024/04/19 16:04:28 jakllsch Exp $ 1# $NetBSD: Makefile,v 1.35 2024/04/20 08:03:08 rillig Exp $
2 2
3LIBISPRIVATE=yes 3LIBISPRIVATE=yes
4 4
5LIB=ntp 5LIB=ntp
6 6
7.include <bsd.own.mk> 7.include <bsd.own.mk>
8 8
9.include "${.CURDIR}/../Makefile.inc" 9.include "${.CURDIR}/../Makefile.inc"
10 10
11DIST= ${IDIST}/libntp  11DIST= ${IDIST}/libntp
12 12
13.PATH.c: ${DIST} 13.PATH.c: ${DIST}
14 14
@@ -76,34 +76,27 @@ systime.c \ @@ -76,34 +76,27 @@ systime.c \
76timespecops.c \ 76timespecops.c \
77timetoa.c \ 77timetoa.c \
78timexsup.c \ 78timexsup.c \
79uglydate.c \ 79uglydate.c \
80vint64ops.c \ 80vint64ops.c \
81work_fork.c \ 81work_fork.c \
82work_thread.c \ 82work_thread.c \
83xsbprintf.c \ 83xsbprintf.c \
84ymd2yd.c 84ymd2yd.c
85 85
86CPPFLAGS+= -I${IDIST}/sntp/libopts 86CPPFLAGS+= -I${IDIST}/sntp/libopts
87 87
88# For MKREPRO, avoid using __DATE__ and __TIME__. 88# For MKREPRO, avoid using __DATE__ and __TIME__.
89# Instead, use the date and time from ${MKREPRO_TIMESTAMP} 
90.if ${MKREPRO:Uno} == "yes" 89.if ${MKREPRO:Uno} == "yes"
91.if ${MKREPRO_TIMESTAMP:Uundefined} == "undefined" 90MKREPRO_CPPFLAGS.ntp_calendar.c:= \
92.error MKREPRO_TIMESTAMP is undefined with MKREPRO active 91 -DMKREPRO_DATE=\"${%b %e %Y:L:gmtime=${MKREPRO_TIMESTAMP}:Q}\" \
93.endif 92 -DMKREPRO_TIME=\"${%T:L:gmtime=${MKREPRO_TIMESTAMP}:Q}\"
94MKREPRO_DATE != env LC_ALL=C ${TOOL_DATE} -u -r "${MKREPRO_TIMESTAMP}" "+%b %e %Y" 93CPPFLAGS.ntp_calendar.c += ${MKREPRO_CPPFLAGS.ntp_calendar.c}
95MKREPRO_TIME != env LC_ALL=C ${TOOL_DATE} -u -r "${MKREPRO_TIMESTAMP}" "+%T" 
96.if ${MKREPRO_DATE} == "" || ${MKREPRO_TIME} == "" 
97.error empty MKREPRO_DATE or MKREPRO_TIME 
98.endif 
99CPPFLAGS.ntp_calendar.c += -DMKREPRO_DATE=\"${MKREPRO_DATE:Q}\" 
100CPPFLAGS.ntp_calendar.c += -DMKREPRO_TIME=\"${MKREPRO_TIME:Q}\" 
101.endif 94.endif
102 95
103COPTS.timetoa.c+= ${CC_WNO_FORMAT_TRUNCATION} 96COPTS.timetoa.c+= ${CC_WNO_FORMAT_TRUNCATION}
104COPTS.socktoa.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-restrict :} 97COPTS.socktoa.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-restrict :}
105COPTS.socktohost.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-restrict :} 98COPTS.socktohost.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-restrict :}
106 99
107COPTS.a_md5encrypt.c+= -Wno-error=deprecated-declarations 100COPTS.a_md5encrypt.c+= -Wno-error=deprecated-declarations
108 101
109.include <bsd.lib.mk> 102.include <bsd.lib.mk>