O teste é feito compilando-se um pequeno programa C fictício e verificando como o compilador nomeia o arquivo de saída.
O exemplo a seguir é uma versão simplificada do que o configure
está fazendo
#!/bin/sh
cat << EOT > dummy.c
int main(int argc, char ** argv) {
return 0;
}
EOT
gcc -o dummy dummy.c
if [ -f dummy.exe ] ; then
# exe
fi
Sugiro que você use o autoconf para gerar um script de configuração e usá-lo para o seu propósito.