threads / patch / 63629

patchconfig.mak.uname: update settings for FreeBSD

Subject: [PATCH] config.mak.uname: update settings for FreeBSD

## tl;dr

6 messages between Jun 12, 2025 and Jul 3, 2025. Diffs are folded; open one to read it.

replies: 5people: 4as markdown or json

Brad Smith· Jun 12, 2025, 03:13 UTC · lore
FreeBSD 6.0 has memmem().
Signed-off-by: Brad Smith <brad@comstyle.com>
---
 config.mak.uname | 6 ------
 1 file changed, 6 deletions(-)
Show changes to config.mak.uname +0 −6
diff --git a/config.mak.uname b/config.mak.uname
index b1c5c4d5e8..da592eeaa0 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -302,16 +302,10 @@ ifeq ($(uname_S),FreeBSD)
         ifeq ($(firstword $(subst -, ,$(uname_R))),10.1)
 		OLD_ICONV = YesPlease
         endif
-	NO_MEMMEM = YesPlease
 	BASIC_CFLAGS += -I/usr/local/include
 	BASIC_LDFLAGS += -L/usr/local/lib
 	DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
 	USE_ST_TIMESPEC = YesPlease
-        ifeq ($(shell expr "$(uname_R)" : '4\.'),2)
-		PTHREAD_LIBS = -pthread
-		NO_UINTMAX_T = YesPlease
-		NO_STRTOUMAX = YesPlease
-        endif
 	PYTHON_PATH = /usr/local/bin/python
 	PERL_PATH = /usr/local/bin/perl
 	HAVE_PATHS_H = YesPlease
-- 
2.49.0
Collin Funk· Jun 12, 2025, 03:31 UTC · re: Brad Smith · lore

Re: [PATCH] config.mak.uname: update settings for FreeBSD

Hi Brad,
Brad Smith <brad@comstyle.com> writes:
Show 16 quoted lines
> FreeBSD 6.0 has memmem().
>
> Signed-off-by: Brad Smith <brad@comstyle.com>
> ---
>  config.mak.uname | 6 ------
>  1 file changed, 6 deletions(-)
>
> diff --git a/config.mak.uname b/config.mak.uname
> index b1c5c4d5e8..da592eeaa0 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -302,16 +302,10 @@ ifeq ($(uname_S),FreeBSD)
>          ifeq ($(firstword $(subst -, ,$(uname_R))),10.1)
>  		OLD_ICONV = YesPlease
>          endif
> -	NO_MEMMEM = YesPlease

I don't have a FreeBSD machine that old to test it. But Gnulib's documentation says it was added in FreeBSD 5.2.1 [1].

Reviewed-by: Collin Funk <collin.funk1@gmail.com>
Show 12 quoted lines
>  	BASIC_CFLAGS += -I/usr/local/include
>  	BASIC_LDFLAGS += -L/usr/local/lib
>  	DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
>  	USE_ST_TIMESPEC = YesPlease
> -        ifeq ($(shell expr "$(uname_R)" : '4\.'),2)
> -		PTHREAD_LIBS = -pthread
> -		NO_UINTMAX_T = YesPlease
> -		NO_STRTOUMAX = YesPlease
> -        endif
>  	PYTHON_PATH = /usr/local/bin/python
>  	PERL_PATH = /usr/local/bin/perl
>  	HAVE_PATHS_H = YesPlease

Curious about this change though. Are you basing it off a FreeBSD system you have? Or do we not care about that old version anymore? For reference, FreeBSD 4.2 was released in 2000.

Collin

[1] https://www.gnu.org/software/gnulib/manual/html_node/memmem.html [2] https://www.freebsd.org/releases/4.2R/announce/

Brad Smith· Jun 12, 2025, 03:46 UTC · re: Collin Funk · lore

Re: [PATCH] config.mak.uname: update settings for FreeBSD

