added manual m4 preprocessing