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
next prev 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