Layers: They now compile on Windows.

Added missing vk funcs to basic and screenshot
Changed several funcs in mem_tracker to return void
Loader cmake file was generating .def file on linux, removed it
Fixed missing entry points in layers generated via python
diff --git a/layers/basic.cpp b/layers/basic.cpp
index aec3ea4..d1e7805 100644
--- a/layers/basic.cpp
+++ b/layers/basic.cpp
@@ -33,6 +33,15 @@
 // being used:
 #include "vk_loader_platform.h"
 
+static const VkLayerProperties globalLayerProps[] = {
+    {
+        "Basic",
+        VK_API_VERSION,                 // specVersion
+        VK_MAKE_VERSION(0, 1, 0),       // implVersion
+        "layer: Basic",
+    }
+};
+
 
 VK_LAYER_EXPORT VkResult VKAPI vkLayerExtension1(VkDevice device)
 {
@@ -175,3 +184,13 @@
         return NULL;
     return instance_dispatch_table(instance)->GetInstanceProcAddr(instance, pName);
 }
+
+VK_LAYER_EXPORT VkResult VKAPI vkGetGlobalExtensionProperties(const char *pLayerName, uint32_t *pCount,  VkExtensionProperties* pProperties)
+{
+    return util_GetExtensionProperties(0, NULL, pCount, pProperties);
+}
+
+VK_LAYER_EXPORT VkResult VKAPI vkGetGlobalLayerProperties(uint32_t *pCount,  VkLayerProperties* pProperties)
+{
+    return util_GetLayerProperties(ARRAY_SIZE(globalLayerProps), globalLayerProps, pCount, pProperties);
+}
diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp
index e6f23f9..3dc7fb8 100644
--- a/layers/mem_tracker.cpp
+++ b/layers/mem_tracker.cpp
@@ -254,7 +254,7 @@
 //  Verify that (actual & desired) flags != 0 or,
 //   if strict is true, verify that (actual & desired) flags == desired
 //  In case of error, report it via dbg callbacks
-static bool32_t validate_usage_flags(void* disp_obj, VkFlags actual, VkFlags desired,
+static void validate_usage_flags(void* disp_obj, VkFlags actual, VkFlags desired,
                                      bool32_t strict, VkObject obj, VkObjectType obj_type,
                                      char const* ty_str, char const* func_name, char const* usage_str)
 {
@@ -272,7 +272,7 @@
 // Helper function to validate usage flags for images
 // Pulls image info and then sends actual vs. desired usage off to helper above where
 //  an error will be flagged if usage is not correct
-static bool32_t validate_image_usage_flags(void* disp_obj, VkImage image, VkFlags desired, bool32_t strict,
+static void validate_image_usage_flags(void* disp_obj, VkImage image, VkFlags desired, bool32_t strict,
                                            char const* func_name, char const* usage_string)
 {
     MT_OBJ_INFO* pInfo = get_object_info(image);
@@ -284,7 +284,7 @@
 // Helper function to validate usage flags for buffers
 // Pulls buffer info and then sends actual vs. desired usage off to helper above where
 //  an error will be flagged if usage is not correct
-static bool32_t validate_buffer_usage_flags(void* disp_obj, VkBuffer buffer, VkFlags desired, bool32_t strict,
+static void validate_buffer_usage_flags(void* disp_obj, VkBuffer buffer, VkFlags desired, bool32_t strict,
                                             char const* func_name, char const* usage_string)
 {
     MT_OBJ_INFO* pInfo = get_object_info(buffer);
diff --git a/layers/screenshot.cpp b/layers/screenshot.cpp
index 5b8c098..69b99f3 100644
--- a/layers/screenshot.cpp
+++ b/layers/screenshot.cpp
@@ -554,3 +554,25 @@
         return NULL;
     return pDisp->GetDeviceProcAddr(dev, funcName);
 }
+
+
+VK_LAYER_EXPORT void* VKAPI vkGetInstanceProcAddr(VkInstance instance, const char* funcName)
+{
+    return NULL;
+#if 0
+    if (instance == VK_NULL_HANDLE) {
+        return NULL;
+    }
+
+    /* loader uses this to force layer initialization; instance object is wrapped */
+    if (!strcmp("vkGetInstanceProcAddr", funcName)) {
+        initInstanceTable((const VkBaseLayerObject *) instance);
+        return (void *) vkGetInstanceProcAddr;
+    }
+
+    VkLayerInstanceDispatchTable* pTable = instance_dispatch_table(instance);
+    if (pTable->GetInstanceProcAddr == NULL)
+        return NULL;
+    return pTable->GetInstanceProcAddr(instance, funcName);
+#endif
+}
diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
index a02c71b..f9ae4bc 100644
--- a/loader/CMakeLists.txt
+++ b/loader/CMakeLists.txt
@@ -7,10 +7,6 @@
     add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/vulkan.${MAJOR}.def
 	    COMMAND ${PYTHON_CMD} ${PROJECT_SOURCE_DIR}/loader/vk-loader-generate.py win-def-file vulkan.${MAJOR}.dll all > ${CMAKE_CURRENT_BINARY_DIR}/vulkan.${MAJOR}.def
 	    DEPENDS ${PROJECT_SOURCE_DIR}/loader/vk-loader-generate.py ${PROJECT_SOURCE_DIR}/vulkan.py)
-else()
-    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/vulkan.def
-	    COMMAND ${PYTHON_CMD} ${PROJECT_SOURCE_DIR}/loader/vk-loader-generate.py win-def-file vulkan.dll all > ${CMAKE_CURRENT_BINARY_DIR}/vulkan.def
-	    DEPENDS ${PROJECT_SOURCE_DIR}/loader/vk-loader-generate.py ${PROJECT_SOURCE_DIR}/vulkan.py)
 endif()
 
 # DEBUG enables runtime loader ICD verification
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index ccb6056..af55e66 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -234,10 +234,6 @@
         ggep_body.append('}')
         return "\n".join(ggep_body)
 
-    def _gen_layer_get_physical_device_extension_props(self, layer="Generic"):
-        gpdep_body = []
-        return "\n".join(gpdep_body)
-
     def _gen_layer_get_physical_device_layer_props(self, layer="Generic"):
         gpdlp_body = []
         if layer == 'Generic':
@@ -285,9 +281,6 @@
                         intercept = self._gen_layer_get_global_layer_props(self.layer_name)
                     elif 'GetPhysicalDeviceLayerProperties' == proto.name:
                         intercept = self._gen_layer_get_physical_device_layer_props(self.layer_name)
-                    elif 'GetPhysicalDeviceExtensionProperties' == proto.name:
-                        intercept = self._gen_layer_get_physical_device_extension_props(self.layer_name)
-
 
                 if intercept is not None:
                     funcs.append(intercept)