public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: "René Scharfe" <l.s.r@web•de>
To: Git List <git@vger•kernel.org>
Cc: "Carlo Marcelo Arenas Belón" <carenas@gmail•com>,
	"Torsten Bögershausen" <tboegi@web•de>,
	"Junio C Hamano" <gitster@pobox•com>,
	"brian m . carlson" <sandals@crustytoothpaste•net>,
	"Koji Nakamaru" <koji.nakamaru@gree•net>,
	"Yee Cheng Chin" <ychin.macvim@gmail•com>
Subject: [PATCH v2 1/2] Makefile: add NO_HOMEBREW
Date: Sat, 13 Dec 2025 19:42:38 +0100	[thread overview]
Message-ID: <fe00aa37-e929-4ca6-ac23-84a693a48bc6@web.de> (raw)
In-Reply-To: <53690064-1c98-40e9-8b9a-7ba6bee63703@web.de>

Allow disabling the use of Homebrew on macOS, or Linux for that matter,
like we already do for other package sources, MacPorts and Fink in
particular.  This is useful for packagers, or anyone else who wants to
control dependencies.

Suggested-by: Carlo Marcelo Arenas Belón <carenas@gmail•com>
Suggested-by: Torsten Bögershausen <tboegi@web•de>
Signed-off-by: René Scharfe <l.s.r@web•de>
---
 Makefile         | 17 +++++++++++++++++
 config.mak.uname | 11 +++++------
 2 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/Makefile b/Makefile
index 6fc322ff88..dbd2760d18 100644
--- a/Makefile
+++ b/Makefile
@@ -100,6 +100,9 @@ include shared.mak
 # specify your own (or DarwinPort's) include directories and
 # library directories by defining CFLAGS and LDFLAGS appropriately.
 #
+# Define NO_HOMEBREW if you have Homebrew and don't want Git to link
+# against libraries installed by it.
+#
 # Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X
 # and do not want to use Apple's CommonCrypto library.  This allows you
 # to provide your own OpenSSL library, for example from MacPorts.
@@ -1692,6 +1695,20 @@ ifeq ($(uname_S),Darwin)
 	PTHREAD_LIBS =
 endif
 
+ifndef NO_HOMEBREW
+        ifdef HOMEBREW_PREFIX
+		BASIC_CFLAGS += -I$(HOMEBREW_PREFIX)/include
+		BASIC_LDFLAGS += -L$(HOMEBREW_PREFIX)/lib
+        endif
+        ifdef HOMEBREW_GETTEXT_PREFIX
+		BASIC_CFLAGS += -I$(HOMEBREW_GETTEXT_PREFIX)/include
+		BASIC_LDFLAGS += -L$(HOMEBREW_GETTEXT_PREFIX)/lib
+        endif
+        ifdef HOMEBREW_MSGFMT
+		MSGFMT = $(HOMEBREW_MSGFMT)
+        endif
+endif
+
 ifdef NO_LIBGEN_H
 	COMPAT_CFLAGS += -DNO_LIBGEN_H
 	COMPAT_OBJS += compat/basename.o
diff --git a/config.mak.uname b/config.mak.uname
index 1691c6ae6e..a6521575ee 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -153,10 +153,10 @@ ifeq ($(uname_S),Darwin)
 	# `brew link --force gettext`, should be obsolete as of
 	# https://github.com/Homebrew/homebrew-core/pull/53489
         ifeq ($(shell test -d /usr/local/opt/gettext/ && echo y),y)
-		BASIC_CFLAGS += -I/usr/local/include -I/usr/local/opt/gettext/include
-		BASIC_LDFLAGS += -L/usr/local/lib -L/usr/local/opt/gettext/lib
+		HOMEBREW_PREFIX = /usr/local
+		HOMEBREW_GETTEXT_PREFIX = /usr/local/opt/gettext
                 ifeq ($(shell test -x /usr/local/opt/gettext/bin/msgfmt && echo y),y)
-			MSGFMT = /usr/local/opt/gettext/bin/msgfmt
+			HOMEBREW_MSGFMT = /usr/local/opt/gettext/bin/msgfmt
                 endif
 	# On newer ARM-based machines the default installation path has changed to
 	# /opt/homebrew. Include it in our search paths so that the user does not
@@ -166,10 +166,9 @@ ifeq ($(uname_S),Darwin)
 	# add gettext. The issue was fixed more than three years ago by now, and at
 	# that point there haven't been any ARM-based Macs yet.
         else ifeq ($(shell test -d /opt/homebrew/ && echo y),y)
