Makefile: remove NEEDS_LIBRT build variable

Commit d19e3a5b21 ("Makefile: add NEEDS_LIBRT to optionally link with librt", 2016-07-07) introduced the NEEDS_LIBRT build variable to disassociate the HAVE_CLOCK_GETTIME variable with the unconditional linking of the librt library. At one time, the clock_gettime() function was not available as part of the libc library and (on some unix systems) required linking with librt. Commit 52fcec75ce ("config.mak.uname: define NEEDS_LIBRT under Linux, for now", 2016-07-10) set the NEEDS_LIBRT variable in the Linux section of the config.mak.uname file, since Debian 7 (wheezy) was one of the few remaining distributions, with glibc 2.13, that required linking with librt for clock_gettime(). Note that from glibc version 2.17, this is no longer necessary. Note that Debian 7.0 was released on May 4th, 2013 and benefited from long term support until May 2018 when it went end-of-life. Since that time, Linux distributions use a more up-to-date library, for example: Distribution version end of support Debian 8 2.19 30th June 2020 RHEL 8 2.28 31st May 2024 * Ubuntu 16.04 2.23 30th Apr 2021 * paid 'Maintenance support' ends 31st May 2029 Since it is no longer required, remove NEEDS_LIBRT from the Makefile and config.mak.uname. Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ramsay Jones committed Apr 17, 2025 at 00:18 UTC ead39b241cfb31c1c6a0244f3593772637ed30c9
2 files changed -9
Makefile
-7
@@ -340,9 +340,6 @@ include shared.mak
340 #
341 # Define HAVE_SYNC_FILE_RANGE if your platform has sync_file_range.
342 #
343 -# Define NEEDS_LIBRT if your platform requires linking with librt (glibc version
344 -# before 2.17) for clock_gettime and CLOCK_MONOTONIC.
345 -#
343 # Define HAVE_BSD_SYSCTL if your platform has a BSD-compatible sysctl function.
344 #
345 # Define HAVE_GETDELIM if your system has the getdelim() function.
@@ -2171,10 +2168,6 @@ ifdef HAVE_SYNC_FILE_RANGE
2168 BASIC_CFLAGS += -DHAVE_SYNC_FILE_RANGE
2169 endif
2170
2174 -ifdef NEEDS_LIBRT
2175 - EXTLIBS += -lrt
2176 -endif
2177 -
2171 ifdef HAVE_BSD_SYSCTL
2172 BASIC_CFLAGS += -DHAVE_BSD_SYSCTL
2173 endif
config.mak.uname
-2
@@ -54,8 +54,6 @@ ifeq ($(uname_S),Linux)
54 HAVE_DEV_TTY = YesPlease
55 HAVE_CLOCK_GETTIME = YesPlease
56 HAVE_CLOCK_MONOTONIC = YesPlease
57 - # -lrt is needed for clock_gettime on glibc <= 2.16
58 - NEEDS_LIBRT = YesPlease
57 HAVE_SYNC_FILE_RANGE = YesPlease
58 HAVE_GETDELIM = YesPlease
59 FREAD_READS_DIRECTORIES = UnfortunatelyYes