From 6b2d42434ccea28d1f63b84191b08586f5205eb9 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Mon, 17 Jun 2019 21:44:23 -0500
Subject: [PATCH] Wrap main menu external declarations

---
 Marlin/src/lcd/menu/menu_main.cpp | 49 ++++++++++++++++++-------------
 1 file changed, 28 insertions(+), 21 deletions(-)

diff --git a/Marlin/src/lcd/menu/menu_main.cpp b/Marlin/src/lcd/menu/menu_main.cpp
index b3e811e3cd..b84000fe90 100644
--- a/Marlin/src/lcd/menu/menu_main.cpp
+++ b/Marlin/src/lcd/menu/menu_main.cpp
@@ -35,14 +35,6 @@
 #include "../../module/stepper.h"
 #include "../../sd/cardreader.h"
 
-#if ENABLED(POWER_LOSS_RECOVERY)
-  #include "../../feature/power_loss_recovery.h"
-#endif
-
-#if HAS_GAMES
-  #include "game/game.h"
-#endif
-
 #define MACHINE_CAN_STOP (EITHER(SDSUPPORT, HOST_PROMPT_SUPPORT) || defined(ACTION_ON_CANCEL))
 #define MACHINE_CAN_PAUSE (ANY(SDSUPPORT, HOST_PROMPT_SUPPORT, PARK_HEAD_ON_PAUSE) || defined(ACTION_ON_PAUSE))
 
@@ -60,11 +52,23 @@ void menu_tune();
 void menu_motion();
 void menu_temperature();
 void menu_configuration();
-void menu_user();
-void menu_temp_e0_filament_change();
-void menu_change_filament();
-void menu_info();
-void menu_led();
+
+#if ENABLED(CUSTOM_USER_MENUS)
+  void menu_user();
+#endif
+
+#if ENABLED(ADVANCED_PAUSE_FEATURE)
+  void menu_temp_e0_filament_change();
+  void menu_change_filament();
+#endif
+
+#if ENABLED(LCD_INFO_MENU)
+  void menu_info();
+#endif
+
+#if ENABLED(LED_CONTROL_MENU)
+  void menu_led();
+#endif
 
 #if ENABLED(MIXING_EXTRUDER)
   void menu_mixer();
@@ -82,14 +86,17 @@ void menu_led();
   #endif
 #endif
 
-#if HAS_GAME_MENU
-  void menu_game();
-#elif ENABLED(MARLIN_BRICKOUT)
-  void lcd_goto_brickout();
-#elif ENABLED(MARLIN_INVADERS)
-  void lcd_goto_invaders();
-#elif ENABLED(MARLIN_SNAKE)
-  void lcd_goto_snake();
+#if HAS_GAMES
+  #include "game/game.h"
+  #if HAS_GAME_MENU
+    void menu_game();
+  #elif ENABLED(MARLIN_BRICKOUT)
+    void lcd_goto_brickout();
+  #elif ENABLED(MARLIN_INVADERS)
+    void lcd_goto_invaders();
+  #elif ENABLED(MARLIN_SNAKE)
+    void lcd_goto_snake();
+  #endif
 #endif
 
 void menu_main() {
-- 
GitLab