On 2025-06-11 11:31 p.m., Collin Funk wrote:
Show 22 quoted lines
> Hi Brad,
>
> Brad Smith <brad@comstyle.com> writes:
>
>> FreeBSD 6.0 has memmem().
>>
>> Signed-off-by: Brad Smith <brad@comstyle.com>
>> ---
>>   config.mak.uname | 6 ------
>>   1 file changed, 6 deletions(-)
>>
>> diff --git a/config.mak.uname b/config.mak.uname
>> index b1c5c4d5e8..da592eeaa0 100644
>> --- a/config.mak.uname
>> +++ b/config.mak.uname
>> @@ -302,16 +302,10 @@ ifeq ($(uname_S),FreeBSD)
>>           ifeq ($(firstword $(subst -, ,$(uname_R))),10.1)
>>   		OLD_ICONV = YesPlease
>>           endif
>> -	NO_MEMMEM = YesPlease
> I don't have a FreeBSD machine that old to test it. But Gnulib's
> documentation says it was added in FreeBSD 5.2.1 [1].

Not that it matters for git, but that does not match the actual code. The first man page I see is for 6 and looking at their source repo I only see memmem() on the 6 branch.

https://svnweb.freebsd.org/base/stable/5/lib/libc/string/ https://svnweb.freebsd.org/base/stable/6/lib/libc/string/

Show 17 quoted lines
> Reviewed-by: Collin Funk <collin.funk1@gmail.com>
>
>>   	BASIC_CFLAGS += -I/usr/local/include
>>   	BASIC_LDFLAGS += -L/usr/local/lib
>>   	DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
>>   	USE_ST_TIMESPEC = YesPlease
>> -        ifeq ($(shell expr "$(uname_R)" : '4\.'),2)
>> -		PTHREAD_LIBS = -pthread
>> -		NO_UINTMAX_T = YesPlease
>> -		NO_STRTOUMAX = YesPlease
>> -        endif
>>   	PYTHON_PATH = /usr/local/bin/python
>>   	PERL_PATH = /usr/local/bin/perl
>>   	HAVE_PATHS_H = YesPlease
> Curious about this change though. Are you basing it off a FreeBSD system
> you have? Or do we not care about that old version anymore? For
> reference, FreeBSD 4.2 was released in 2000.

I probably should have mentioned it in some manner in the commit message. Since the minimum version is now 6.x after this changed I removed the 4.x support. 6.0 is 19.5 years old.

Show 5 quoted lines
> Collin
>
> [1] https://www.gnu.org/software/gnulib/manual/html_node/memmem.html
> [2] https://www.freebsd.org/releases/4.2R/announce/
>
Junio C Hamano· Jun 12, 2025, 03:47 UTC · re: Brad Smith · lore

Re: [PATCH] config.mak.uname: update settings for FreeBSD

Brad Smith <brad@comstyle.com> writes:
> FreeBSD 6.0 has memmem().
And anything older than that no longer matters?  

That may indeed be true (6.0 was from Nov 2005), but if that is the reason why we simply lose NO_MEMMEM (instead of conditionally losing for 6.0 and newer), that needs to be explained in the proposed log message, together with the reason why we no longer do anything special with version "4.x" (which could be "We ditch the support for anything older than 6.0").

Assuming that our stance is "anything older than 6.0 no longer matters", the patch itself looks good.

