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

6 messages from 2025-06-12 to 2025-07-03. Participants: Brad Smith, Collin Funk, Junio C Hamano, Renato Botelho.
Thread: https://gitlist.dev/t/63629

## Brad Smith, 2025-06-12 03:13

Subject: [PATCH] config.mak.uname: update settings for FreeBSD
Message-ID: <aEpF3ZjNwkR8FssX@humpty.home.comstyle.com>
URL: https://gitlist.dev/e/aEpF3ZjNwkR8FssX%40humpty.home.comstyle.com

```
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
 	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, 2025-06-12 03:31

Subject: Re: [PATCH] config.mak.uname: update settings for FreeBSD
Message-ID: <87ikl1eiuf.fsf@gmail.com>
URL: https://gitlist.dev/e/87ikl1eiuf.fsf%40gmail.com
In-Reply-To: <aEpF3ZjNwkR8FssX@humpty.home.comstyle.com>

```
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].

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.

Collin

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

```

## Brad Smith, 2025-06-12 03:46

Subject: Re: [PATCH] config.mak.uname: update settings for FreeBSD
Message-ID: <cca64148-3f55-4ec7-9684-f475bfadeded@comstyle.com>
URL: https://gitlist.dev/e/cca64148-3f55-4ec7-9684-f475bfadeded%40comstyle.com
In-Reply-To: <87ikl1eiuf.fsf@gmail.com>

```
On 2025-06-11 11:31 p.m., Collin Funk wrote:
> 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/


> 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.

> 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, 2025-06-12 03:47

Subject: Re: [PATCH] config.mak.uname: update settings for FreeBSD
Message-ID: <xmqqsek5fwnu.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqsek5fwnu.fsf%40gitster.g
In-Reply-To: <aEpF3ZjNwkR8FssX@humpty.home.comstyle.com>

```
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.

> 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, 2025-06-12 03:54

Subject: Re: [PATCH] config.mak.uname: update settings for FreeBSD
Message-ID: <ddb50b73-8f98-48e5-880b-b991508edea3@comstyle.com>
URL: https://gitlist.dev/e/ddb50b73-8f98-48e5-880b-b991508edea3%40comstyle.com
In-Reply-To: <xmqqsek5fwnu.fsf@gitster.g>

```
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.

> 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, 2025-07-03 12:40

Subject: Re: [PATCH] config.mak.uname: update settings for FreeBSD
Message-ID: <f61f6a80-da7c-4849-bc89-806eab84662e@FreeBSD.org>
URL: https://gitlist.dev/e/f61f6a80-da7c-4849-bc89-806eab84662e%40FreeBSD.org
In-Reply-To: <xmqqsek5fwnu.fsf@gitster.g>

```
On 12/06/25 00:47, Junio C Hamano wrote:
> 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.

> 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


```
