Path: csiph.com!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c++ Subject: Re: Examples of current platforms/architectures where sizeof(void*) > sizeof(int*) ? Date: Thu, 02 Sep 2021 14:51:54 -0700 Organization: None to speak of Lines: 39 Message-ID: <87a6kuhchx.fsf@nosuchdomain.example.com> References: <3a825e94-940c-49c5-990a-554a6bcc35a4n@googlegroups.com> <_XsXI.31292$o45.12466@fx46.iad> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="4cfacb04df28b927d7c937dd51e9642b"; logging-data="12270"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18qF4ZigQtX3Klk7mVPSM16" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) Cancel-Lock: sha1:Lswfsa0/3uWoea7vSo3IImO0igo= sha1:z3m7jNU3I0agkPaBmiBc1DEI8hw= Xref: csiph.com comp.lang.c++:81022 David Brown writes: [...] > I doubt if anyone will try to suggest that configure scripts are always > written perfectly, or that even that it is a good way to handle > cross-system compatibility in modern times. It's also worth pointing out that configure scripts are not hand-written and are not expected to be maintained in that form. For example the configure script for the bash shell is about 22,000 lines, but it's generated from a much smaller configure.ac, and it's likely a lot of automation (or at least copy-and-paste) went into writing that. The generated configure script is included in the *.tar.gz file in which *nix source packages are usually distributed because it means the user who builds it doesn't need to have the tools that create the configure script. Think of the configure script as generated code that happens to run under a shell. The configure script is designed to be portable to Unix-like systems (a Bourne-like shell is required to run it). The complexity goes back to days when there was more variety in the Unix ecosystem than there is today. A configure script will likely check for features that could be assumed to be universally available today, and for platforms that hardly exist anymore. The inner workings of the autoconf system are almost certainly more complicated than they needs to be, but 99% of people who use it aren't affected by that complexity. Run "configure&&make&&make install" and you're done. That's unfortunate if you want to install an autoconf-based package on a system that doesn't have a Bourne-like shell, but nobody is obligated to make that easy. -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com Working, but not speaking, for Philips void Void(void) { Void(); } /* The recursive call of the void */