On 24/05/2022 23.22, Dan Cross wrote:
On Fri, May 13, 2022 at 10:35 AM Sean Christopherson <seanjc@xxxxxxxxxx> wrote:
...
diff --git a/configure b/configure
index 86c3095..7193811 100755
--- a/configure
+++ b/configure
@@ -15,6 +15,7 @@ objdump=objdump
ar=ar
addr2line=addr2line
arch=$(uname -m | sed -e 's/i.86/i386/;s/arm64/aarch64/;s/arm.*/arm/;s/ppc64.*/ppc64/')
+os=$(uname -s)
host=$arch
cross_prefix=
endian=""
@@ -317,9 +318,9 @@ EOF
rm -f lib-test.{o,S}
fi
-# require enhanced getopt
+# require enhanced getopt everywhere except illumos
getopt -T > /dev/null
-if [ $? -ne 4 ]; then
+if [ $? -ne 4 ] && [ "$os" != "SunOS" ]; then
What does illumos return for `getopt -T`?
Sadly, it returns "0". I was wrong in my earlier explorations
because I did not realize that `configure` does not use `getopt`
aside from that one check, which is repeated in `run_tests.sh`.
I would argue that the most straight-forward way to deal with
this is to just remove the check for "getopt" from "configure",
which doesn't otherwise use "getopt". The only place it is
used is in `run_tests.sh`, which is unlikely to be used directly
for illumos, and repeats the check anyway.
Fine for me if we remove the check from configure, or turn it into a warning
instead ("Enhanced getopt is not available, you won't be able to use the
run_tests.sh script" or so).
Thomas