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. > Signed-off-by: Dan Cross <cross@xxxxxxxxxxxxxxxxx> > --- > configure | 5 +++-- > x86/Makefile.common | 6 +++--- > 2 files changed, 6 insertions(+), 5 deletions(-) > > 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 Presumably whatever "enhanced" features are being used are supported by illumos, so rather than check the OS, why not improve the probing? > echo "Enhanced getopt is not available, add it to your PATH?" > exit 1 > fi