#!/bin/sh
# machine.sh version 2007-09-01 version gcc/gnu/linux
# patches | commentaires > whygee@f-cpu.org

# important : doit être exécuté dans le répertoire "machine",

if [ "$GCC" == "" ]
then
  GCC="gcc"
fi

UNAME_A=$(uname -a|sed 's/[^ A-Za-z0-9]//g')

function autoconfig() {
  echo $@"création de machine.h"
  # re-cleanup
  rm -f errors.out machine machine.h.tmp
  $GCC -W -Wall machine.c -o machine && ./machine | tee machine.h.tmp | grep error | tee errors.out
  if [ -s errors.out ] ; then
    echo "oooops..."
    return
  else
    #remplace la date et le uname
    cat machine.h.tmp |sed "s/^date:/date: $(date)/" |sed "s/^uname/$UNAME_A/" >machine.h
  fi
  # re-cleanup
  rm -f errors.out machine machine.h.tmp
}

if [ -r machine.h ] ; then
  ( grep -q "$UNAME_A" machine.h && echo "machine.h OK : pas d'autoconfiguration") || autoconfig "uname différent, re"
else
  autoconfig "machine.h absent : "
fi
