diff --git a/tools/flex/patches/300-m4-path.patch b/tools/flex/patches/300-m4-path.patch new file mode 100644 index 000000000000..48e376f276f8 --- /dev/null +++ b/tools/flex/patches/300-m4-path.patch @@ -0,0 +1,23 @@ +--- 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) {