Henry Bent wrote:
On Fri, 21 Jun 2024 at 12:24, Chet Ramey
<chet.ramey(a)case.edu> wrote:
I guess what I'm saying is that it's
not the author's fault for not wanting
to support OS versions released, for a significant percentage, before they
were born. They have different priorities.
If their autotools-based projects work
on my
other OS that's great, but it isn't the fault of autotools if the project
isn't coded with my OS in mind.
autotools isn't a magic wand for making portable apps, it's a toolkit
for probing the environment to discover which alternatives are available.
I'm sure it's a mysterious waste of time to those who didn't live
through the Un*x wars, a time when there were multiple major things
called Un*x, multiple major vendors, and available features changed
frequently.
Code can only be kept portable by building and testing and fixing it
across all the platforms, which is time intensive, and given the
closer alignment of systems nowadays doesn't get much effort.
For a look at the effort I once invested in making/keeping a pet
project portable look at the range of platforms I had to test on at
http://ftp.regressive.org/finger/00README
For a current project:
https://www.regressive.org/snobol4/csnobol4/2.3/stats.html
(I tested builds on Red Hat (not Enterprise!) 7.1 and FreeBSD 3.2)
and
https://www.regressive.org/snobol4/csnobol4/2.2/stats.html
(includes OpenIndiana, a Solaris based distribution).
I've never been an autotools fan; I've used it once, when I wanted to
be able to build shared libraries across arbitrary platforms.
I once used cpp for conditionalizing Makefiles, but that became
unreliable once ANSI C hit the streets (ISTR throwing up my hands when
I discovered "pee pee nums")
The REAL evil of autotools is that it builds on the premise that
all problems can be solved using #ifdef.
I drank a different drink mix three decades ago:
https://www.usenix.org/legacy/publications/library/proceedings/sa92/spencer…
But you're still stuck with having to discover what's available.
Apache Portable Runtime or Boost are environments that try to smooth
over some plaform differences (for varying values of some, depending
on your needs), but that's a whole 'nuther belief system to buy into.
Maybe this discussion needs to move to autoconf-haters?
On the original topic, I keep imagining the systemd authors are are
trying to build a monolithic system; an operating system inside an
operating system that someday systemd will appear inside of. Then it
will be "systemd all the way down".
Followups to systemd-haters?
P.S. Some earlier post complained about the complexity of writing
rc.d scripts for FreeBSD; The current system only requires a script
setting some variables.