--- a/src/main.c +++ b/src/main.c @@ -213,6 +213,8 @@ int main (int argc, char *argv[]) void check_options (void) { + const char * staging_dir = NULL; + char * m4_staging = NULL; int i; const char * m4 = NULL; @@ -341,7 +343,10 @@ void check_options (void) /* Setup the filter chain. */ output_chain = filter_create_int(NULL, filter_tee_header, headerfilename); - if ( !(m4 = getenv("M4"))) { + if ( (staging_dir = getenv("STAGING_DIR_HOST"))) { + asprintf(&m4_staging, "%s/bin/m4", staging_dir); + m4 = m4_staging; + } else if ( !(m4 = getenv("M4"))) { char *slash; m4 = M4; if ((slash = strrchr(M4, '/')) != NULL) {