summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2021-10-28 21:02:22 +0100
committerGitHub <noreply@github.com>2021-10-28 21:02:22 +0100
commit0c87e2e7025140ca6105b7fec2639c78c3cd8109 (patch)
treebfe242f1216de578f6acc3ff797af781856b3873
parent780e763c13052138e4d9ad379c4138c3b2c344a7 (diff)
downloadqmk_firmware-0c87e2e7025140ca6105b7fec2639c78c3cd8109.tar.gz
qmk_firmware-0c87e2e7025140ca6105b7fec2639c78c3cd8109.zip
Move LTO logic from common.mk (#14973)
-rw-r--r--keyboards/hub20/config.h6
-rw-r--r--keyboards/latin17rgb/config.h6
-rw-r--r--keyboards/latin6rgb/config.h6
-rw-r--r--keyboards/smallkeyboard/config.h6
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h4
-rw-r--r--tmk_core/common.mk12
-rw-r--r--tmk_core/rules.mk9
7 files changed, 19 insertions, 30 deletions
diff --git a/keyboards/hub20/config.h b/keyboards/hub20/config.h
index f8e5d6be8d..fa78db3d97 100644
--- a/keyboards/hub20/config.h
+++ b/keyboards/hub20/config.h
@@ -108,7 +108,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_RESYNC_ENABLE
/* disable these deprecated features by default */
-#ifndef LINK_TIME_OPTIMIZATION_ENABLE
- #define NO_ACTION_MACRO
- #define NO_ACTION_FUNCTION
-#endif
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
diff --git a/keyboards/latin17rgb/config.h b/keyboards/latin17rgb/config.h
index 6a7ea8e781..1f52f9a651 100644
--- a/keyboards/latin17rgb/config.h
+++ b/keyboards/latin17rgb/config.h
@@ -49,10 +49,8 @@
#define DEBOUNCE 3
/* disable these deprecated features by default */
-//#ifndef LINK_TIME_OPTIMIZATION_ENABLE
-//# define NO_ACTION_MACRO
-//# define NO_ACTION_FUNCTION
-//#endif
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
diff --git a/keyboards/latin6rgb/config.h b/keyboards/latin6rgb/config.h
index fa9abbea6c..b356ded816 100644
--- a/keyboards/latin6rgb/config.h
+++ b/keyboards/latin6rgb/config.h
@@ -50,10 +50,8 @@
#define DEBOUNCE 3
/* disable these deprecated features by default */
-//#ifndef LINK_TIME_OPTIMIZATION_ENABLE
-//# define NO_ACTION_MACRO
-//# define NO_ACTION_FUNCTION
-//#endif
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
diff --git a/keyboards/smallkeyboard/config.h b/keyboards/smallkeyboard/config.h
index 24c81258c7..a343d767ff 100644
--- a/keyboards/smallkeyboard/config.h
+++ b/keyboards/smallkeyboard/config.h
@@ -50,10 +50,8 @@
#define DEBOUNCE 3
/* disable these deprecated features by default */
-//#ifndef LINK_TIME_OPTIMIZATION_ENABLE
-//# define NO_ACTION_MACRO
-//# define NO_ACTION_FUNCTION
-//#endif
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h
index 8098422784..9db4d596de 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h
@@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// place overrides here
// 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
//# define NO_ACTION_MACRO // This saves 320 bytes
//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:
- //#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_PRINT JJdisable printing/debugging using hid_listen (already defined)
//#define NO_ACTION_LAYER //disable layers (obviously need layers)
diff --git a/tmk_core/common.mk b/tmk_core/common.mk
index f0faa2dc3e..ce335f0d3c 100644
--- a/tmk_core/common.mk
+++ b/tmk_core/common.mk
@@ -100,18 +100,6 @@ ifeq ($(strip $(SHARED_EP_ENABLE)), yes)
TMK_COMMON_DEFS += -DSHARED_EP_ENABLE
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
VPATH += $(TMK_PATH)/$(COMMON_DIR)
VPATH += $(TMK_PATH)/$(PLATFORM_COMMON_DIR)
diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk
index 56a331e288..b17f85d375 100644
--- a/tmk_core/rules.mk
+++ b/tmk_core/rules.mk
@@ -82,6 +82,15 @@ endif
# -Wall...: warning level
# -Wa,...: tell GCC to pass this to the assembler.
# -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
ifeq ($(strip $(SKIP_DEBUG_INFO)),yes)
DEBUG_ENABLE=no