#!/bin/sh >config.h gcc -o test-fft -Wall -x c -lfftw3f - <<'EOF' #include #define N 128 int main(int argc, char *argv[]) { fftwf_complex *data; fftwf_plan p; data = (fftwf_complex*) fftwf_malloc(sizeof(fftwf_complex) * N); p = fftwf_plan_dft_1d(N, data, data, FFTW_FORWARD, FFTW_ESTIMATE); fftwf_execute(p); fftwf_destroy_plan(p); fftwf_free(data); return 0; } EOF if ./test-fft then echo '#define FFTW3' >> config.h else echo '#define NOFFTW3' >> config.h fi gcc -o test-endian -Wall -x c - <<'EOF' #include #include int main(int argc, char *argv[]) { uint32_t dword = 0x11223344; uint8_t *byte = (uint8_t*)&dword; if( byte[0] == 0x11 && byte[1] == 0x22 && byte[2] == 0x33 && byte[3] == 0x44) { printf("BE"); return 0; } if( byte[0] == 0x44 && byte[1] == 0x33 && byte[2] == 0x22 && byte[3] == 0x11) { printf("EL"); return 0; } return 1; } EOF if ./test-endian > /dev/null then ENDIAN=$(./test-endian) if [ $ENDIAN = EL ] then echo '#define EL_ARCH' >> config.h elif [ $ENDIAN = BE ] then echo '#define BE_ARCH' >> config.h fi fi