mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	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@makrotopia.org>
		
			
				
	
	
		
			24 lines
		
	
	
		
			668 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			668 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- 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) {
 |