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
pull/5990/head
Drashna Jaelre 5 years ago
parent 59d28fe288
commit 8903b7913a
No known key found for this signature in database
GPG Key ID: 4C4221222CD5F9F0

@ -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)

Loading…
Cancel
Save