This patch provides the special handling for the GNU system. As these
were two small and unique edits, they were not included in the scripts.
This patch also cleans up other minor issues that must be addressed
before reverting to classic command substitutions and updates
"shellcheck" directives to account for changes in this script and the
change in "shellcheck" towards reporting individual portability issues.
This patch was generated using the following command:
sed -i config.guess \
-e '/="[^"]\+"\(-\|$\)/s/="\([^"([:space:])]\+\)"/=\1/' \
-e '/="[^"]\+"[[:alnum:]]/s/="\$\([^([:space:])]\+\)"/=${\1}/' \
-e \
'/\$(echo[^|]\+|/s/\([^[:space:]]\)[[:space:]]*|[[:space:]]*sed/\1 | sed/g'
* config.guess: Remove unneeded quotes in other variable assignments,
standardize spacing for "echo ... | sed" substitutions.
This is further cleanup and simplifies some constructs that can confuse
Emacs' syntax highlighting while generally reducing required quoting.
This patch was generated using the included GNU Awk program.
* config.guess: Remove unneeded variable quotes and factor out command
substitutions when setting GUESS.
* patch-3.gawk: Store the tool that produced the automated patch.
This will allow quoting to be significantly simplified in another
pass through the file.
This patch was generated using the included GNU Awk program.
* config.guess: Use GUESS variable to hold results of uname analysis.
* patch-1.gawk: Store the tool that produced the automated patch.
This will allow quoting to be significantly simplified in another
pass through the file.
* config.guess: Introduce GUESS variable to hold results of uname analysis.
While, according to Plan 9 documentation, the environment variable
$cputype is set to the name of the kernel's CPU's architecture,
shellcheck warns that cputype is referenced but not assigned.
Be on the safe side and do not use cputype if it is not defined
or empty.
* config.guess (*:Plan9:*:*): Fix shellcheck warning SC2154.
According to the GNU Autoconf Portable Shell Programming manual,
the Bourne shell does not systematically split variables and back-quoted
expressions, in particular on the right-hand side of assignments and in
the argument of 'case'.
The change is made automatically using the following command:
$ sed -E -i 's/(\<case )"(\$[^"]+)"( in\>)/\1\2\3/' config.guess
* config.guess: Simplify case commands by removing quotes around the
argument.
Suggested-by: Jacob Bachmeyer <jcb@gnu.org>
Commit 29865ea8a5622cdd80b7a69a0afa78004b4cd311 introduced an exit trap
reset before exiting to avoid a spurious non-zero exit status on
alphaev67-dec-osf5.1. Simplify that code a bit by moving the exit trap
reset around.
* config.guess (alpha:OSF1:*:*): Reset exit trap earlier.
* doc/config.guess.1: Regenerate.
* config.guess (*:NetBSD:*:*): Spell out the full sysctl command twice
instead of using a shell variable.
* doc/config.guess.1: Regenerate.
Fixes: 827c77253b396c07306927b2a4b794a3251c48eb
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Recently RISC-V community got patches big-endian support for binutils,
and we'd like to accept that, however before accepting that I think it
would be better to upstream config.sub and config.guess change here :)
It's my check result on Ubuntu 18.04:
$ make check
cd testsuite && bash config-guess.sh && rm uname
PASS: config.guess checks (131 tests)
cd testsuite && bash config-sub.sh
PASS: config.sub checks (830 tests)
PASS: config.sub idempotency checks (767 tests)
PASS: config.sub canonicalise each config.guess testcase (131 tests)
* config.guess (riscv32be:Linux:*:*, riscv64be:Linux:*:*): Recognize.
* config.sub (riscv32be, riscv64be): Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
* testsuite/config-guess.data: Add test cases for riscv32be, and riscv64be.
* testsuite/config-sub.data (riscv32be, riscv64be): Add test cases.
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Apparently, this is needed to correctly detect musl libc in different
versions of Alpine Linux.
According to
https://lists.gnu.org/archive/html/config-patches/2020-09/msg00002.html,
the ldd based check does not work for some old versions of the Alpine Linux,
and, according to
https://lists.gnu.org/archive/html/config-patches/2020-11/msg00002.html,
the compiler may not be available in a fresh Alpine container.
The ldd based check is essentially the same as the check that was
introduced by commit 3d00f60242f1726fc6eaa38e09435a969ee7ebe5, it is
performed iff the compiler based check could not give a definitive
answer.
Reported-by: Cheng XU <xucheng@me.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
currently only supported when CC_FOR_BUILD is available, as that
ultimately governs what the native ABI is.
Signed-off-by: Ben Elliston <bje@air.net.au>
system compiler is installed. If not, do not run set_cc_for_build,
as the default cc will open a dialog box asking to install
Xcode. If no C compiler is available, guess based on uname -p and
uname -m.
From Apostolos Syropoulos <asyropoulos@gmail.com>:
* config.guess (i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*): Use the
isainfo(1) command to guess what kind of system we have. Running
isainfo -b returns either "32" or "64".