Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #197371

Re: Python recompile

From antispam@fricas.org (Waldek Hebisch)
Newsgroups comp.lang.c, comp.lang.python
Subject Re: Python recompile
Date 2025-03-10 14:39 +0000
Organization To protect and to server
Message-ID <vqmtit$3aobh$1@paganini.bofh.team> (permalink)
References (10 earlier) <20250304092827.708@kylheku.com> <vq7g1p$1vmg5$1@dont-email.me> <vq94dt$2boso$1@dont-email.me> <vqcsk7$23bfo$1@paganini.bofh.team> <vqfoam$3nnbq$4@dont-email.me>

Cross-posted to 2 groups.

Show all headers | View raw


In comp.lang.c Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
> On Thu, 6 Mar 2025 19:21:45 -0000 (UTC), Waldek Hebisch wrote:
> 
>> 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.
> 
> Can you offer more details on the project in question? I ask because
> there are things that can be done in GNU Makefiles to deal more
> dynamically with environmental differences in some simpler cases,
> without resorting to a full-on meta-build system like Autotools or
> CMake, and perhaps the maintainers of this project aren’t aware of
> that.

I guess that one could do configure-like processing inside a
Makefile generating next stage Makefile.  Autoconf offers
ready-to-use functionalty, like a bunch of sanity checks
or check for X libraries.  There are several subdirectories
each containing its own Makefile, propagating info via substitution
+ fixed makefile fragments looks esier than Makfile includes
+ conditionals that would be required in make-only solution.

If you look at scale, there is something like 2000 source
file in various languages (including about 50000 wc lines
of C).  About 450000 wc lines total, including tests and
documentation (but documentation requires rather involved
build process).  About 140 MB generated files.

Some currently suported features:
- using onf of 5 different non-C compilers, each having diferent
  extentions for compiled files and needing different way of
  creating executable
- matching linking options (shared versus static) and needed
  libraries to used compiler
- blacklisting buggy compiler versions
- optionally including/excluding part of functionality
- optinally using machine independent pre-build files
  (saves compile time for users building from source)

All this requires some code.  It is possible that the work
could be done with less code.  However, history suggest
conservative approach.  Shortening the whole story, this
is largish formerly propritary program that was released
as open source.  First 6 years of open source developement
was mainly spend on build issues.  Nontrivial part on
build system, parts on improving portablity of code,
changing tools, etc.  Current autoconf based build system
probably represent about 1 man year of developement effort.
During last 15 years build system worked requiring small
maintanence effort.  History indicates that changing build
system at least requires some non-trivial effort.  And
there is ample opportunity for troubles.  So simply,
why spend effort on replacing something that works?

Let me mention due to disagreemnts (including build system,
but not only) project forked.  There is or maybe was (in last
few years it made no release) fork which does not use autoconf
and depends on multiple configuration files.  It offered
less flexibility and still regularly had build failures
due to changing Linux configurations.

