compile setup