Deutsch   English   Français   Italiano  
<vqd3v3$35294$3@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Lawrence D'Oliveiro <ldo@nz.invalid>
Newsgroups: comp.lang.c
Subject: Re: Python recompile
Date: Thu, 6 Mar 2025 21:27:00 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 26
Message-ID: <vqd3v3$35294$3@dont-email.me>
References: <vq1qas$j22$1@gallifrey.nk.ca> <vq3oag$18iv6$1@dont-email.me>
	<vq4hf2$1brf7$1@dont-email.me> <vq4l3d$1ck9e$1@dont-email.me>
	<vq4m0u$1ctpn$1@dont-email.me> <vq4n05$1d5dv$1@dont-email.me>
	<vq4om7$1dbo2$2@dont-email.me> <vq6dqh$1pskk$1@dont-email.me>
	<vq6f8p$1pmnk$1@dont-email.me> <vq6gqc$1qcp8$1@dont-email.me>
	<vq6ips$1pmnk$2@dont-email.me> <vq6j5h$1qosf$1@dont-email.me>
	<20250304092827.708@kylheku.com> <vq7g1p$1vmg5$1@dont-email.me>
	<vq94dt$2boso$1@dont-email.me> <vqcsk7$23bfo$1@paganini.bofh.team>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 06 Mar 2025 22:27:01 +0100 (CET)
Injection-Info: dont-email.me; posting-host="5fed1e3e41d7a92fa0a0e33e61fef7d8";
	logging-data="3311908"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18TNDwMKOJfwV8RTo6zyIef"
User-Agent: Pan/0.162 (Pokrosvk)
Cancel-Lock: sha1:PDh/eTmebmlx1N4s7TqrFl/j8Ew=
Bytes: 2797

On Thu, 6 Mar 2025 19:21:45 -0000 (UTC), Waldek Hebisch wrote:

> I remember times when source package came with README file saying edit
> this and that to configure for your system.  Typically one had to edit
> Makefile and possibly something like config.h.  For me it worked quite
> well.  But those times are gone.  Most people now do not know essential
> information about system they use, so are unable to provide sensible
> values.  And modern programs are bigger and more complicated, so such
> hand editing is too much work for rare people capable of doing this.

I think GNU Autotools was the first serious attempt to try to address this 
problem. The “configure” script would perform all kinds of environmental 
checks to account for common quirks involving Unix include files and known 
bugs in system utilities.

Things have eased a bit nowadays with the popularity of newer conventions 
like the pkg-config system, where each installed library provides a .pc 
file that can be queried by standard tools to obtain the right compiler 
and linker flags to build something against that library.

> Per platform Makefile-s do not scale when one wants to support multiple
> system and multiple configurations (there is exponential growth of
> possible combinations).

That’s why you need a precursor stage, to generate the Makefiles. 
Autotools does this, as does CMake.