Commit Graph

1257 Commits

Author SHA1 Message Date
b1e61adfaa config.guess: automatic fixups after previous automated patch
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.
2021-05-26 03:20:24 +00:00
649a106360 config.guess: remove unneeded quotes and factor command 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.
2021-05-26 03:01:22 +00:00
3865afa669 config.guess: manual fixups after previous automatic patch
* config.guess: Adjust a few "leftover" cases that the tool could not
easily recognize and fixes comment indentation in a few other special
cases.
2021-05-25 04:27:42 +00:00
59a37e44b8 config.guess: use intermediate variable with uname results
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.
2021-05-25 04:05:16 +00:00
d9728ee231 config.guess: introduce intermediate variable with uname results
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.
2021-05-25 04:05:16 +00:00
4550d2f15b config.guess: fix shellcheck warning SC2154
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.
2021-05-24 08:00:00 +00:00
9a37c126ce config.guess: remove redundant quotes in case commands
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>
2021-05-24 08:00:00 +00:00
185e597749 config.guess: simplify exit status workaround on alphaev67-dec-osf5.1
Commit 29865ea8a5 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.
2021-05-24 08:00:00 +00:00
92fac9b5ce testsuite: make config data sorted using "make sort"
* testsuite/config-guess.data: Make the data sorted.
* testsuite/config-sub.data: Likewise.
2021-05-05 20:00:00 +00:00
daf828df3d testsuite/config-guess.data: remove SecBSD test
Sadly,  the test infrastructure is not ready for guesses based on the
output of "arch" yet.

* testsuite/config-guess.data: Remove SecBSD test.
2021-05-05 20:00:00 +00:00
7779518ae2 config.sub: Handle MIPS R3 and R5 ISA levels with CPU names
Complement binutils commit ae52f4830604 ("Add MIPS r3 and r5 support.")
and recognize MIPS CPU patterns for the R3 and R5 ISA levels, used by
GAS to set defaults.

* config.sub (mipsisa32r3, mipsisa32r3el, mipsisa32r5, mipsisa32r5el,
mipsisa64r3, mipsisa64r3el, mipsisa64r5, mipsisa64r5el): Recognize.
* doc/config.sub.1: Regenerate.
* testsuite/config-sub.data: Add test cases.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-04-30 23:15:08 +00:00
491e04557e Recognize arc64
This paves way for setting up arc64 software ecosystem.

$ make check
cd testsuite && bash config-guess.sh && rm uname
PASS: config.guess checks (136 tests)
cd testsuite && bash config-sub.sh
PASS: config.sub checks (853 tests)
PASS: config.sub idempotency checks (790 tests)
PASS: config.sub canonicalise each config.guess testcase (136 tests)

* config.guess (arc64:Linux:*:*): Recognize.
* config.sub (arc64): Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
* testsuite/config-guess.data: Add a test case for arc64.
* testsuite/config-sub.data (arc64, arc*-elf): Add test cases.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-04-21 19:51:18 +00:00
6c5532f345 config.guess: add SecBSD support
* config.guess (*:SecBSD:*:*): Recognize.
* doc/config.guess.1: Regenerate.
* testsuite/config-guess.data: Add a test case.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-04-16 22:26:32 +00:00
20bc4bc021 config.sub: add SecBSD support
* config.sub (secbsd*): Recognize.
* doc/config.sub.1: Regenerate.
* testsuite/config-sub.data: Add x86_64-secbsd.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-04-16 22:14:24 +00:00
277b4ed177 testsuite: make config data sorted using "make sort"
* testsuite/config-guess.data: Make the data sorted.
* testsuite/config-sub.data: Likewise.
2021-03-10 20:00:00 +00:00
1dc6451098 config.sub: Add support for SerenityOS
* config.sub (serenity*): Recognize.
* doc/config.sub.1: Regenerate.
* testsuite/config-sub.data: Add i386-serenity.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-03-10 15:27:49 +00:00
6faca61810 config.guess: update AROS system detection
* config.guess: Recognize *:AROS:*:*.
* doc/config.guess.1: Regenerate.
* testsuite/config-guess.data: Add test cases.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-01-25 20:35:13 +00:00
441e7e4bd4 config.guess: fix shell variable quoting bug
* config.guess (*:NetBSD:*:*): Spell out the full sysctl command twice
instead of using a shell variable.
* doc/config.guess.1: Regenerate.

