expose preprocessor as option