#!/bin/sh

(
  echo x86
  echo unknown
) | (
  while read n
  do
    okcompilers | (
      while read c cpp options
      do
        echo "=== `date` === Trying $n.c with $c $options..." >&2
        rm -f cpuid.c
	cp $n.c cpuid.c || continue
        $c $options -o cpuid cpuid.c || continue
        $c $options -o cbytes cbytes.c || continue
	./cpuid > cpuid.out || continue
	echo 'static const char cpuid[] = {' > cpuid.h || continue
	./cbytes < cpuid.out >> cpuid.h || continue
	echo '} ;' >> cpuid.h || continue
	cat cpuid.out
        exit 0
      done
      exit 111
    ) && exit 0
  done
  exit 111
)
