Add support for gcc and clang