make compilation platform-agnostic