#-----------------------------------------------------------
# GOGGLES BUILD SYSTEM
#-----------------------------------------------------------
#
# This will determine the byteorder
#
#-----------------------------------------------------------
cd build

makebyteorder() {
cat > checkbyteorder.c <<__EOF
int main()
{
  if (sizeof(long int) == 4) {
    long int testInt = 0x12345678;
    char * pMem;
    pMem = (char *)&testInt;
    if (pMem[0] == 0x78)
      return 0;
    else
      return 1;
    }
  else if (sizeof(int) == 4) {
    int testInt = 0x12345678;
    char * pMem;
    pMem = (char *) &testInt;
    if (pMem[0] == 0x78)
      return 0;
    else
      return 1;
    }
  return 0;
}
__EOF
}


if [ -x checkbyteorder ] ; then
  ./checkbyteorder
  export BYTEORDER=$?
  if [ $BYTEORDER -eq 1 ] ; then
    echo -e " Check Byte Order    : \033[32mBig Endian\033[0m"
  else
    echo -e " Check Byte Order    : \033[32mLittle Endian\033[0m"
  fi
else
  makebyteorder
  $CC ${OUTPUTBIN} checkbyteorder checkbyteorder.c
  if [ -x checkbyteorder ] ; then
    ./checkbyteorder
    export BYTEORDER=$?
    if [ $BYTEORDER -eq 1 ] ; then
      echo -e " Check Byte Order    : \033[32mBig Endian\033[0m"
    else
      echo -e " Check Byte Order    : \033[32mLittle Endian\033[0m"
    fi
    rm checkbyteorder.c
  else
    echo -e " Check Byte Order    : \033[31mFailed (using Little Endian instead)\033[0m"
  fi
fi

cd ..
