From: Patrick Steinhardt <ps@pks.im>
To: Junio C Hamano <gitster@pobox.com>
Cc: Henrik Holst <henrik.holst@outlook.com>,
"git@vger.kernel.org" <git@vger.kernel.org>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>
Subject: Re: ./configure fails to link test program due to missing dependencies
Date: Mon, 16 Sep 2024 09:50:49 +0200 [thread overview]
Message-ID: <ZufjWR6AJM-DIWPR@pks.im> (raw)
In-Reply-To: <xmqqldzsrhyp.fsf@gitster.g>
On Sun, Sep 15, 2024 at 09:37:34AM -0700, Junio C Hamano wrote:
> Henrik Holst <henrik.holst@outlook.com> writes:
>
> > If I set LDFLAGS to whatever pkg-config --libs libcurl says on my system (actually: -lcurl -lssl -lcrypto -lzstd -lbrotlidec -lz) then it compiles just fine. If I add LDFLAGS to the configure environment it will accept that test, and then detect, as expected, the pkg-config settings for libcurl.
> >
> > Should not ./configure FIRST check for a pkg-config environment without assuming that even the most trivial curl programs should compile without any additional dependencies like zstd etc?
>
> Looking at configure.ac, pkg-config is not used for any package.
> Specifically for curl, it seems that "curl-config --libs" is used.
>
> Presumably the reason behind the current behaviour is combination of
> (1) ./configure is an after-thought in the build infrastructure for
> this project, (2) pkg-config was not ubiquitous back when autoconf
> support was written for this project, and (3) nobody considered
> "upgrading" our use of "curl-config" and our manual detection of
> dependency detection for other libraries to just use "pkg-config".
I sometimes wonder whether we should move on and discard one of the
three build systems we have: plain GNU Make, autoconf and CMake. And
from these three I'd rather want to throw the autoconf-based thing away:
- The Makefile is probably what most people use, so throwing it out is
a no-go right now.
- CMake is really useful because it has support for IDEs and
alternatives to GNU Make like Ninja, which builds Git way faster
than Makefiles. It also has support for out-of-tree builds, which I
find rather useful.
So is there a path forward to move CMake support out of contrib/, make
it an officially supported way to build Git and then throw away the
autoconf-based infra? I'm not the biggest fan of CMake myself and very
much prefer Meson, but we already have it wired up and thus I'm trying
to be at least a bit pragmatic.
(I'd honestly prefer to end up with a single build system, but also
throwing our Makefiles out would be a step too far at this point in
time.)
Patrick
next prev parent reply other threads:[~2024-09-16 7:50 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-14 22:57 ./configure fails to link test program due to missing dependencies Henrik Holst
2024-09-15 16:37 ` Junio C Hamano
2024-09-15 16:47 ` brian m. carlson
2024-09-16 7:50 ` Patrick Steinhardt [this message]
2024-09-18 10:04 ` Phillip Wood
2024-09-18 22:39 ` Junio C Hamano
2024-09-24 12:10 ` Patrick Steinhardt
2024-09-24 13:59 ` Eli Schwartz
2024-09-24 14:25 ` Paul Smith
2024-09-25 4:36 ` Patrick Steinhardt
2024-09-25 6:02 ` Eli Schwartz
2024-09-25 6:04 ` Patrick Steinhardt
2024-09-26 13:55 ` Phillip Wood
2024-09-26 14:02 ` Patrick Steinhardt
2024-09-27 10:10 ` Phillip Wood
2024-09-26 16:04 ` Eli Schwartz
2024-09-27 10:00 ` phillip.wood123
2024-09-26 16:22 ` Junio C Hamano
2024-09-29 17:56 ` Johannes Schindelin
2024-09-29 18:10 ` Eli Schwartz
2024-09-30 8:50 ` Phillip Wood
2024-09-30 13:57 ` Eli Schwartz
2024-09-30 16:31 ` Junio C Hamano
2024-09-30 16:05 ` Johannes Schindelin
2024-09-25 19:15 ` Patrick Steinhardt
2024-09-25 19:17 ` Patrick Steinhardt
2024-09-24 17:39 ` Junio C Hamano
2024-09-25 15:33 ` Paul Smith
2024-09-26 1:35 ` Eli Schwartz
2024-09-26 19:42 ` Paul Smith
2024-09-24 14:31 ` Eli Schwartz
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=ZufjWR6AJM-DIWPR@pks.im \
--to=ps@pks.im \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=henrik.holst@outlook.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).