R J Cano on Thu, 17 Aug 2023 17:28:59 +0200


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

Re: A more mature build system for PARI


i'm agree that the "old" build system we have is fine.

imho, it is quite more desirable than anything else. Highly customizable, and widely supported in a stable way.... even for windows, i rather the executables from headquarters and the PARIDroid apk for my mobile... and im quite sure they're built strongly based on rhe current build system.

One experiment i dream to explore, consist of replacing standard GNU tools with the Bellard's Tiny C compiler, just for fun and figuring out if im capable of making it work. But i have to learn a bit more about both things ( notice here, i didn't mentioned changing internals of current system GP calculator or PARI at design level, but instead of that, just did talk about trying alternative compiling tools )

i think: things like that, are satellite projects and third party entities can head to manage them... without touching the core build system ( Just a guess ).

...

On Thu, 17 Aug 2023, 11:01 Charles Greathouse, <crgreathouse@gmail.com> wrote:
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.