1257 Commits

Author SHA1 Message Date
Jacob Bachmeyer
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
Jacob Bachmeyer
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
Jacob Bachmeyer
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
Jacob Bachmeyer
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
Jacob Bachmeyer
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
Dmitry V. Levin
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
Dmitry V. Levin
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
Dmitry V. Levin
185e597749 config.guess: simplify exit status workaround on alphaev67-dec-osf5.1
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.
2021-05-24 08:00:00 +00:00
Dmitry V. Levin
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
Dmitry V. Levin
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
Maciej W. Rozycki
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
Vineet Gupta
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
Purple Rain
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
Purple Rain
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
Dmitry V. Levin
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
Idan Horo
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
Kalamatee
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
M. Levinson
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: 827c77253b396c07306927b2a4b794a3251c48eb
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2021-01-19 13:49:34 +00:00
Peixing Xin
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
Alan Modra
04d8eb4c26 config.sub: accept OS of eabi* and gnueabi*
Commit 5e531d391852 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
Dmitry V. Levin
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
Kito Cheng
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
Xiaotian Wu
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
Dmitry V. Levin
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
Dmitry V. Levin
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
Dmitry V. Levin
ff53d915ca doc: regenerate config.guess.1 2020-12-20 08:00:00 +00:00
Dmitry V. Levin
9bb4e6d7b2 doc: fix typo in config.guess.x
Reported-by: "Kyle J. McKay" <mackyle@fastmail.com>
2020-12-20 08:00:00 +00:00
Dmitry V. Levin
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
Dmitry V. Levin
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
Dmitry V. Levin
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
Dmitry V. Levin
f1c1f29968 testsuite: cleanup whitespace issues
Fix indentation that uses spaces before tabs, reported by
git diff-index --check --cached 4b825dc642cb6eb9a060e54bf8d69288fbee4904
2020-11-19 08:00:00 +00:00
Dmitry V. Levin
9aa377c2ed .gitattributes: specify a custom git merge driver for the ChangeLog file 2020-11-19 08:00:00 +00:00
Dmitry V. Levin
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 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>
2020-11-17 08:00:00 +00:00
Ben Elliston
77632d92f2 Update timestamps. 2020-11-07 15:46:23 +11:00
Ben Elliston
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
Rin Okuyama
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
Ben Elliston
664b772118 Fix whitespace problem in config.sub. 2020-10-15 07:24:35 +11:00
Ben Elliston
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
Fabrice Fontaine
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
Bruno Haible
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
Elad Lahav
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
Issam E. Maghni
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
Ben Elliston
2593751ef2 * config.guess (arm64:Darwin:*:*): Recognise.
* testsuite/config-guess.data: Add a test case.
2020-07-12 18:21:33 +10:00
Ben Elliston
b2969c6e71 * config.sub (case $cpu): Whitespace fix. 2020-07-10 16:01:38 +10:00
Keno Fischer
3c20dd431e * config.sub (arm64-*): Canonicalise to aarch64-*.
Signed-off-by: Ben Elliston <bje@gnu.org>
2020-07-10 15:45:29 +10:00
John Ericson
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
John Ericson
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
John Ericson
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
John Ericson
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
Alexander Egorenkov
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