Charles Greathouse on Thu, 17 Aug 2023 17:05:58 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: A more mature build system for PARI


It's my view that 20 years from now we will still have CMake and Autotools but lots of 'new' build systems will fall by the wayside in that time.

On Thu, Aug 17, 2023 at 8:20 AM Bill Allombert <Bill.Allombert@math.u-bordeaux.fr> wrote:
On Sun, Aug 13, 2023 at 04:46:08AM +0000, John Scott wrote:
> Hi folks,
>
> I think PARI needs a standardized and well-respected build system instead of
> the custom one. Right now the custom build system is inconvenient for
> downstream users like packagers, does not deal with corner cases like cross
> builds well, and needlessly introduces an extra learning curve instead of
> using a common solution.
>
> I'm interested in putting in the work to convert PARI to Meson. Meson is
> practically a standard with multiple competing implementations, and it's very
> high-level, easy to learn, and designed for developers and packagers first.
> Of course it also supports reproducible builds, cross compilation, and has a
> sophisticated dependency management system that makes building for platforms
> like Windows without package management just a little bit easier.
>
> If I write Meson support for PARI, would you consider merging it?
>
> I'm writing off Autotools and CMake since they're both too complex and hard
> to learn; Autotools's documentation says that it's a design choice that they
> put the needs of projects second, instead prioritizing downstream builders.
> Autotools also generally entails shipping autogenerated files in your
> sources, which is a practice we hate in Debian since it's not truly source,
> and in that way it doesn't belong in a VCS.

Your last paragraph exactly explain why we prefer to keep our build system.
(which is mature according to the dictionnary definition).
Every five years, there is a new build system that becomes trendy and then
we receive an email similar to this one.

Breaking the user interface to the build system is just not worth the trouble.
Requiring users to install more software to be able to compile PARI would not
be a positive change.

Shipping autogenerated files is a feature not a bug. For example, this is helpful
on MacOS which ships a version of bison too old to build PARI.

I maintain the Debian package which provide suitable compilation instruction for
packager. I also maintain the CI which cross-compile PARI for Windows every day,

Cheers,
Bill.