ef3f38da8b
KWin does an unconditional find_package(Vulkan REQUIRED), and CMake's
FindVulkan needs BOTH Vulkan_INCLUDE_DIR and Vulkan_LIBRARY. Mesa already
builds the Vulkan drivers (libvulkan_intel/_radeon/_lvp) but an ICD is not
the API surface a consumer links against, so kwin could not configure.
vulkan-headers: header-only, but VulkanHeadersConfig.cmake is GENERATED at
install time rather than shipped in the tarball, and Vulkan-Loader
hard-requires it -- a hand copy of include/ satisfies FindVulkan and then
fails the loader. Run upstream's cmake install instead.
vulkan-loader: one real port. vk_loader_platform.h gates the whole POSIX
arm (DIRECTORY_SYMBOL, the dlopen wrappers, manifest search) on an OS list
that predates Redox, so the build collapsed with 'DIRECTORY_SYMBOL'
undeclared. Redox provides dlopen/dlsym and POSIX paths via relibc, so it
belongs in the same arm as Linux; that header is the only file under
loader/ doing OS detection. WSI backends are left off: Red Bear is
Wayland-only and the compositor talks to Mesa's ICDs directly.
Both shadow the untested recipes/wip/libs/graphics/{vulkan-headers,
libvulkan} via the local-over-WIP mechanism, per the WIP ownership rule
that the shipping version lives in local/recipes/.
Verified: kwin now reports
-- Found Vulkan: .../sysroot/lib/libvulkan.so (found version 1.4.321)
kwin also gains its missing kf6-knewstuff dep -- its
find_package(KF6 COMPONENTS NewStuff) is REQUIRED, so without the dep the
framework was never staged into kwin's sysroot.
50 lines
1.3 KiB
Bash
Executable File
50 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Copyright (c) 2019-2023 LunarG, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# Execute at repo root
|
|
cd "$(dirname $0)/../../"
|
|
|
|
# Use update_deps.py to update source dependencies from /scripts/known_good.json
|
|
scripts/update_deps.py --dir="external" --no-build
|
|
|
|
cat << EOF > .gn
|
|
buildconfig = "//build/config/BUILDCONFIG.gn"
|
|
secondary_source = "//scripts/gn/secondary/"
|
|
|
|
script_executable = "python3"
|
|
|
|
default_args = {
|
|
clang_use_chrome_plugins = false
|
|
use_custom_libcxx = false
|
|
}
|
|
EOF
|
|
|
|
# Use gclient to update toolchain dependencies from /scripts/gn/DEPS (from chromium)
|
|
cat << EOF >> .gclient
|
|
solutions = [
|
|
{ "name" : ".",
|
|
"url" : "https://github.com/KhronosGroup/Vulkan-Loader",
|
|
"deps_file" : "scripts/gn/DEPS",
|
|
"managed" : False,
|
|
"custom_deps" : {
|
|
},
|
|
"custom_vars": {},
|
|
},
|
|
]
|
|
EOF
|
|
gclient sync
|
|
|