Fix the build.
added msync, madvise, and requisite constants for macos and linux
macro semicolon madness