@@ -66,28 +66,6 @@ DATAFORM= main
6666
6767LOCALTIME = Factory
6868
69- # The POSIXRULES macro controls interpretation of POSIX-like TZ
70- # settings like TZ='EET-2EEST' that lack DST transition rules.
71- # If POSIXRULES is '-', no template is installed; this is the default.
72- # Any other value for POSIXRULES is obsolete and should not be relied on, as:
73- # * It does not work correctly in popular implementations such as GNU/Linux.
74- # * It does not work even in tzcode, except for historical timestamps
75- # that precede the last explicit transition in the POSIXRULES file.
76- # Hence it typically does not work for current and future timestamps.
77- # If, despite the above, you want a template for handling these settings,
78- # you can change the line below (after finding the timezone you want in the
79- # one of the $(TDATA) source files, or adding it to a source file).
80- # Alternatively, if you discover you've got the wrong timezone, you can just
81- # 'zic -p -' to remove it, or 'zic -p rightzone' to change it.
82- # Use the command
83- # make zonenames
84- # to get a list of the values you can use for POSIXRULES.
85-
86- POSIXRULES = -
87-
88- # Also see TZDEFRULESTRING below, which takes effect only
89- # if POSIXRULES is '-' or if the template file cannot be accessed.
90-
9169
9270# Installation locations.
9371#
@@ -170,7 +148,7 @@ TIME_T_ALTERNATIVES_TAIL = int_least32_t.ck uint_least32_t.ck \
170148# applications that are not leap second aware, and is closer to unsmeared
171149# "right" time than unsmeared POSIX time is (e.g., 0.5 vs 1.0 s max error).
172150
173- REDO = posix_right
151+ REDO = posix_only
174152
175153# Whether to put an "Expires" line in the leapseconds file.
176154# Use EXPIRES_LINE=1 to put the line in, 0 to omit it.
@@ -284,7 +262,10 @@ LDLIBS=
284262# -DHAVE_STRDUP=0 if your system lacks the strdup function
285263# -DHAVE_STRNLEN=0 if your system lacks the strnlen function+
286264# -DHAVE_STRTOLL=0 if your system lacks the strtoll function+
287- # -DHAVE_STRUCT_STAT_ST_CTIM=0 if struct stat lacks a member st_ctim+
265+ # -DHAVE_STRUCT_STAT_ST_CTIM=0 if struct stat lacks a status-change member
266+ # of type struct timespec, so code should use st_ctime instead;
267+ # but if the status-change member name is st_ctimespec,
268+ # use -Dst_ctim=st_ctimespec instead (default is guessed)+
288269# -DHAVE_STRUCT_TIMESPEC=0 if your system lacks struct timespec+
289270# -DHAVE_SYMLINK=0 if your system lacks the symlink function
290271# -DHAVE_SYS_STAT_H=0 if <sys/stat.h> does not work*
@@ -322,13 +303,13 @@ LDLIBS=
322303# variable, 0 otherwise (default is guessed)
323304# -DHAVE_SYS_SINGLE_THREADED_H=0 if <sys/single_threaded.h> works,
324305# 0 otherwise (default is guessed)
325- # -DTHREAD_RWLOCK to use read-write locks intead of mutexes.
326- # This can improve paralellism and thus save real time
306+ # -DTHREAD_RWLOCK to use read-write locks instead of mutexes.
307+ # This can improve parallelism and thus save real time
327308# if many threads call tzcode functions simultaneously.
328309# It also costs CPU time and thus energy.
329310# -DTHREAD_TM_MULTI to have gmtime, localtime, and offtime
330311# return different struct tm * addresses in different threads.
331- # This supports unportable programs that call
312+ # This supports nonportable programs that call
332313# gmtime/localtime/offtime when they should call
333314# gmtime_r/localtime_r/offtime_r to avoid races.
334315# Because the corresponding storage is freed on thread exit,
@@ -347,10 +328,13 @@ LDLIBS=
347328# -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz"
348329# -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory;
349330# the default is system-supplied, typically "/usr/lib/locale"
331+ # -DTZ_RUNTIME_LEAPS=0 to disable runtime support for leap seconds.
332+ # This conforms to POSIX, shrinks tzcode's attack surface,
333+ # and is more efficient. However, it fails to support Internet
334+ # RFC 9636's leap seconds.
350335# -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified
351- # DST transitions for proleptic format TZ strings lacking them,
352- # in the usual case where POSIXRULES is '-'. If not specified,
353- # TZDEFRULESTRING defaults to US rules for future DST transitions.
336+ # DST transitions for proleptic format TZ strings lacking them.
337+ # If not specified, it defaults to US rules for future DST transitions.
354338# This mishandles some past timestamps, as US DST rules have changed.
355339# It also mishandles settings like TZ='EET-2EEST' for eastern Europe,
356340# as Europe and US DST rules differ.
@@ -400,12 +384,13 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 \
400384 -Wold-style-definition -Woverlength-strings -Wpointer-arith \
401385 -Wshadow -Wshift-overflow=2 -Wstrict-overflow \
402386 -Wstrict-prototypes -Wstringop-overflow=4 \
403- -Wstringop-truncation - Wsuggest-attribute=cold \
387+ -Wsuggest-attribute=cold \
404388 -Wsuggest-attribute=const -Wsuggest-attribute=format \
405389 -Wsuggest-attribute=malloc \
406390 -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \
407391 -Wtrampolines -Wundef -Wunused-macros -Wuse-after-free=3 \
408392 -Wvariadic-macros -Wvla -Wwrite-strings \
393+ -Wzero-as-null-pointer-constant \
409394 -Wno-format-nonliteral -Wno-sign-compare -Wno-type-limits
410395#
411396# If your system has a "GMT offset" field in its "struct tm"s
@@ -723,7 +708,6 @@ install: all $(DATA) $(REDO) $(MANS)
723708 ' $(DESTDIR)$(MANDIR)/man3' ' $(DESTDIR)$(MANDIR)/man5' \
724709 ' $(DESTDIR)$(MANDIR)/man8'
725710 $( ZIC_INSTALL) -l $( LOCALTIME) \
726- -p $( POSIXRULES) \
727711 -t ' $(DESTDIR)$(TZDEFAULT)'
728712 cp -f $( TABDATA) ' $(DESTDIR)$(TZDIR)/.'
729713 cp tzselect ' $(DESTDIR)$(BINDIR)/.'
0 commit comments