Subject: Re: [PATCH v0 2/3] Makefile: Make all darwin into config.mak.uname

From: René Scharfe <[email-masked]>
Date: Tue, 16 Dec 2025 19:53:19 +0100

On 12/15/25 9:45 PM, [email-masked] wrote:
> From: Torsten Bögershausen <[email-masked]>
> 
> Move all the Darwin stuff from Makefile into config.mak.uname,
> we need it there in the next commit.
> 
> Signed-off-by: Torsten Bögershausen <[email-masked]>
> ---
>  Makefile         | 21 ---------------------
>  config.mak.uname | 18 ++++++++++++++++++
>  2 files changed, 18 insertions(+), 21 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 6de036e4e2..2d666c26e4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1672,27 +1672,6 @@ ifneq (,$(SOCKLEN_T))
>  	BASIC_CFLAGS += -Dsocklen_t=$(SOCKLEN_T)
>  endif
>  
> -ifeq ($(uname_S),Darwin)
> -        ifndef NO_FINK
> -                ifeq ($(shell test -d /sw/lib && echo y),y)
> -			BASIC_CFLAGS += -I/sw/include
> -			BASIC_LDFLAGS += -L/sw/lib
> -                endif
> -        endif
> -        ifndef NO_DARWIN_PORTS
> -                ifeq ($(shell test -d /opt/local/lib && echo y),y)
> -			BASIC_CFLAGS += -I/opt/local/include
> -			BASIC_LDFLAGS += -L/opt/local/lib
> -                endif
> -        endif
> -        ifndef NO_APPLE_COMMON_CRYPTO
> -		NO_OPENSSL = YesPlease
> -		APPLE_COMMON_CRYPTO = YesPlease
> -		COMPAT_CFLAGS += -DAPPLE_COMMON_CRYPTO
> -        endif
> -	PTHREAD_LIBS =
> -endif
> -
>  ifndef NO_HOMEBREW
>  	ifdef HOMEBREW_PREFIX
>  		BASIC_CFLAGS += -I$(HOMEBREW_PREFIX)/include
> diff --git a/config.mak.uname b/config.mak.uname
> index a926943141..44252dabcc 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -189,6 +189,24 @@ ifeq ($(uname_S),Darwin)
>          endif
>  
>  	BASIC_LDFLAGS += -framework CoreServices
> +	ifndef NO_FINK
> +		ifeq ($(shell test -d /sw/lib && echo y),y)
> +			BASIC_CFLAGS += -I/sw/include
> +			BASIC_LDFLAGS += -L/sw/lib
> +		endif
> +	endif
> +	ifndef NO_DARWIN_PORTS
> +		ifeq ($(shell test -d /opt/local/lib && echo y),y)
> +			BASIC_CFLAGS += -I/opt/local/include
> +			BASIC_LDFLAGS += -L/opt/local/lib
> +		endif
> +	endif
> +	ifndef NO_APPLE_COMMON_CRYPTO
> +		NO_OPENSSL = YesPlease
> +		APPLE_COMMON_CRYPTO = YesPlease
> +		COMPAT_CFLAGS += -DAPPLE_COMMON_CRYPTO
> +	endif
> +	PTHREAD_LIBS =
>  endif
>  ifeq ($(uname_S),SunOS)
>  	NEEDS_SOCKET = YesPlease

This works if you set these variables on the make command line, but it
won't work when setting them in config.mak, which is the main place for
custom make variables.  That's because it's included last in Makefile:

include config.mak.uname
-include config.mak.autogen
-include config.mak

René