Re: A more mature build system for PARI
R J Cano <[email protected]>
| Newsgroups | gmane.comp.mathematics.pari.devel |
|---|---|
| Message-ID | <CAFSmZyxYob7pYH9uNNpkC2pjUQ--+Cy6v-CBrRZTXkEHfPaOpg@mail.gmail.com> |
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, <[email protected]> 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 < > [email protected]> 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. >> >>