Deutsch   English   Français   Italiano  
<vqcsk7$23bfo$1@paganini.bofh.team>

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

Path: ...!feeds.phibee-telecom.net!2.eu.feeder.erje.net!feeder.erje.net!newsfeed.bofh.team!paganini.bofh.team!not-for-mail
From: antispam@fricas.org (Waldek Hebisch)
Newsgroups: comp.lang.c,comp.lang.python
Subject: Re: Python recompile
Date: Thu, 6 Mar 2025 19:21:45 -0000 (UTC)
Organization: To protect and to server
Message-ID: <vqcsk7$23bfo$1@paganini.bofh.team>
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>
Injection-Date: Thu, 6 Mar 2025 19:21:45 -0000 (UTC)
Injection-Info: paganini.bofh.team; logging-data="2207224"; posting-host="WwiNTD3IIceGeoS5hCc4+A.user.paganini.bofh.team"; mail-complaints-to="usenet@bofh.team"; posting-account="9dIQLXBM7WM9KzA+yjdR4A";
User-Agent: tin/2.6.2-20221225 ("Pittyvaich") (Linux/6.1.0-9-amd64 (x86_64))
X-Notice: Filtered by postfilter v. 0.9.3
Bytes: 4137
Lines: 54

In comp.lang.c Muttley@dastardlyhq.org wrote:
> On Tue, 4 Mar 2025 18:16:25 +0000
> bart <bc@freeuk.com> wibbled:
>>The CPython source bundle doesn't come with any makefiles. The first 
>>step appears to be to run a 35,000-line 'configure' script. Part of its 
> 
> Frankly any build system that has a 35K configure file needs revisiting.
> No package is so complex as to require that much setup. OS specific code
> should be dealt with some appropriate ifdefs in the source and libraries
> and linking should be a few 10s of lines.
> 
> Back in the day packages used to hve different preprepared Makefiles for
> each system they could build on and IME that tended to work a lot better
> than configure scripts that tried to figure things out on the fly.

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.

Per platform Makefile-s do not scale when one wants to support
multiple system and multiple configurations (there is exponential
growth of possible combinations).  And even of single configuration
for supposedly single system like Linux there are troubles.
In one project there was someting like 20 Makefile.linux_x files
where x represented one Linux flavour.  Yet regularly somebody
would come and say: "build fails on my Linux x.y.z".  If enough
information was provided new Makefile was added, or possibly
some similar Makefile was modified to cover more cases.
Those troubles mostly vanished when project switched to configure
script.  Now there is about 1500 lines of hand written code
in configure machinery (biggest is 933 lines long configure.ac)
and 8564 lines long generated configure script.  Most build
troubles is now gone or diagnosed early.

Writing "diagnosed early" I mean that most user errors are
detected quite early.  For example, a lot of people try to
compile program without having a C compiler.  And when they
have compiler they fail to install needed libraries (there
is list which says what is needed but people fail to follow
instructions).

It is certainly silly when generated configure file is much
bigger than actual program code.  This happens frequently
when lazy or brainwashed folks use automake (which apparently
puts all checks that it knows into generated configure.ac).
But Python have reasons to check for a lot of things, so
the size is somewhat reasonable.

-- 
                              Waldek Hebisch