4 ms·
> This may be problematic because it’ll require all users of our chmlib crate (and their users) to have Autotools installed. Autoconf creates a portable shell
by dmm 7y ago
> This may be problematic because it’ll require all users of our chmlib crate (and their users) to have Autotools installed.
Autoconf creates a portable shell script, right? No need to have it installed just to build the project.
- steveklabnik 7y ago"portable" to different Unices, right? I'm on Windows, for example.
- dmm 7y agoSure but that's a different problem than "it’ll require all users of our chmlib crate (and their users) to have Autotools installed." I'm just being pedantic. It's a problem...
- bluGill 7y agoAutotools is rarely portable. I've been doing a lot of cross compiling recently: the vast majority of autotools projects can't be cross compiled. Sure autotools itself supports it, but something required to make it work didn't get connected up and so you can't do it. If you want to natively compile on a fairly recent linux with the common standard libraries autotools works well. Even though autotools was written to work around these differences, in most cases the developer didn't hook into autotools detecting that difference and so it doesn't work.
- monocasa 7y agoCross compiling to what? Autotools is probably the most portable piece of software out there as far as Unices are concerned.
- bluGill 7y agoEmbedded Linux on arm. Nothing very far out really. Note that I'm careful not to blame autotools, it is the user's fault, there are a couple projects that use autotools and cross compile easily. The vast majority do not. CMake based projects almost always cross compile easily.
- beefhash 7y agoThe tree only contains configure.in, not the generated configure output, and Makefile.am, not the generated Makefile.in. You do need the entire autotools suite installed for it to build. Why they published it like this is beyond me, however. The whole point of autotools is not making your users install them (unlike CMake and virtually every other build system for C there is).
- readams 7y agoThat's not true. If you build from a dist tarball, you do not need auto tools installed. You usually do if you build from a git repo, however.
- infogulch 7y agoHow/why is a dist tarball not exactly the same as a zipped up git tree?
- atq2119 7y agoThe parent you're replying to answers that question. And if your question is meant rhetorically, it doesn't contribute to the discussion either.
- infogulch 7y agoI'm asking genuinely. No, parent answers the question, "What is the difference between the git tree and a dist tarball?" Which is self-evidently (and unhelpfully) "you don't need autotools installed with the dist tarball". My questions are: Why does this difference exist? Why would you not track everything necessary to build a library in git? How is the dist tarball built differently than just zipping the current git tree?
- wongarsu 7y agoSame as a npm package is usually js code and doesn't require you to run the typescript compiler, a dist tarball shouldn't require you to run autotools but just contain their output.