[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Autoconf should allow the developer to require a POSIX shell
From: |
Stefano Lattarini |
Subject: |
Autoconf should allow the developer to require a POSIX shell |
Date: |
Thu, 28 Jun 2012 23:18:45 +0200 |
Hello autoconfers.
Since all the non-museum systems Autoconf strives to support should by now
have a POSIX shell somewhere [1][2], I think it would be nice if we could
finally start to move away from the need to support "classical" Bourne
shells (which, remember, do not support $(...) command substitution, $((..))
arithmetic expansion, command negation with '!', '-e' option for the 'test'
builtin, ${var#PATTERN} and ${var%PATTERN} parameter expansion, and so on;
quite a crippling for both readability and performances -- the latter
because the missing features must be emulated by spawning further processes).
As a first step, we could have autoconf offer an option that will cause the
generated configure script to punt if it's unable to find a working POSIX
shell somewhere in the system. We won't make this the default behaviour
at first, for a better backward-compatibility. If we see that the idea
works out well, the default could be switched in a future Autoconf version,
and then maybe support for non-POSIX shells could be removed altogether in
a later version (maybe a good excuse to name that Autoconf 3.0 :-).
WDYT? Is this something worth pursuing for Autoconf 2.70?
Thanks,
Stefano
-*-*-*-
*Notes*
[1] For example, Solaris, while having a ludicrously braindead /bin/sh, also
comes with a decent POSIX shell installed by default in /usr/bin/xpg4/sh.
[2] The Git project strives to be portable to all POSIX-conforming shells,
both in its testsuite and in its subcommands implemented as shell scripts,
but it doesn't support non-POSIX Bourne shells. So far it hasn't had any
problem with such requirements AFAIK, although (at least according to its
Makefile), it targets all the following systems:
GNU/Linux, GNU/kFreeBSD, Darwin, Solaris (back to SunOS 5.6), AIX, OSF1
Cygwin, MinGW, FreeBSD, OpenBSD, NetBSD, IRIX, HP-UX (11.0 and 10.20),
Interix, UnixWare and Minix.
- Autoconf should allow the developer to require a POSIX shell,
Stefano Lattarini <=