build: Update LG-VT known-good and build scripts

New LunarG-VulkanTools build process results in failure when using
VulkanTools tip-of-tree. This commit updates all files necessary for
build success.
diff --git a/.travis.yml b/.travis.yml
index 3283d00..b86dda9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -45,7 +45,7 @@
     if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then
       # Install the appropriate Linux packages.
       sudo apt-get -qq update
-      sudo apt-get -y install libxkbcommon-dev libwayland-dev libmirclient-dev libxrandr-dev libx11-xcb-dev
+      sudo apt-get -y install libxkbcommon-dev libwayland-dev libmirclient-dev libxrandr-dev libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-ewmh-dev
     fi
   - |
     if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then
@@ -90,15 +90,31 @@
       cd ${TRAVIS_BUILD_DIR}
       mkdir build
       cd build
-      cmake -C ${TRAVIS_BUILD_DIR}/external/helper.cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_CCACHE=ON ..
-      cmake --build . -- -j$core_count
+      cmake -C ${TRAVIS_BUILD_DIR}/external/helper.cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/build/install -DUSE_CCACHE=ON ..
+      cmake --build . --target install -- -j$core_count
       ccache --show-stats
     fi
   - |
     if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then
+      # Build VulkanTools
+      # Note: VulkanTools has a build dependency on Vulkan-ValidationLayers so it must be built after V-VL is built
+      pushd ${TRAVIS_BUILD_DIR}/external/VulkanTools
+      ./update_external_sources.sh
+      mkdir build
+      cd build
+      cmake -DCMAKE_BUILD_TYPE=Debug \
+            -DVULKAN_HEADERS_INSTALL_DIR=${TRAVIS_BUILD_DIR}/external/Vulkan-Headers/build/install \
+            -DVULKAN_LOADER_INSTALL_DIR=${TRAVIS_BUILD_DIR}/external/Vulkan-Loader/build/install \
+            -DVULKAN_VALIDATIONLAYERS_INSTALL_DIR=${TRAVIS_BUILD_DIR}/build/install \
+            ..
+      cmake --build . -- -j $core_count
+      popd
+    fi
+  - |
+    if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then
       # Run Tests
       cd ${TRAVIS_BUILD_DIR}
-      export LD_LIBRARY_PATH=${TRAVIS_BUILD_DIR}/external/Vulkan-Loader/build/loader:$LD_LIBRARY_PATH
+      export LD_LIBRARY_PATH=${TRAVIS_BUILD_DIR}/external/Vulkan-Loader/install/lib:${LD_LIBRARY_PATH}
       export VK_LAYER_PATH=${TRAVIS_BUILD_DIR}/external/VulkanTools/build/layersvt:${TRAVIS_BUILD_DIR}/build/layers
       export VK_ICD_FILENAMES=${TRAVIS_BUILD_DIR}/external/Vulkan-Tools/build/icd/VkICD_mock_icd.json
       build/tests/vk_layer_validation_tests
diff --git a/scripts/known_good.json b/scripts/known_good.json
index 9a83893..abc4edc 100644
--- a/scripts/known_good.json
+++ b/scripts/known_good.json
@@ -42,15 +42,19 @@
       "sub_dir" : "VulkanTools",
       "build_dir" : "VulkanTools/build",
       "install_dir" : "VulkanTools/build/install",
-      "commit" : "188cad536064d05db9c7affca5bb66aed77b07ad",
+      "commit" : "7d5375ac509444ccdcbfbfd2b908b9751cea4997",
       "deps" : [
         {
           "var_name" : "VULKAN_HEADERS_INSTALL_DIR",
           "repo_name" : "Vulkan-Headers"
         },
         {
-          "var_name" : "GLSLANG_INSTALL_DIR",
-          "repo_name" : "glslang"
+          "var_name" : "VULKAN_LOADER_INSTALL_DIR",
+          "repo_name" : "Vulkan-Loader"
+        },
+        {
+          "var_name" : "VULKAN_VALIDATIONLAYERS_INSTALL_DIR",
+          "repo_name" : "Vulkan-ValidationLayers"
         }
       ],
       "prebuild_linux" : [
@@ -67,7 +71,8 @@
       ],
       "ci_only" : [
         "TRAVIS"
-      ]
+      ],
+      "build_step" : "skip"
     },
     {
       "name" : "Vulkan-Tools",
diff --git a/scripts/update_deps.py b/scripts/update_deps.py
index 8da65a0..ca9a202 100755
--- a/scripts/update_deps.py
+++ b/scripts/update_deps.py
@@ -107,7 +107,7 @@
 JSON File Schema
 ----------------
 
-There's no formal schema for the "known-good" JSON file, but here is 
+There's no formal schema for the "known-good" JSON file, but here is
 a description of its elements.  All elements are required except those
 marked as optional.  Please see the "known_good.json" file for
 examples of all of these elements.
@@ -191,6 +191,12 @@
 the processing of the repo with any environment variable.  The default
 is an empty list, which means that the repo is always processed.
 
+- build_step (optional)
+
+Specifies if the dependent repository should be built or not. This can
+have a value of 'build' or 'skip'. The dependent repositories are
+built by default.
+
 Note
 ----
 
@@ -281,6 +287,7 @@
         self.cmake_options = json['cmake_options'] if (
             'cmake_options' in json) else []
         self.ci_only = json['ci_only'] if ('ci_only' in json) else []
+        self.build_step = json['build_step'] if ('build_step' in json) else 'build'
         # Absolute paths for a repo's directories
         dir_top = os.path.abspath(args.dir)
         self.repo_dir = os.path.join(dir_top, self.sub_dir)
@@ -564,7 +571,7 @@
         repo.Checkout()
 
         # Build the repository
-        if args.do_build:
+        if args.do_build and repo.build_step == 'build':
             repo.Build(repos)
 
     # Need to restore original cwd in order for CreateHelper to find json file