Fix compile issues related to NO_ACTION_MACRO/FUNCTION and LTO_ENABLE (#8663)

* Define NO_ACTION_MACRO/FUNCTION in header instead of makefile when LTO is enabled

Currently, boards and keymaps that define NO_ACTION_MACRO/FUNCTION unconditionally
will not compile with LTO_ENABLE (#8604). This fixes the issue by moving the
definitions from common.mk to action.h, which enables us to check for previous
definitions of those macros (this cannot be done in a makefile).

* Remove LTO checks in templates

Since now NO_ACTION_MACRO/FUNCTION are defined as needed in action.h (which is
included by quantum.h), checking for LTO in keyboard and user code is no
longer required.

* Update LTO_ENABLE docs
This commit is contained in:
Konstantin Đorđević
2020-04-09 01:18:30 +02:00
committed by Florian Didron
parent 4f5c76bfbe
commit 7ec087183b
4 changed files with 17 additions and 3 deletions
+4
View File
@@ -195,6 +195,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/*
* MIDI options
*/
+3 -1
View File
@@ -46,7 +46,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_LEVELS 1
#define RGBLIGHT_ANIMATIONS
#define NO_UART 1
/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/* key combination for magic key command */
/* defined by default; to change, uncomment and set to the combination you want */