compiler detection