android: Fix android build.

Temporarily disable shader checker which now depends on glslang
Fix xcb guards and set the ifdef based on platform
diff --git a/buildAndroid/jni/Application.mk b/buildAndroid/jni/Application.mk
index 1962e68..d89707f 100644
--- a/buildAndroid/jni/Application.mk
+++ b/buildAndroid/jni/Application.mk
@@ -15,6 +15,6 @@
 APP_ABI := armeabi-v7a arm64-v8a x86 x86_64 mips mips64

 APP_PLATFORM := android-22

 APP_STL := gnustl_static

-APP_MODULES := layer_utils VKLayerBasic VKLayerDrawState VKLayerMemTracker VKLayerShaderCheker VKLayerImage VKLayerParamChecker VKLayerGeneric VKLayerAPIDump VKLayerObjectTracker VKLayerThreading VKLayerValidationTests

+APP_MODULES := layer_utils VKLayerBasic VKLayerDrawState VKLayerMemTracker VKLayerImage VKLayerParamChecker VKLayerGeneric VKLayerAPIDump VKLayerObjectTracker VKLayerThreading VKLayerValidationTests

 APP_CPPFLAGS += -std=c++11 -DVK_PROTOTYPES

 NDK_TOOLCHAIN_VERSION := 4.8

diff --git a/include/vulkan/vk_layer.h b/include/vulkan/vk_layer.h
index 47165f7..31040c0 100644
--- a/include/vulkan/vk_layer.h
+++ b/include/vulkan/vk_layer.h
@@ -14,6 +14,18 @@
 #else
 #  define VK_LAYER_EXPORT
 #endif
+#if defined(__ANDROID__)
+#define VK_USE_PLATFORM_ANDROID_KHR
+#elif defined(_WIN32)
+#define VK_USE_PLATFORM_WIN32_KHR
+#elif defined(__unix__)
+#define VK_USE_PLATFORM_MIR_KHR
+#define VK_USE_PLATFORM_WAYLAND_KHR
+#define VK_USE_PLATFORM_XLIB_KHR
+#define VK_USE_PLATFORM_XCB_KHR
+#else
+#error "Unsupported Platform!"
+#endif
 
 typedef void * (VKAPI_PTR *PFN_vkGPA)(void* obj, const char * pName);
 typedef struct VkBaseLayerObject_
