[Sean, sorry for the dup; I forgot to switch to plaintext mode] On Thu, May 12, 2022 at 6:05 PM Sean Christopherson <seanjc@xxxxxxxxxx> wrote: > On Thu, May 12, 2022, Dan Cross wrote: > > We have begun using kvm-unit-tests to test Bhyve under > > illumos. We started by cross-compiling the tests on Linux > > and transfering the binary artifacts to illumos machines, > > but it proved more convenient to build them directly on > > illumos. > > > > This change modifies the build infrastructure to allow > > building on illumos; I have also tested it on Linux. The > > required changes were pretty minimal: the most invasive > > was switching from using the C compiler as a linker driver > > to simply invoking the linker directly in two places. > > This allows us to easily use gold instead of the Solaris > > linker. > > Can you please split this into two patches? One for the $(CC) => $(LD) change, > and one for the getopt thing. The switch to $(LD) in particular could be valuable > irrespective of using a non-Linux OS. Done. > [snip] > > > +# require enhanced getopt everywhere except illumos > > getopt -T > /dev/null > > -if [ $? -ne 4 ]; then > > +if [ $? -ne 4 ] && [ "$os" != "SunOS" ]; then > > Presumably whatever "enhanced" features are being used are supported by illumos, > so rather than check the OS, why not improve the probing? Actually, it looks like I've got some egg on my face here. It appears that `getopt` is not used in `configure` beyond this check; presumably this exists to avoid surprises when running `run_tests.sh`, which does use extended getopt (for long options) and repeats this same test. I had not noticed since `configure` ran successfully, and we are not presently using `run_tests.sh` on illumos as we use a rather different VMM than qemu. That patch should probably be dropped (or changed to remove the getopt check in `configure` entirely, if folks are fine deferring needing to have it to the invocation of `run_tests.sh`...). Or I just convince folks to provide a GNU getopt package on illumos. Let me know what is preferred. - Dan C.