use clang for compilation if available, otherwise fallback to gcc