Move LTO logic from common.mk (#14973)
This commit is contained in:
		
							parent
							
								
									780e763c13
								
							
						
					
					
						commit
						0c87e2e702
					
				| @ -108,7 +108,5 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #define LOCKING_RESYNC_ENABLE | #define LOCKING_RESYNC_ENABLE | ||||||
| 
 | 
 | ||||||
| /* disable these deprecated features by default */ | /* disable these deprecated features by default */ | ||||||
| #ifndef LINK_TIME_OPTIMIZATION_ENABLE | #define NO_ACTION_MACRO | ||||||
|   #define NO_ACTION_MACRO | #define NO_ACTION_FUNCTION | ||||||
|   #define NO_ACTION_FUNCTION |  | ||||||
| #endif |  | ||||||
|  | |||||||
| @ -49,10 +49,8 @@ | |||||||
| #define DEBOUNCE 3 | #define DEBOUNCE 3 | ||||||
| 
 | 
 | ||||||
| /* disable these deprecated features by default */ | /* disable these deprecated features by default */ | ||||||
| //#ifndef LINK_TIME_OPTIMIZATION_ENABLE
 | //#define NO_ACTION_MACRO
 | ||||||
| //#    define NO_ACTION_MACRO
 | //#define NO_ACTION_FUNCTION
 | ||||||
| //#    define NO_ACTION_FUNCTION
 |  | ||||||
| //#endif
 |  | ||||||
| 
 | 
 | ||||||
| #ifdef RGB_MATRIX_ENABLE | #ifdef RGB_MATRIX_ENABLE | ||||||
| #    define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | #    define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | ||||||
|  | |||||||
| @ -50,10 +50,8 @@ | |||||||
| #define DEBOUNCE 3 | #define DEBOUNCE 3 | ||||||
| 
 | 
 | ||||||
| /* disable these deprecated features by default */ | /* disable these deprecated features by default */ | ||||||
| //#ifndef LINK_TIME_OPTIMIZATION_ENABLE
 | //#define NO_ACTION_MACRO
 | ||||||
| //#    define NO_ACTION_MACRO
 | //#define NO_ACTION_FUNCTION
 | ||||||
| //#    define NO_ACTION_FUNCTION
 |  | ||||||
| //#endif
 |  | ||||||
| 
 | 
 | ||||||
| #ifdef RGB_MATRIX_ENABLE | #ifdef RGB_MATRIX_ENABLE | ||||||
| #    define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | #    define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | ||||||
|  | |||||||
| @ -50,10 +50,8 @@ | |||||||
| #define DEBOUNCE 3 | #define DEBOUNCE 3 | ||||||
| 
 | 
 | ||||||
| /* disable these deprecated features by default */ | /* disable these deprecated features by default */ | ||||||
| //#ifndef LINK_TIME_OPTIMIZATION_ENABLE
 | //#define NO_ACTION_MACRO
 | ||||||
| //#    define NO_ACTION_MACRO
 | //#define NO_ACTION_FUNCTION
 | ||||||
| //#    define NO_ACTION_FUNCTION
 |  | ||||||
| //#endif
 |  | ||||||
| 
 | 
 | ||||||
| #ifdef RGB_MATRIX_ENABLE | #ifdef RGB_MATRIX_ENABLE | ||||||
| #    define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | #    define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
 | ||||||
|  | |||||||
| @ -24,7 +24,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| // place overrides here
 | // place overrides here
 | ||||||
| 
 | 
 | ||||||
| // Some defines meant to decrease the firmware size. The firmware is otherwise over the maximum (atmega32u4)
 | // Some defines meant to decrease the firmware size. The firmware is otherwise over the maximum (atmega32u4)
 | ||||||
| //# ifndef LINK_TIME_OPTIMIZATION_ENABLE
 | //# ifndef LTO_ENABLE
 | ||||||
|      //Disable old style macro handling: MACRO() & action_get_macro
 |      //Disable old style macro handling: MACRO() & action_get_macro
 | ||||||
| //#     define NO_ACTION_MACRO // This saves 320 bytes
 | //#     define NO_ACTION_MACRO // This saves 320 bytes
 | ||||||
|       //disable calling of action_function() from the fn_actions array (deprecated)
 |       //disable calling of action_function() from the fn_actions array (deprecated)
 | ||||||
| @ -40,7 +40,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| // Attempts to reduce firmware size:
 | // Attempts to reduce firmware size:
 | ||||||
|     //#define LINK_TIME_OPTIMIZATION_ENABLE // Did not decrease firmware size when tested on 26 Jan 2020 
 |     //#define LTO_ENABLE // Did not decrease firmware size when tested on 26 Jan 2020 
 | ||||||
|     //#define NO_DEBUG //disable debugging (already defined)
 |     //#define NO_DEBUG //disable debugging (already defined)
 | ||||||
|     //#define NO_PRINT JJdisable printing/debugging using hid_listen (already defined)
 |     //#define NO_PRINT JJdisable printing/debugging using hid_listen (already defined)
 | ||||||
|     //#define NO_ACTION_LAYER //disable layers (obviously need layers)
 |     //#define NO_ACTION_LAYER //disable layers (obviously need layers)
 | ||||||
|  | |||||||
| @ -100,18 +100,6 @@ ifeq ($(strip $(SHARED_EP_ENABLE)), yes) | |||||||
|     TMK_COMMON_DEFS += -DSHARED_EP_ENABLE |     TMK_COMMON_DEFS += -DSHARED_EP_ENABLE | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| ifeq ($(strip $(LTO_ENABLE)), yes) |  | ||||||
|     ifeq ($(PLATFORM),CHIBIOS) |  | ||||||
|         $(info Enabling LTO on ChibiOS-targeting boards is known to have a high likelihood of failure.) |  | ||||||
|         $(info If unsure, set LTO_ENABLE = no.) |  | ||||||
|     endif |  | ||||||
|     EXTRAFLAGS += -flto |  | ||||||
|     TMK_COMMON_DEFS += -DLTO_ENABLE |  | ||||||
|     TMK_COMMON_DEFS += -DLINK_TIME_OPTIMIZATON_ENABLE |  | ||||||
| else ifdef LINK_TIME_OPTIMIZATION_ENABLE |  | ||||||
|     $(error The LINK_TIME_OPTIMIZATION_ENABLE flag has been renamed to LTO_ENABLE.) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| # Search Path
 | # Search Path
 | ||||||
| VPATH += $(TMK_PATH)/$(COMMON_DIR) | VPATH += $(TMK_PATH)/$(COMMON_DIR) | ||||||
| VPATH += $(TMK_PATH)/$(PLATFORM_COMMON_DIR) | VPATH += $(TMK_PATH)/$(PLATFORM_COMMON_DIR) | ||||||
|  | |||||||
| @ -82,6 +82,15 @@ endif | |||||||
| #  -Wall...:     warning level
 | #  -Wall...:     warning level
 | ||||||
| #  -Wa,...:      tell GCC to pass this to the assembler.
 | #  -Wa,...:      tell GCC to pass this to the assembler.
 | ||||||
| #    -adhlns...: create assembler listing
 | #    -adhlns...: create assembler listing
 | ||||||
|  | ifeq ($(strip $(LTO_ENABLE)), yes) | ||||||
|  |     ifeq ($(PLATFORM),CHIBIOS) | ||||||
|  |         $(info Enabling LTO on ChibiOS-targeting boards is known to have a high likelihood of failure.) | ||||||
|  |         $(info If unsure, set LTO_ENABLE = no.) | ||||||
|  |     endif | ||||||
|  |     CDEFS += -flto | ||||||
|  |     CDEFS += -DLTO_ENABLE | ||||||
|  | endif | ||||||
|  | 
 | ||||||
| DEBUG_ENABLE ?= yes | DEBUG_ENABLE ?= yes | ||||||
| ifeq ($(strip $(SKIP_DEBUG_INFO)),yes) | ifeq ($(strip $(SKIP_DEBUG_INFO)),yes) | ||||||
|   DEBUG_ENABLE=no |   DEBUG_ENABLE=no | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user