Now I have found that config.guess should detect the right build system. I have compared my to outputs of config.guess: * on my system with linux kernel: i686-pc-linux-gnu * on my (virtual) system kfreebsd kernel: i686-unknown-kfreebsd7.2-gnu Perhaps this the problem: the name is 'kfreebsd7.2' and not 'kfreebsd' Any ideas ?
What and where exactly do you want to test ? Iff you want to test inside some C file, as shown by your example you have to test #if defined (__FreeBSD_kernel__) || defined (__FreeBSD__) || defined (__linux__) or #if defined (__GLIBC__) || defined (__linux__) Iff you want to test in some configure.ac case $host_os in linux*|kfreebsd*-gnu*) blabla ;; esac Petr