aboutsummaryrefslogtreecommitdiff
path: root/tools/flex/patches/300-m4-path.patch
diff options
context:
space:
mode:
Diffstat (limited to 'tools/flex/patches/300-m4-path.patch')
-rw-r--r--tools/flex/patches/300-m4-path.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/flex/patches/300-m4-path.patch b/tools/flex/patches/300-m4-path.patch
new file mode 100644
index 0000000000..48e376f276
--- /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) {