From 9e88aa086083b80c05b2bf057b92682186c4e6dc Mon Sep 17 00:00:00 2001
From: Balint Reczey <balint@balintreczey.hu>
Date: Thu, 6 Oct 2016 18:12:18 +0200
Subject: [PATCH 12/12] Revert "[droid] fix builds with AML disabled"

This reverts commit 4733383b8f1c1dd0b95e9e5358425d8a0b7ba8fc.
---
 xbmc/utils/SystemInfo.cpp         |  4 ----
 xbmc/windowing/egl/EGLWrapper.cpp | 16 ++++++----------
 2 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/xbmc/utils/SystemInfo.cpp b/xbmc/utils/SystemInfo.cpp
index fcc6733..52e7fa3 100644
--- a/xbmc/utils/SystemInfo.cpp
+++ b/xbmc/utils/SystemInfo.cpp
@@ -57,10 +57,8 @@
 #include "utils/XMLUtils.h"
 #if defined(TARGET_ANDROID)
 #include "platform/android/jni/Build.h"
-#if defined(HAS_LIBAMCODEC)
 #include "utils/AMLUtils.h"
 #endif
-#endif
 
 /* Platform identification */
 #if defined(TARGET_DARWIN)
@@ -873,11 +871,9 @@ bool CSysInfo::IsAeroDisabled()
 bool CSysInfo::HasHW3DInterlaced()
 {
 #if defined(TARGET_ANDROID)
-#if defined(HAS_LIBAMCODEC)
   if (aml_hw3d_present())
     return true;
 #endif
-#endif
   return false;
 }
 
diff --git a/xbmc/windowing/egl/EGLWrapper.cpp b/xbmc/windowing/egl/EGLWrapper.cpp
index 30f5757..583d43a 100644
--- a/xbmc/windowing/egl/EGLWrapper.cpp
+++ b/xbmc/windowing/egl/EGLWrapper.cpp
@@ -24,19 +24,15 @@
 #include <assert.h>
 #if defined(TARGET_ANDROID)
   #include "EGLNativeTypeAndroid.h"
-#if defined(HAS_LIBAMCODEC)
   #include "EGLNativeTypeAmlAndroid.h"
 #endif
-#endif
 #if defined(TARGET_RASPBERRY_PI)
   #include "EGLNativeTypeRaspberryPI.h"
 #endif
 #if defined(HAS_IMXVPU)
   #include "EGLNativeTypeIMX.h"
 #endif
-#if defined(TARGET_LINUX) && defined(HAS_LIBAMCODEC)
 #include "EGLNativeTypeAmlogic.h"
-#endif
 #include "EGLWrapper.h"
 
 #define CheckError() m_result = eglGetError(); if(m_result != EGL_SUCCESS) CLog::Log(LOGERROR, "EGL error in %s: %x",__FUNCTION__, m_result);
@@ -91,15 +87,15 @@ bool CEGLWrapper::Initialize(const std::string &implementation)
   // Try to create each backend in sequence and go with the first one
   // that we know will work
   if (
-#if defined(TARGET_ANDROID) && defined(HAS_LIBAMCODEC)
-      (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAmlAndroid>(implementation))
-#elif defined(TARGET_ANDROID)
-      (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAndroid>(implementation))
-#elif defined(TARGET_RASPBERRY_PI)
+#if defined(TARGET_ANDROID)
+      (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAmlAndroid>(implementation)) ||
+      (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAndroid>(implementation)) ||
+#endif
+#if defined(TARGET_RASPBERRY_PI)
       (nativeGuess = CreateEGLNativeType<CEGLNativeTypeRaspberryPI>(implementation))
 #elif defined(HAS_IMXVPU)
       (nativeGuess = CreateEGLNativeType<CEGLNativeTypeIMX>(implementation))
-#elif defined(TARGET_LINUX) && defined(HAS_LIBAMCODEC)
+#else
       (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAmlogic>(implementation))
 #endif
       )
-- 
2.10.2