diff --git a/layers/apidump.h b/layers/apidump.h
index c61439e..274e42c 100644
--- a/layers/apidump.h
+++ b/layers/apidump.h
@@ -1,6 +1,7 @@
 /*
  *
  * Copyright (C) 2015 Valve Corporation
+ * Copyright (C) 2015 Google Inc.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -95,7 +96,7 @@
 #if VK_USE_PLATFORM_WIN32_KHR
     pDisp->CreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR) gpa(instance, "vkCreateWin32SurfaceKHR");
     pDisp->GetPhysicalDeviceWin32PresentationSupportKHR = (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR) gpa(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
-#else // VK_USE_PLATFORM_XCB_KHR
+#elif VK_USE_PLATFORM_XCB_KHR
     pDisp->CreateXcbSurfaceKHR = (PFN_vkCreateXcbSurfaceKHR) gpa(instance, "vkCreateXcbSurfaceKHR");
     pDisp->GetPhysicalDeviceXcbPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR) gpa(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
 #endif
diff --git a/layers/object_track.h b/layers/object_track.h
index 4308917..6debcb9 100644
--- a/layers/object_track.h
+++ b/layers/object_track.h
@@ -1,6 +1,7 @@
 /*
  *
  * Copyright (C) 2015 Valve Corporation
+ * Copyright (C) 2015 Google Inc.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -218,7 +219,7 @@
 #if VK_USE_PLATFORM_WIN32_KHR
     pDisp->CreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR) gpa(instance, "vkCreateWin32SurfaceKHR");
     pDisp->GetPhysicalDeviceWin32PresentationSupportKHR = (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR) gpa(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
-#else // VK_USE_PLATFORM_XCB_KHR
+#elif VK_USE_PLATFORM_XCB_KHR
     pDisp->CreateXcbSurfaceKHR = (PFN_vkCreateXcbSurfaceKHR) gpa(instance, "vkCreateXcbSurfaceKHR");
     pDisp->GetPhysicalDeviceXcbPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR) gpa(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
 #endif
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index cc1fb42..5218ec5 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -3,6 +3,7 @@
 # VK
 #
 # Copyright (C) 2015 Valve Corporation
+# Copyright (C) 2015 Google Inc.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
 # copy of this software and associated documentation files (the "Software"),
@@ -430,8 +431,12 @@
                             func_body.append('    {')
                             extra_space = "    "
                             for ext_name in ext_list:
+                                if 'Xcb' in ext_name:
+                                    func_body.append("#ifdef VK_USE_PLATFORM_XCB_KHR")
                                 func_body.append('    %sif (!strcmp("%s", funcName))\n'
                                                  '            return reinterpret_cast<PFN_vkVoidFunction>(%s);' % (extra_space, ext_name, ext_name))
+                                if 'Xcb' in ext_name:
+                                    func_body.append("#endif //VK_USE_PLATFORM_XCB_KHR")
                             if 0 != len(ext_enable):
                                func_body.append('    }\n')
 
@@ -536,8 +541,12 @@
                             func_body.append('    {')
                             extra_space = "    "
                             for ext_name in ext_list:
+                                if 'Xcb' in ext_name:
+                                    func_body.append('#ifdef VK_USE_PLATFORM_XCB_KHR')
                                 func_body.append('    %sif (!strcmp("%s", funcName))\n'
                                          '            return reinterpret_cast<PFN_vkVoidFunction>(%s);' % (extra_space, ext_name, ext_name))
+                                if 'Xcb' in ext_name:
+                                    func_body.append('#endif //VK_USE_PLATFORM_XCB_KHR')
                             if 0 != len(ext_enable):
                                 func_body.append('    }\n')
 
@@ -739,6 +748,8 @@
                          '    return result;\n'
                          '}\n' % (qual, decl, ret_val, proto.c_call(), proto.name))
         else:
+            if 'Xcb' in proto.name:
+              funcs.append("#ifdef VK_USE_PLATFORM_XCB_KHR")
             funcs.append('%s' % self.lineinfo.get())
             dispatch_param = proto.params[0].name
             # Must use 'instance' table for these APIs, 'device' table otherwise
@@ -752,6 +763,8 @@
                      '    %s%s_dispatch_table(%s)->%s;\n'
                      '%s'
                      '}' % (qual, decl, ret_val, table_type, dispatch_param, proto.c_call(), stmt))
+            if 'Xcb' in proto.name:
+              funcs.append("#endif //VK_USE_PLATFORM_XCB_KHR")
         return "\n\n".join(funcs)
 
     def generate_body(self):
@@ -1159,6 +1172,8 @@
                  '%s'
                  '}' % (qual, decl, table_type, dispatch_param, ret_val, proto.c_call(), f_open, log_func, f_close, stmt))
         else:
+            if 'Xcb' in decl:
+                funcs.append('#ifdef VK_USE_PLATFORM_XCB_KHR')
             funcs.append('%s%s\n'
                      '{\n'
                      '    using namespace StreamControl;\n'
@@ -1166,25 +1181,27 @@
                      '    %s%s%s\n'
                      '%s'
                      '}' % (qual, decl, ret_val, table_type, dispatch_param, proto.c_call(), f_open, log_func, f_close, stmt))
+            if 'Xcb' in decl:
+                funcs.append('#endif //VK_USE_PLATFORM_XCB_KHR')
         return "\n\n".join(funcs)
 
     def generate_body(self):
         self.layer_name = "APIDump"
-        if sys.platform == 'win32':

-            instance_extensions=[('wsi_enabled',

-                                  ['vkGetPhysicalDeviceSurfaceSupportKHR',

-                                   'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',

-                                   'vkGetPhysicalDeviceSurfaceFormatsKHR',

-                                   'vkGetPhysicalDeviceSurfacePresentModesKHR',

-                                   'vkCreateWin32SurfaceKHR',

-                                   'vkGetPhysicalDeviceWin32PresentationSupportKHR'])]

-        else:

-            instance_extensions=[('wsi_enabled',

-                                  ['vkGetPhysicalDeviceSurfaceSupportKHR',

-                                   'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',

-                                   'vkGetPhysicalDeviceSurfaceFormatsKHR',

-                                   'vkGetPhysicalDeviceSurfacePresentModesKHR',

-                                   'vkCreateXcbSurfaceKHR',

+        if sys.platform == 'win32':
+            instance_extensions=[('wsi_enabled',
+                                  ['vkGetPhysicalDeviceSurfaceSupportKHR',
+                                   'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
+                                   'vkGetPhysicalDeviceSurfaceFormatsKHR',
+                                   'vkGetPhysicalDeviceSurfacePresentModesKHR',
+                                   'vkCreateWin32SurfaceKHR',
+                                   'vkGetPhysicalDeviceWin32PresentationSupportKHR'])]
+        else:
+            instance_extensions=[('wsi_enabled',
+                                  ['vkGetPhysicalDeviceSurfaceSupportKHR',
+                                   'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
+                                   'vkGetPhysicalDeviceSurfaceFormatsKHR',
+                                   'vkGetPhysicalDeviceSurfacePresentModesKHR',
+                                   'vkCreateXcbSurfaceKHR',
                                    'vkGetPhysicalDeviceXcbPresentationSupportKHR'])]
         extensions=[('wsi_enabled',
                      ['vkCreateSwapchainKHR',
@@ -1707,6 +1724,8 @@
                 table_type = "instance"
             else:
                 table_type = "device"
+            if 'Xcb' in proto.name:
+                funcs.append("#ifdef VK_USE_PLATFORM_XCB_KHR")
             funcs.append('%s%s\n'
                      '{\n'
                      '%s'
@@ -1715,6 +1734,8 @@
                      '%s'
                      '%s'
                      '}' % (qual, decl, using_line, destroy_line, ret_val, table_type, dispatch_param, proto.c_call(), create_line, stmt))
+            if 'Xcb' in proto.name:
+                funcs.append("#endif //VK_USE_PLATFORM_XCB_KHR")
         return "\n\n".join(funcs)
 
     def generate_body(self):
@@ -1723,23 +1744,23 @@
                      ['vkCreateSwapchainKHR',
                       'vkDestroySwapchainKHR', 'vkGetSwapchainImagesKHR',
                       'vkAcquireNextImageKHR', 'vkQueuePresentKHR'])]
-        if sys.platform == 'win32':

-            instance_extensions=[('msg_callback_get_proc_addr', []),

-                                  ('wsi_enabled',

-                                  ['vkGetPhysicalDeviceSurfaceSupportKHR',

-                                   'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',

-                                   'vkGetPhysicalDeviceSurfaceFormatsKHR',

-                                   'vkGetPhysicalDeviceSurfacePresentModesKHR',

-                                   'vkCreateWin32SurfaceKHR',

-                                   'vkGetPhysicalDeviceWin32PresentationSupportKHR'])]

-        else:

-            instance_extensions=[('msg_callback_get_proc_addr', []),

-                                  ('wsi_enabled',

-                                  ['vkGetPhysicalDeviceSurfaceSupportKHR',

-                                   'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',

-                                   'vkGetPhysicalDeviceSurfaceFormatsKHR',

-                                   'vkGetPhysicalDeviceSurfacePresentModesKHR',

-                                   'vkCreateXcbSurfaceKHR',

+        if sys.platform == 'win32':
+            instance_extensions=[('msg_callback_get_proc_addr', []),
+                                  ('wsi_enabled',
+                                  ['vkGetPhysicalDeviceSurfaceSupportKHR',
+                                   'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
+                                   'vkGetPhysicalDeviceSurfaceFormatsKHR',
+                                   'vkGetPhysicalDeviceSurfacePresentModesKHR',
+                                   'vkCreateWin32SurfaceKHR',
+                                   'vkGetPhysicalDeviceWin32PresentationSupportKHR'])]
+        else:
+            instance_extensions=[('msg_callback_get_proc_addr', []),
+                                  ('wsi_enabled',
+                                  ['vkGetPhysicalDeviceSurfaceSupportKHR',
+                                   'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
+                                   'vkGetPhysicalDeviceSurfaceFormatsKHR',
+                                   'vkGetPhysicalDeviceSurfacePresentModesKHR',
+                                   'vkCreateXcbSurfaceKHR',
                                    'vkGetPhysicalDeviceXcbPresentationSupportKHR'])]
         body = [self.generate_maps(),
                 self.generate_procs(),