fbt: building core with respect for debug flag (#1347)
				
					
				
			* fbt: building `core` with respect for debug flag * fbt: added size output for firmware elf * Infrared: fix cli Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
		
							parent
							
								
									6d38740a46
								
							
						
					
					
						commit
						e6f18cc322
					
				| @ -97,6 +97,7 @@ static bool infrared_cli_parse_message(const char* str, InfraredSignal* signal) | |||||||
|         return false; |         return false; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     message.protocol = infrared_get_protocol_by_name(protocol_name); | ||||||
|     message.repeat = false; |     message.repeat = false; | ||||||
|     infrared_signal_set_message(signal, &message); |     infrared_signal_set_message(signal, &message); | ||||||
|     return infrared_signal_is_valid(signal); |     return infrared_signal_is_valid(signal); | ||||||
|  | |||||||
| @ -39,7 +39,17 @@ env = ENV.Clone( | |||||||
|             ], |             ], | ||||||
|             # You can add other entries named after libraries |             # You can add other entries named after libraries | ||||||
|             # If they are present, they have precedence over Default |             # If they are present, they have precedence over Default | ||||||
|         } |         }, | ||||||
|  |         # for furi_check to respect build type | ||||||
|  |         "core": { | ||||||
|  |             "CCFLAGS": [ | ||||||
|  |                 "-Os", | ||||||
|  |             ], | ||||||
|  |             "CPPDEFINES": [ | ||||||
|  |                 "NDEBUG", | ||||||
|  |                 "FURI_DEBUG" if ENV["DEBUG"] else "FURI_NDEBUG", | ||||||
|  |             ], | ||||||
|  |         }, | ||||||
|     }, |     }, | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| @ -191,6 +201,7 @@ fwelf = fwenv["FW_ELF"] = fwenv.Program( | |||||||
| # Make it depend on everything child builders returned | # Make it depend on everything child builders returned | ||||||
| Depends(fwelf, lib_targets) | Depends(fwelf, lib_targets) | ||||||
| AddPostAction(fwelf, fwenv["APPBUILD_DUMP"]) | AddPostAction(fwelf, fwenv["APPBUILD_DUMP"]) | ||||||
|  | AddPostAction(fwelf, Action("@$SIZECOM")) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| fwhex = fwenv["FW_HEX"] = fwenv.HEXBuilder("${FIRMWARE_BUILD_CFG}") | fwhex = fwenv["FW_HEX"] = fwenv.HEXBuilder("${FIRMWARE_BUILD_CFG}") | ||||||
|  | |||||||
| @ -6,6 +6,7 @@ from SCons.Tool import gnulink | |||||||
| import strip | import strip | ||||||
| import gdb | import gdb | ||||||
| import objdump | import objdump | ||||||
|  | import size | ||||||
| 
 | 
 | ||||||
| from SCons.Action import _subproc | from SCons.Action import _subproc | ||||||
| import subprocess | import subprocess | ||||||
| @ -36,7 +37,7 @@ def _get_tool_version(env, tool): | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def generate(env, **kw): | def generate(env, **kw): | ||||||
|     for orig_tool in (asm, gcc, gxx, ar, gnulink, strip, gdb, objdump): |     for orig_tool in (asm, gcc, gxx, ar, gnulink, strip, gdb, objdump, size): | ||||||
|         orig_tool.generate(env) |         orig_tool.generate(env) | ||||||
|     env.SetDefault( |     env.SetDefault( | ||||||
|         TOOLCHAIN_PREFIX=kw.get("toolchain_prefix"), |         TOOLCHAIN_PREFIX=kw.get("toolchain_prefix"), | ||||||
| @ -55,6 +56,7 @@ def generate(env, **kw): | |||||||
|             "GDB", |             "GDB", | ||||||
|             "GDBPY", |             "GDBPY", | ||||||
|             "OBJDUMP", |             "OBJDUMP", | ||||||
|  |             "SIZE", | ||||||
|         ], |         ], | ||||||
|     ) |     ) | ||||||
|     # Call CC to check version |     # Call CC to check version | ||||||
|  | |||||||
| @ -77,8 +77,7 @@ def generate(env): | |||||||
|         BUILDERS={ |         BUILDERS={ | ||||||
|             "DistBuilder": Builder( |             "DistBuilder": Builder( | ||||||
|                 action=Action( |                 action=Action( | ||||||
|                     '${PYTHON3} ${ROOT_DIR.abspath}/scripts/sconsdist.py copy -p ${DIST_PROJECTS} -s "${DIST_SUFFIX}" ${DIST_EXTRA}', |                     '@${PYTHON3} ${ROOT_DIR.abspath}/scripts/sconsdist.py copy -p ${DIST_PROJECTS} -s "${DIST_SUFFIX}" ${DIST_EXTRA}', | ||||||
|                     "${DISTCOMSTR}", |  | ||||||
|                 ), |                 ), | ||||||
|             ), |             ), | ||||||
|             "CoproBuilder": Builder( |             "CoproBuilder": Builder( | ||||||
|  | |||||||
							
								
								
									
										24
									
								
								site_scons/site_tools/size.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								site_scons/site_tools/size.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | from SCons.Builder import Builder | ||||||
|  | from SCons.Action import Action | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def generate(env): | ||||||
|  |     env.SetDefault( | ||||||
|  |         SIZE="size", | ||||||
|  |         SIZEFLAGS=[], | ||||||
|  |         SIZECOM="$SIZE $SIZEFLAGS $TARGETS", | ||||||
|  |     ) | ||||||
|  |     env.Append( | ||||||
|  |         BUILDERS={ | ||||||
|  |             "ELFSize": Builder( | ||||||
|  |                 action=Action( | ||||||
|  |                     "${SIZECOM}", | ||||||
|  |                     "${SIZECOMSTR}", | ||||||
|  |                 ), | ||||||
|  |             ), | ||||||
|  |         } | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def exists(env): | ||||||
|  |     return True | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 hedger
						hedger