Fixes: 827c77253b
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-01-19 13:49:34 +00:00
21d397cdb4 config.sub: recognize four-part configuration name for VxWorks
For example:

  armv7m-wrs-vxworks-eabihf
  armv7-wrs-vxworks-eabihf
  i686-wrs-vxworks-simlinux
  i686-wrs-vxworks-simwindows
  powerpc-wrs-vxworks-spe
  x86_64-wrs-vxworks-simlinux
  x86_64-wrs-vxworks-simwindows

* config.sub: Recognize four-part configuration name for VxWorks.
* doc/config.guess.1: Regenerate.
* testsuite/config-sub.data: Add test cases.

Co-authored-by: John Ericson <git@JohnEricson.me>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-01-08 02:53:07 +00:00
04d8eb4c26 config.sub: accept OS of eabi* and gnueabi*
Commit 5e531d3918 broke powerpc-eabivle:

$ ./config.sub powerpc-eabivle
Invalid configuration `powerpc-eabivle': OS `eabivle' not recognized

Also powerpc-eabisim and probably some arm configurations.

* config.sub: Accept OS of eabi* and gnueabi*.
* testsuite/config-sub.data: Add powerpc-eabisim and powerpc-eabivle.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-01-06 23:55:28 +00:00
0045dea533 Update copyright years
* config.guess: Update copyright years.
* config.sub: Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
2021-01-01 08:00:00 +00:00
8e0c6ffd5c Recognize riscv32be and riscv64be
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>
2020-12-31 07:27:52 +00:00
c8ddc8472f Recognize loongarch32, loongarch64, and loongarchx32
* config.guess (loongarch32:Linux:*:*, loongarch64:Linux:*:*,
loongarchx32:Linux:*:*): Recognize.
* config.sub (loongarch32, loongarch64, loongarchx32): Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
* testsuite/config-guess.data: Add test cases for loongarch32,
loongarch64, and loongarchx32.
* testsuite/config-sub.data (loongarch32, loongarch64, loongarchx32):
Add test cases.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2020-12-22 08:00:00 +00:00
05734c3b30 testsuite: make config data sorted using "make sort"
* Makefile (sort): Add dependencies, sort in C locale using "sort -u".
* testsuite/config-guess.data: Make the data sorted.
* testsuite/config-sub.data: Likewise.
2020-12-22 08:00:00 +00:00
f0f7283240 Generate ChangeLog from git log
* ChangeLog: Rename to ChangeLog-old.
* Makefile.am (ChangeLog): New rule.
* .gitignore: New file.
* gitlog-to-changelog: Import from gnulib.
2020-12-22 08:00:00 +00:00
ff53d915ca doc: regenerate config.guess.1 2020-12-20 08:00:00 +00:00
9bb4e6d7b2 doc: fix typo in config.guess.x
Reported-by: "Kyle J. McKay" <mackyle@fastmail.com>
2020-12-20 08:00:00 +00:00
90b8cb42ba config.sub: recognize thumbv7*
* config.sub (thumbv7*): Recognize.
* testsuite/config-sub.data (thumbv7): New test.

Reported-by: Karl Berry <karl@freefriends.org>
Link: https://lists.gnu.org/archive/html/config-patches/2020-12/msg00001.html
2020-12-02 00:10:00 +00:00
888c8e3d5f Update URLs of the latest version of config.guess and config.sub scripts
Prefer cgit URLs over gitweb as the former are usually served faster:
$ time -f %e wget -q 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess'
1.06
$ time -f %e wget -q 'https://git.savannah.gnu.org/cgit/config.git/plain/config.guess'
0.73

