[openwrt/openwrt] tools/flex: respect STAGING_DIR_HOST

LEDE Commits lede-commits at lists.infradead.org
Tue Sep 24 11:49:16 PDT 2024


dangole pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/72accd078f20ed2a5caaa12b1bea463f40aadd73

commit 72accd078f20ed2a5caaa12b1bea463f40aadd73
Author: Daniel Golle <daniel at makrotopia.org>
AuthorDate: Sun Jul 7 00:59:13 2024 +0100

    tools/flex: respect STAGING_DIR_HOST
    
    flex currently leaks the path of m4 as found on the build host.
    While it is possible to override this using the M4 environment
    variable (which we always did for autotools based builds) when
    using CMake or Ninja the M4 variable is not set.
    One easy fix is to make flex take STAGING_DIR_HOST into account
    and expect m4 there if that variable is set in the environment.
    
    Signed-off-by: Daniel Golle <daniel at makrotopia.org>
---
 tools/flex/patches/300-m4-path.patch | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

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) {




More information about the lede-commits mailing list