Add option to enable LTO easily (#5674)
* Add option to enable LTO easily and disable features that cause compiling errors with LTO * Add documentation about LTO option * Add to show_options
This commit is contained in:
@@ -13,3 +13,4 @@
|
||||
04-22-2019 - Add Split RGB support
|
||||
04-24-2019 - fix LIB_SRC and QUANTUM_LIB_SRC for ARM
|
||||
04-24-2019 - Add RGB Split fixes and RGB Names
|
||||
05-05-2019 - Add `LINK_TIME_OPTIMIZATION_ENABLE` to enable LTO and disable problematic features that cause LTO to fail
|
||||
|
||||
@@ -88,7 +88,8 @@ OTHER_OPTION_NAMES = \
|
||||
RGB_MATRIX_KEYPRESSES \
|
||||
LED_MIRRORED \
|
||||
RGBLIGHT_FULL_POWER \
|
||||
Link_Time_Optimization
|
||||
Link_Time_Optimization \
|
||||
LINK_TIME_OPTIMIZATION_ENABLE
|
||||
|
||||
define NAME_ECHO
|
||||
@echo " $1 = $($1) # $(origin $1)"
|
||||
|
||||
@@ -208,6 +208,13 @@ ifeq ($(strip $(SHARED_EP_ENABLE)), yes)
|
||||
TMK_COMMON_DEFS += -DSHARED_EP_ENABLE
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(strip $(LINK_TIME_OPTIMIZATION_ENABLE)), yes)
|
||||
EXTRAFLAGS += -flto
|
||||
TMK_COMMON_DEFS += -DLINK_TIME_OPTIMIZATION_ENABLE
|
||||
TMK_COMMON_DEFS += -DNO_ACTION_MACRO
|
||||
TMK_COMMON_DEFS += -DNO_ACTION_FUNCTION
|
||||
endif
|
||||
# Bootloader address
|
||||
ifdef STM32_BOOTLOADER_ADDRESS
|
||||
TMK_COMMON_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS)
|
||||
|
||||
Reference in New Issue
Block a user