* config.guess: Prefer cgit URLs over gitweb.
(timestamp): Update.
* config.sub: Likewise.
* doc/config.guess.1: Regenerate.
* doc/config.sub.1: Likewise.
2020-11-19 08:00:00 +00:00
965e90c772 doc: generalize make rules used to generate man pages
* doc/config.sub.x: New file.
* Makefile (HELP2MAN): New variable.
(doc/%.1): New rule.
(doc/config.guess.1, doc/config.sub.1): Remove.
2020-11-19 08:00:00 +00:00
f1c1f29968 testsuite: cleanup whitespace issues
Fix indentation that uses spaces before tabs, reported by
git diff-index --check --cached 4b825dc642
2020-11-19 08:00:00 +00:00
9aa377c2ed .gitattributes: specify a custom git merge driver for the ChangeLog file 2020-11-19 08:00:00 +00:00
edcc7bbb5d config.guess: combine two heuristics to detect musl libc
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 3d00f60242, 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>
2020-11-17 08:00:00 +00:00
77632d92f2 Update timestamps. 2020-11-07 15:46:23 +11:00
95c8d9a294 * config.sub, config.guess: Replace backtick .. substitutions
with POSIX $(..) command substitutions throughout.
	* Makefile (shellcheck): Don't exclude message SC2006.
2020-11-07 15:38:19 +11:00
1c43980155 * config.guess (*:NetBSD:*:*): Handle aarch64eb.
* testsuite/config-guess.data: Add test cases.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-10-22 00:05:38 +11:00
664b772118 Fix whitespace problem in config.sub. 2020-10-15 07:24:35 +11:00
74a858549d * config.sub (i*86-pc-os2-emx): Recognise correctly.
* testsuite/config-sub.data: Add OS/2 tests to avoid regressions.
2020-10-13 22:20:55 +11:00
d7a4dee7cc * config.sub (uclinux-uclibc*): Fix detection.
* testsuite/config-sub.data: Add a test case to avoid regression.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-09-27 10:41:38 +10:00
4aa554d72b * config.guess: Don't use 'ldd --version' to determine the presence of
musl libc, as this fails on Alpine Linux 3.10.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-09-20 14:21:00 +10:00
e072cc210e * config.sub: Fix regression in QNX recognition.
* testsuite/config-sub.data: Add some test cases.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-09-08 09:26:26 +10:00
0b5188819b * config.guess: Replace "if [ EXPR ]" with "if test EXPR".
* config.sub: Likewise.
	* testsuite/config-guess.sh: Likewise.
	* testsuite/config-sub.sh: Likewise.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-08-17 13:36:41 +10:00
2593751ef2 * config.guess (arm64:Darwin:*:*): Recognise.
* testsuite/config-guess.data: Add a test case.
2020-07-12 18:21:33 +10:00
b2969c6e71 * config.sub (case $cpu): Whitespace fix. 2020-07-10 16:01:38 +10:00
3c20dd431e * config.sub (arm64-*): Canonicalise to aarch64-*.
Signed-off-by: Ben Elliston <bje@gnu.org>
2020-07-10 15:45:29 +10:00
5e531d3918 * config.sub: Properly parse the KERNEL-OS case.
I previously refactored config.sub to parse 'basic_machine' into
separate 'cpu' and 'vendor' variables. This is a kindred refactor
where 'basic_os' (a rename of 'os' when used early on) is now parsed
into 'kernel' and 'os'.

Like the previous refactoring, this does make things a bit longer. I
think the change makes the code easier to understand and more robust,
so it is worth the cost of a longer script.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-06-28 15:32:14 +10:00
62db2b6bd6 * config.sub (s390, s390x): Use 'ibm' vendor default, but allow
overrides.

Previously, 'ibm' was forced, which caused problems when someone
wanted to use 'busybox' as a vendor and cross-compile with a slightly
different toolchain. The fix changed behaviour such that without any
vendor, it would use to 'unknown' rather than 'ibm' as before.

This patch aims to compromise between the old and new behaviour by
making 'ibm' a default for those CPUs when no vendor is specified, but
if the user explicitly provides a vendor that is used instead. This
sort of "vendor defaulting" has plenty of precedent in config.sub, so
it seemed like a good approach.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-06-28 11:28:40 +10:00
2b81440a51 * config.sub: Allow CPU to influence vendor defaulting too.
Signed-off-by: Ben Elliston <bje@gnu.org>
2020-06-28 11:21:57 +10:00
60a43fe6f0 * config.sub: Move OS whitelist to the bottom of the case as
preparation for future work.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-06-26 22:26:12 +10:00
696cd4a4ea * config.sub (s390, s390x): Don't set manufacturer.
* testsuite/config-sub.data: Add test cases.

Signed-off-by: Ben Elliston <bje@gnu.org>
2020-06-21 10:51:01 +10:00