-- 
                              Waldek Hebisch

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Python recompile doctor@doctor.nl2k.ab.ca (The Doctor) - 2025-03-02 14:35 +0000
  Re: Python recompile Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2025-03-02 15:54 +0000
    Re: Python recompile Muttley@dastardlyhq.com - 2025-03-02 16:58 +0000
      Re: Python recompile Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2025-03-02 17:08 +0000
        Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-03 08:14 +0000
      Re: Python recompile James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-03-02 12:30 -0500
        Re: Python recompile scott@slp53.sl.home (Scott Lurndal) - 2025-03-02 18:35 +0000
        Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-03 08:13 +0000
          Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-03 08:31 +0000
            Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-03 10:44 +0000
              Re: Python recompile bart <bc@freeuk.com> - 2025-03-03 12:20 +0000
                Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-03 15:03 +0000
              Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-03 12:47 +0000
          Re: Python recompile James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-03-03 10:22 -0500
            Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-03 16:19 +0000
            Re: Python recompile geodandw <geodandw@gmail.com> - 2025-03-03 11:24 -0500
              Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-03 16:26 +0000
              Re: Python recompile James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-03-03 11:39 -0500
                Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-03 16:56 +0000
                Re: Python recompile David Brown <david.brown@hesbynett.no> - 2025-03-03 18:22 +0100
                Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-04 08:31 +0000
                Re: Python recompile Kaz Kylheku <643-408-1753@kylheku.com> - 2025-03-04 17:28 +0000
                Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-03 17:25 +0000
                Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-04 08:32 +0000
                Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-04 08:56 +0000
                Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-04 09:23 +0000
                Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-04 09:57 +0000
                Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-04 10:03 +0000
                Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-04 10:25 +0000
                Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-04 11:19 +0000
                Re: Python recompile Kaz Kylheku <643-408-1753@kylheku.com> - 2025-03-04 17:42 +0000
                Re: Python recompile bart <bc@freeuk.com> - 2025-03-04 18:16 +0000
                Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-05 09:10 +0000
                Re: Python recompile antispam@fricas.org (Waldek Hebisch) - 2025-03-06 19:21 +0000
                Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-07 09:53 +0000
                Re: Python recompile Lawrence D'Oliveiro <ldo@nz.invalid> - 2025-03-07 21:26 +0000
                Re: Python recompile bart <bc@freeuk.com> - 2025-03-07 21:33 +0000
                Re: Python recompile antispam@fricas.org (Waldek Hebisch) - 2025-03-10 14:39 +0000
                Re: Python recompile Lawrence D'Oliveiro <ldo@nz.invalid> - 2025-03-06 03:16 +0000
                Re: Python recompile James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-03-04 19:12 -0500
                Re: Python recompile gazelle@shell.xmission.com (Kenny McCormack) - 2025-03-03 23:42 +0000
                Re: Python recompile geodandw <geodandw@gmail.com> - 2025-03-03 13:29 -0500
                Re: Python recompile James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-03-03 16:52 -0500
              Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-03 17:19 +0000
                Re: Python recompile geodandw <geodandw@gmail.com> - 2025-03-03 13:33 -0500
                Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-03 19:15 +0000
                Re: Python recompile geodandw <geodandw@gmail.com> - 2025-03-03 18:51 -0500
                Re: Python recompile Kaz Kylheku <643-408-1753@kylheku.com> - 2025-03-04 00:49 +0000
                Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-04 02:29 +0000
                Re: Python recompile David Brown <david.brown@hesbynett.no> - 2025-03-04 09:12 +0100
                Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-04 11:33 +0000
                Re: Python recompile Muffley@DinkyHQ.org - 2025-03-04 12:00 +0000
                Re: Python recompile Michael S <already5chosen@yahoo.com> - 2025-03-04 15:31 +0200
              Re: Python recompile David Brown <david.brown@hesbynett.no> - 2025-03-03 18:28 +0100
                Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-04 08:33 +0000
                Re: Python recompile Kaz Kylheku <643-408-1753@kylheku.com> - 2025-03-04 18:06 +0000
              Re: Python recompile Stuart Redmann <DerTopper@web.de> - 2025-03-06 07:35 +0100
                Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-06 07:32 +0000
                Re: Python recompile Muttley@DastardlyHQ.org - 2025-03-06 08:39 +0000
                Re: Python recompile "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2025-03-06 12:40 -0800
                Re: Python recompile James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-03-07 13:17 -0500
          Re: Python recompile doctor@doctor.nl2k.ab.ca (The Doctor) - 2025-03-03 16:12 +0000
    Re: Python recompile Left Right <olegsivokon@gmail.com> - 2025-03-02 23:26 +0100
  Re: Python recompile antispam@fricas.org (Waldek Hebisch) - 2025-03-02 17:54 +0000
    Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-02 19:15 +0000
    Re: Python recompile James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-03-02 13:38 -0500
      Re: Python recompile doctor@doctor.nl2k.ab.ca (The Doctor) - 2025-03-03 00:42 +0000
        Re: Python recompile doctor@doctor.nl2k.ab.ca (The Doctor) - 2025-03-03 00:46 +0000
        Re: Python recompile James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-03-02 22:24 -0500
      Re: Python recompile antispam@fricas.org (Waldek Hebisch) - 2025-03-03 17:20 +0000
        Re: Python recompile Richard Heathfield <rjh@cpax.org.uk> - 2025-03-03 17:28 +0000
        Re: Python recompile James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-03-03 12:57 -0500
        Re: Python recompile scott@slp53.sl.home (Scott Lurndal) - 2025-03-03 18:02 +0000
        Re: Python recompile bart <bc@freeuk.com> - 2025-03-03 19:37 +0000
  Re: Python recompile (Posting On Python-List Prohibited) Lawrence D'Oliveiro <ldo@nz.invalid> - 2025-03-04 05:46 +0000

csiph-web