-		BASIC_CFLAGS += -I/opt/homebrew/include
-		BASIC_LDFLAGS += -L/opt/homebrew/lib
+		HOMEBREW_PREFIX = /opt/homebrew
                 ifeq ($(shell test -x /opt/homebrew/bin/msgfmt && echo y),y)
-			MSGFMT = /opt/homebrew/bin/msgfmt
+			HOMEBREW_MSGFMT = /opt/homebrew/bin/msgfmt
                 endif
         endif
 
-- 
2.52.0

  parent reply	other threads:[~2025-12-13 18:42 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-08 22:59 t3900 failure on macOS, iconv(3) broken? René Scharfe
2025-12-09  3:18 ` Koji Nakamaru
2025-12-09  3:50   ` Yee Cheng Chin
2025-12-09  4:03     ` Collin Funk
2025-12-09 16:33 ` Torsten Bögershausen
2025-12-09 19:35   ` René Scharfe
2025-12-09 21:24     ` Torsten Bögershausen
2025-12-09 22:25       ` René Scharfe
2025-12-09 19:35 ` [PATCH] config.mak.uname: use iconv from Homebrew on macOS René Scharfe
2025-12-09 20:39   ` Yee Cheng Chin
2025-12-09 21:27     ` René Scharfe
2025-12-10 11:17   ` Carlo Marcelo Arenas Belón
2025-12-10 17:56     ` René Scharfe
2025-12-11  2:53       ` Junio C Hamano
2025-12-11 11:17         ` Carlo Marcelo Arenas Belón
2025-12-12  2:20           ` Junio C Hamano
2025-12-12  9:16             ` René Scharfe
2025-12-12 10:02               ` Carlo Marcelo Arenas Belón
2025-12-12 13:04               ` Re* " Junio C Hamano
2025-12-12 13:48                 ` René Scharfe
2025-12-12 23:39                   ` Junio C Hamano
2025-12-10 16:42   ` Torsten Bögershausen
2025-12-10 17:56     ` René Scharfe
2025-12-10 23:10   ` brian m. carlson
2025-12-11  2:36     ` Junio C Hamano
2025-12-11  9:59       ` Junio C Hamano
2025-12-11 14:34         ` René Scharfe
2025-12-12  3:35           ` Junio C Hamano
2025-12-12 10:40 ` t3900 failure on macOS, iconv(3) broken? René Scharfe
2025-12-13 18:42 ` René Scharfe [this message]
2025-12-14  6:45   ` [PATCH v2 1/2] Makefile: add NO_HOMEBREW Torsten Bögershausen
2025-12-14  7:13     ` Junio C Hamano
2025-12-14  9:02       ` Torsten Bögershausen
2025-12-14 11:07         ` Junio C Hamano
2025-12-14 11:13       ` René Scharfe
2025-12-14 23:19         ` Junio C Hamano
2025-12-16 18:53           ` René Scharfe
2025-12-13 18:42 ` [PATCH v2 2/2] config.mak.uname: use iconv from Homebrew on macOS René Scharfe
2025-12-16 18:53 ` [PATCH v3 1/2] macOS: make Homebrew use configurable René Scharfe
2025-12-16 19:11   ` René Scharfe
2025-12-16 21:49     ` Torsten Bögershausen
2025-12-16 18:53 ` [PATCH v3 2/2] macOS: use iconv from Homebrew if present René Scharfe
2025-12-24  7:52 ` [PATCH v4 0/2] macOS: use iconv from Homebrew if needed and present René Scharfe
2025-12-24  8:02   ` [PATCH v4 1/2] macOS: make Homebrew use configurable René Scharfe
2025-12-24  8:03   ` [PATCH v4 2/2] macOS: use iconv from Homebrew if needed and present René Scharfe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fe00aa37-e929-4ca6-ac23-84a693a48bc6@web.de \
    --to=l.s.r@web$(echo .)de \
    --cc=carenas@gmail$(echo .)com \
    --cc=git@vger$(echo .)kernel.org \
    --cc=gitster@pobox$(echo .)com \
    --cc=koji.nakamaru@gree$(echo .)net \
    --cc=sandals@crustytoothpaste$(echo .)net \
    --cc=tboegi@web$(echo .)de \
    --cc=ychin.macvim@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox