build: config: allow bool to select a module pkg
kconfig-v5.6 disallowed a bool symbol to select another symbol that 'depends on m' (i.e. can be only 'm' on 'n'). It is, in fact, an unmet dependency to have set to 'y'. However, openwrt depends on the previous behavior, to be able to build a package that can be a module or built-in depending on a bool config. This restores the previous behavior. Ref: https://forum.openwrt.org/t/wireless-fails-on-snapshot-r12900-kernel-5-4-on-c2600-ipq806x Tested-by: Hannu Nyman <hannu.nyman@iki.fi> Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz> [added forum ref]
This commit is contained in:
		 Eneas U de Queiroz
					Eneas U de Queiroz
				
			
				
					committed by
					
						 Petr Štetiar
						Petr Štetiar
					
				
			
			
				
	
			
			
			 Petr Štetiar
						Petr Štetiar
					
				
			
						parent
						
							c30220d458
						
					
				
				
					commit
					8514b6b42c
				
			| @@ -22,7 +22,9 @@ OpenWrt Buildroot: | |||||||
|    that may cause one. |    that may cause one. | ||||||
|  - use pre-built *.lex.c *.tab.[ch] files by default, to avoid depending on |  - use pre-built *.lex.c *.tab.[ch] files by default, to avoid depending on | ||||||
|    flex & bison.  Rebuild/remove these files only if running make with |    flex & bison.  Rebuild/remove these files only if running make with | ||||||
|    BUILD_SHIPPED_FILES defined |    BUILD_SHIPPED_FILES defined. | ||||||
|  |  - allow a bool symbol to select a tristate symbol that depends on m (i.e. | ||||||
|  |    a package that should only be built as a module). | ||||||
|  |  | ||||||
| For a full list of changes, see the repository at: | For a full list of changes, see the repository at: | ||||||
| https://github.com/cotequeiroz/linux/commits/openwrt/scripts/kconfig | https://github.com/cotequeiroz/linux/commits/openwrt/scripts/kconfig | ||||||
|   | |||||||
| @@ -205,7 +205,7 @@ static void sym_calc_visibility(struct symbol *sym) | |||||||
| 	tri = yes; | 	tri = yes; | ||||||
| 	if (sym->dir_dep.expr) | 	if (sym->dir_dep.expr) | ||||||
| 		tri = expr_calc_value(sym->dir_dep.expr); | 		tri = expr_calc_value(sym->dir_dep.expr); | ||||||
| 	if (tri == mod && sym_get_type(sym) == S_BOOLEAN) | 	if (tri == mod) | ||||||
| 		tri = yes; | 		tri = yes; | ||||||
| 	if (sym->dir_dep.tri != tri) { | 	if (sym->dir_dep.tri != tri) { | ||||||
| 		sym->dir_dep.tri = tri; | 		sym->dir_dep.tri = tri; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user