Port back to linux
Draft clang port