From: Torsten Bögershausen Date: Sun, 14 Dec 2025 09:02:09 GMT Subject: Re: [PATCH v2 1/2] Makefile: add NO_HOMEBREW Message-ID: <20251214090209.GA28723@tb-raspi4> In-Reply-To: On Sun, Dec 14, 2025 at 04:13:14PM +0900, Junio C Hamano wrote: > Torsten Bögershausen writes: > > > On Sat, Dec 13, 2025 at 07:42:38PM +0100, René Scharfe wrote: > >> 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. > > > > Good. > >> > >> Suggested-by: Carlo Marcelo Arenas Belón > >> Suggested-by: Torsten Bögershausen > >> Signed-off-by: René Scharfe > >> --- > >> 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. > >> +# > > Good > >> # 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 > > > > Question from a homebrew newbie, kind of: > > Where do the HOMEBREW_PREFIX (and other HOMEBREW...) come from, > > and what do they do ? > > I understand these are purely _our_ thing. HOMEBREW_PREFIX and > HOMEBREW_GETTEXT_PREFIX are set in config.mak.uname (added in this > patch). I presume that those who installed homebrew at non-default > location and want to use homebrew would not set NO_HOMEBREW and set > HOMEBREW_PREFIX to the location they installed their homebrew which > would be different from the default set in config.mak.uname. Those > who have homebrew installed at default location. > > > Running > > git grep HOMEBREW > > gives > > ci/install-dependencies.sh: export HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1 > > > > Whould it make sense to have a few words here as a comment ? > > Yeah, like > > # Define HOMEBREW_PREFIX to point at an appropriate directory, iff > # you want to use homebrew installed at a non-standard location. > # /opt/homebrew on Apple Silicon macOS and at /usr/local on Intel > # macOS are the standard locations (and you do not have to define > # this variable yourself). > > perhaps? Similarly for other variables. The main question is still, where the HOMEBREW_XXX variables are used ? I see that we define them in config.mak.uname ...I understand these are purely _our_ thing That is what I don't get. It seems as if these are used when compiling under/with homebrew ?