Deutsch   English   Français   Italiano  
<vqcvqr$341jq$1@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: bart <bc@freeuk.com>
Newsgroups: comp.lang.c
Subject: Re: Python recompile
Date: Thu, 6 Mar 2025 20:16:27 +0000
Organization: A noiseless patient Spider
Lines: 71
Message-ID: <vqcvqr$341jq$1@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; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 06 Mar 2025 21:16:28 +0100 (CET)
Injection-Info: dont-email.me; posting-host="fd83b2795c6da370cc681229f8db3e15";
	logging-data="3278458"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18TOq+bMTr2/Dkzu4ybQWUu"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:uR6PzBV1smKuVmwLl0384ReBIqQ=
In-Reply-To: <vqcsk7$23bfo$1@paganini.bofh.team>
Content-Language: en-GB
Bytes: 5066

On 06/03/2025 19:21, Waldek Hebisch wrote:
> 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.

So, why doesn't the configuration script itself have a configuration 
script? Will the language used in the script run on EVERY Linux and Unix 
system?

If so, why doesn't the same apply to the main language of the 
application? (Why isn't the application written in that language!)

I've also seen a project where the configuration program was a C file, 
one which didn't need any special options, whose output was used to 
build the main app.

Again, why can't the main app be made to work like the small one?

I've played with projects that had nearly 20 different makefiles, none 
of which was right for my own compiler. It is a ridiculous situation.