added linux (ubuntu) support with GCC, same source as mac with clang