diff --git a/gfx/video_driver.h b/gfx/video_driver.h
index db8078e92b..cf2751c7b2 100644
--- a/gfx/video_driver.h
+++ b/gfx/video_driver.h
@@ -30,6 +30,10 @@
#include "../input/input_driver.h"
+#ifdef HAVE_OVERLAY
+#include "../input/input_overlay.h"
+#endif
+
RETRO_BEGIN_DECLS
enum texture_filter_type
diff --git a/input/drivers_keyboard/keyboard_event_android.c b/input/drivers_keyboard/keyboard_event_android.c
index 8b10ef86b1..47b1208f2c 100644
--- a/input/drivers_keyboard/keyboard_event_android.c
+++ b/input/drivers_keyboard/keyboard_event_android.c
@@ -13,6 +13,8 @@
* If not, see .
*/
+#include
+
#include "keyboard_event_android.h"
#define AKEYCODE_ASSIST 219
diff --git a/input/drivers_keyboard/keyboard_event_udev.c b/input/drivers_keyboard/keyboard_event_udev.c
index 5ad3b6135e..a2d1274388 100644
--- a/input/drivers_keyboard/keyboard_event_udev.c
+++ b/input/drivers_keyboard/keyboard_event_udev.c
@@ -13,6 +13,12 @@
* If not, see .
*/
+#include
+
+#ifdef HAVE_CONFIG_H
+#include "../../config.h"
+#endif
+
#include "../input_keymaps.h"
#include "../input_keyboard.h"
#include "../../driver.h"
diff --git a/input/drivers_keyboard/keyboard_event_x11.c b/input/drivers_keyboard/keyboard_event_x11.c
index 1abe5a1de4..d632b6d4e8 100644
--- a/input/drivers_keyboard/keyboard_event_x11.c
+++ b/input/drivers_keyboard/keyboard_event_x11.c
@@ -18,15 +18,19 @@
#include
#include
-#ifdef HAVE_XINERAMA
-#include
-#endif
-
#include
#include
#include
#include
+#ifdef HAVE_CONFIG_H
+#include "../../config.h"
+#endif
+
+#ifdef HAVE_XINERAMA
+#include
+#endif
+
#include "../input_keyboard.h"
#include "../input_keymaps.h"
diff --git a/input/input_driver.h b/input/input_driver.h
index c9722fc35a..8f30b0bd7b 100644
--- a/input/input_driver.h
+++ b/input/input_driver.h
@@ -27,10 +27,6 @@
#include "input_joypad_driver.h"
#include "input_defines.h"
-#ifdef HAVE_OVERLAY
-#include "input_overlay.h"
-#endif
-
RETRO_BEGIN_DECLS
typedef struct retro_input