Show 26 quoted lines
> Signed-off-by: Brad Smith <brad@comstyle.com>
> ---
>  config.mak.uname | 6 ------
>  1 file changed, 6 deletions(-)
>
> diff --git a/config.mak.uname b/config.mak.uname
> index b1c5c4d5e8..da592eeaa0 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -302,16 +302,10 @@ ifeq ($(uname_S),FreeBSD)
>          ifeq ($(firstword $(subst -, ,$(uname_R))),10.1)
>  		OLD_ICONV = YesPlease
>          endif
> -	NO_MEMMEM = YesPlease
>  	BASIC_CFLAGS += -I/usr/local/include
>  	BASIC_LDFLAGS += -L/usr/local/lib
>  	DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
>  	USE_ST_TIMESPEC = YesPlease
> -        ifeq ($(shell expr "$(uname_R)" : '4\.'),2)
> -		PTHREAD_LIBS = -pthread
> -		NO_UINTMAX_T = YesPlease
> -		NO_STRTOUMAX = YesPlease
> -        endif
>  	PYTHON_PATH = /usr/local/bin/python
>  	PERL_PATH = /usr/local/bin/perl
>  	HAVE_PATHS_H = YesPlease
Brad Smith· Jun 12, 2025, 03:54 UTC · re: Junio C Hamano · lore

Re: [PATCH] config.mak.uname: update settings for FreeBSD

On 2025-06-11 11:47 p.m., Junio C Hamano wrote:
> Brad Smith <brad@comstyle.com> writes:
>
>> FreeBSD 6.0 has memmem().
> And anything older than that no longer matters?
I look at is as so. 6.0 is 19.5 years old as it is.
Show 9 quoted lines
> That may indeed be true (6.0 was from Nov 2005), but if that is the
> reason why we simply lose NO_MEMMEM (instead of conditionally losing
> for 6.0 and newer), that needs to be explained in the proposed log
> message, together with the reason why we no longer do anything
> special with version "4.x" (which could be "We ditch the support for
> anything older than 6.0").
>
> Assuming that our stance is "anything older than 6.0 no longer
> matters", the patch itself looks good.
This was my intent. I'll update the commit message.
Renato Botelho· Jul 3, 2025, 12:40 UTC · re: Junio C Hamano · lore

Re: [PATCH] config.mak.uname: update settings for FreeBSD

On 12/06/25 00:47, Junio C Hamano wrote:
Show 5 quoted lines
> Brad Smith <brad@comstyle.com> writes:
> 
>> FreeBSD 6.0 has memmem().
> 
> And anything older than that no longer matters?

The oldest supported version of FreeBSD is 13.5, which will EOL in April 2026.

Show 38 quoted lines
> That may indeed be true (6.0 was from Nov 2005), but if that is the
> reason why we simply lose NO_MEMMEM (instead of conditionally losing
> for 6.0 and newer), that needs to be explained in the proposed log
> message, together with the reason why we no longer do anything
> special with version "4.x" (which could be "We ditch the support for
> anything older than 6.0").
> 
> Assuming that our stance is "anything older than 6.0 no longer
> matters", the patch itself looks good.
> 
>> Signed-off-by: Brad Smith <brad@comstyle.com>
>> ---
>>   config.mak.uname | 6 ------
>>   1 file changed, 6 deletions(-)
>>
>> diff --git a/config.mak.uname b/config.mak.uname
>> index b1c5c4d5e8..da592eeaa0 100644
>> --- a/config.mak.uname
>> +++ b/config.mak.uname
>> @@ -302,16 +302,10 @@ ifeq ($(uname_S),FreeBSD)
>>           ifeq ($(firstword $(subst -, ,$(uname_R))),10.1)
>>   		OLD_ICONV = YesPlease
>>           endif
>> -	NO_MEMMEM = YesPlease
>>   	BASIC_CFLAGS += -I/usr/local/include
>>   	BASIC_LDFLAGS += -L/usr/local/lib
>>   	DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
>>   	USE_ST_TIMESPEC = YesPlease
>> -        ifeq ($(shell expr "$(uname_R)" : '4\.'),2)
>> -		PTHREAD_LIBS = -pthread
>> -		NO_UINTMAX_T = YesPlease
>> -		NO_STRTOUMAX = YesPlease
>> -        endif
>>   	PYTHON_PATH = /usr/local/bin/python
>>   	PERL_PATH = /usr/local/bin/perl
>>   	HAVE_PATHS_H = YesPlease
> 
> 
-- 
Renato Botelho

← back to recent threads