forked from mirrors/qmk_userspace
		
	Move LTO logic from common.mk (#14973)
This commit is contained in:
		
					parent
					
						
							
								780e763c13
							
						
					
				
			
			
				commit
				
					
						0c87e2e702
					
				
			
		
					 7 changed files with 19 additions and 30 deletions
				
			
		| 
						 | 
					@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue